Sprint

基本信息

属性 值
类名 atomicstryker.infernalmobs.common.modifiers.MM_Sprint
注册名 InfernalMobs:Sprint
显示前缀 sprinting / swift / charging
显示后缀 of Bolting / the Swift One / of being in your Face
触发机制 onUpdate (有目标时交替启停 sprinting)
冷却时间 5000 ms

功能

Sprint 词缀让怪物在战斗中获得"冲刺"行为:每 5 秒切换一次 sprinting 状态,sprinting 时:

  1. 解除原版 Minecraft 的 motionX/motionZ 速度锁(1.5x 倍率)
  2. 通过 doSprint 重写怪物运动向量
  3. 在低基础速度下维持高速度

实现细节(doSprint):

  1. 计算运动方向与朝向角度,处理 yaw 超过 360° 边界
  2. 若 rotationMovement + rotationLook 绝对值 > 10,rotationLook -= 360
  3. 解除速度锁:当 entspeed < 0.3D 时,若 GetAbsModSpeed() > 0.6D 或 !mob.onGround,把 modMotionX/Z 各除 1.55(衰减)
  4. 否则 modMotionX *= 1.5 并写回 mob.motionX/Z

触发方式

触发 行为
怪物有目标 每 5 秒切换 sprinting
sprinting 状态 解除运动锁,1.5x 加速

数值

数值 默认值 配置项
冷却时间(毫秒) 5000 MM_Sprint.coolDownMillis
加速倍率 1.5 源码常量
解锁触发速度阈值 0.3 源码常量
衰减除数 1.55 源码常量

相关条目