1
0
mirror of https://e.coding.net/circlecloud/ProtectItem.git synced 2025-11-24 23:56:08 +00:00

remove block listen change config class...

Signed-off-by: j502647092 <jtb1@163.com>
This commit is contained in:
j502647092
2015-05-11 14:59:54 +08:00
parent 35ed36c8a0
commit 0b5b0212d6
6 changed files with 34 additions and 69 deletions

View File

@@ -9,10 +9,8 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import cn.citycraft.ProtectItem.listen.BreakBlockListen;
import cn.citycraft.ProtectItem.listen.DropItemListen; import cn.citycraft.ProtectItem.listen.DropItemListen;
import cn.citycraft.ProtectItem.listen.PickupItemListen; import cn.citycraft.ProtectItem.listen.PickupItemListen;
import cn.citycraft.ProtectItem.listen.PlaceBlockListen;
public class Main extends JavaPlugin { public class Main extends JavaPlugin {
public String servername; public String servername;
@@ -32,12 +30,12 @@ public class Main extends JavaPlugin {
if (getConfig().getBoolean("Protect.Pickup", true)) if (getConfig().getBoolean("Protect.Pickup", true))
Bukkit.getPluginManager().registerEvents( Bukkit.getPluginManager().registerEvents(
new PickupItemListen(this), this); new PickupItemListen(this), this);
if (getConfig().getBoolean("Protect.Break", true)) // if (getConfig().getBoolean("Protect.Break", true))
Bukkit.getPluginManager().registerEvents( // Bukkit.getPluginManager().registerEvents(
new BreakBlockListen(this), this); // new BreakBlockListen(this), this);
if (getConfig().getBoolean("Protect.Place", true)) // if (getConfig().getBoolean("Protect.Place", true))
Bukkit.getPluginManager().registerEvents( // Bukkit.getPluginManager().registerEvents(
new PlaceBlockListen(this), this); // new PlaceBlockListen(this), this);
getLogger().info("ProtectItem已加载!"); getLogger().info("ProtectItem已加载!");
} }
@@ -48,9 +46,10 @@ public class Main extends JavaPlugin {
switch (args.length) { switch (args.length) {
case 0: case 0:
ItemStack item = p.getItemInHand(); ItemStack item = p.getItemInHand();
p.sendMessage("手上物品类型名称为: " + item.getType().name()); p.sendMessage("\u00a7a手上物品类型名称为: \u00a76" + getItemName(item));
return true; return true;
case 1: case 1:
if (p.hasPermission("pi.bypass"))
if (args[0].equalsIgnoreCase("reload")) { if (args[0].equalsIgnoreCase("reload")) {
this.reloadConfig(); this.reloadConfig();
p.sendMessage("\u00a7a配置文件已重载..."); p.sendMessage("\u00a7a配置文件已重载...");
@@ -62,16 +61,17 @@ public class Main extends JavaPlugin {
return false; return false;
} }
public boolean checkevent(Player p, String i, String type) { public boolean checkevent(Player p, ItemStack i, String type) {
if (p.hasPermission("pi.bypass")) if (p.hasPermission("pi.bypass"))
return false; return false;
String iname = getItemName(i);
Location l = p.getLocation(); Location l = p.getLocation();
World pw = l.getWorld(); World pw = l.getWorld();
for (String protectworld : getConfig().getStringList("ProtectWorld")) { for (String protectworld : getConfig().getStringList("ProtectWorld")) {
if (pw.getName().equalsIgnoreCase(protectworld)) if (pw.getName().equalsIgnoreCase(protectworld))
for (String protectitem : getConfig().getStringList( for (String protectitem : getConfig().getStringList(
"ProtectItem")) { "ProtectItem")) {
if (i.equalsIgnoreCase(protectitem)) { if (iname.equalsIgnoreCase(protectitem)) {
p.sendMessage(pluginname p.sendMessage(pluginname
+ getmessage("Message." + type)); + getmessage("Message." + type));
return true; return true;
@@ -81,6 +81,14 @@ public class Main extends JavaPlugin {
return false; return false;
} }
public static String getItemName(ItemStack i) {
String name = i.getType().name();
int dur = i.getDurability();
String dura = i.getMaxStackSize() != 1 ? dur != 0 ? "_" + dur : "" : "";
String iname = name + dura;
return iname;
}
public String getmessage(String path) { public String getmessage(String path) {
String message = getConfig().getString(path).replaceAll("&", "§"); String message = getConfig().getString(path).replaceAll("&", "§");
return message; return message;

View File

@@ -1,23 +0,0 @@
package cn.citycraft.ProtectItem.listen;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import cn.citycraft.ProtectItem.Main;
public class BreakBlockListen implements Listener {
Main plugin;
public BreakBlockListen(Main main) {
plugin = main;
}
@EventHandler(ignoreCancelled = true)
public void onBreakItem(BlockBreakEvent e) {
Player p = e.getPlayer();
String i = e.getBlock().getType().name();
e.setCancelled(plugin.checkevent(p, i, "Break"));
}
}

View File

@@ -4,6 +4,7 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.inventory.ItemStack;
import cn.citycraft.ProtectItem.Main; import cn.citycraft.ProtectItem.Main;
@@ -17,7 +18,7 @@ public class DropItemListen implements Listener {
@EventHandler(ignoreCancelled = true) @EventHandler(ignoreCancelled = true)
public void onDropItem(PlayerDropItemEvent e) { public void onDropItem(PlayerDropItemEvent e) {
Player p = e.getPlayer(); Player p = e.getPlayer();
String i = e.getItemDrop().getItemStack().getType().name(); ItemStack i = e.getItemDrop().getItemStack();
e.setCancelled(plugin.checkevent(p, i, "Drop")); e.setCancelled(plugin.checkevent(p, i, "Drop"));
} }
} }

View File

@@ -4,6 +4,7 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerPickupItemEvent; import org.bukkit.event.player.PlayerPickupItemEvent;
import org.bukkit.inventory.ItemStack;
import cn.citycraft.ProtectItem.Main; import cn.citycraft.ProtectItem.Main;
@@ -17,7 +18,7 @@ public class PickupItemListen implements Listener {
@EventHandler(ignoreCancelled = true) @EventHandler(ignoreCancelled = true)
public void onPickupItem(PlayerPickupItemEvent e) { public void onPickupItem(PlayerPickupItemEvent e) {
Player p = e.getPlayer(); Player p = e.getPlayer();
String i = e.getItem().getItemStack().getType().name(); ItemStack i = e.getItem().getItemStack();
e.setCancelled(plugin.checkevent(p, i, "Pickup")); e.setCancelled(plugin.checkevent(p, i, "Pickup"));
} }

View File

@@ -1,23 +0,0 @@
package cn.citycraft.ProtectItem.listen;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import cn.citycraft.ProtectItem.Main;
public class PlaceBlockListen implements Listener {
Main plugin;
public PlaceBlockListen(Main main) {
plugin = main;
}
@EventHandler(ignoreCancelled = true)
public void onPlaceItem(BlockPlaceEvent e) {
Player p = e.getPlayer();
String i = e.getBlock().getType().name();
e.setCancelled(plugin.checkevent(p, i, "Place"));
}
}

View File

@@ -10,15 +10,15 @@ Message:
#<23><><EFBFBD>鰲ȫ<E9B0B2><C8AB>ʾ #<23><><EFBFBD>鰲ȫ<E9B0B2><C8AB>ʾ
Drop: '&c<><63>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>' Drop: '&c<><63>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>'
Pickup: '&c<><63>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹʰȡ<CAB0><C8A1><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>' Pickup: '&c<><63>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹʰȡ<CAB0><C8A1><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>'
Place: '&c<><63>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD>ø<EFBFBD><C3B8><EFBFBD>Ʒ<EFBFBD><C6B7>' # Place: '&c<><63>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD>ø<EFBFBD><C3B8><EFBFBD>Ʒ<EFBFBD><C6B7>'
Break: '&c<><63>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>' # Break: '&c<><63>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>'
#<23>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #<23>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Protect: Protect:
Drop: true Drop: true
Pickup: true Pickup: false
Place: true ##Place: false
Break: true ##Break: false
#<23>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>Сд) #<23>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>Сд)
ProtectWorld: ProtectWorld:
@@ -26,6 +26,7 @@ ProtectWorld:
#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ(<28><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>Сд) #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ(<28><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>Сд)
ProtectItem: ProtectItem:
- XXXX
#<23><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,/pishow<6F><EFBFBD><E9BFB4>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>) #<23><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,/pishow<6F><EFBFBD><E9BFB4>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>)
# - DIRT # - DIRT
# - GRASS # - GRASS