From 23576993248be6aea25349ad5bc89bac88fccdcb Mon Sep 17 00:00:00 2001 From: carm Date: Sun, 24 Oct 2021 21:14:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=8F=90=E4=BA=A4=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configuration/values/ConfigValue.java | 14 ++++++++++++-- .../plugin/userprefix/manager/PrefixManager.java | 14 ++++++-------- src/main/resources/config.yml | 2 +- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/main/java/cc/carm/plugin/userprefix/configuration/values/ConfigValue.java b/src/main/java/cc/carm/plugin/userprefix/configuration/values/ConfigValue.java index d297fed..cab0f2e 100644 --- a/src/main/java/cc/carm/plugin/userprefix/configuration/values/ConfigValue.java +++ b/src/main/java/cc/carm/plugin/userprefix/configuration/values/ConfigValue.java @@ -32,8 +32,13 @@ public class ConfigValue { } public V get() { - Object val = getConfiguration().get(this.configSection, this.defaultValue); - return this.clazz.isInstance(val) ? this.clazz.cast(val) : this.defaultValue; + if (getConfiguration().contains(this.configSection)) { + Object val = getConfiguration().get(this.configSection, this.defaultValue); + return this.clazz.isInstance(val) ? this.clazz.cast(val) : this.defaultValue; + } else { + // 如果没有默认值,就把配置写进去,便于配置 + return setDefault(); + } } public void set(V value) { @@ -45,4 +50,9 @@ public class ConfigValue { this.source.save(); } + public V setDefault() { + set(this.defaultValue); + return this.defaultValue; + } + } diff --git a/src/main/java/cc/carm/plugin/userprefix/manager/PrefixManager.java b/src/main/java/cc/carm/plugin/userprefix/manager/PrefixManager.java index ad53e9a..973e30d 100644 --- a/src/main/java/cc/carm/plugin/userprefix/manager/PrefixManager.java +++ b/src/main/java/cc/carm/plugin/userprefix/manager/PrefixManager.java @@ -45,10 +45,12 @@ public class PrefixManager { String[] filesList = prefixDataFolder.list(); if (filesList == null || filesList.length < 1) { - Main.log("配置文件中暂无任何前缀配置,请检查。"); + Main.log("配置文件夹中暂无任何前缀配置问,请检查。"); Main.log("There's no configured prefix."); + Main.log("Path: " + prefixDataFolder.getAbsolutePath()); return; } + List files = Arrays.stream(filesList) .map(s -> new File(prefixDataFolder, s)) .filter(File::isFile) @@ -75,7 +77,8 @@ public class PrefixManager { public static void loadDefaultPrefix() { PrefixManager.defaultPrefix = null; - ConfigurationSection defaultPrefixSection = ConfigManager.getPluginConfig().getConfig().getConfigurationSection("defaultPrefix"); + ConfigurationSection defaultPrefixSection = ConfigManager.getPluginConfig() + .getConfig().getConfigurationSection("defaultPrefix"); if (defaultPrefixSection != null) { try { String name = defaultPrefixSection.getString("name", "默认前缀"); @@ -153,12 +156,7 @@ public class PrefixManager { private static File getStorageFolder() { if (PrefixConfig.CustomStorage.ENABLE.get()) { - String path = PrefixConfig.CustomStorage.PATH.get(); - if (path.startsWith(File.separator)) { - return new File(path); - } else { - return new File(Main.getInstance().getDataFolder() + File.separator + path); - } + return new File(PrefixConfig.CustomStorage.PATH.get()); } else { return new File(Main.getInstance().getDataFolder() + File.separator + FOLDER_NAME); } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 5ac16e1..69d786f 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,4 +1,4 @@ -version: ${project.version} +version: ${project.version} #配置文件版本,若与插件版本不同请记得检查配置文件内容 debug: false