2011-12-03 00:00:29 +00:00
|
|
|
package com.earth2me.essentials.commands;
|
|
|
|
|
|
|
|
import com.earth2me.essentials.User;
|
|
|
|
import org.bukkit.Material;
|
|
|
|
import org.bukkit.Server;
|
|
|
|
import org.bukkit.block.Block;
|
|
|
|
import org.bukkit.event.block.BlockBreakEvent;
|
|
|
|
|
2015-04-15 04:06:16 +00:00
|
|
|
import static com.earth2me.essentials.I18n.tl;
|
|
|
|
|
2011-12-03 00:00:29 +00:00
|
|
|
|
2015-04-15 04:06:16 +00:00
|
|
|
public class Commandbreak extends EssentialsCommand {
|
|
|
|
public Commandbreak() {
|
|
|
|
super("break");
|
|
|
|
}
|
2011-12-03 00:00:29 +00:00
|
|
|
|
2015-04-15 04:06:16 +00:00
|
|
|
//TODO: Switch to use util class
|
|
|
|
@Override
|
|
|
|
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception {
|
2020-04-25 12:08:57 +00:00
|
|
|
final Block block = user.getBase().getTargetBlock(null, 20);
|
2015-04-15 04:06:16 +00:00
|
|
|
if (block == null) {
|
|
|
|
throw new NoChargeException();
|
|
|
|
}
|
|
|
|
if (block.getType() == Material.AIR) {
|
|
|
|
throw new NoChargeException();
|
|
|
|
}
|
|
|
|
if (block.getType() == Material.BEDROCK && !user.isAuthorized("essentials.break.bedrock")) {
|
|
|
|
throw new Exception(tl("noBreakBedrock"));
|
|
|
|
}
|
|
|
|
//final List<ItemStack> list = (List<ItemStack>)block.getDrops();
|
|
|
|
//final BlockBreakEvent event = new BlockBreakEvent(block, user.getBase(), list);
|
|
|
|
final BlockBreakEvent event = new BlockBreakEvent(block, user.getBase());
|
|
|
|
server.getPluginManager().callEvent(event);
|
|
|
|
if (event.isCancelled()) {
|
|
|
|
throw new NoChargeException();
|
|
|
|
} else {
|
|
|
|
block.setType(Material.AIR);
|
|
|
|
}
|
|
|
|
}
|
2017-08-04 15:26:57 +00:00
|
|
|
}
|