1
0
mirror of https://e.coding.net/circlecloud/ProtectItem.git synced 2024-12-27 20:48:51 +00:00

fix check error...

Signed-off-by: j502647092 <jtb1@163.com>
This commit is contained in:
j502647092 2015-10-24 20:02:12 +08:00
parent 2b515ca77d
commit 83c808d362
7 changed files with 28 additions and 19 deletions

View File

@ -5,6 +5,7 @@ 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.ProtectItem.commands.ProtectItemCommand;
import cn.citycraft.ProtectItem.listen.ClickItemListen;
import cn.citycraft.ProtectItem.listen.DropItemListen;
@ -16,14 +17,19 @@ import cn.citycraft.ProtectItem.utils.ItemManager;
public class ProtectItem extends JavaPlugin {
public ItemManager itemManager;
public FileConfig msgcfg;
public FileConfig config;
public String pluginname;
public boolean actionCheck(final Player p, final ItemStack i, final ActionType action) {
if (itemManager.canAction(i, action)) {
return false;
} else if (itemManager.hasActionPerm(p, i, action)) {
return false;
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(pluginname + " " + message);
}
return true;
}
return true;
return false;
}
public ItemManager getItemManager() {
@ -42,4 +48,11 @@ public class ProtectItem extends JavaPlugin {
this.getCommand("pi").setExecutor(new ProtectItemCommand(this));
}
@Override
public void onLoad() {
this.config = new FileConfig(this);
this.msgcfg = new FileConfig(this, "messages.yml");
pluginname = config.getMessage("pluginname");
}
}

View File

@ -22,7 +22,7 @@ public class ClickItemListen implements Listener {
final Player p = (Player) e.getWhoClicked();
final ItemStack i = e.getCurrentItem();
if (i != null && i.getType() != Material.AIR) {
e.setCancelled(plugin.actionCheck(p, i, ActionType.Click));
e.setCancelled(plugin.isCantAction(p, i, ActionType.Click));
}
}
}

View File

@ -20,6 +20,6 @@ public class DropItemListen implements Listener {
public void onDropItem(final PlayerDropItemEvent e) {
final Player p = e.getPlayer();
final ItemStack i = e.getItemDrop().getItemStack();
e.setCancelled(plugin.actionCheck(p, i, ActionType.Drop));
e.setCancelled(plugin.isCantAction(p, i, ActionType.Drop));
}
}

View File

@ -20,6 +20,6 @@ public class InteractItemListen implements Listener {
public void onPickupItem(final PlayerInteractEvent e) {
final Player p = e.getPlayer();
final ItemStack i = p.getItemInHand();
e.setCancelled(plugin.actionCheck(p, i, ActionType.Interact));
e.setCancelled(plugin.isCantAction(p, i, ActionType.Interact));
}
}

View File

@ -1,6 +1,5 @@
package cn.citycraft.ProtectItem.listen;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@ -24,9 +23,6 @@ public class ItemHeldListen implements Listener {
final Inventory inv = p.getInventory();
final int slot = e.getNewSlot();
final ItemStack i = inv.getItem(slot);
if (plugin.actionCheck(p, i, ActionType.Held)) {
inv.setItem(slot, new ItemStack(Material.AIR));
}
inv.addItem(i);
e.setCancelled(plugin.isCantAction(p, i, ActionType.Held));
}
}

View File

@ -20,6 +20,6 @@ public class PickupItemListen implements Listener {
public void onPickupItem(final PlayerPickupItemEvent e) {
final Player p = e.getPlayer();
final ItemStack i = e.getItem().getItemStack();
e.setCancelled(plugin.actionCheck(p, i, ActionType.Pickup));
e.setCancelled(plugin.isCantAction(p, i, ActionType.Pickup));
}
}

View File

@ -1,10 +1,10 @@
Version: 1.0
#提示消息
Message:
Reload: '&a配置文件已重新载入'
#方块安全提示
Drop: '&c当前世界禁止丢弃该物品'
Pickup: '&c当前世界禁止拾取该物品'
Place: '&c当前世界禁止放置该物品'
Break: '&c当前世界禁止破坏该物品'
Use: '&c当前世界禁止使用该物品!'
Held: '&c当前世界禁止使用该物品!'
Interact: '&c当前世界禁止使用该物品!'
Held: '&c当前世界禁止使用该物品!'
Click: '&c当前世界禁止点击该物品!'