数据库与变量
数据库支持
CDKLite 支持 SQLite 和 MySQL 两种数据库,通过 config.yml 中的 database.enable 切换。
SQLite(默认)
database.enable: false 时使用 SQLite,开箱即用,无需额外配置。
适用场景:单服运行、小型服务器。
MySQL
database.enable: true 时使用 MySQL,适用于多服互通或大规模数据场景。
database:
enable: true
host: localhost
port: 3306
user: root
password: root
database: minecraft
prefix: "cdklite"
修改后使用 /cdklite reload 重载配置,然后用 /cdklite connect 测试连接是否正常。
警告
切换数据库类型后,原有数据不会自动迁移。切换前请做好数据备份。
数据表结构
CDKLite 使用两张表存储数据(表名带 prefix 前缀):
- OwnerEntity 表:存储 CDK 拥有者信息
| 字段 | 说明 |
|---|---|
uuid | 玩家 UUID |
playerName | 玩家名 |
cdk | 兑换码 |
reward | 绑定的奖励包名 |
settle | 已结算次数 |
total | 总被兑换次数 |
isRemove | 是否已删除 |
- ReceiveEntity 表:存储兑换记录
| 字段 | 说明 |
|---|---|
uuid | 兑换者 UUID |
playerName | 兑换者名 |
receiveCdk | 兑换的 CDK |
time | 兑换时间 |
PlaceholderAPI 变量
CDKLite 注册了 cdklite 标识符,需要安装 PlaceholderAPI 才能使用。
| 变量 | 说明 |
|---|---|
%cdklite_random_<N>% | 生成 N 个随机字符 |
%cdklite_cdk_<index>% | 玩家第 index 个 CDK 的兑换码 |
%cdklite_total_<index>% | 玩家第 index 个 CDK 的总兑换次数 |
%cdklite_times_<index>% | 玩家第 index 个 CDK 的已结算次数 |
%cdklite_left_<index>% | 玩家第 index 个 CDK 的未结算数量 |
%cdklite_size% | 玩家拥有的 CDK 总数 |
提示
index 从 0 开始。例如 %cdklite_cdk_0% 返回玩家的第一个 CDK 兑换码,%cdklite_left_0% 返回第一个 CDK 的未结算数量。
使用示例
在计分板中显示玩家的推荐码信息:
你的推荐码: %cdklite_cdk_0%
已被使用: %cdklite_total_0% 次
待结算: %cdklite_left_0% 个
CDK 总数: %cdklite_size%
数据备份建议
- SQLite:定期备份
plugins/CDKLite/目录下的数据库文件 - MySQL:通过数据库工具定期导出 CDKLite 相关表(表名以配置的
prefix开头)