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

初始化项目

Signed-off-by: j502647092 <jtb1@163.com>
This commit is contained in:
j502647092
2015-04-28 15:31:08 +08:00
commit 2264925f6a
8 changed files with 194 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
package com.github.j502647092.BanDropDirt;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import com.github.j502647092.BanDropDirt.listen.BreakBlockListen;
import com.github.j502647092.BanDropDirt.listen.DropItemListen;
import com.github.j502647092.BanDropDirt.listen.PickupItemListen;
import com.github.j502647092.BanDropDirt.listen.PlaceBlockListen;
public class Main extends JavaPlugin {
public String servername;
public String pluginname;
public void onLoad() {
saveDefaultConfig();
reloadConfig();
servername = getmessage("servername");
pluginname = getmessage("pluginname") + " ";
}
public void onEnable() {
Bukkit.getPluginManager()
.registerEvents(new DropItemListen(this), this);
Bukkit.getPluginManager().registerEvents(new PickupItemListen(this),
this);
Bukkit.getPluginManager().registerEvents(new BreakBlockListen(this),
this);
Bukkit.getPluginManager().registerEvents(new PlaceBlockListen(this),
this);
getLogger().info("BanDropDirt已加载!");
}
public boolean checkevent(Player p, String i, String type) {
if (p.hasPermission("bdd.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

@@ -0,0 +1,24 @@
package com.github.j502647092.BanDropDirt.listen;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import com.github.j502647092.BanDropDirt.Main;
public class BreakBlockListen implements Listener {
Main plugin;
public BreakBlockListen(Main main) {
// TODO Auto-generated constructor stub
plugin = main;
}
@EventHandler(ignoreCancelled = true)
public void onDropItem(BlockBreakEvent e) {
Player p = e.getPlayer();
String i = e.getBlock().getType().name();
e.setCancelled(plugin.checkevent(p, i, "Break"));
}
}

View File

@@ -0,0 +1,25 @@
package com.github.j502647092.BanDropDirt.listen;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerDropItemEvent;
import com.github.j502647092.BanDropDirt.Main;
public class DropItemListen implements Listener {
Main plugin;
public DropItemListen(Main main) {
// TODO Auto-generated constructor stub
plugin = main;
}
@EventHandler(ignoreCancelled = true)
public void onDropItem(PlayerDropItemEvent e) {
Player p = e.getPlayer();
String i = e.getItemDrop().getItemStack().getType().name();
if (plugin.checkevent(p, i, "Drop"))
e.getItemDrop().remove();
}
}

View File

@@ -0,0 +1,26 @@
package com.github.j502647092.BanDropDirt.listen;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerPickupItemEvent;
import com.github.j502647092.BanDropDirt.Main;
public class PickupItemListen implements Listener {
Main plugin;
public PickupItemListen(Main main) {
// TODO Auto-generated constructor stub
plugin = main;
}
@EventHandler(ignoreCancelled = true)
public void onPickupItem(PlayerPickupItemEvent e) {
Player p = e.getPlayer();
String i = e.getItem().getItemStack().getType().name();
if (plugin.checkevent(p, i, "Pickup"))
e.getItem().remove();
}
}

View File

@@ -0,0 +1,24 @@
package com.github.j502647092.BanDropDirt.listen;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import com.github.j502647092.BanDropDirt.Main;
public class PlaceBlockListen implements Listener {
Main plugin;
public PlaceBlockListen(Main main) {
// TODO Auto-generated constructor stub
plugin = main;
}
@EventHandler(ignoreCancelled = true)
public void onDropItem(BlockPlaceEvent e) {
Player p = e.getPlayer();
String i = e.getBlock().getType().name();
e.setCancelled(plugin.checkevent(p, i, "Place"));
}
}

25
src/config.yml Normal file
View File

@@ -0,0 +1,25 @@
#<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><EFBFBD><EFBFBD><EFBFBD><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>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD>'
Pickup: '&c<><63>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹʰȡ<CAB0><C8A1><EFBFBD><EFBFBD>,ʰȡ<CAB0><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD>'
Place: '&c<><63>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ӣ<EFBFBD>'
Break: '&c<><63>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ӣ<EFBFBD>'
#<23>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>Сд)
ProtectWorld:
- world
- AcidIsland_nether
#<23><><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>Сд)
ProtectItem:
- DIRT
- GRASS
- CHEST
- TRAPPED_CHEST

3
src/plugin.yml Normal file
View File

@@ -0,0 +1,3 @@
name: BanDropDirt
main: com.github.j502647092.BanDropDirt.Main
version: 1.0