2026-08-29 MythicMobs 技能优化
冷却热路径、失败退避、逐技能日志限频、API 变体兼容及状态规则统计。
日期:2026-08-29
版本:0.27.1-SNAPSHOT
本次优化
- 冷却判断提前到概率抽取之前,冷却中的技能不再重复生成随机数。
- 宠物行为循环中的
PASSIVE与INTERVAL改为一次扫描,减少定时热路径遍历。 - 技能冷却表只每分钟清理一次已离线宠物记录,不再每 10 tick 构造活动 UUID 集合。
- MythicMobs 返回
false时保留配置冷却;零冷却技能失败后至少退避 1 秒,防止错误技能名或长期不满足的 MM 条件每 tick 重试。 - 失败日志由全局限频改为按技能名独立限频,每项错误技能 30 秒最多提示一次;MM 单纯返回
false也会给出可排查的中文日志。 - 反射挂钩兼容实例或静态
getAPIHelper(),同时支持七参数 API 的float power与double power。 /lipet status增加“技能类型”和“规则”统计,直接显示含启用规则的宠物类型数和启用规则总数。- 历史官方
status-mythicmobs默认语言会自动补入统计变量;服主自定义状态文本与注释不会被覆盖。
验证结果
- 默认 Maven 构建:148 项测试通过,失败、错误、跳过均为 0。
- Paper 26.2 Profile:148 项测试通过,失败、错误、跳过均为 0。
- Paper 26.2 Build 111 + Java 25 + PlayerPoints 3.3.5 隔离实服启动成功。
- 使用旧
messages.yml和一条已启用的 MM 占位规则验证:状态语言自动迁移,/lipet status显示 PlayerPointsONLINE、MythicMobsOFFLINE、技能类型1、规则1。 /lipet reload成功,重载后统计保持一致;服务器安全关闭,LiPet 日志无报错。- 当前环境没有真实 MythicMobs Jar,真实 MM 技能在战斗中的最终施放仍需在安装 MM 的目标测试服确认;反射调用、目标和两种
power参数类型已由自动测试覆盖。
成品
- 文件:
target/LiPet-0.27.1-SNAPSHOT.jar - 大小:
750989字节 - SHA-256:
B4630BFD0F23FD9CA0003B057269DED973ADD6E5C2743F6785523C45BA671B27