60 lines
2.1 KiB
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");
|
|
}
|
|
|
|
}
|