package cn.citycraft.ProtectItem; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; import cn.citycraft.PluginHelper.config.FileConfig; import cn.citycraft.PluginHelper.utils.LocalUtil; import cn.citycraft.ProtectItem.commands.ProtectItemCommand; import cn.citycraft.ProtectItem.listen.ClickItemListen; import cn.citycraft.ProtectItem.listen.DropItemListen; import cn.citycraft.ProtectItem.listen.InteractItemListen; import cn.citycraft.ProtectItem.listen.ItemHeldListen; import cn.citycraft.ProtectItem.listen.PickupItemListen; import cn.citycraft.ProtectItem.utils.ActionType; import cn.citycraft.ProtectItem.utils.ItemManager; public class ProtectItem extends JavaPlugin { public FileConfig config; public ItemManager itemManager; public FileConfig msgcfg; public String pluginname; public ItemManager getItemManager() { return itemManager; } public boolean isCantAction(final Player p, final ItemStack i, final ActionType action) { if (!itemManager.canAction(i, action) && !itemManager.hasActionPerm(p, i, action)) { final String message = msgcfg.getMessage("Message." + action.toString()); if (message != null && !message.isEmpty()) { p.sendMessage(String.format(pluginname + " " + message, LocalUtil.getItemName(itemManager.getItemName(i)))); } return true; } return false; } @Override public void onEnable() { itemManager = new ItemManager(this); final PluginManager pm = this.getServer().getPluginManager(); pm.registerEvents(new ClickItemListen(this), this); pm.registerEvents(new DropItemListen(this), this); pm.registerEvents(new InteractItemListen(this), this); pm.registerEvents(new ItemHeldListen(this), this); pm.registerEvents(new PickupItemListen(this), this); new ProtectItemCommand(this); } @Override public void onLoad() { this.config = new FileConfig(this); this.msgcfg = new FileConfig(this, "messages.yml"); pluginname = config.getMessage("pluginname"); } }