From bd192b98437744010a8455c16dc832226dcdbe4b Mon Sep 17 00:00:00 2001 From: carm Date: Sun, 20 Apr 2025 01:13:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=80=82=E9=85=8D=E4=B8=8A=E6=B8=B8?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cc/carm/plugin/timereward/Main.java | 24 +++---- .../timereward/command/MainCommand.java | 6 +- .../timereward/command/sub/ClaimCommand.java | 8 +-- .../timereward/command/sub/ListCommand.java | 2 +- .../timereward/command/sub/ReloadCommand.java | 4 +- .../timereward/command/sub/TestCommand.java | 6 +- .../timereward/command/sub/UserCommand.java | 4 +- .../plugin/timereward/conf/PluginConfig.java | 31 +++++----- .../timereward/conf/PluginMessages.java | 62 ++++++++++--------- .../plugin/timereward/conf/RewardsConfig.java | 38 ++++++------ .../timereward/data/RewardContents.java | 4 +- .../storage/database/DatabaseConfig.java | 37 ++++++----- .../storage/database/DatabaseTables.java | 6 +- 13 files changed, 117 insertions(+), 115 deletions(-) diff --git a/src/main/java/cc/carm/plugin/timereward/Main.java b/src/main/java/cc/carm/plugin/timereward/Main.java index a18e645..bf18e09 100644 --- a/src/main/java/cc/carm/plugin/timereward/Main.java +++ b/src/main/java/cc/carm/plugin/timereward/Main.java @@ -1,10 +1,10 @@ package cc.carm.plugin.timereward; -import cc.carm.lib.configuration.core.source.ConfigurationProvider; +import cc.carm.lib.configuration.source.ConfigurationHolder; import cc.carm.lib.easyplugin.EasyPlugin; import cc.carm.lib.easyplugin.updatechecker.GHUpdateChecker; import cc.carm.lib.easyplugin.utils.MessageUtils; -import cc.carm.lib.mineconfiguration.bukkit.MineConfiguration; +import cc.carm.lib.mineconfiguration.bukkit.source.BukkitConfigFactory; import cc.carm.plugin.timereward.command.MainCommand; import cc.carm.plugin.timereward.conf.PluginConfig; import cc.carm.plugin.timereward.conf.PluginMessages; @@ -18,12 +18,14 @@ import org.bstats.bukkit.Metrics; import org.bukkit.Bukkit; import org.bukkit.entity.Entity; +import java.io.File; + public class Main extends EasyPlugin { private static Main instance; - protected ConfigurationProvider configProvider; - protected ConfigurationProvider messageProvider; - protected ConfigurationProvider rewardProvider; + protected ConfigurationHolder configProvider; + protected ConfigurationHolder messageProvider; + protected ConfigurationHolder rewardProvider; protected MySQLStorage storage; protected UserManager userManager; @@ -36,13 +38,13 @@ public class Main extends EasyPlugin { @Override protected void load() { log("加载插件配置文件..."); - this.configProvider = MineConfiguration.from(this, "config.yml"); + this.configProvider = BukkitConfigFactory.from(new File(getDataFolder(), "config.yml")).build(); this.configProvider.initialize(PluginConfig.class); - this.messageProvider = MineConfiguration.from(this, "messages.yml"); + this.messageProvider = BukkitConfigFactory.from(new File(getDataFolder(), "messages.yml")).build(); this.messageProvider.initialize(PluginMessages.class); - this.rewardProvider = MineConfiguration.from(this, "rewards.yml"); + this.rewardProvider = BukkitConfigFactory.from(new File(getDataFolder(), "rewards.yml")).build(); this.rewardProvider.initialize(RewardsConfig.class); } @@ -137,15 +139,15 @@ public class Main extends EasyPlugin { return getInstance().storage; } - public ConfigurationProvider getConfigProvider() { + public ConfigurationHolder getConfigProvider() { return configProvider; } - public ConfigurationProvider getMessageProvider() { + public ConfigurationHolder getMessageProvider() { return messageProvider; } - public ConfigurationProvider getRewardProvider() { + public ConfigurationHolder getRewardProvider() { return rewardProvider; } } \ No newline at end of file diff --git a/src/main/java/cc/carm/plugin/timereward/command/MainCommand.java b/src/main/java/cc/carm/plugin/timereward/command/MainCommand.java index 6ca6808..95a7690 100644 --- a/src/main/java/cc/carm/plugin/timereward/command/MainCommand.java +++ b/src/main/java/cc/carm/plugin/timereward/command/MainCommand.java @@ -22,16 +22,16 @@ public class MainCommand extends CommandHandler { @Override public Void noArgs(CommandSender sender) { if (sender.hasPermission("TimeReward.admin")) { - PluginMessages.USAGE.ADMIN.send(sender); + PluginMessages.USAGE.ADMIN.sendTo(sender); } else { - PluginMessages.USAGE.USER.send(sender); + PluginMessages.USAGE.USER.sendTo(sender); } return null; } @Override public Void noPermission(CommandSender sender) { - PluginMessages.NO_PERMISSION.send(sender); + PluginMessages.NO_PERMISSION.sendTo(sender); return null; } } diff --git a/src/main/java/cc/carm/plugin/timereward/command/sub/ClaimCommand.java b/src/main/java/cc/carm/plugin/timereward/command/sub/ClaimCommand.java index fab112c..c403222 100644 --- a/src/main/java/cc/carm/plugin/timereward/command/sub/ClaimCommand.java +++ b/src/main/java/cc/carm/plugin/timereward/command/sub/ClaimCommand.java @@ -23,7 +23,7 @@ public class ClaimCommand extends SubCommand { @Override public Void execute(JavaPlugin plugin, CommandSender sender, String[] args) { if (!(sender instanceof Player)) { - PluginMessages.NOT_PLAYER.send(sender); + PluginMessages.NOT_PLAYER.sendTo(sender); return null; } @@ -35,7 +35,7 @@ public class ClaimCommand extends SubCommand { List unclaimedRewards = manager.getUnclaimedRewards(player); if (unclaimedRewards.isEmpty()) { - PluginMessages.NO_UNCLAIMED_REWARD.send(sender); + PluginMessages.NO_UNCLAIMED_REWARD.sendTo(sender); return null; } @@ -45,12 +45,12 @@ public class ClaimCommand extends SubCommand { RewardContents reward = manager.getReward(rewardID); if (reward == null) { - PluginMessages.NOT_EXISTS.send(sender, rewardID); + PluginMessages.NOT_EXISTS.sendTo(sender, rewardID); return null; } if (!manager.isClaimable(player, reward)) { - PluginMessages.NOT_CLAIMABLE.send(sender, reward.getDisplayName()); + PluginMessages.NOT_CLAIMABLE.sendTo(sender, reward.getDisplayName()); return null; } diff --git a/src/main/java/cc/carm/plugin/timereward/command/sub/ListCommand.java b/src/main/java/cc/carm/plugin/timereward/command/sub/ListCommand.java index 874b2df..29c0487 100644 --- a/src/main/java/cc/carm/plugin/timereward/command/sub/ListCommand.java +++ b/src/main/java/cc/carm/plugin/timereward/command/sub/ListCommand.java @@ -20,7 +20,7 @@ public class ListCommand extends SubCommand { @Override public Void execute(JavaPlugin plugin, CommandSender sender, String[] args) { Collection awards = TimeRewardAPI.getRewardManager().listRewards().values(); - PluginMessages.LIST.HEADER.send(sender, awards.size()); + PluginMessages.LIST.HEADER.sendTo(sender, awards.size()); for (RewardContents reward : awards) { if (reward.getPermission() != null) { diff --git a/src/main/java/cc/carm/plugin/timereward/command/sub/ReloadCommand.java b/src/main/java/cc/carm/plugin/timereward/command/sub/ReloadCommand.java index 86cd5be..172b094 100644 --- a/src/main/java/cc/carm/plugin/timereward/command/sub/ReloadCommand.java +++ b/src/main/java/cc/carm/plugin/timereward/command/sub/ReloadCommand.java @@ -19,7 +19,7 @@ public class ReloadCommand extends SubCommand { public Void execute(JavaPlugin plugin, CommandSender sender, String[] args) throws Exception { long s1 = System.currentTimeMillis(); - PluginMessages.RELOAD.START.send(sender); + PluginMessages.RELOAD.START.sendTo(sender); try { Main.getInstance().getConfigProvider().reload(); @@ -31,7 +31,7 @@ public class ReloadCommand extends SubCommand { TimeRewardAPI.getRewardManager().listRewards().size() ).to(sender); } catch (Exception e) { - PluginMessages.RELOAD.ERROR.send(sender); + PluginMessages.RELOAD.ERROR.sendTo(sender); e.printStackTrace(); } return null; diff --git a/src/main/java/cc/carm/plugin/timereward/command/sub/TestCommand.java b/src/main/java/cc/carm/plugin/timereward/command/sub/TestCommand.java index 8f26b98..dfab009 100644 --- a/src/main/java/cc/carm/plugin/timereward/command/sub/TestCommand.java +++ b/src/main/java/cc/carm/plugin/timereward/command/sub/TestCommand.java @@ -23,17 +23,17 @@ public class TestCommand extends SubCommand { public Void execute(JavaPlugin plugin, CommandSender sender, String[] args) throws Exception { if (args.length < 1) return getParent().noArgs(sender); if (!(sender instanceof Player)) { - PluginMessages.NOT_PLAYER.send(sender); + PluginMessages.NOT_PLAYER.sendTo(sender); return null; } RewardContents contents = TimeRewardAPI.getRewardManager().getReward(args[0]); if (contents == null) { - PluginMessages.NOT_EXISTS.send(sender, args[0]); + PluginMessages.NOT_EXISTS.sendTo(sender, args[0]); return null; } - PluginMessages.COMMAND_LIST.send(sender, contents.getRewardID()); + PluginMessages.COMMAND_LIST.sendTo(sender, contents.getRewardID()); TimeRewardAPI.getRewardManager().executeCommand((Player) sender, contents); return null; diff --git a/src/main/java/cc/carm/plugin/timereward/command/sub/UserCommand.java b/src/main/java/cc/carm/plugin/timereward/command/sub/UserCommand.java index 80ecb9f..624e63b 100644 --- a/src/main/java/cc/carm/plugin/timereward/command/sub/UserCommand.java +++ b/src/main/java/cc/carm/plugin/timereward/command/sub/UserCommand.java @@ -28,7 +28,7 @@ public class UserCommand extends SubCommand { Player player = Bukkit.getPlayer(args[0]); if (player == null) { - PluginMessages.NOT_ONLINE.send(sender, args[0]); + PluginMessages.NOT_ONLINE.sendTo(sender, args[0]); return null; } @@ -44,7 +44,7 @@ public class UserCommand extends SubCommand { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); user.getClaimedRewards().forEach((id, time) -> { - PluginMessages.USER_RECEIVED.send(sender, id, time.format(formatter)); + PluginMessages.USER_RECEIVED.sendTo(sender, id, time.format(formatter)); }); return null; diff --git a/src/main/java/cc/carm/plugin/timereward/conf/PluginConfig.java b/src/main/java/cc/carm/plugin/timereward/conf/PluginConfig.java index dbc5045..689659c 100644 --- a/src/main/java/cc/carm/plugin/timereward/conf/PluginConfig.java +++ b/src/main/java/cc/carm/plugin/timereward/conf/PluginConfig.java @@ -1,35 +1,36 @@ package cc.carm.plugin.timereward.conf; -import cc.carm.lib.configuration.core.ConfigurationRoot; -import cc.carm.lib.configuration.core.annotation.HeaderComment; -import cc.carm.lib.configuration.core.value.ConfigValue; -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.ConfiguredValue; import java.time.DayOfWeek; -public class PluginConfig extends ConfigurationRoot { +@ConfigPath(root = true) +public interface PluginConfig extends Configuration { - public static final ConfigValue DEBUG = ConfiguredValue.of(Boolean.class, false); + ConfiguredValue DEBUG = ConfiguredValue.of(Boolean.class, false); - @HeaderComment({ + @HeaderComments({ "统计数据设定", "该选项用于帮助开发者统计插件版本与使用情况,且绝不会影响性能与使用体验。", "当然,您也可以选择在这里关闭,或在plugins/bStats下的配置文件中关闭。" }) - public static final ConfigValue METRICS = ConfiguredValue.of(Boolean.class, true); + ConfiguredValue METRICS = ConfiguredValue.of(Boolean.class, true); - @HeaderComment({ + @HeaderComments({ "检查更新设定", "该选项用于插件判断是否要检查更新,若您不希望插件检查更新并提示您,可以选择关闭。", "检查更新为异步操作,绝不会影响性能与使用体验。" }) - public static final ConfigValue CHECK_UPDATE = ConfiguredValue.of(Boolean.class, true); + ConfiguredValue CHECK_UPDATE = ConfiguredValue.of(Boolean.class, true); - @HeaderComment("周起始日,用于判断周度奖励的结算日期。") - public static final ConfigValue WEEK_FIRST_DAY = ConfiguredValue.builderOf(DayOfWeek.class) - .from(Integer.class).serializeSource(i -> i).parseSource(i -> (Integer) i) - .parseValue((v, d) -> DayOfWeek.of(v)) - .serializeValue(DayOfWeek::getValue) + @HeaderComments("周起始日,用于判断周度奖励的结算日期。") + ConfiguredValue WEEK_FIRST_DAY = ConfiguredValue.builderOf(DayOfWeek.class) + .from(Integer.class) + .parse((v, d) -> DayOfWeek.of(d)) + .serialize(DayOfWeek::getValue) .defaults(DayOfWeek.MONDAY).build(); } diff --git a/src/main/java/cc/carm/plugin/timereward/conf/PluginMessages.java b/src/main/java/cc/carm/plugin/timereward/conf/PluginMessages.java index c11448c..c02b496 100644 --- a/src/main/java/cc/carm/plugin/timereward/conf/PluginMessages.java +++ b/src/main/java/cc/carm/plugin/timereward/conf/PluginMessages.java @@ -1,10 +1,11 @@ package cc.carm.plugin.timereward.conf; -import cc.carm.lib.configuration.core.ConfigurationRoot; -import cc.carm.lib.configuration.core.annotation.HeaderComment; + +import cc.carm.lib.configuration.Configuration; +import cc.carm.lib.configuration.annotation.ConfigPath; +import cc.carm.lib.configuration.annotation.HeaderComments; import cc.carm.lib.easyplugin.utils.ColorParser; -import cc.carm.lib.mineconfiguration.bukkit.builder.message.CraftMessageListBuilder; -import cc.carm.lib.mineconfiguration.bukkit.value.ConfiguredMessageList; +import cc.carm.lib.mineconfiguration.bukkit.value.ConfiguredMessage; import de.themoep.minedown.MineDown; import me.clip.placeholderapi.PlaceholderAPI; import net.md_5.bungee.api.chat.BaseComponent; @@ -16,17 +17,18 @@ import org.jetbrains.annotations.NotNull; import java.util.function.BiFunction; -@HeaderComment({ +@HeaderComments({ "TimeReward 在线奖励插件的消息配置文件", "如特定的消息不需要任何提示,可直接留下单行空内容消息。", "支持 &+颜色代码(原版颜色)、&(#XXXXXX)(RGB颜色) 与 &<#XXXXXX>(前后标注RGB颜色渐变)。", " " }) -public class PluginMessages extends ConfigurationRoot { +@ConfigPath(root = true) +public interface PluginMessages extends Configuration { - public static @NotNull CraftMessageListBuilder list() { - return ConfiguredMessageList.create(getParser()) - .whenSend((sender, message) -> { + static ConfiguredMessage.@NotNull Builder list() { + return ConfiguredMessage.create(getParser()) + .dispatcher((sender, message) -> { if (sender instanceof ConsoleCommandSender) { message.forEach(m -> sender.sendMessage(BaseComponent.toLegacyText(m))); return; @@ -36,16 +38,16 @@ public class PluginMessages extends ConfigurationRoot { }); } - public static @NotNull BiFunction getParser() { + static @NotNull BiFunction getParser() { return (sender, message) -> { if (sender instanceof Player) message = PlaceholderAPI.setPlaceholders((Player) sender, message); return MineDown.parse(ColorParser.parse(message)); }; } - public static final class USAGE extends ConfigurationRoot { + interface USAGE extends Configuration { - public static final ConfiguredMessageList ADMIN = list().defaults( + ConfiguredMessage ADMIN = list().defaults( "&6&l在线奖励 &f管理员指令帮助", "&8#&f claim &6[奖励ID]", "&8-&7 为自己手动领取对应奖励。", @@ -60,64 +62,64 @@ public class PluginMessages extends ConfigurationRoot { "&8-&7 测试执行奖励配置的指令。" ).build(); - public static final ConfiguredMessageList USER = list().defaults( + ConfiguredMessage USER = list().defaults( "&6&l在线奖励 &f您可以输入 &e/tr claim &6[奖励ID] &f领取对应奖励。" ).build(); } - public static final ConfiguredMessageList NO_PERMISSION = list().defaults( + ConfiguredMessage NO_PERMISSION = list().defaults( "&c&l抱歉!&f但您没有足够的权限使用该指令。" ).build(); - public static final ConfiguredMessageList NOT_PLAYER = list().defaults( + ConfiguredMessage NOT_PLAYER = list().defaults( "&f该指令请以玩家身份执行。" ).build(); - public static final ConfiguredMessageList NOT_ONLINE = list().defaults( + ConfiguredMessage NOT_ONLINE = list().defaults( "&f玩家 &e%(player) &f并不在线。" ).params("player").build(); - public static final ConfiguredMessageList NOT_EXISTS = list().defaults( + ConfiguredMessage NOT_EXISTS = list().defaults( "&f奖励 &e%(award) &f并不存在。" ).params("award").build(); - public static final ConfiguredMessageList NOT_CLAIMABLE = list().defaults( + ConfiguredMessage NOT_CLAIMABLE = list().defaults( "&c&l抱歉!&f但您暂时未满足领取奖励 &e%(award) &f的条件。" ).params("award").build(); - public static final ConfiguredMessageList NO_UNCLAIMED_REWARD = list().defaults( + ConfiguredMessage NO_UNCLAIMED_REWARD = list().defaults( "&f您暂时没有未领取的奖励。" ).build(); - public static final ConfiguredMessageList USER_INFO = list().defaults( + ConfiguredMessage USER_INFO = list().defaults( "&f玩家 &6%(player) &f的在线时间数据:", "&f 本日在线 &e%(daily)&f秒,本周在线 &e%(weekly)&f秒,", "&f 本月在线 &e%(monthly)&f秒,累积在线 &e%(total)&f秒。", "&7已领取了 &f%(amount) &7种奖励,如下所示:" ).params("player", "daily", "weekly", "monthly", "total", "amount").build(); - public static final ConfiguredMessageList USER_RECEIVED = list().defaults( + ConfiguredMessage USER_RECEIVED = list().defaults( "&7- &e%(reward) &7于 &f%(time) &7领取" ).params("reward", "time").build(); - public static final ConfiguredMessageList COMMAND_LIST = list().defaults( + ConfiguredMessage COMMAND_LIST = list().defaults( "&f正在执行奖励 %(award) 的指令列表..." ).params("award").build(); - public static class LIST extends ConfigurationRoot { + interface LIST extends Configuration { - public static final ConfiguredMessageList HEADER = list().defaults( + ConfiguredMessage HEADER = list().defaults( "&6&l在线奖励 &f奖励列表 &7(共%(amount)个)" ).params("amount").build(); - public static final ConfiguredMessageList OBJECT = list().defaults( + ConfiguredMessage OBJECT = list().defaults( "&8# &f%(id)", "&8- &7奖励名称 &f%(name)", "&8- &7奖励类型 &f%(type)", "&8- &7领取时间 &f&e%(time)&f秒" ).params("id", "name", "type", "time").build(); - public static final ConfiguredMessageList OBJECT_PERM = list().defaults( + ConfiguredMessage OBJECT_PERM = list().defaults( "&8# &f%(id)", "&8- &7奖励名称 &f%(name)", "&8- &7奖励类型 &f%(type)", @@ -127,17 +129,17 @@ public class PluginMessages extends ConfigurationRoot { } - public static class RELOAD extends ConfigurationRoot { + interface RELOAD extends Configuration { - public static final ConfiguredMessageList START = list().defaults( + ConfiguredMessage START = list().defaults( "&f正在重载配置文件..." ).build(); - public static final ConfiguredMessageList ERROR = list().defaults( + ConfiguredMessage ERROR = list().defaults( "&f配置文件&c重载失败!&f详细原因详见后台输出。" ).build(); - public static final ConfiguredMessageList COMPLETE = list().defaults( + ConfiguredMessage COMPLETE = list().defaults( "&f配置文件重载完成!耗时 &d%(time)&fms,共加载了 &d%(count) &f个奖励配置。" ).params("time", "count").build(); diff --git a/src/main/java/cc/carm/plugin/timereward/conf/RewardsConfig.java b/src/main/java/cc/carm/plugin/timereward/conf/RewardsConfig.java index a1427e0..7afd6f1 100644 --- a/src/main/java/cc/carm/plugin/timereward/conf/RewardsConfig.java +++ b/src/main/java/cc/carm/plugin/timereward/conf/RewardsConfig.java @@ -1,16 +1,17 @@ package cc.carm.plugin.timereward.conf; -import cc.carm.lib.configuration.core.ConfigurationRoot; -import cc.carm.lib.configuration.core.annotation.HeaderComment; -import cc.carm.lib.configuration.core.source.ConfigurationWrapper; -import cc.carm.lib.configuration.core.value.ConfigValue; +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.source.section.ConfigureSection; +import cc.carm.lib.configuration.value.standard.ConfiguredValue; import cc.carm.plugin.timereward.data.RewardContents; import org.jetbrains.annotations.NotNull; import java.util.LinkedHashMap; import java.util.Map; -@HeaderComment({"奖励相关设定,包含以下设定:", +@HeaderComments({"奖励相关设定,包含以下设定:", " [id] 配置键名即奖励ID,支持英文、数字与下划线。", " | 确定后请不要更改,因为该键值用于存储玩家是否领取的数据", " | 如果更改,原先领取过该奖励的玩家将会自动再领取一次!", @@ -33,24 +34,21 @@ import java.util.Map; " [auto] 该奖励是否自动领取,可以不设置,默认为true。", " | 若关闭自动领取,则需要玩家手动输入/tr claim 领取奖励。", }) -public class RewardsConfig extends ConfigurationRoot { +@ConfigPath(root = true) +public interface RewardsConfig extends Configuration { - public static final ConfigValue REWARDS = create(); + ConfiguredValue REWARDS = ConfiguredValue.builderOf(RewardGroup.class) + .fromSection() + .parse((v, d) -> RewardGroup.parse(d)) + .serialize(RewardGroup::serialize) + .defaults(RewardGroup.defaults()) + .build(); - public static Map getContents() { + static Map getContents() { return REWARDS.getNotNull().getContents(); } - private static ConfigValue create() { - return ConfigValue.builder() - .asValue(RewardGroup.class).fromSection() - .parseValue((v, d) -> RewardGroup.parse(v)) - .serializeValue(RewardGroup::serialize) - .defaults(RewardGroup.defaults()) - .build(); - } - - public static final class RewardGroup { + final class RewardGroup { final @NotNull Map contents; public RewardGroup(@NotNull Map contents) { @@ -69,10 +67,10 @@ public class RewardsConfig extends ConfigurationRoot { return map; } - public static RewardGroup parse(@NotNull ConfigurationWrapper section) { + public static RewardGroup parse(@NotNull ConfigureSection section) { Map rewards = new LinkedHashMap<>(); for (String rewardID : section.getKeys(false)) { - ConfigurationWrapper rewardSection = section.getConfigurationSection(rewardID); + ConfigureSection rewardSection = section.getSection(rewardID); if (rewardSection == null) continue; RewardContents c = RewardContents.parse(rewardID, rewardSection); diff --git a/src/main/java/cc/carm/plugin/timereward/data/RewardContents.java b/src/main/java/cc/carm/plugin/timereward/data/RewardContents.java index 94ab4f1..c268f18 100644 --- a/src/main/java/cc/carm/plugin/timereward/data/RewardContents.java +++ b/src/main/java/cc/carm/plugin/timereward/data/RewardContents.java @@ -1,6 +1,6 @@ package cc.carm.plugin.timereward.data; -import cc.carm.lib.configuration.core.source.ConfigurationWrapper; +import cc.carm.lib.configuration.source.section.ConfigureSection; import cc.carm.lib.easyplugin.utils.ColorParser; import cc.carm.plugin.timereward.Main; import org.bukkit.entity.Player; @@ -88,7 +88,7 @@ public class RewardContents { return map; } - public static RewardContents parse(String id, @NotNull ConfigurationWrapper section) { + public static RewardContents parse(String id, @NotNull ConfigureSection section) { long time = section.getLong("time", -1L); if (time <= 0) { Main.severe("奖励 " + id + " 的时间配置错误,请检查配置文件。"); diff --git a/src/main/java/cc/carm/plugin/timereward/storage/database/DatabaseConfig.java b/src/main/java/cc/carm/plugin/timereward/storage/database/DatabaseConfig.java index 4df6a54..bc5fea4 100644 --- a/src/main/java/cc/carm/plugin/timereward/storage/database/DatabaseConfig.java +++ b/src/main/java/cc/carm/plugin/timereward/storage/database/DatabaseConfig.java @@ -1,31 +1,30 @@ package cc.carm.plugin.timereward.storage.database; -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.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.ConfiguredValue; -@HeaderComment("数据库相关设定") -@ConfigPath("storage.database") -public class DatabaseConfig extends ConfigurationRoot { +@HeaderComments("数据库相关设定") +@ConfigPath(value = "storage.database", root = true) +public class DatabaseConfig implements Configuration { @ConfigPath("driver") - protected static final ConfigValue DRIVER_NAME = ConfiguredValue.of( + protected static final ConfiguredValue DRIVER_NAME = ConfiguredValue.of( String.class, "com.mysql.jdbc.Driver" ); - protected static final ConfigValue HOST = ConfiguredValue.of(String.class, "127.0.0.1"); - protected static final ConfigValue PORT = ConfiguredValue.of(Integer.class, 3306); - protected static final ConfigValue DATABASE = ConfiguredValue.of(String.class, "minecraft"); - protected static final ConfigValue USERNAME = ConfiguredValue.of(String.class, "root"); - protected static final ConfigValue PASSWORD = ConfiguredValue.of(String.class, "password"); - protected static final ConfigValue EXTRA = ConfiguredValue.of(String.class, "?useSSL=false"); + protected static final ConfiguredValue HOST = ConfiguredValue.of(String.class, "127.0.0.1"); + protected static final ConfiguredValue PORT = ConfiguredValue.of(Integer.class, 3306); + protected static final ConfiguredValue DATABASE = ConfiguredValue.of(String.class, "minecraft"); + protected static final ConfiguredValue USERNAME = ConfiguredValue.of(String.class, "root"); + protected static final ConfiguredValue PASSWORD = ConfiguredValue.of(String.class, "password"); + protected static final ConfiguredValue EXTRA = ConfiguredValue.of(String.class, "?useSSL=false"); - @HeaderComment("插件相关表的名称") - public static final class TABLES extends ConfigurationRoot { - public static final ConfigValue USER_TIMES = ConfiguredValue.of(String.class, "tr_user_times"); - public static final ConfigValue USER_CLAIMED = ConfiguredValue.of(String.class, "tr_user_claimed"); + @HeaderComments("插件相关表的名称") + public static final class TABLES implements Configuration { + public static final ConfiguredValue USER_TIMES = ConfiguredValue.of(String.class, "tr_user_times"); + public static final ConfiguredValue USER_CLAIMED = ConfiguredValue.of(String.class, "tr_user_claimed"); } protected static String buildJDBC() { diff --git a/src/main/java/cc/carm/plugin/timereward/storage/database/DatabaseTables.java b/src/main/java/cc/carm/plugin/timereward/storage/database/DatabaseTables.java index 455ac2d..8ff346a 100644 --- a/src/main/java/cc/carm/plugin/timereward/storage/database/DatabaseTables.java +++ b/src/main/java/cc/carm/plugin/timereward/storage/database/DatabaseTables.java @@ -1,6 +1,6 @@ package cc.carm.plugin.timereward.storage.database; -import cc.carm.lib.configuration.core.value.ConfigValue; +import cc.carm.lib.configuration.value.standard.ConfiguredValue; import cc.carm.lib.easysql.api.SQLManager; import cc.carm.lib.easysql.api.SQLTable; import cc.carm.lib.easysql.api.builder.TableCreateBuilder; @@ -46,10 +46,10 @@ public enum DatabaseTables implements SQLTable { }); private final Consumer builder; - private final ConfigValue name; + private final ConfiguredValue name; private @Nullable SQLManager manager; - DatabaseTables(ConfigValue name, + DatabaseTables(ConfiguredValue name, Consumer builder) { this.name = name; this.builder = builder;