mirror of
https://github.com/CarmJos/ScriptItems
synced 2026-06-04 11:08:17 +08:00
103 lines
2.8 KiB
Java
103 lines
2.8 KiB
Java
package cc.carm.plugin.scriptitems;
|
|
|
|
import cc.carm.lib.configuration.core.source.ConfigurationProvider;
|
|
import cc.carm.lib.easyplugin.EasyPlugin;
|
|
import cc.carm.lib.easyplugin.updatechecker.GHUpdateChecker;
|
|
import cc.carm.lib.mineconfiguration.bukkit.MineConfiguration;
|
|
import cc.carm.plugin.scriptitems.command.MainCommand;
|
|
import cc.carm.plugin.scriptitems.conf.PluginConfig;
|
|
import cc.carm.plugin.scriptitems.conf.PluginMessages;
|
|
import cc.carm.plugin.scriptitems.listener.ItemListener;
|
|
import cc.carm.plugin.scriptitems.listener.ProtectListener;
|
|
import cc.carm.plugin.scriptitems.manager.ItemsManager;
|
|
import org.bstats.bukkit.Metrics;
|
|
import org.bukkit.Bukkit;
|
|
|
|
public class Main extends EasyPlugin {
|
|
|
|
private static Main instance;
|
|
|
|
public Main() {
|
|
instance = this;
|
|
}
|
|
|
|
protected ConfigurationProvider<?> configProvider;
|
|
protected ConfigurationProvider<?> messageProvider;
|
|
|
|
protected ItemsManager itemsManager;
|
|
|
|
@Override
|
|
protected boolean initialize() {
|
|
|
|
log("加载插件配置文件...");
|
|
this.configProvider = MineConfiguration.from(this, "config.yml");
|
|
this.configProvider.initialize(PluginConfig.class);
|
|
|
|
this.messageProvider = MineConfiguration.from(this, "messages.yml");
|
|
this.messageProvider.initialize(PluginMessages.class);
|
|
|
|
|
|
info("加载物品配置...");
|
|
this.itemsManager = new ItemsManager();
|
|
this.itemsManager.initialize();
|
|
|
|
info("注册指令...");
|
|
registerCommand("ScriptItems", new MainCommand(this));
|
|
|
|
info("注册监听器...");
|
|
registerListener(new ItemListener());
|
|
registerListener(new ProtectListener(this));
|
|
|
|
if (PluginConfig.METRICS.getNotNull()) {
|
|
info("启用统计数据...");
|
|
new Metrics(this, 14615);
|
|
}
|
|
|
|
if (PluginConfig.CHECK_UPDATE.getNotNull()) {
|
|
log("开始检查更新...");
|
|
getScheduler().runAsync(GHUpdateChecker.runner(this));
|
|
} else {
|
|
log("已禁用检查更新,跳过。");
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
protected void shutdown() {
|
|
|
|
log("卸载监听器...");
|
|
Bukkit.getServicesManager().unregisterAll(this);
|
|
|
|
}
|
|
|
|
@Override
|
|
public boolean isDebugging() {
|
|
return PluginConfig.DEBUG.getNotNull();
|
|
}
|
|
|
|
public static Main getInstance() {
|
|
return instance;
|
|
}
|
|
|
|
public static void info(String... messages) {
|
|
getInstance().log(messages);
|
|
}
|
|
|
|
public static void severe(String... messages) {
|
|
getInstance().error(messages);
|
|
}
|
|
|
|
public static void debugging(String... messages) {
|
|
getInstance().debug(messages);
|
|
}
|
|
|
|
public ConfigurationProvider<?> getConfigProvider() {
|
|
return configProvider;
|
|
}
|
|
|
|
public ConfigurationProvider<?> getMessageProvider() {
|
|
return messageProvider;
|
|
}
|
|
}
|