mirror of
https://github.com/CarmJos/ScriptItems
synced 2026-06-04 20:37:33 +08:00
feat(execute): 支持以OP身份执行命令
This commit is contained in:
@@ -1,65 +1,59 @@
|
||||
package cc.carm.plugin.scriptitems;
|
||||
|
||||
import cc.carm.lib.configuration.core.source.ConfigurationProvider;
|
||||
import cc.carm.lib.easyplugin.EasyPlugin;
|
||||
import cc.carm.lib.easyplugin.i18n.EasyPluginMessageProvider;
|
||||
import cc.carm.plugin.scriptitems.command.ScriptItemsCommand;
|
||||
import cc.carm.plugin.scriptitems.configuration.PluginConfig;
|
||||
import cc.carm.plugin.scriptitems.hooker.GHUpdateChecker;
|
||||
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.manager.ConfigManager;
|
||||
import cc.carm.plugin.scriptitems.manager.ItemsManager;
|
||||
import cc.carm.plugin.scriptitems.util.JarResourceUtils;
|
||||
import org.bstats.bukkit.Metrics;
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class Main extends EasyPlugin {
|
||||
|
||||
private static Main instance;
|
||||
|
||||
public Main() {
|
||||
super(new EasyPluginMessageProvider.zh_CN());
|
||||
instance = this;
|
||||
}
|
||||
|
||||
public static Main getInstance() {
|
||||
return instance;
|
||||
}
|
||||
protected ConfigurationProvider<?> configProvider;
|
||||
protected ConfigurationProvider<?> messageProvider;
|
||||
|
||||
protected ConfigManager configManager;
|
||||
protected ItemsManager itemsManager;
|
||||
|
||||
@Override
|
||||
protected boolean initialize() {
|
||||
|
||||
info("加载配置文件...");
|
||||
this.configManager = new ConfigManager(this);
|
||||
if (!configManager.initConfig()) {
|
||||
severe("配置文件初始化失败,请检查。");
|
||||
setEnabled(false);
|
||||
return false;
|
||||
}
|
||||
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 ScriptItemsCommand());
|
||||
registerCommand("ScriptItems", new MainCommand(this));
|
||||
|
||||
info("注册监听器...");
|
||||
regListener(new ItemListener());
|
||||
registerListener(new ItemListener());
|
||||
|
||||
if (PluginConfig.METRICS.get()) {
|
||||
if (PluginConfig.METRICS.getNotNull()) {
|
||||
info("启用统计数据...");
|
||||
new Metrics(this, 14615);
|
||||
}
|
||||
|
||||
if (PluginConfig.CHECK_UPDATE.get()) {
|
||||
if (PluginConfig.CHECK_UPDATE.getNotNull()) {
|
||||
log("开始检查更新...");
|
||||
GHUpdateChecker checker = new GHUpdateChecker(getLogger(), "CarmJos", "CommandItem");
|
||||
getScheduler().runAsync(() -> checker.checkUpdate(getDescription().getVersion()));
|
||||
getScheduler().runAsync(GHUpdateChecker.runner(this));
|
||||
} else {
|
||||
log("已禁用检查更新,跳过。");
|
||||
}
|
||||
@@ -77,12 +71,11 @@ public class Main extends EasyPlugin {
|
||||
|
||||
@Override
|
||||
public boolean isDebugging() {
|
||||
return PluginConfig.DEBUG.get();
|
||||
return PluginConfig.DEBUG.getNotNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void outputInfo() {
|
||||
Optional.ofNullable(JarResourceUtils.readResource(this.getResource("PLUGIN_INFO"))).ifPresent(this::log);
|
||||
public static Main getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public static void info(String... messages) {
|
||||
@@ -96,4 +89,12 @@ public class Main extends EasyPlugin {
|
||||
public static void debugging(String... messages) {
|
||||
getInstance().debug(messages);
|
||||
}
|
||||
|
||||
public ConfigurationProvider<?> getConfigProvider() {
|
||||
return configProvider;
|
||||
}
|
||||
|
||||
public ConfigurationProvider<?> getMessageProvider() {
|
||||
return messageProvider;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user