搜索

2026-08-28 UI 更新

全部菜单点击音效、功能按钮多槽位复制和旧配置安全迁移。

适用版本:0.26.13-SNAPSHOT

本次更新为全部 LiPet UI 补齐统一点击反馈,并让一个自定义功能按钮能够同时占用多个槽位。

1. 全 UI 点击音效

以下界面全部使用 gui.yml 的 sounds.click:

  • 宠物中心主菜单
  • 宠物商城与宠物道具商城
  • 宠物仓库
  • 宠物属性与加点界面
  • 宠物管理界面
  • 放生确认界面
  • 每只宠物的独立背包

配置示例:

sounds:
  # 是否启用打开、点击和关闭三类 GUI 音效。
  enabled: true
  click:
    # 点击任意 LiPet 菜单或宠物背包时播放的 Bukkit 音效键。
    sound: "minecraft:ui.button.click"
    # 音量,取值范围 0-10。
    volume: 0.7
    # 音调,取值范围 0.5-2.0。
    pitch: 1.25

点击菜单按钮、填充区域、空槽或宠物背包物品时都会得到反馈;点击菜单外部不会播放。

2. 功能按钮多槽位

所有内置按钮、custom-items、属性按钮、导航按钮与信息卡片都支持:

main:
  buttons:
    shop:
      enabled: true
      # 旧版单槽位,slots 为空时继续使用。
      slot: 11
      # 非空时覆盖 slot,同一个图标和动作会复制到全部槽位。
      slots: [10, 11, 12]
      material: "EMERALD"
      name: "<green><bold>宠物商城</bold></green>"
      action: "nav:shop"

规则:

  • slots: []:继续使用 slot,完全兼容旧配置。
  • slots: [10, 11, 12]:三个槽位显示相同按钮并执行相同动作。
  • 重复槽位会按原顺序自动去重。
  • 任意槽位小于 0 或超出当前 GUI 行数时,配置加载会给出明确中文错误。
  • 自定义过的 slot、slots 和注释不会在升级时被覆盖。

3. 验证范围

  • 默认兼容构建与 -Ppaper-26.2 Profile 各执行 99 项自动测试,均为 0 失败、0 错误、0 跳过。
  • 自动测试覆盖旧版单槽位回退、多槽位优先、重复槽位去重、非法格式拒绝、旧配置补全及管理员注释保留。
  • 自动测试覆盖全部七种 LiPet 菜单类型、宠物背包、菜单外点击和非 LiPet 库存边界。
  • 同一成品已在 Paper 26.1.2 Build 70 与 Paper 26.2 Build 111 加载 LiPet 0.26.13-SNAPSHOT,完成 /lipet status、/lipet reload 和安全关闭探针,日志没有 LiPet 异常。
  • 两套旧版 gui.yml 均自动补齐 slots: [] 与中文说明,原有 slot 保持不变;Paper 26.2 另以 slots: [10, 11, 12] 完成启动及热重载验证,随后已恢复测试配置。
  • 本地测试没有可操作的游戏客户端,因此声音事件范围已由自动测试覆盖,但实际客户端听感不列为本轮实机证据。
  • 成品使用 Java 21 字节码(class major 65),包含 303 个业务 class,外部依赖 class 数为 0。
  • 成品大小为 648419 字节,SHA-256:C222441D015611F36CC10C5C49FD2427C297DA85987583882259EFBB0ABB465E。