1
mirror of https://github.com/carm-outsource/TimeReward.git synced 2026-06-04 07:18:16 +08:00

feat(update): 适配最新依赖版本。

This commit is contained in:
2023-02-22 20:32:36 +08:00
parent 45346b093a
commit d2600d308c
8 changed files with 155 additions and 164 deletions
@@ -2,20 +2,9 @@ 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.util.MapFactory;
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.ConfiguredMap;
import cc.carm.lib.configuration.core.value.type.ConfiguredSection;
import cc.carm.lib.configuration.core.value.type.ConfiguredValue;
import cc.carm.plugin.timereward.Main;
import cc.carm.plugin.timereward.TimeRewardAPI;
import cc.carm.plugin.timereward.storage.RewardContents;
import org.bukkit.configuration.ConfigurationSection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
public class PluginConfig extends ConfigurationRoot {
@@ -39,43 +28,25 @@ public class PluginConfig extends ConfigurationRoot {
public static final class STORAGE extends ConfigurationRoot {
}
@HeaderComment("奖励相关设定")
public static final class REWARDS extends ConfigurationRoot {
@HeaderComment({
"配置键名即奖励ID,支持英文、数字与下划线。",
"确定后请不要更改,因为该键值用于存储玩家是否领取的数据",
"如果更改,原先领取过该奖励的玩家将会自动再领取一次!"
})
public static final class EXAMPLE extends ConfigurationRoot {
@HeaderComment({
"奖励的显示名称,可以是任意字符串",
"可以在 commands 中使用 %(name) 来获取该奖励的名称",
"也可以使用变量 %TimeReward_reward_<奖励ID>% 来获取对应奖励的名称"
})
public static final ConfigValue<String> NAME = ConfiguredValue.of(String.class, "&f[初级奖励] &e总在线时长 2小时");
@HeaderComment("该奖励自动领取需要的在线时长,单位为秒")
public static final ConfigValue<Integer> TIME = ConfiguredValue.of(Integer.class, 7200);
@HeaderComment({
"该奖励领取权限,可以不设置。",
"若为空则所有人都可以领取;若不为空,则需要拥有该权限的玩家才能领取。"
})
public static final ConfigValue<String> PERMISSION = ConfiguredValue.of(String.class, "TimeReward.vip");
@HeaderComment({
"领取奖励时后台执行的指令",
"支持PlaceholderAPI变量,指令中可以使用 %(name) 来获取该奖励的名称。"
})
public static final ConfiguredList<String> COMMANDS = ConfiguredList.builder(String.class)
.fromString()
.defaults("say &f恭喜 &b%player_name% &f领取了奖励 &r%(name) &f")
.build();
}
}
@HeaderComment({"奖励相关设定,包含以下设定:",
" [id] 配置键名即奖励ID,支持英文、数字与下划线。",
" | 确定后请不要更改,因为该键值用于存储玩家是否领取的数据",
" | 如果更改,原先领取过该奖励的玩家将会自动再领取一次!",
" [name] 奖励的显示名称,可以是任意字符串",
" | 可以在 commands 中使用 %(name) 来获取该奖励的名称",
" | 也可以使用变量 %TimeReward_reward_<奖励ID>% 来获取对应奖励的名称",
" [permission] 领取奖励时后台执行的指令",
" | 支持PlaceholderAPI变量,指令中可以使用 %(name) 来获取该奖励的名称。",
" [commands] 该奖励领取权限,可以不设置。",
" | 若为空则所有人都可以领取;若不为空,则需要拥有该权限的玩家才能领取。"
})
public static final ConfigValue<RewardContents.Group> REWARDS = ConfigValue.builder()
.asValue(RewardContents.Group.class).fromSection()
.parseValue((v, d) -> RewardContents.Group.parse(v))
.serializeValue(RewardContents.Group::serialize)
.defaults(RewardContents.Group.defaults())
.build();
}