cdk.yml
约 1112 字大约 4 分钟
2025-07-03
cdk.yml
cdk.yml
文件是 CDKer 插件用于存储所有已创建礼品码数据的核心仓库。每个礼品码在此文件中均以一个独立的顶级键(即礼品码的唯一标识符)表示,其下嵌套了该礼品码的详细属性。尽管此文件支持手动编辑以创建或修改礼品码,但为了避免潜在的格式错误和数据不一致,强烈建议管理员通过游戏内提供的命令进行礼品码的管理操作。
# 礼品码示例
# ------------------------------------------
# 礼品码结构:
# type: "single" 或 "multiple" (一次性或多次使用)
# commands: ["命令1", "命令2", ...]
# remainingUses: 剩余使用次数
# expiration: "YYYY-MM-dd HH:mm" (可选,过期时间)
# ------------------------------------------
# 一次性兑换码示例
ONETIME_DIAMOND_CDK:
type: "single"
commands:
- "say %player% 兑换了一个一次性钻石CDK!"
- "give %player% diamond 1"
remainingUses: 1 # 一次性CDK通常只有1次使用
# 多次使用兑换码示例
VIP_REWARD_CDK:
type: "multiple"
commands:
- "say %player% 兑换了VIP奖励!"
- "give %player% gold_ingot 5"
remainingUses: 999 # 多次使用CDK可以有多次使用
expiration: "2025-12-31 23:59" # 设置过期时间
# 另一个一次性兑换码,带过期时间
LIMITED_TIME_SWORD:
type: "single"
commands:
- "say %player% 获得了一把限时宝剑!"
- "give %player% iron_sword 1"
remainingUses: 1
expiration: "2024-07-15 18:00" # 示例过期时间
礼品码结构详解:
<CDK_CODE_ID>
:- 类型: 字符串 (String)
- 描述: 这是您为每个礼品码定义的唯一标识符。它作为 YAML 文件的顶级键,用于区分不同的礼品码。此 ID 必须是唯一的,且在游戏内命令中使用时需与此处定义的一致。
- 示例:
ONETIME_DIAMOND_CDK
,VIP_REWARD_CDK
,LIMITED_TIME_SWORD
。
type
:- 类型: 字符串 (String)
- 描述: 指定该礼品码的使用类型。此属性决定了礼品码的兑换行为模式。
- 可选值:
"single"
: 表示该礼品码为一次性使用。这意味着每个玩家仅能成功兑换此礼品码一次。即使remainingUses
大于 1,对于单个玩家而言,其兑换记录将阻止其再次使用。"multiple"
: 表示该礼品码为可多次使用。此类型的礼品码可以被不同的玩家重复兑换,直至其remainingUses
属性降至零。单个玩家可以多次兑换同一multiple
类型礼品码,前提是其未被记录为已使用(如果插件有此逻辑)且礼品码仍有剩余次数。
- 默认值: 如果未明确指定,插件可能会默认为
"single"
。
commands
:- 类型: 字符串列表 (List of Strings)
- 描述: 这是一个包含一个或多个服务器命令的列表。当玩家成功兑换此礼品码时,列表中定义的所有命令将按顺序执行。这些命令通常由服务器控制台执行,因此具备执行大多数服务器指令的权限。
- 支持占位符: 列表中定义的命令字符串支持使用
%player%
占位符。在命令实际执行时,此占位符将自动被替换为当前使用礼品码的玩家的精确名称。 - 示例:
- "say %player% 获得了丰厚奖励!"
- "give %player% diamond 10"
- "eco give %player% 1000"
remainingUses
:- 类型: 整型 (Integer)
- 描述: 此属性指示该礼品码当前剩余可被使用的总次数。每次成功兑换后,此数值将自动递减 1。
- 生命周期: 当
remainingUses
的值降至 0 时,该礼品码将被视为已完全耗尽,并由插件自动从cdk.yml
文件中移除,从而确保数据清洁和资源有效管理。 - 默认值: 如果未明确指定,插件可能会默认为 0 或 1。
expiration
:- 类型: 字符串 (String)
- 描述: (可选属性) 此属性用于设定礼品码的精确过期日期和时间。一旦服务器的当前时间超过此设定值,无论
remainingUses
是否仍大于 0,该礼品码都将立即失效,无法再被兑换。 - 格式: 必须严格遵循
"YYYY-MM-dd HH:mm"
的日期时间格式。YYYY
: 四位数的年份 (例如2024
)MM
: 两位数的月份 (01-12)dd
: 两位数的日期 (01-31)HH
: 两位数的小时 (00-23)mm
: 两位数的分钟 (00-59)
- 示例:
"2025-12-31 23:59"
。 - 注意: 如果未设置此属性,礼品码将永不过期,直至其
remainingUses
耗尽。插件会在每次使用时检查过期状态。