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

move file to maven flaor...

Signed-off-by: j502647092 <jtb1@163.com>
This commit is contained in:
j502647092
2015-10-02 22:16:20 +08:00
parent e9b8630284
commit 12b6321bab
7 changed files with 143 additions and 87 deletions

View File

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

View File

@@ -0,0 +1,24 @@
package cn.citycraft.ProtectItem.listen;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.inventory.ItemStack;
import cn.citycraft.ProtectItem.ProtectItem;
public class DropItemListen implements Listener {
ProtectItem plugin;
public DropItemListen(final ProtectItem main) {
plugin = main;
}
@EventHandler(ignoreCancelled = true)
public void onDropItem(final PlayerDropItemEvent e) {
final Player p = e.getPlayer();
final ItemStack i = e.getItemDrop().getItemStack();
e.setCancelled(plugin.checkevent(p, i, "Drop"));
}
}

View File

@@ -0,0 +1,24 @@
package cn.citycraft.ProtectItem.listen;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerPickupItemEvent;
import org.bukkit.inventory.ItemStack;
import cn.citycraft.ProtectItem.ProtectItem;
public class PickupItemListen implements Listener {
ProtectItem plugin;
public PickupItemListen(final ProtectItem main) {
plugin = main;
}
@EventHandler(ignoreCancelled = true)
public void onPickupItem(final PlayerPickupItemEvent e) {
final Player p = e.getPlayer();
final ItemStack i = e.getItem().getItemStack();
e.setCancelled(plugin.checkevent(p, i, "Pickup"));
}
}

View File

@@ -0,0 +1,34 @@
#<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>
servername: ''
#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pluginname: '&6[&3<><33>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>&6]&r'
#<23><>ʾ<EFBFBD><CABE>Ϣ
Message:
Reload: '&a<><61><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룡'
#<23><><EFBFBD>鰲ȫ<E9B0B2><C8AB>ʾ
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>'
# 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>'
#<23>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Protect:
Drop: true
Pickup: false
##Place: false
##Break: false
#<23>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>Сд)
ProtectWorld:
- world
#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ(<28><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>Сд)
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>)
# - DIRT
# - GRASS
# - CHEST
# - TRAPPED_CHEST

View File

@@ -0,0 +1,13 @@
name: ${project.artifactId}
description: ${project.description}
main: ${project.groupId}.${project.artifactId}.${project.artifactId}
version: ${project.version}
author: 喵♂呜
website: http://ci.citycraft.cn:8800/jenkins/job/${project.artifactId}/
commands:
pishow:
description: 物品保护插件
usage: 使用/pishow 查看物品名称!
permissions:
pi.bypass:
default: op