搜索

2026-08-29 老宠物类型兼容与独立 YML

旧原版类型 ID 自动兼容、legacy-ids 自定义别名和商城 10 种宠物独立配置。

日期:2026-08-29
版本:0.27.2-SNAPSHOT

修复内容

  • 旧数据库中的原版实体 ID 会兼容到当前类型 ID,例如 bat → vanilla_bat、fox → vanilla_fox。
  • 同时兼容 minecraft:bat 形式和大小写不同的旧值,不修改、不删除旧宠物档案。
  • 召唤查找、同类型持有上限和管理员按类型收回共用同一个兼容索引,避免新旧 ID 被当成两种宠物。
  • 服主可在任意宠物类型节点中增加 legacy-ids,为历史自定义类型配置额外别名。

独立配置文件

商城默认 10 种宠物现在各有一个独立 YML:

  • 狼.yml
  • 猫.yml
  • 狐狸.yml
  • 兔子.yml
  • 鹦鹉.yml
  • 豹猫.yml
  • 蜜蜂.yml
  • 悦灵.yml
  • 青蛙.yml
  • 熊猫.yml

升级时只生成缺失类型。已有文件、已有类型、服主修改的数值和中文注释不会被覆盖;狼和猫原文件经过哈希对比保持完全一致。每个新增文件包含完整中文注释、属性、行为、背包、成长、食物、模型和默认关闭的 MythicMobs 等级技能示例。

自定义旧 ID

types:
  vanilla_fox:
    entity-type: "FOX"
    display-name: "狐狸"
    legacy-ids:
      - "fox"
      - "minecraft:fox"

legacy-ids 只负责读取兼容,不会复制宠物,也不会重写数据库中的旧 ID。若旧 ID 与当前正式类型 ID 同名,当前正式类型始终优先。

验证结果

  • 默认兼容构建:151 项测试通过,失败、错误、跳过均为 0。
  • Paper 26.2 Profile:151 项测试通过,失败、错误、跳过均为 0。
  • Paper 26.2 Build 111 + Java 25 + PlayerPoints 3.3.5 使用真实 0.27.1 旧配置启动成功。
  • 首次升级只新增缺失的 8 个商城类型文件,目录最终正好 10 个 YML;原 狼.yml、猫.yml SHA-256 前后完全一致。
  • 运行时探针确认 bat、minecraft:bat、fox 均与对应 vanilla_ 类型相同;第二次启动不重复生成文件。
  • /lipet reload 成功,插件安全关闭。当前环境没有在线游戏客户端,实际点击召唤的画面仍需在目标服确认。

成品

  • 文件:target/LiPet-0.27.2-SNAPSHOT.jar
  • 大小:761171 字节
  • SHA-256:B4F035367B1242193775A5F43BCFF8A21909F09C4F41C39A553B56976288F859