跳到主要内容

数据库与变量

数据库支持

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 开头)