diff --git a/pom.xml b/pom.xml index c34f04d..6844bff 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ cc.carm.plugin ultradepository jar - 1.2.0 + 1.2.1 UltraDepository 超级仓库插件,支持设定不同物品的存储仓库。 diff --git a/src/main/java/cc/carm/plugin/ultradepository/UltraDepository.java b/src/main/java/cc/carm/plugin/ultradepository/UltraDepository.java index f3c01b9..ca90c32 100644 --- a/src/main/java/cc/carm/plugin/ultradepository/UltraDepository.java +++ b/src/main/java/cc/carm/plugin/ultradepository/UltraDepository.java @@ -38,28 +38,25 @@ public class UltraDepository extends EasyPlugin { @Override protected void load() { instance = this; - - log("加载配置文件..."); - ConfigManager.initConfig(); - - GUI.initialize(this); } @Override protected boolean initialize() { - log("初始化存储方式..."); - StorageMethod storageMethod = PluginConfig.STORAGE_METHOD.get(); - if (storageMethod == null) { - log("初始化存储方式失败,放弃加载"); + log("加载配置文件..."); + if (!ConfigManager.initialize()) { + log("初始化配置文件失败,放弃加载。"); return false; } - storage = storageMethod.createStorage(); + log("初始化存储方式..."); + StorageMethod storageMethod = PluginConfig.STORAGE_METHOD.getOptional().orElse(StorageMethod.YAML); log(" 正在使用 " + storageMethod.name() + " 进行数据存储"); + storage = storageMethod.createStorage(); if (!storage.initialize()) { - error("存储初始化失败,请检查配置文件。"); + error("初始化存储失败,请检查配置文件。"); + storage.shutdown(); return false; } @@ -79,6 +76,7 @@ public class UltraDepository extends EasyPlugin { log("加载仓库管理器..."); depositoryManager = new DepositoryManager(); getDepositoryManager().loadDepositories(); + GUI.initialize(this); log("注册监听器..."); regListener(new UserListener()); diff --git a/src/main/java/cc/carm/plugin/ultradepository/manager/ConfigManager.java b/src/main/java/cc/carm/plugin/ultradepository/manager/ConfigManager.java index 246ac6a..c66e397 100644 --- a/src/main/java/cc/carm/plugin/ultradepository/manager/ConfigManager.java +++ b/src/main/java/cc/carm/plugin/ultradepository/manager/ConfigManager.java @@ -9,12 +9,17 @@ public class ConfigManager { private static FileConfig pluginConfiguration; private static FileConfig messageConfiguration; - public static void initConfig() { - pluginConfiguration = new FileConfig(UltraDepository.getInstance(), "config.yml"); - messageConfiguration = new FileConfig(UltraDepository.getInstance(), "messages.yml"); + public static boolean initialize() { + try { + pluginConfiguration = new FileConfig(UltraDepository.getInstance(), "config.yml"); + messageConfiguration = new FileConfig(UltraDepository.getInstance(), "messages.yml"); - FileConfig.pluginConfiguration = () -> pluginConfiguration; - FileConfig.messageConfiguration = () -> messageConfiguration; + FileConfig.pluginConfiguration = () -> pluginConfiguration; + FileConfig.messageConfiguration = () -> messageConfiguration; + return true; + } catch (Exception ex) { + return false; + } } public static FileConfig getPluginConfig() { @@ -26,13 +31,21 @@ public class ConfigManager { } public static void reload() { - getPluginConfig().reload(); - getMessageConfig().reload(); + try { + getPluginConfig().reload(); + getMessageConfig().reload(); + } catch (Exception ex) { + ex.printStackTrace(); + } } public static void saveConfig() { - getPluginConfig().save(); - getMessageConfig().save(); + try { + getPluginConfig().save(); + getMessageConfig().save(); + } catch (Exception ex) { + ex.printStackTrace(); + } } }