ProtectItem/src/main/java/cn/citycraft/ProtectItem/ProtectItem.java

60 lines
2.1 KiB
Java

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");
}
}