0.29.13 完整 PAPI 与宠物币变量
补齐宠物币余额、名称、格式化文本、活动宠物判断,并为异步数据库余额增加非阻塞缓存。
新增内容
- 新增
%lipet_pet_coin_balance%:返回当前玩家内置宠物币余额,固定两位小数。 - 新增
%lipet_pet_coin_name%:返回管理员配置的宠物币名称。 - 新增
%lipet_pet_coin_formatted%:返回“余额 + 宠物币名称”。 - 新增
coin_balance、coin_name、coin_formatted、coin、coins、balance常用别名。 - 新增
%lipet_active_exists%与%lipet_has_active_pet%,可直接判断玩家是否已经召唤宠物。 - 新增独立完整变量文档,统一列出活动宠物、等级经验、战斗属性、品质性格、宠物币及 CE 捕捉球变量。
宠物币读取安全
内置宠物币存储支持 SQLite 和 MySQL,不能在 PlaceholderAPI 同步回调中等待数据库。本版本增加余额缓存:
- 玩家登录后异步读取并预热余额。
- 查询、发放、扣除和商城结算后刷新缓存。
- 战斗、升级、捕捉和每日奖励原子结算后刷新缓存。
- 数据库热切换时清空旧缓存,并阻止切换前尚未完成的查询写回旧余额。
- PAPI 只读取内存,不阻塞 Bukkit、Paper 或 Folia 的服务器线程。
兼容与配置
- 不新增或覆盖
config.yml、messages.yml、商店、捕捉球及宠物类型配置。 - 宠物币名称继续读取
config.yml -> currency.internal.display-name。 - PlaceholderAPI 未安装时跳过 Hook,不影响 LiPet 主体功能。
- 完整变量与返回规则见 LiPet 完整 PlaceholderAPI 变量。