2026-08-29 商城货币显示修复
INTERNAL 配置 ID 改为显示可配置的“宠物币”,两个商城统一解析货币名称。
日期:2026-08-29
版本:0.26.20-SNAPSHOT
修复内容
宠物商城和宠物道具商城过去直接把货币提供器 ID 转成大写填入 <currency>,因此商品配置使用:
currency: "INTERNAL"
price: 30.0
时,游戏中会错误显示为 30.00 INTERNAL。
本次改为由每个货币提供器返回面向玩家的显示名称。INTERNAL 会读取:
currency:
internal:
# INTERNAL 是商店配置使用的提供器 ID;GUI 的 <currency> 显示此名称。
display-name: "宠物币"
默认显示结果为 30.00 宠物币。服主可以自定义 display-name,两个商城会使用相同名称;配置 ID 仍然填写 INTERNAL。
兼容行为
VAULT显示为Vault。PLAYERPOINTS显示为PlayerPoints。- 未挂钩或拼写错误的提供器保留大写 ID,便于服主直接发现配置问题。
- 旧
config.yml已经存在的currency.internal.display-name会原样保留,不覆盖管理员自定义值。
验证
- 新增
CurrencyRegistryTest,验证大写INTERNAL能解析为“宠物币”。 - Paper 26.2 Profile 共 117 项自动测试通过,无失败、无跳过。
- Paper 26.2 Build 111 + Java 25 + PlayerPoints 3.3.5 完成真实启动、挂钩、状态检查和安全关闭。
- 当前没有在线客户端,商城 Lore 的最终客户端视觉仍需目标测试服确认。
- 成品 SHA-256:
EC3A5D1A51D5FD9A7D436E1CCE0A11CA03C73F92EC0E4FF01A964B1375459077。