搜索

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。