配置文件
EMCCDK 礼包包含两个配置文件:config.yml(主配置)和 messages.yml(消息配置)。
config.yml
# EMCCDK礼包 配置文件
# 是否启用礼包木牌系统
sign-enabled: true
# 默认冷却时间(秒),0 表示无限制
default-cooldown: 0
# CDK兑换码设置
cdk:
# 生成的CDK码长度
code-length: 12
# GUI菜单设置
gui:
# 玩家菜单标题
player-title: "礼包领取"
# 管理员菜单标题
admin-title: "礼包管理"
配置项说明
| 配置项 | 默认值 | 说明 |
|---|---|---|
sign-enabled | true | 是否启用木牌领取功能 |
default-cooldown | 0 | 新创建礼包的默认冷却时间(秒),0 = 无冷却 |
cdk.code-length | 12 | 生成 CDK 码的字符长度 |
gui.player-title | 礼包领取 | 玩家 GUI 菜单的标题 |
gui.admin-title | 礼包管理 | 管理员 GUI 菜单的标题 |
messages.yml
所有消息支持 & 颜色代码。消息中的占位符会自动替换。
prefix: "&6[EMCCDK礼包] &r"
# 通用消息
no-permission: "&c你没有权限执行此操作"
player-only: "&c此命令只能由玩家执行"
player-not-found: "&c找不到玩家: {player}"
reloaded: "&a配置已重新加载"
# 礼包消息
kit-created: "&a礼包 &e{kit} &a创建成功!"
kit-deleted: "&a礼包 &e{kit} &a已删除"
kit-not-found: "&c礼包 &e{kit} &c不存在"
kit-already-exists: "&c礼包 &e{kit} &c已存在"
kit-claimed: "&a你已领取礼包 &e{kit}&a!"
no-kit-permission: "&c你没有权限领取礼包 &e{kit}"
empty-inventory: "&c你的背包是空的,请先放入礼包物品"
# 冷却消息
cooldown-set: "&a礼包 &e{kit} &a的冷却时间已设置为 &e{time}"
cooldown-active: "&c礼包 &e{kit} &c正在冷却中,剩余: &e{time}"
# 经济消息
price-set: "&a礼包 &e{kit} &a的{type}价格已设置为 &e{price}"
not-enough-money: "&c金币不足! 需要: &e{cost}"
not-enough-points: "&c点券不足! 需要: &e{cost}"
# CDK消息
cdk-generated: "&a成功生成 &e{count} &a个CDK码,对应礼包: &e{kit}"
cdk-redeemed: "&a兑换成功! 已领取礼包 &e{kit} &a(兑换码: {code})"
cdk-not-found: "&c无效的兑换码"
cdk-expired: "&c此兑换码已过期"
cdk-used-up: "&c此兑换码已用完"
cdk-already-used: "&c你已经使用过此兑换码"
# 木牌消息
sign-created: "&a礼包木牌 &e{kit} &a创建成功!"
占位符说明
| 占位符 | 说明 |
|---|---|
{kit} | 礼包名称 |
{player} | 玩家名称 |
{time} | 格式化时间 |
{cost} | 价格金额 |
{type} | 价格类型(金币/点券) |
{price} | 设置的价格 |
{count} | CDK 数量 |
{code} | CDK 兑换码 |
礼包数据文件
每个礼包以独立 YAML 文件存储在 plugins/EMCCDK礼包/kits/ 目录下:
name: 新手礼包
cooldown: 86400 # 冷却时间(秒)
moneyCost: 0.0 # 金币价格
pointsCost: 0 # 点券价格
items: # 序列化的物品列表
- ==: org.bukkit.inventory.ItemStack
...
注意
请勿手动编辑 items 字段,物品数据由 Bukkit 自动序列化。使用 /kit create 命令创建礼包。