From 003884d7722ad70d0a6ace250a234f9fa0ef8045 Mon Sep 17 00:00:00 2001 From: flowerinsnow Date: Mon, 5 May 2025 19:21:27 +0800 Subject: [PATCH] fix: use 3.0 MineConfiguration --- pom.xml | 2 +- .../userprefix/command/AdminCommand.java | 4 +- .../userprefix/command/UserCommand.java | 2 +- .../userprefix/command/admin/ListCommand.java | 4 +- .../command/admin/ReloadCommand.java | 4 +- .../userprefix/command/admin/SetCommand.java | 8 +- .../plugin/userprefix/conf/PluginConfig.java | 123 +++++++++--------- .../userprefix/conf/PluginMessages.java | 46 +++---- .../plugin/userprefix/conf/gui/GUIItems.java | 18 ++- .../userprefix/manager/ConfigManager.java | 14 +- .../userprefix/manager/UserManager.java | 4 +- .../plugin/userprefix/ui/PrefixSelectGUI.java | 2 +- 12 files changed, 118 insertions(+), 113 deletions(-) diff --git a/pom.xml b/pom.xml index b567f68..2474129 100644 --- a/pom.xml +++ b/pom.xml @@ -1,7 +1,7 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 diff --git a/src/main/java/cc/carm/plugin/userprefix/command/AdminCommand.java b/src/main/java/cc/carm/plugin/userprefix/command/AdminCommand.java index 7c7ad2c..af55f51 100644 --- a/src/main/java/cc/carm/plugin/userprefix/command/AdminCommand.java +++ b/src/main/java/cc/carm/plugin/userprefix/command/AdminCommand.java @@ -26,12 +26,12 @@ public class AdminCommand extends CommandHandler { @Override public Void noPermission(CommandSender sender) { - PluginMessages.COMMAND_USAGE.NO_PERM.send(sender); + PluginMessages.COMMAND_USAGE.NO_PERM.sendTo(sender); return null; } public static Void help(CommandSender sender) { - PluginMessages.COMMAND_USAGE.ADMIN.send(sender); + PluginMessages.COMMAND_USAGE.ADMIN.sendTo(sender); return null; } diff --git a/src/main/java/cc/carm/plugin/userprefix/command/UserCommand.java b/src/main/java/cc/carm/plugin/userprefix/command/UserCommand.java index 81256bc..83fac6b 100644 --- a/src/main/java/cc/carm/plugin/userprefix/command/UserCommand.java +++ b/src/main/java/cc/carm/plugin/userprefix/command/UserCommand.java @@ -18,7 +18,7 @@ public class UserCommand implements CommandExecutor { PrefixSelectGUI.open((Player) sender); } else { if (strings.length != 1) { - PluginMessages.COMMAND_USAGE.CONSOLE.send(sender); + PluginMessages.COMMAND_USAGE.CONSOLE.sendTo(sender); } else { Player player = Bukkit.getPlayer(strings[0]); if (player != null) { diff --git a/src/main/java/cc/carm/plugin/userprefix/command/admin/ListCommand.java b/src/main/java/cc/carm/plugin/userprefix/command/admin/ListCommand.java index 99bd29e..17f8ad5 100644 --- a/src/main/java/cc/carm/plugin/userprefix/command/admin/ListCommand.java +++ b/src/main/java/cc/carm/plugin/userprefix/command/admin/ListCommand.java @@ -17,9 +17,9 @@ public class ListCommand extends SubCommand { @Override public Void execute(JavaPlugin plugin, CommandSender sender, String[] args) { - PluginMessages.LIST.HEADER.send(sender); + PluginMessages.LIST.HEADER.sendTo(sender); for (PrefixConfig value : UserPrefixAPI.getPrefixManager().getPrefixes().values()) { - PluginMessages.LIST.VALUE.send(sender, + PluginMessages.LIST.VALUE.sendTo(sender, value.getWeight(), value.getIdentifier(), value.getName(), value.getPermission(), value.getContent(sender), sender.getName() diff --git a/src/main/java/cc/carm/plugin/userprefix/command/admin/ReloadCommand.java b/src/main/java/cc/carm/plugin/userprefix/command/admin/ReloadCommand.java index 2ec1407..472cf34 100644 --- a/src/main/java/cc/carm/plugin/userprefix/command/admin/ReloadCommand.java +++ b/src/main/java/cc/carm/plugin/userprefix/command/admin/ReloadCommand.java @@ -33,9 +33,9 @@ public class ReloadCommand extends SubCommand { */ UserPrefixAPI.getUserManager().updatePrefixView(onlinePlayer, false); } - PluginMessages.RELOAD.SUCCESS.send(sender, System.currentTimeMillis() - s1, num); + PluginMessages.RELOAD.SUCCESS.sendTo(sender, System.currentTimeMillis() - s1, num); } catch (Exception e) { - PluginMessages.RELOAD.FAILED.send(sender, e.getMessage()); + PluginMessages.RELOAD.FAILED.sendTo(sender, e.getMessage()); e.printStackTrace(); } return null; diff --git a/src/main/java/cc/carm/plugin/userprefix/command/admin/SetCommand.java b/src/main/java/cc/carm/plugin/userprefix/command/admin/SetCommand.java index a68da77..034a635 100644 --- a/src/main/java/cc/carm/plugin/userprefix/command/admin/SetCommand.java +++ b/src/main/java/cc/carm/plugin/userprefix/command/admin/SetCommand.java @@ -23,7 +23,7 @@ public class SetCommand extends SubCommand { Player target = Bukkit.getPlayer(args[0]); if (target == null) { - PluginMessages.NOT_ONLINE.send(sender, args[0]); + PluginMessages.NOT_ONLINE.sendTo(sender, args[0]); return null; } @@ -37,17 +37,17 @@ public class SetCommand extends SubCommand { } if (prefixConfig == null) { - PluginMessages.SET.PREFIX_NOT_FOUND.send(sender, prefixInput); + PluginMessages.SET.PREFIX_NOT_FOUND.sendTo(sender, prefixInput); return null; } if (!prefixConfig.checkPermission(target)) { - PluginMessages.SET.NO_PERM.send(sender, target.getName(), prefixConfig.getName()); + PluginMessages.SET.NO_PERM.sendTo(sender, target.getName(), prefixConfig.getName()); return null; } UserPrefixAPI.getUserManager().setPrefix(target, prefixConfig, true); - PluginMessages.SET.SUCCESS.send(sender, target.getName(), prefixConfig.getName()); + PluginMessages.SET.SUCCESS.sendTo(sender, target.getName(), prefixConfig.getName()); return null; } diff --git a/src/main/java/cc/carm/plugin/userprefix/conf/PluginConfig.java b/src/main/java/cc/carm/plugin/userprefix/conf/PluginConfig.java index 6c3a99d..7dd53be 100644 --- a/src/main/java/cc/carm/plugin/userprefix/conf/PluginConfig.java +++ b/src/main/java/cc/carm/plugin/userprefix/conf/PluginConfig.java @@ -1,11 +1,10 @@ package cc.carm.plugin.userprefix.conf; -import cc.carm.lib.configuration.core.ConfigurationRoot; -import cc.carm.lib.configuration.core.annotation.ConfigPath; -import cc.carm.lib.configuration.core.annotation.HeaderComment; -import cc.carm.lib.configuration.core.value.ConfigValue; -import cc.carm.lib.configuration.core.value.type.ConfiguredList; -import cc.carm.lib.configuration.core.value.type.ConfiguredValue; +import cc.carm.lib.configuration.Configuration; +import cc.carm.lib.configuration.annotation.ConfigPath; +import cc.carm.lib.configuration.annotation.HeaderComments; +import cc.carm.lib.configuration.value.standard.ConfiguredList; +import cc.carm.lib.configuration.value.standard.ConfiguredValue; import cc.carm.lib.mineconfiguration.bukkit.value.ConfiguredSound; import cc.carm.lib.mineconfiguration.bukkit.value.item.ConfiguredItem; import cc.carm.plugin.userprefix.conf.gui.GUIItems; @@ -13,91 +12,91 @@ import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; import org.bukkit.inventory.ItemFlag; -public class PluginConfig extends ConfigurationRoot { +public class PluginConfig implements Configuration { - @HeaderComment({"开发者查错模式"}) - public static final ConfigValue DEBUG = ConfiguredValue.of(Boolean.class, false); + @HeaderComments({"开发者查错模式"}) + public static final ConfiguredValue DEBUG = ConfiguredValue.of(Boolean.class, false); - @HeaderComment({ + @HeaderComments({ "统计数据设定", " 该选项用于帮助开发者统计插件版本与使用情况,且绝不会影响性能与使用体验。", " 当然,您也可以选择在这里关闭,或在plugins/bStats下的配置文件中关闭。" }) - public static final ConfigValue METRICS = ConfiguredValue.of(Boolean.class, true); + public static final ConfiguredValue METRICS = ConfiguredValue.of(Boolean.class, true); - @HeaderComment({ + @HeaderComments({ "检查更新设定", "该选项用于插件判断是否要检查更新,若您不希望插件检查更新并提示您,可以选择关闭。", "检查更新为异步操作,绝不会影响性能与使用体验。" }) - public static final ConfigValue CHECK_UPDATE = ConfiguredValue.of(Boolean.class, true); + public static final ConfiguredValue CHECK_UPDATE = ConfiguredValue.of(Boolean.class, true); - @HeaderComment({"自定义存储位置设定", "可以规定到远程文件夹中去加载前缀配置"}) - public static final class CUSTOM_STORAGE extends ConfigurationRoot { + @HeaderComments({"自定义存储位置设定", "可以规定到远程文件夹中去加载前缀配置"}) + public static final class CUSTOM_STORAGE implements Configuration { - @HeaderComment({"是否启用自定义存储位置"}) - public static final ConfigValue ENABLE = ConfiguredValue.of(Boolean.class, false); + @HeaderComments({"是否启用自定义存储位置"}) + public static final ConfiguredValue ENABLE = ConfiguredValue.of(Boolean.class, false); - @HeaderComment({ + @HeaderComments({ "目标存储路径,必须指向一个文件夹。", "默认存储位置为 “插件文件夹”/prefixes", "支持绝对文件路径,如 \"/etc/minecraft/configurations/prefixes/\"" }) - public static final ConfigValue PATH = ConfiguredValue.of(String.class, "prefixes/"); + public static final ConfiguredValue PATH = ConfiguredValue.of(String.class, "prefixes/"); } - @HeaderComment("功能设定") - public static class FUNCTIONS extends ConfigurationRoot { + @HeaderComments("功能设定") + public static class FUNCTIONS implements Configuration { @ConfigPath("on-name-prefix") - @HeaderComment({"头顶与TabList前缀功能,该方法用到了玩家名计分板接口,如有冲突请关掉哦~"}) - public static final class NAME_PREFIX extends ConfigurationRoot { + @HeaderComments({"头顶与TabList前缀功能,该方法用到了玩家名计分板接口,如有冲突请关掉哦~"}) + public static final class NAME_PREFIX implements Configuration { - @HeaderComment("是否开启本功能") - public static final ConfigValue ENABLE = ConfiguredValue.of(Boolean.class, true); + @HeaderComments("是否开启本功能") + public static final ConfiguredValue ENABLE = ConfiguredValue.of(Boolean.class, true); - @HeaderComment("是否按降序排列,即权重越高的前缀显示在越上面;若为false则按升序排列。") - public static final ConfigValue ORDER_DESC = ConfiguredValue.of(Boolean.class, true); + @HeaderComments("是否按降序排列,即权重越高的前缀显示在越上面;若为false则按升序排列。") + public static final ConfiguredValue ORDER_DESC = ConfiguredValue.of(Boolean.class, true); } @ConfigPath("auto-prefix-use") - @HeaderComment("自动使用前缀,即当玩家没有自己选择一个前缀的时候,会自动使用所拥有的的前缀中权重最高的那一个") - public static final ConfigValue AUTO_USE = ConfiguredValue.of(Boolean.class, true); + @HeaderComments("自动使用前缀,即当玩家没有自己选择一个前缀的时候,会自动使用所拥有的的前缀中权重最高的那一个") + public static final ConfiguredValue AUTO_USE = ConfiguredValue.of(Boolean.class, true); - @HeaderComment({ + @HeaderComments({ "聊天功能设定", "- 我不推荐使用本插件的聊天功能,而是建议使用其他的聊天插件。", "- 本插件仅仅提供了**最基本**的格式变量支持,不包含其他任何功能。", "- 注意聊天格式需要遵守Bukkit原格式,即不得缺失 “%1$s” 和 “%2$s” 。", "- 本插件的聊天功能不影响其他插件对聊天事件的操作。" }) - public static final class CHAT extends ConfigurationRoot { + public static final class CHAT implements Configuration { - @HeaderComment("是否开启本功能") - public static final ConfigValue ENABLE = ConfiguredValue.of(Boolean.class, false); - @HeaderComment({ + @HeaderComments("是否开启本功能") + public static final ConfiguredValue ENABLE = ConfiguredValue.of(Boolean.class, false); + @HeaderComments({ "聊天的格式,注意 “%1$s” 和 “%2$s” 不可缺少。", "- %1$s -> 玩家名", "- %2$s -> 聊天内容" }) - public static final ConfigValue FORMAT = ConfiguredValue.of(String.class, "<%1$s> %2$s"); + public static final ConfiguredValue FORMAT = ConfiguredValue.of(String.class, "<%1$s> %2$s"); } } - @HeaderComment({"前缀GUI界面设定"}) - public static class GUI extends ConfigurationRoot { + @HeaderComments({"前缀GUI界面设定"}) + public static class GUI implements Configuration { - @HeaderComment("GUI的标题") - public static final ConfigValue TITLE = ConfiguredValue.of(String.class, "&f&l我的前缀 &8| 列表"); + @HeaderComments("GUI的标题") + public static final ConfiguredValue TITLE = ConfiguredValue.of(String.class, "&f&l我的前缀 &8| 列表"); - @HeaderComment("GUI中的基本按钮物品") - public static final class BOTTOMS extends ConfigurationRoot { + @HeaderComments("GUI中的基本按钮物品") + public static final class BOTTOMS implements Configuration { - @HeaderComment("前往下一页的物品 (只有存在下一页时才会显示)") + @HeaderComments("前往下一页的物品 (只有存在下一页时才会显示)") public static final ConfiguredItem NEXT_PAGE = ConfiguredItem.create() .defaultType(Material.ARROW) .defaultName("下一页") @@ -105,7 +104,7 @@ public class PluginConfig extends ConfigurationRoot { .build(); @ConfigPath("previous-page") - @HeaderComment({"前往上一页时的物品 (只有当前页不是第一页时才会显示)"}) + @HeaderComments({"前往上一页时的物品 (只有当前页不是第一页时才会显示)"}) public static final ConfiguredItem PREV_PAGE = ConfiguredItem.create() .defaultType(Material.ARROW) .defaultName("上一页") @@ -114,18 +113,18 @@ public class PluginConfig extends ConfigurationRoot { } - @HeaderComment("GUI中的其他按钮物品 (若与现有物品位置冲突,将被覆盖)") - public static final ConfigValue ITEMS = ConfiguredValue + @HeaderComments("GUI中的其他按钮物品 (若与现有物品位置冲突,将被覆盖)") + public static final ConfiguredValue ITEMS = ConfiguredValue .builderOf(GUIItems.class).fromSection() .defaults(GUIItems::defaults) - .serializeValue(GUIItems::serialize) - .parseValue((v, d) -> GUIItems.parse(v)) + .serialize(GUIItems::serialize) + .parse(GUIItems::parse) .build(); } - @HeaderComment({"相关的声音,留空则不播放声音", "格式为 【声音名:音量:音调】 或 【声音名:音量】 或 【声音名】"}) - public static final class SOUNDS extends ConfigurationRoot { + @HeaderComments({"相关的声音,留空则不播放声音", "格式为 【声音名:音量:音调】 或 【声音名:音量】 或 【声音名】"}) + public static final class SOUNDS implements Configuration { public static final ConfiguredSound GUI_OPEN = ConfiguredSound.of("BLOCK_NOTE_BLOCK_PLING", 0.5F, 0.8F); public static final ConfiguredSound GUI_CLICK = ConfiguredSound.of("UI_BUTTON_CLICK"); @@ -134,34 +133,34 @@ public class PluginConfig extends ConfigurationRoot { } - @HeaderComment({"默认前缀配置"}) - public static final class DEFAULT_PREFIX extends ConfigurationRoot { + @HeaderComments({"默认前缀配置"}) + public static final class DEFAULT_PREFIX implements Configuration { - @HeaderComment("默认前缀的显示名称,用于在消息提示中显示。") - public static final ConfigValue NAME = ConfiguredValue.of(String.class, "默认前缀"); + @HeaderComments("默认前缀的显示名称,用于在消息提示中显示。") + public static final ConfiguredValue NAME = ConfiguredValue.of(String.class, "默认前缀"); - @HeaderComment({"默认前缀的权重,默认为0。"}) - public static final ConfigValue WEIGHT = ConfiguredValue.of(Integer.class, 0); + @HeaderComments({"默认前缀的权重,默认为0。"}) + public static final ConfiguredValue WEIGHT = ConfiguredValue.of(Integer.class, 0); - @HeaderComment({"默认前缀的内容,即用于显示的实际前缀"}) - public static final ConfigValue CONTENT = ConfiguredValue.of(String.class, "&r"); + @HeaderComments({"默认前缀的内容,即用于显示的实际前缀"}) + public static final ConfiguredValue CONTENT = ConfiguredValue.of(String.class, "&r"); - @HeaderComment({"选择默认前缀时执行的操作"}) + @HeaderComments({"选择默认前缀时执行的操作"}) public static final ConfiguredList ACTIONS = ConfiguredList.builderOf(String.class).fromString() .defaults("[CONSOLE] " + "say %player_name% 选择了默认前缀") .build(); - @HeaderComment({"默认前缀的显示物品"}) - public static final class ITEM extends ConfigurationRoot { + @HeaderComments({"默认前缀的显示物品"}) + public static final class ITEM implements Configuration { - @HeaderComment({"当未选择默认前缀时显示的物品"}) + @HeaderComments({"当未选择默认前缀时显示的物品"}) public static final ConfiguredItem NOT_USING = ConfiguredItem.create() .defaultType(Material.NAME_TAG) .defaultName("&f默认玩家前缀 &f(点击切换)") .defaultLore("", "&a➥ 点击切换到该前缀") .build(); - @HeaderComment({"当选择了默认前缀时显示的物品"}) + @HeaderComments({"当选择了默认前缀时显示的物品"}) public static final ConfiguredItem USING = ConfiguredItem.create() .defaultType(Material.NAME_TAG) .defaultEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 1) diff --git a/src/main/java/cc/carm/plugin/userprefix/conf/PluginMessages.java b/src/main/java/cc/carm/plugin/userprefix/conf/PluginMessages.java index 6d23b38..1813e58 100644 --- a/src/main/java/cc/carm/plugin/userprefix/conf/PluginMessages.java +++ b/src/main/java/cc/carm/plugin/userprefix/conf/PluginMessages.java @@ -1,18 +1,18 @@ package cc.carm.plugin.userprefix.conf; -import cc.carm.lib.configuration.core.ConfigurationRoot; -import cc.carm.lib.configuration.core.annotation.HeaderComment; -import cc.carm.lib.mineconfiguration.bukkit.value.ConfiguredMessageList; +import cc.carm.lib.configuration.Configuration; +import cc.carm.lib.configuration.annotation.HeaderComments; +import cc.carm.lib.mineconfiguration.bukkit.value.ConfiguredMessage; -public class PluginMessages extends ConfigurationRoot { +public class PluginMessages implements Configuration { - public static final class COMMAND_USAGE extends ConfigurationRoot { + public static final class COMMAND_USAGE implements Configuration { - public static final ConfiguredMessageList CONSOLE = ConfiguredMessageList.asStrings().defaults( + public static final ConfiguredMessage CONSOLE = ConfiguredMessage.asString().defaults( "&f请输入 &b/prefix <玩家ID> &f为指定玩家打开前缀GUI。" ).build(); - public static final ConfiguredMessageList ADMIN = ConfiguredMessageList.asStrings().defaults( + public static final ConfiguredMessage ADMIN = ConfiguredMessage.asString().defaults( "&3&l用户前缀系统 &f帮助", "&8# &f/upa list", "&8- &7查看当前前缀列表。", @@ -23,52 +23,52 @@ public class PluginMessages extends ConfigurationRoot { "&8- &7重载前缀配置。" ).build(); - public static final ConfiguredMessageList NO_PERM = ConfiguredMessageList.asStrings() + public static final ConfiguredMessage NO_PERM = ConfiguredMessage.asString() .defaults("&c&l抱歉!&f但您没有权限使用该指令。") .build(); } - public static final ConfiguredMessageList NOT_ONLINE = ConfiguredMessageList.asStrings() + public static final ConfiguredMessage NOT_ONLINE = ConfiguredMessage.asString() .defaults("&7玩家 &b%(player) &7并不在线。") .params("player").build(); - public static final ConfiguredMessageList SELECTED = ConfiguredMessageList.asStrings() + public static final ConfiguredMessage SELECTED = ConfiguredMessage.asString() .defaults("&7您选择了 &f%(name) &7作为当前显示的前缀。") .params("name").build(); - public static final ConfiguredMessageList EXPIRED = ConfiguredMessageList.asStrings() + public static final ConfiguredMessage EXPIRED = ConfiguredMessage.asString() .defaults( "&7您先前使用的前缀 &f%(oldName) &7已到期。", "&7现在已为您重新调整为 &f%(newName) &7。" ).params("oldName", "newName").build(); - public static final ConfiguredMessageList REMOVED = ConfiguredMessageList.asStrings() + public static final ConfiguredMessage REMOVED = ConfiguredMessage.asString() .defaults("&7您先前使用的前缀已被移除,现在已为您重新调整为 &f%(newName) &7。") .params("newName").build(); - public static final class RELOAD extends ConfigurationRoot { + public static final class RELOAD implements Configuration { - public static final ConfiguredMessageList SUCCESS = ConfiguredMessageList.asStrings() + public static final ConfiguredMessage SUCCESS = ConfiguredMessage.asString() .defaults("&a&l重载完成!&7耗时 &f%(time)ms&7,共加载了 &b%(count) &7个前缀。") .params("time", "count").build(); - public static final ConfiguredMessageList FAILED = ConfiguredMessageList.asStrings() + public static final ConfiguredMessage FAILED = ConfiguredMessage.asString() .defaults("&c&l重载出错!&7错误提示为 &8“&r%(error)&8”。") .params("error").build(); } - public static final class SET extends ConfigurationRoot { + public static final class SET implements Configuration { - public static final ConfiguredMessageList SUCCESS = ConfiguredMessageList.asStrings() + public static final ConfiguredMessage SUCCESS = ConfiguredMessage.asString() .defaults("&a&l设置成功!&7成功设定玩家 &b%(player) &f的前缀为 &r%(prefix) &f。") .params("player", "prefix").build(); - public static final ConfiguredMessageList PREFIX_NOT_FOUND = ConfiguredMessageList.asStrings() + public static final ConfiguredMessage PREFIX_NOT_FOUND = ConfiguredMessage.asString() .defaults("&c&l无法设置!&7不存在ID为 &b%(prefix) &7的前缀。") .params("prefix").build(); - public static final ConfiguredMessageList NO_PERM = ConfiguredMessageList.asStrings() + public static final ConfiguredMessage NO_PERM = ConfiguredMessage.asString() .defaults("&c&l无法设置!&7玩家 &b%(player) &7并没有前缀 &r%(prefix) &7的前缀。") .params("player", "prefix") .build(); @@ -76,13 +76,13 @@ public class PluginMessages extends ConfigurationRoot { } - @HeaderComment("管理员使用的 “/upa list” 指令的格式") - public static final class LIST extends ConfigurationRoot { + @HeaderComments("管理员使用的 “/upa list” 指令的格式") + public static final class LIST implements Configuration { - public static final ConfiguredMessageList HEADER = ConfiguredMessageList.asStrings() + public static final ConfiguredMessage HEADER = ConfiguredMessage.asString() .defaults("&3&l用户前缀系统 &f前缀列表").build(); - public static final ConfiguredMessageList VALUE = ConfiguredMessageList.asStrings().defaults( + public static final ConfiguredMessage VALUE = ConfiguredMessage.asString().defaults( "&8#%(weight) &f%(identifier)", "&8- &7显示名 &r%(name) &7权限 &r%(permission)", "&8- &7内容示例&r %(content) %(sender_name)" diff --git a/src/main/java/cc/carm/plugin/userprefix/conf/gui/GUIItems.java b/src/main/java/cc/carm/plugin/userprefix/conf/gui/GUIItems.java index 2ec85fa..28bb621 100644 --- a/src/main/java/cc/carm/plugin/userprefix/conf/gui/GUIItems.java +++ b/src/main/java/cc/carm/plugin/userprefix/conf/gui/GUIItems.java @@ -1,11 +1,12 @@ package cc.carm.plugin.userprefix.conf.gui; -import cc.carm.lib.configuration.core.source.ConfigurationWrapper; +import cc.carm.lib.configuration.source.section.ConfigureSection; import cc.carm.lib.easyplugin.gui.configuration.GUIActionConfiguration; import cc.carm.lib.easyplugin.gui.configuration.GUIActionType; import cc.carm.lib.easyplugin.gui.configuration.GUIConfiguration; import cc.carm.lib.easyplugin.gui.configuration.GUIItemConfiguration; -import cc.carm.lib.mineconfiguration.bukkit.source.CraftSectionWrapper; +import cc.carm.lib.mineconfiguration.bukkit.source.BukkitSection; +import cc.carm.plugin.userprefix.Main; import org.bukkit.Material; import java.util.Collections; @@ -33,10 +34,15 @@ public class GUIItems { )); } - public static GUIItems parse(ConfigurationWrapper section) { - if (!(section instanceof CraftSectionWrapper)) return new GUIItems(new LinkedHashMap<>()); - CraftSectionWrapper craft = (CraftSectionWrapper) section; - return new GUIItems(GUIConfiguration.readItems(craft.getSource())); + public static GUIItems parse(ConfigureSection section) { + if (!(section instanceof BukkitSection)) { + Main.severe("Unknown configure source, it should never happened!"); + Main.severe("Required: " + BukkitSection.class.getSimpleName()); + Main.severe("Found: " + section.getClass().getSimpleName()); + return new GUIItems(new LinkedHashMap<>()); + } + BukkitSection craft = (BukkitSection) section; + return new GUIItems(GUIConfiguration.readItems(craft.data())); } public static GUIItems defaults() { diff --git a/src/main/java/cc/carm/plugin/userprefix/manager/ConfigManager.java b/src/main/java/cc/carm/plugin/userprefix/manager/ConfigManager.java index 7cbce94..4466c2d 100644 --- a/src/main/java/cc/carm/plugin/userprefix/manager/ConfigManager.java +++ b/src/main/java/cc/carm/plugin/userprefix/manager/ConfigManager.java @@ -1,6 +1,6 @@ package cc.carm.plugin.userprefix.manager; -import cc.carm.lib.configuration.core.source.ConfigurationProvider; +import cc.carm.lib.configuration.source.ConfigurationHolder; import cc.carm.lib.easyplugin.utils.JarResourceUtils; import cc.carm.lib.mineconfiguration.bukkit.MineConfiguration; import cc.carm.plugin.userprefix.conf.PluginConfig; @@ -11,13 +11,13 @@ import java.io.IOException; public class ConfigManager { - private final ConfigurationProvider configProvider; - private final ConfigurationProvider messageProvider; + private final ConfigurationHolder configProvider; + private final ConfigurationHolder messageProvider; public ConfigManager(File dataFolder) { firstInitialize(dataFolder); - this.configProvider = MineConfiguration.from(new File(dataFolder, "config.yml")); - this.messageProvider = MineConfiguration.from(new File(dataFolder, "messages.yml")); + this.configProvider = MineConfiguration.from(new File(dataFolder, "config.yml"), null); + this.messageProvider = MineConfiguration.from(new File(dataFolder, "messages.yml"), null); this.configProvider.initialize(PluginConfig.class); this.messageProvider.initialize(PluginMessages.class); } @@ -35,11 +35,11 @@ public class ConfigManager { } - public ConfigurationProvider getConfigProvider() { + public ConfigurationHolder getConfigProvider() { return configProvider; } - public ConfigurationProvider getMessageProvider() { + public ConfigurationHolder getMessageProvider() { return messageProvider; } diff --git a/src/main/java/cc/carm/plugin/userprefix/manager/UserManager.java b/src/main/java/cc/carm/plugin/userprefix/manager/UserManager.java index 2a5eb5e..a8410ae 100644 --- a/src/main/java/cc/carm/plugin/userprefix/manager/UserManager.java +++ b/src/main/java/cc/carm/plugin/userprefix/manager/UserManager.java @@ -131,13 +131,13 @@ public class UserManager { UserPrefixExpireEvent.call(player, currentPrefix); // 发送消息 - PluginMessages.EXPIRED.send(player, currentPrefix.getName(), newPrefix.getName()); + PluginMessages.EXPIRED.sendTo(player, currentPrefix.getName(), newPrefix.getName()); // 播放声音 PluginConfig.SOUNDS.PREFIX_EXPIRED.playTo(player); } else { // 当前前缀为空,则代表是旧的前缀不存在了, - PluginMessages.REMOVED.send(player, newPrefix.getName()); + PluginMessages.REMOVED.sendTo(player, newPrefix.getName()); } UserPrefixChangeEvent.call(player, currentPrefix, newPrefix, (after) -> { diff --git a/src/main/java/cc/carm/plugin/userprefix/ui/PrefixSelectGUI.java b/src/main/java/cc/carm/plugin/userprefix/ui/PrefixSelectGUI.java index 4be2570..7924664 100644 --- a/src/main/java/cc/carm/plugin/userprefix/ui/PrefixSelectGUI.java +++ b/src/main/java/cc/carm/plugin/userprefix/ui/PrefixSelectGUI.java @@ -65,7 +65,7 @@ public class PrefixSelectGUI extends AutoPagedGUI { // 发送消息与提示 PluginConfig.SOUNDS.PREFIX_CHANGE.playTo(player); - PluginMessages.SELECTED.send(player, prefix.getName()); + PluginMessages.SELECTED.sendTo(player, prefix.getName()); UserPrefixChangeEvent.call(player, usingPrefix, prefix, config -> { if (config == null) return;