0.29.11 监守者跟随与召唤名牌
监守者持续推进、宽体路点与跳跃保留,召唤注册后显示名牌并防止延迟重建。
修复背景
监守者宠物关闭原版 Brain 后依靠 LiPet 控制移动。此前约每 10 tick 才写入一次推进速度,地面摩擦会在两次更新之间迅速消耗速度,表现为几乎不跟随、追击迟钝,直到超过最大距离才传送。
进一步检查发现,原生寻路返回的是路径方格坐标,直接朝方格边角推进会让宽体实体在墙边和台阶处卡住;跳跃过程中,地面导航又可能暂时返回空路径,旧逻辑会清除水平速度,导致跳起却跨不上台阶。
召唤流程中的名牌则创建得过早:活动会话尚未注册、首次外观保存仍在等待,甚至之后被区域保护或初始化失败回滚时,都可能先出现一瞬间的名牌。
本次调整
- 监守者的受控跟随与追击持续推进,避免把移动变成间隔较长的速度脉冲。仍保留地面摩擦、重力和碰撞,不靠降低传送阈值掩盖不走路的问题。
- 根据实体实际宽度把路径方格转换为可行走的中心路点,减少绕墙和跨台阶时贴着边角停住。
- 仅在插件刚发起的跳跃期间,短时保留已经验证的合法路点。目标变化、跨世界、超时或偏离路线时不继续使用旧路点;没有可用路径时不会直接穿墙追向目标。
- 监守者原版 Brain 继续关闭,由 LiPet 控制跟随与战斗,保留防止追打主人、黑暗及声波的保护。野生监守者行为不变。
- 召唤准备阶段只记录主人名称,隐藏基础名字,不创建名牌。实体初始化及召唤确认完成、活动会话注册成功后才显示名牌。
- 召回、卸载或失败清理后,已经排队的名牌刷新也要重新检查状态,避免延迟任务再次创建名牌。正常区块恢复、活动宠物刷新和模型名牌沿用原有显示规则。
配置与更新
本次不新增必填配置,不覆盖管理员已有配置,也不调整跟随、停靠或超距传送阈值。坐下、骑乘、主人保护和 WorldGuard 区域规则继续生效;0.29.10 的停服保存及残留攻击隔离保持不变。
先备份数据库、配置与旧 Jar,并召回宠物。正常停止 Minecraft 服务端,替换为 LiPet-0.29.11-SNAPSHOT.jar,保留原数据目录。启动后核对 Enabling LiPet v0.29.11-SNAPSHOT,重新召唤监守者宠物检查跟随和辅助攻击。
/lipet reload 只重载配置,不能替换已加载的 Java 代码;不要用 PlugManX 热卸载代替正常更新。不需要关闭电脑,也不自动重启正式服。
验证记录
- 默认 1.21.11 API 与 Paper 26.2 API 构建各 516 项测试通过,无失败或跳过;最终 Jar 不打包第三方依赖。
- Paper 26.2 / Folia 26.2 隔离服分别通过 7 个原版监守者场景:平地、绕墙、一级台阶、主人协助、主动索敌、高愤怒主人安全、跨台阶协助。全部记录逐 tick 位移,测量期传送与位置突跳均为 0,每个场景带一个真实名牌乘客。
- 旧版 0.29.10 在跨台阶协助场景 220 tick 内实际伤害为 0;新版本 Folia 同场景产生 9 次、共 27 点实际伤害。此项修复有旧版失败与新版成功的对照。
- 两端均通过名牌生命周期检查:取消生成与延迟保存期间 TextDisplay 生成事件为 0;注册成功后只生成一次;区块恢复不重复生成;召回后延迟刷新不再创建。
- Paper 的 WorldGuard 测试区临时允许模拟玩家攻击动物后完成协助验证,测试结束恢复原配置;区域禁止攻击时仍遵守保护规则。未修改正式服务器配置。
以上使用隔离服务端与模拟玩家;未进行真人客户端或客户现场验收。更新是否生效应以服务端实际启动版本为准;本次验证未重启正式服。