搜索

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 同步回调中等待数据库。本版本增加余额缓存:

  1. 玩家登录后异步读取并预热余额。
  2. 查询、发放、扣除和商城结算后刷新缓存。
  3. 战斗、升级、捕捉和每日奖励原子结算后刷新缓存。
  4. 数据库热切换时清空旧缓存,并阻止切换前尚未完成的查询写回旧余额。
  5. PAPI 只读取内存,不阻塞 Bukkit、Paper 或 Folia 的服务器线程。

兼容与配置

  • 不新增或覆盖 config.yml、messages.yml、商店、捕捉球及宠物类型配置。
  • 宠物币名称继续读取 config.yml -> currency.internal.display-name。
  • PlaceholderAPI 未安装时跳过 Hook,不影响 LiPet 主体功能。
  • 完整变量与返回规则见 LiPet 完整 PlaceholderAPI 变量。