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

fix can't load this plugin...

Signed-off-by: j502647092 <jtb1@163.com>
This commit is contained in:
j502647092
2015-05-05 22:09:20 +08:00
parent 57fc847fe6
commit 7b65793c44
7 changed files with 229 additions and 198 deletions

View File

@@ -1,64 +1,93 @@
package cn.citycraft.ProtectItem; package cn.citycraft.ProtectItem;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.entity.Player; import org.bukkit.command.Command;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import cn.citycraft.ProtectItem.listen.BreakBlockListen; import org.bukkit.inventory.ItemStack;
import cn.citycraft.ProtectItem.listen.DropItemListen; import org.bukkit.plugin.java.JavaPlugin;
import cn.citycraft.ProtectItem.listen.PickupItemListen;
import cn.citycraft.ProtectItem.listen.PlaceBlockListen; import cn.citycraft.ProtectItem.listen.BreakBlockListen;
import cn.citycraft.ProtectItem.listen.DropItemListen;
public class Main extends JavaPlugin { import cn.citycraft.ProtectItem.listen.PickupItemListen;
public String servername; import cn.citycraft.ProtectItem.listen.PlaceBlockListen;
public String pluginname;
public class Main extends JavaPlugin {
public void onLoad() { public String servername;
saveDefaultConfig(); public String pluginname;
reloadConfig();
servername = getmessage("servername"); public void onLoad() {
pluginname = getmessage("pluginname") + " "; saveDefaultConfig();
} reloadConfig();
servername = getmessage("servername");
public void onEnable() { pluginname = getmessage("pluginname") + " ";
if (getConfig().getBoolean("Protect.Drop", true)) }
Bukkit.getPluginManager().registerEvents(new DropItemListen(this),
this); public void onEnable() {
if (getConfig().getBoolean("Protect.Pickup", true)) if (getConfig().getBoolean("Protect.Drop", true))
Bukkit.getPluginManager().registerEvents( Bukkit.getPluginManager().registerEvents(new DropItemListen(this),
new PickupItemListen(this), this); this);
if (getConfig().getBoolean("Protect.Break", true)) if (getConfig().getBoolean("Protect.Pickup", true))
Bukkit.getPluginManager().registerEvents( Bukkit.getPluginManager().registerEvents(
new BreakBlockListen(this), this); new PickupItemListen(this), this);
if (getConfig().getBoolean("Protect.Place", true)) if (getConfig().getBoolean("Protect.Break", true))
Bukkit.getPluginManager().registerEvents( Bukkit.getPluginManager().registerEvents(
new PlaceBlockListen(this), this); new BreakBlockListen(this), this);
getLogger().info("ProtectItem已加载!"); if (getConfig().getBoolean("Protect.Place", true))
} Bukkit.getPluginManager().registerEvents(
new PlaceBlockListen(this), this);
public boolean checkevent(Player p, String i, String type) { getLogger().info("ProtectItem已加载!");
if (p.hasPermission("pi.bypass")) }
return false;
Location l = p.getLocation(); @Override
World pw = l.getWorld(); public boolean onCommand(CommandSender sender, Command cmd, String string,
for (String protectworld : getConfig().getStringList("ProtectWorld")) { String[] args) {
if (pw.getName().equalsIgnoreCase(protectworld)) Player p = (Player) sender;
for (String protectitem : getConfig().getStringList( switch (args.length) {
"ProtectItem")) { case 0:
if (i.equalsIgnoreCase(protectitem)) { ItemStack item = p.getItemInHand();
p.sendMessage(pluginname p.sendMessage("手上物品类型名称为: " + item.getType().name());
+ getmessage("Message." + type)); return true;
return true; case 1:
} switch (args[0]) {
} case "reload":
} this.reloadConfig();
return false; p.sendMessage("\u00a7a配置文件已重载...");
} return true;
case "add":
public String getmessage(String path) { case "del":
String message = getConfig().getString(path).replaceAll("&", "§"); return true;
return message; default:
} }
} break;
default:
}
return false;
}
public boolean checkevent(Player p, String i, String type) {
if (p.hasPermission("pi.bypass"))
return false;
Location l = p.getLocation();
World pw = l.getWorld();
for (String protectworld : getConfig().getStringList("ProtectWorld")) {
if (pw.getName().equalsIgnoreCase(protectworld))
for (String protectitem : getConfig().getStringList(
"ProtectItem")) {
if (i.equalsIgnoreCase(protectitem)) {
p.sendMessage(pluginname
+ getmessage("Message." + type));
return true;
}
}
}
return false;
}
public String getmessage(String path) {
String message = getConfig().getString(path).replaceAll("&", "§");
return message;
}
}

View File

@@ -1,24 +1,23 @@
package cn.citycraft.ProtectItem.listen; package cn.citycraft.ProtectItem.listen;
import org.bukkit.entity.Player; 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.block.BlockBreakEvent; import org.bukkit.event.block.BlockBreakEvent;
import cn.citycraft.ProtectItem.Main; import cn.citycraft.ProtectItem.Main;
public class BreakBlockListen implements Listener { public class BreakBlockListen implements Listener {
Main plugin; Main plugin;
public BreakBlockListen(Main main) { public BreakBlockListen(Main main) {
// TODO Auto-generated constructor stub plugin = main;
plugin = main; }
}
@EventHandler(ignoreCancelled = true)
@EventHandler(ignoreCancelled = true) public void onBreakItem(BlockBreakEvent e) {
public void onBreakItem(BlockBreakEvent e) { Player p = e.getPlayer();
Player p = e.getPlayer(); String i = e.getBlock().getType().name();
String i = e.getBlock().getType().name(); e.setCancelled(plugin.checkevent(p, i, "Break"));
e.setCancelled(plugin.checkevent(p, i, "Break")); }
} }
}

View File

@@ -1,24 +1,23 @@
package cn.citycraft.ProtectItem.listen; package cn.citycraft.ProtectItem.listen;
import org.bukkit.entity.Player; 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 cn.citycraft.ProtectItem.Main; import cn.citycraft.ProtectItem.Main;
public class DropItemListen implements Listener { public class DropItemListen implements Listener {
Main plugin; Main plugin;
public DropItemListen(Main main) { public DropItemListen(Main main) {
// TODO Auto-generated constructor stub plugin = main;
plugin = main; }
}
@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();
String i = e.getItemDrop().getItemStack().getType().name(); e.setCancelled(plugin.checkevent(p, i, "Drop"));
e.setCancelled(plugin.checkevent(p, i, "Drop")); }
} }
}

View File

@@ -1,25 +1,24 @@
package cn.citycraft.ProtectItem.listen; package cn.citycraft.ProtectItem.listen;
import org.bukkit.entity.Player; 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 cn.citycraft.ProtectItem.Main; import cn.citycraft.ProtectItem.Main;
public class PickupItemListen implements Listener { public class PickupItemListen implements Listener {
Main plugin; Main plugin;
public PickupItemListen(Main main) { public PickupItemListen(Main main) {
// TODO Auto-generated constructor stub plugin = main;
plugin = main; }
}
@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();
String i = e.getItem().getItemStack().getType().name(); e.setCancelled(plugin.checkevent(p, i, "Pickup"));
e.setCancelled(plugin.checkevent(p, i, "Pickup")); }
}
}
}

View File

@@ -1,24 +1,23 @@
package cn.citycraft.ProtectItem.listen; package cn.citycraft.ProtectItem.listen;
import org.bukkit.entity.Player; 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.block.BlockPlaceEvent; import org.bukkit.event.block.BlockPlaceEvent;
import cn.citycraft.ProtectItem.Main; import cn.citycraft.ProtectItem.Main;
public class PlaceBlockListen implements Listener { public class PlaceBlockListen implements Listener {
Main plugin; Main plugin;
public PlaceBlockListen(Main main) { public PlaceBlockListen(Main main) {
// TODO Auto-generated constructor stub plugin = main;
plugin = main; }
}
@EventHandler(ignoreCancelled = true)
@EventHandler(ignoreCancelled = true) public void onPlaceItem(BlockPlaceEvent e) {
public void onPlaceItem(BlockPlaceEvent e) { Player p = e.getPlayer();
Player p = e.getPlayer(); String i = e.getBlock().getType().name();
String i = e.getBlock().getType().name(); e.setCancelled(plugin.checkevent(p, i, "Place"));
e.setCancelled(plugin.checkevent(p, i, "Place")); }
} }
}

View File

@@ -1,32 +1,33 @@
#<23><><EFBFBD>ļ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> #<23><><EFBFBD>ļ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
servername: '' servername: ''
#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pluginname: '&6[&3<><33>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>&6]&r' pluginname: '&6[&3<><33>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>&6]&r'
#<23><>ʾ<EFBFBD><CABE>Ϣ #<23><>ʾ<EFBFBD><CABE>Ϣ
Message: Message:
Reload: '&a<><61><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡' Reload: '&a<><61><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡'
#<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: true
Place: true Place: true
Break: true Break: true
#<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:
- world - world
#<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:
- DIRT #<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>)
- GRASS # - DIRT
- CHEST # - GRASS
- TRAPPED_CHEST # - CHEST
# - TRAPPED_CHEST

View File

@@ -1,6 +1,11 @@
name: ProtectItem name: ProtectItem
main: cn.CityCraft.ProtectItem.Main main: cn.citycraft.ProtectItem.Main
version: 1.0 version: 1.0
permissions: auther: 喵♂呜
pi.bypass: commands:
pishow:
description: 物品保护插件
usage: 使用/pishow 查看物品名称!
permissions:
pi.bypass:
default: op default: op