91 lines
3.1 KiB
Java
91 lines
3.1 KiB
Java
package cn.citycraft.SimpleProtect;
|
|
|
|
import java.io.IOException;
|
|
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.plugin.PluginManager;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
import org.mcstats.Metrics;
|
|
|
|
import cn.citycraft.PluginHelper.config.FileConfig;
|
|
import cn.citycraft.PluginHelper.utils.VersionChecker;
|
|
import cn.citycraft.SimpleProtect.command.SimpleProtectCommand;
|
|
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;
|
|
|
|
public class SimpleProtect extends JavaPlugin {
|
|
|
|
public String servername;
|
|
public String pluginname;
|
|
public Spam spam = new Spam(this);
|
|
public FileConfig config;
|
|
|
|
public String getfullmsg(String path) {
|
|
return servername + pluginname + " " + getmessage(path);
|
|
}
|
|
|
|
public String getmessage(String path) {
|
|
return config.getMessage(path);
|
|
}
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
getServer().getConsoleSender().sendMessage("==========" + servername + pluginname + "==========");
|
|
PluginManager pm = Bukkit.getPluginManager();
|
|
|
|
if (config.getBoolean("Tip.Enable", true)) {
|
|
pm.registerEvents(new Tip(this), this);
|
|
getLogger().info("保护插件提醒功能已加载!");
|
|
}
|
|
if (config.getBoolean("SafeNetherDoor.Enable", true)) {
|
|
pm.registerEvents(new NetherDoor(this), this);
|
|
getLogger().info("防止登录卡地狱门已加载!");
|
|
}
|
|
if (config.getBoolean("BreakFarm.Enable", true)) {
|
|
pm.registerEvents(new BreakFarm(this), this);
|
|
getLogger().info("防止玩家踩坏耕地已加载!");
|
|
}
|
|
if (config.getBoolean("Explosion.Enable", true)) {
|
|
pm.registerEvents(new Explosion(), this);
|
|
getLogger().info("防止爆炸破坏地形已加载!");
|
|
}
|
|
if (config.getBoolean("Nightvision.Enable", true)) {
|
|
pm.registerEvents(new Nightvision(this), this);
|
|
getLogger().info("防止无限夜视作弊已加载!");
|
|
}
|
|
if (config.getBoolean("HighRedstone.Enable", true)) {
|
|
HighRedstone redstone = new HighRedstone(this);
|
|
pm.registerEvents(redstone, this);
|
|
Bukkit.getScheduler().runTaskTimer(this, redstone, 20, 20);
|
|
getLogger().info("防止玩家高频红石已加载!");
|
|
}
|
|
|
|
if (config.getBoolean("Spam.Enable", true)) {
|
|
Bukkit.getPluginManager().registerEvents(spam, this);
|
|
int resettime = config.getInt("Spam.MuteReset") * 20;
|
|
Bukkit.getScheduler().runTaskTimer(this, spam, resettime, resettime);
|
|
getLogger().info("防止玩家聊天刷屏已加载!");
|
|
}
|
|
getCommand("simpleprotect").setExecutor(new SimpleProtectCommand(this));
|
|
getServer().getConsoleSender().sendMessage("==========" + servername + pluginname + "==========");
|
|
new VersionChecker(this);
|
|
try {
|
|
Metrics metrics = new Metrics(this);
|
|
metrics.start();
|
|
} catch (IOException e) {
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onLoad() {
|
|
config = new FileConfig(this);
|
|
servername = getmessage("servername");
|
|
pluginname = getmessage("pluginname");
|
|
}
|
|
}
|