搜索

2.3.0 MythicMobs 双向集成

MM 主人目标、宠物经验、属性读取与真实验证范围,保持既有 power。

补充 MM 技能读取 LiPet 宠物主人、属性及给予经验的接口,减少第三方宠物技能包迁移时的改写。原有 mythic-skills 等级解锁、触发方式、冷却与 power 行为保持;MM 通过 <skill.power> 读取最终 power。

新增接口

功能 建议新配置使用 兼容名称
选择施法宠物主人 @LipetOwner 未安装 MCPets 时注册 @PetOwner
给予目标宠物经验 lipetExperience{amount=25} @self 未安装 MCPets 时注册 petExperience{exp=25}
读取施法宠物属性 <lipet.level>、<lipet.damage>、<lipet.max_health>、<lipet.strength>、<lipet.defense>、<lipet.agility>、<lipet.vitality>、<lipet.quality> 不注册语义不同的 <pet.damagemodifier>

经验必须为 1..2147483647 的正整数,奖励进入 LiPet 现有成长和异步保存链;机制提交后下一条 MM 技能不保证已经读到保存后的经验或等级。经验目标是宠物本身;@LipetOwner 是玩家目标,不能替代 @self。

占位符按施法宠物读取,quality 返回稳定品质 ID,strength/defense/agility/vitality 返回已分配属性点,damage 与 max_health 返回 LiPet 的属性计算结果。全部写法、实例及上下文说明见 MythicMobs 双向集成指南。

配置与兼容边界

公共默认、狼/猫模板、原版商城模板和缺失配置补齐说明,均明确写出 <skill.power> 的 MM 读取方式。只补齐缺失的配置/注释,保留既有服主数值与自定义内容。

MM damage 默认还会自动乘一次技能 power。指南中显式引用 <skill.power> 或只按 <lipet.damage> 缩放的伤害示例,均设置 poweraffectsdamage=false,避免重复乘算;也可用 damage{a=6} 沿用 MM 默认的一次 power 缩放。此次只修正文档示例,不修改原有宠物包技能或 LiPet 的 power 调用。

MCPets 单宠文件的核心字段仍可由 LiPet 读取并在内存中转换。其他 MCPets 专属机制、条件或 Signals/Skins 不在本次实现内,不能承诺所有第三方包零改写。<pet.damagemodifier> 的倍率语义与 <lipet.damage> 的伤害数值不同,需要按原包公式核对,不能机械替换。

升级方式

正常停服备份配置、数据库与恢复台账,将旧 LiPet Jar 移出 plugins 扫描目录,只保留 LiPet-2.3.0.jar。正常启动后确认 Enabling LiPet v2.3.0。不使用 PlugMan 或 /reload 替代正常重启。

继续保留原有 112 项技能、模型、GUI 标题变量、自动攻击开关和 CE 物品贴图包 1.0.0。本次不要求重装客户端资源包;第三方包新增模型或贴图时按该包要求处理。

验证结果

最终 LiPet 2.3.0 Jar 的 837 项测试全部通过,失败、错误与跳过均为 0。同一最终 Jar 完成本轮以下检查:

对象 已完成检查 范围
Paper 26.2 build 111 + MythicMobs 5.13.0 76 项通过 首次预置技能67项+SQLite进程重启9项:双主人、8属性、15/12/12实扣伤害、保护取消、4种经验语法、升级存档、无效输入、MM重载及回召死亡边界。
Folia 26.2 build 5 + MythicMobs 5.13.0 87 项通过 首次67项+SQLite重启9项+既有停服清理告警后的再次重启11项;数据仍在、重召成功、探针清理前无重复标记宠物。活动宠物停服有已捕获的区域清理告警,不能称全程无警告。
Paper + MCPets 名称注册测试替身 19 项通过 MM重载后两个旧名称由替身回调接收,LiPet不抢占;lipetExperience仍可给目标宠物存档。非真实MCPets整包验收。
Paper 26.2 build 111,不安装 MythicMobs 7 项通过 同一成品启动、MM离线状态、配置重载及正常停服;无缺失MM类导致的加载错误。

已知限制与运行告警

  • Folia活动MM宠物在停服调度器停止后,运行期实体移除出现已捕获的既有区域上下文告警。此前已将本体/自有名牌标记不写入世界;宠物数据保存完成,再次启动验证无重复标记宠物、SQLite属性经验保留且可重召。本轮不改停服代码。
  • MCPets冲突只使用明确标识的名称注册测试替身,MM重载后验证让出别名,不是MCPets真实插件或第三方整包零改写迁移验收。
  • MM 5.13 对公开 Placeholder#meta(BiFunction) API 发出 deprecated 提醒,当前实测可用。
  • Windows系统性能计数器与Paper内置spark出现与LiPet无关的环境告警;不宣称服务端全部日志零warning。
  • 代理Bukkit玩家和真实实体/数据库探针不等于真人客户端模型动画或视觉验收。

隔离服务端检查覆盖报告中列明的 MM 调用与数据路径,不等同真人客户端视觉验收,也不代表所有第三方 MCPets 包均能零改写迁移。客户包专有技能、模型和实际客户端表现仍需按该包核对;历史 MySQL、战斗或资源包测试不累计为本轮重跑。

最终已验 2.3.0 Jar SHA-256:

30D5334C53A80C7176BC69598C703CD58A6D7A2E7E5D01E570BA17D9CD72FA56