Random Drops
SpigotMCRandom Drops is a fun plugin that makes item drops after breaking a block random!
22.9k загрузок 5.0 рейтинг
последняя v1.0 SpigotMC
Random Drops is a fun plugin that makes item drops after you break a block random!
It is my first plugin and it is also inspired from CodedRed so all rights go to him!
-CONFIG
Code (Text):
reload:
message:
- "&b&oReloaded"
- "&c&lRandomBlock!"
blocks:
DIRT:
- DIRT
- DIRT
- DIRT
- DIAMOND
- FLINT
- SAND
SAND:
- SAND
- DIRT
GRAVEL:
- IRON_INGOT
/randomblock reload - Reloads the plugin
-MEDIA
FloppyMC: https://www.youtube.com/channel/UCkV6ozjIbWb6e1RAMnqF2QA/about?view_as=subscriber
CodedRed: https://www.youtube.com/channel/UC_kPUW3XPrCCRT9a4Pnf1Tg
-SOURCE CODE
Code (Text):
package me.Floppy.RandomBlock;[/B]
import java.util.Random;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import net.md_5.bungee.api.ChatColor;
public class Main extends JavaPlugin implements Listener {
@Override
public void onEnable() {
this.saveDefaultConfig();
this.getServer().getPluginManager().registerEvents(this, this);
}
@Override
public void onDisable( ) {
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (label.equalsIgnoreCase("randomblock")) {
if (!sender.hasPermission("randomblock.reload")) {
sender.sendMessage(ChatColor.RED + "You cannot run this command");
return true;
}
if (args.length == 0) {
// /randomblock
sender.sendMessage(ChatColor.RED + "Ussage: /randomblock reload");
return true;
}
if (args.length > 0) {
// /randomblock reload
if (args[0].equalsIgnoreCase("reload")) {
for (String msg : this.getConfig().getStringList("reload.message")) {
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',
msg));
}
this.reloadConfig();
}
}
}
return false;
}
@EventHandler
public void onBlockBreak(BlockBreakEvent event) {
this.getConfig().getConfigurationSection("blocks").getKeys(false).forEach(key -> {
// dirt
if (key.equalsIgnoreCase(event.getBlock().getType().toString())) {
ItemStack[] items = new ItemStack[this.getConfig().getStringList("blocks." + key).size()];
ItemStack item = null;
int position = 0;
Random r = new Random();
for (String i : this.getConfig().getStringList("blocks." + key)) {
// DIRT DIR
try {
item = new ItemStack(Material.matchMaterial(i), r.nextInt(16) + 1);
} catch(Exception e) {
item = new ItemStack(Material.matchMaterial(key));
}
items[position] = item;
position++;
}
int num = r.nextInt(items.length);
event.setDropItems(false);
World world = event.getPlayer().getWorld();
world.dropItemNaturally(event.getBlock().getLocation(), items[num]);
}
});
}
}
import java.util.Random;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import net.md_5.bungee.api.ChatColor;
public class Main extends JavaPlugin implements Listener {
@Override
public void onEnable() {
this.saveDefaultConfig();
this.getServer().getPluginManager().registerEvents(this, this);
}
@Override
public void onDisable( ) {
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (label.equalsIgnoreCase("randomblock")) {
if (!sender.hasPermission("randomblock.reload")) {
sender.sendMessage(ChatColor.RED + "You cannot run this command");
return true;
}
if (args.length == 0) {
// /randomblock
sender.sendMessage(ChatColor.RED + "Ussage: /randomblock reload");
return true;
}
if (args.length > 0) {
// /randomblock reload
if (args[0].equalsIgnoreCase("reload")) {
for (String msg : this.getConfig().getStringList("reload.message")) {
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',
msg));
}
this.reloadConfig();
}
}
}
return false;
}
@EventHandler
public void onBlockBreak(BlockBreakEvent event) {
this.getConfig().getConfigurationSection("blocks").getKeys(false).forEach(key -> {
// dirt
if (key.equalsIgnoreCase(event.getBlock().getType().toString())) {
ItemStack[] items = new ItemStack[this.getConfig().getStringList("blocks." + key).size()];
ItemStack item = null;
int position = 0;
Random r = new Random();
for (String i : this.getConfig().getStringList("blocks." + key)) {
// DIRT DIR
try {
item = new ItemStack(Material.matchMaterial(i), r.nextInt(16) + 1);
} catch(Exception e) {
item = new ItemStack(Material.matchMaterial(key));
}
items[position] = item;
position++;
}
int num = r.nextInt(items.length);
event.setDropItems(false);
World world = event.getPlayer().getWorld();
world.dropItemNaturally(event.getBlock().getLocation(), items[num]);
}
});
}
}
Комментарии 0
Пока нет комментариев. Будь первым, кто поделится мнением.