diff --git a/pom.xml b/pom.xml index 01e1d82..52b1cc5 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ cc.carm.plugin userprefix - 2.1.6 + 2.1.7 UserPrefix 轻便、高效、实时的用户前缀系统。 diff --git a/src/main/java/cc/carm/plugin/userprefix/configuration/PrefixConfig.java b/src/main/java/cc/carm/plugin/userprefix/configuration/PrefixConfig.java index ac91608..ef02cb4 100644 --- a/src/main/java/cc/carm/plugin/userprefix/configuration/PrefixConfig.java +++ b/src/main/java/cc/carm/plugin/userprefix/configuration/PrefixConfig.java @@ -11,6 +11,14 @@ public class PrefixConfig { public static ConfigValue DEBUG = new ConfigValue<>("debug", Boolean.class, false); + public static class CustomStorage { + + public static ConfigValue ENABLE = new ConfigValue<>("custom-storage.enable", Boolean.class, false); + + public static ConfigValue PATH = new ConfigValue<>("custom-storage.path", String.class, "prefixes/"); + + } + public static class Functions { public static ConfigValue NAME_PREFIX = new ConfigValue<>("functions.OnNamePrefix", Boolean.class, true); 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 f21a78e..ad53e9a 100644 --- a/src/main/java/cc/carm/plugin/userprefix/manager/PrefixManager.java +++ b/src/main/java/cc/carm/plugin/userprefix/manager/PrefixManager.java @@ -1,6 +1,7 @@ package cc.carm.plugin.userprefix.manager; import cc.carm.plugin.userprefix.Main; +import cc.carm.plugin.userprefix.configuration.PrefixConfig; import cc.carm.plugin.userprefix.model.ConfiguredPrefix; import cc.carm.plugin.userprefix.util.ItemStackFactory; import org.bukkit.Material; @@ -37,7 +38,7 @@ public class PrefixManager { public static void loadConfiguredPrefixes() { - File prefixDataFolder = new File(Main.getInstance().getDataFolder() + File.separator + FOLDER_NAME); + File prefixDataFolder = getStorageFolder(); if (!prefixDataFolder.isDirectory() || !prefixDataFolder.exists()) { prefixDataFolder.mkdir(); } @@ -150,5 +151,18 @@ 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); + } + } 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 1b86137..5ac16e1 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -2,6 +2,14 @@ version: ${project.version} debug: false +custom-storage: + # 自定义存储位置 + # 默认存储位置为 “插件文件夹”/prefixes + # 可以规定到远程文件夹中去寻找前缀相关的设定 + # 支持绝对文件路径,如 "/etc/minecraft/configurations/prefixes/" + enable: false # 是否启用 + path: "prefixes/" # 一定要指向一个文件夹! + functions: OnNamePrefix: true # 是否给头顶上添加前缀,该方法用到了头顶的那个计分板,如有冲突请关掉哦~ autoUsePrefix: true # 自动前缀显示 当玩家没有自己选择一个前缀的时候,会自动使用所拥有的的前缀中权重最高的那一个 diff --git a/src/main/resources/en_US/config.yml b/src/main/resources/en_US/config.yml index 13d8cc4..9be6afe 100644 --- a/src/main/resources/en_US/config.yml +++ b/src/main/resources/en_US/config.yml @@ -2,6 +2,13 @@ version: ${project.version} # DO NOT EDIT IT debug: false #DEBUG OUT PUT +custom-storage: + # Custom storage location + # default location is "./prefixes" + # Support absolute file path , such as "/etc/minecraft/configurations/prefixes/" + enable: false + path: "prefixes/" # Must be a folder! + GUI: title: "&f&lMy Prefixes List" # Title of the GUI items: