SimpleProtect/src/main/java/cn/citycraft/SimpleProtect/SimpleProtect.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");
}
}