mirror of
https://e.coding.net/circlecloud/ProtectItem.git
synced 2025-11-24 23:56:08 +00:00
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -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"));
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
@@ -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"));
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
@@ -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"));
|
}
|
||||||
}
|
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|||||||
@@ -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"));
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
Reference in New Issue
Block a user