1
0
mirror of https://e.coding.net/circlecloud/ProtectItem.git synced 2026-05-01 18:40:45 +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 @@
#本文件为保护插件的主配置文件 #本文件为保护插件的主配置文件
#服务器名称 #服务器名称
servername: '' servername: ''
#插件名称 #插件名称
pluginname: '&6[&3物品保护&6]&r' pluginname: '&6[&3物品保护&6]&r'
#提示消息 #提示消息
Message: Message:
Reload: '&a配置文件已重新载入' Reload: '&a配置文件已重新载入'
#方块安全提示 #方块安全提示
Drop: '&c当前世界禁止丢弃该物品' Drop: '&c当前世界禁止丢弃该物品'
Pickup: '&c当前世界禁止拾取该物品' Pickup: '&c当前世界禁止拾取该物品'
Place: '&c当前世界禁止放置该物品' Place: '&c当前世界禁止放置该物品'
Break: '&c当前世界禁止破坏该物品' Break: '&c当前世界禁止破坏该物品'
#受到保护的类型 #受到保护的类型
Protect: Protect:
Drop: true Drop: true
Pickup: true Pickup: true
Place: true Place: true
Break: true Break: true
#受到保护的世界(不区分大小写) #受到保护的世界(不区分大小写)
ProtectWorld: ProtectWorld:
- world - world
#保护的物品(不区分大小写) #保护的物品(不区分大小写)
ProtectItem: ProtectItem:
- DIRT #例如(请输入物品类型名称,/pishow查看物品名称)
- 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