mirror of
https://e.coding.net/circlecloud/SimpleProtect.git
synced 2024-11-22 01:49:03 +00:00
add lose file...
Signed-off-by: j502647092 <jtb1@163.com>
This commit is contained in:
parent
dbbba9741e
commit
417b1ff950
112
src/cn/citycraft/SimpleProtect/SimpleProtect.java
Normal file
112
src/cn/citycraft/SimpleProtect/SimpleProtect.java
Normal file
@ -0,0 +1,112 @@
|
||||
package cn.citycraft.SimpleProtect;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import cn.citycraft.SimpleProtect.config.Config;
|
||||
import cn.citycraft.SimpleProtect.listen.BreakFarm;
|
||||
import cn.citycraft.SimpleProtect.listen.Explosion;
|
||||
import cn.citycraft.SimpleProtect.listen.HighRedstone;
|
||||
import cn.citycraft.SimpleProtect.listen.NetherDoor;
|
||||
import cn.citycraft.SimpleProtect.listen.Nightvision;
|
||||
import cn.citycraft.SimpleProtect.listen.Spam;
|
||||
import cn.citycraft.SimpleProtect.listen.Tip;
|
||||
import cn.citycraft.SimpleProtect.utils.VersionChecker;
|
||||
|
||||
public class SimpleProtect extends JavaPlugin {
|
||||
|
||||
public String servername;
|
||||
public String pluginname;
|
||||
|
||||
public String getfullmsg(String path) {
|
||||
return servername + pluginname + " " + getmessage(path);
|
||||
}
|
||||
|
||||
public String getmessage(String path) {
|
||||
return Config.getMessage(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
switch (args.length) {
|
||||
case 1:
|
||||
switch (args[0]) {
|
||||
case "setspawn":
|
||||
if (sender instanceof Player) {
|
||||
Location l = ((Player) sender).getLocation();
|
||||
Config.getInstance().set("SafeNetherDoor.World", l.getWorld().getName());
|
||||
Config.getInstance().set("SafeNetherDoor.X", l.getBlockX());
|
||||
Config.getInstance().set("SafeNetherDoor.Y", l.getBlockY());
|
||||
Config.getInstance().set("SafeNetherDoor.Z", l.getBlockZ());
|
||||
sender.sendMessage(pluginname + Config.getMessage("SafeNetherDoor.Set"));
|
||||
}
|
||||
return true;
|
||||
case "reload":
|
||||
onLoad();
|
||||
sender.sendMessage(pluginname + "§a配置文件已重载!");
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
getServer().getConsoleSender().sendMessage(
|
||||
"==========" + servername + pluginname + "==========");
|
||||
|
||||
PluginManager pm = Bukkit.getPluginManager();
|
||||
|
||||
if (Config.getInstance().getBoolean("Tip.Enable", true)) {
|
||||
pm.registerEvents(new Tip(this), this);
|
||||
getLogger().info("保护插件提醒功能已加载!");
|
||||
}
|
||||
if (Config.getInstance().getBoolean("SafeNetherDoor.Enable", true)) {
|
||||
pm.registerEvents(new NetherDoor(this), this);
|
||||
getLogger().info("防止登录卡地狱门已加载!");
|
||||
}
|
||||
if (Config.getInstance().getBoolean("BreakFarm.Enable", true)) {
|
||||
pm.registerEvents(new BreakFarm(this), this);
|
||||
getLogger().info("防止玩家踩坏耕地已加载!");
|
||||
}
|
||||
if (Config.getInstance().getBoolean("Explosion.Enable", true)) {
|
||||
pm.registerEvents(new Explosion(), this);
|
||||
getLogger().info("防止爆炸破坏地形已加载!");
|
||||
}
|
||||
if (Config.getInstance().getBoolean("Nightvision.Enable", true)) {
|
||||
pm.registerEvents(new Nightvision(this), this);
|
||||
getLogger().info("防止无限夜视作弊已加载!");
|
||||
}
|
||||
if (Config.getInstance().getBoolean("HighRedstone.Enable", true)) {
|
||||
HighRedstone redstone = new HighRedstone(this);
|
||||
pm.registerEvents(redstone, this);
|
||||
Bukkit.getScheduler().runTaskTimer(this, redstone, 20, 20);
|
||||
getLogger().info("防止玩家高频红石已加载!");
|
||||
}
|
||||
|
||||
if (Config.getInstance().getBoolean("Spam.Enable", true)) {
|
||||
Spam spam = new Spam(this);
|
||||
Bukkit.getPluginManager().registerEvents(spam, this);
|
||||
Bukkit.getScheduler().runTaskTimer(this, spam, 20, 20);
|
||||
getCommand("spam").setExecutor(spam);
|
||||
getLogger().info("防止玩家聊天刷屏已加载!");
|
||||
}
|
||||
|
||||
getServer().getConsoleSender().sendMessage(
|
||||
"==========" + servername + pluginname + "==========");
|
||||
new VersionChecker(this);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
Config.load(this, "1.0");
|
||||
servername = getmessage("servername");
|
||||
pluginname = getmessage("pluginname");
|
||||
}
|
||||
}
|
63
src/config.yml
Normal file
63
src/config.yml
Normal file
@ -0,0 +1,63 @@
|
||||
#本文件为保护插件的主配置文件
|
||||
version: 1.0
|
||||
#服务器名称
|
||||
servername: ''
|
||||
#插件名称
|
||||
pluginname: '&6[&b保护系统&6]&r'
|
||||
#登陆提示
|
||||
Tip:
|
||||
#是否开启
|
||||
Enable: true
|
||||
Message:
|
||||
- '&a服务器已开启保护功能!'
|
||||
- '&c将会实时监控您的操作!'
|
||||
- '&e挖矿请带上火把或药水!'
|
||||
|
||||
#耕地保护配置
|
||||
BreakFarm:
|
||||
#是否开启
|
||||
Enable: true
|
||||
Tip: '&c服务器已开启耕地保护,请不要踩庄稼!'
|
||||
|
||||
#爆炸保护配置
|
||||
Explosion:
|
||||
#是否开启
|
||||
Enable: true
|
||||
|
||||
#高频红石检测
|
||||
HighRedstone:
|
||||
#是否开启
|
||||
Enable: true
|
||||
Maxevents: 35
|
||||
Find: '&c发现高频红石 &3世界:%world% &d坐标: X:%x% Y:%y% Z:%z% §a已清理!'
|
||||
Check: '&c高频红石数据监测 &5上述高频红石由 &6玩家:&a%player%& 6放置!'
|
||||
Admin: '&c发现您放置高频红石,由于您是管理员,在服务器重启之前此高频将不会被清理,请用完后及时清理!'
|
||||
|
||||
#防止无限夜视
|
||||
Nightvision:
|
||||
#是否开启
|
||||
Enable: true
|
||||
Tip: '&c为防止无限夜视作弊,已阻止挖矿,请插火把或用夜视药水!'
|
||||
|
||||
#安全地狱门
|
||||
SafeNetherDoor:
|
||||
#是否开启
|
||||
Enable: true
|
||||
Tip: '&5为防止您卡在地狱门,现在将您传送回主城!'
|
||||
Set: '&a新的传送点已设置!'
|
||||
World: world
|
||||
X: 0
|
||||
Y: 70
|
||||
Z: 0
|
||||
|
||||
#刷屏保护
|
||||
Spam:
|
||||
#是否开启
|
||||
Enable: true
|
||||
ChatWait: 3
|
||||
SameChatWait: 8
|
||||
CommandWait: 2
|
||||
SameCommandWait: 3
|
||||
KickCheck: 3
|
||||
KickReset: 10
|
||||
|
Loading…
Reference in New Issue
Block a user