战斗事件修复

战斗事件修复

一个修复BetterCombat和EpicFight与Forge事件系统兼容性问题的模组。

战斗事件修复

战斗事件修复(CombatEventFix)修复了更好战斗(BetterCombat)与史诗战斗(EpicFight)与 Forge 事件系统的兼容性问题,使得自定义战斗实现能够与依赖 Forge 事件的其他模组正常工作。

它还通过修复阻止某些技能触发的问题,使更好战斗和史诗战斗能够与帕鲁酷技能(ParCoolSkill)协同工作,但史诗战斗中的“横扫(Cleave)”技能除外,该技能在设计中就故意不兼容。

更好战斗

攻击输入事件

更好战斗替代了 Minecraft 原版的攻击输入处理方式,这可能导致在其自定义攻击期间 Forge 的点击输入事件无法触发。

战斗事件修复确保更好战斗的自定义攻击能正确触发相应的 Forge 输入事件,并遵循该事件的取消结果。这允许其他模组通过标准的 Forge 事件系统拦截或取消这些攻击。

史诗战斗

暴击事件

史诗战斗用其自定义暴击实现取代了原版暴击。因此,Forge 的暴击事件无法正确检测通过史诗战斗进行的暴击攻击。

战斗事件修复恢复了原版暴击实现的使用,同时保留了史诗战斗原有的暴击条件。这使得其他模组能够通过 Forge 的标准暴击事件可靠地检测到史诗战斗的暴击。

伤害倍率时机

在Minecraft 1.21.1中,史诗战斗在伤害减免计算之后应用某些伤害倍率。原版伤害修饰符通常在护甲和其他伤害减免计算之前应用,从而让增加的伤害能够部分穿透这些减免。

由于史诗战斗通过LivingDamageEvent.Pre稍后应用其伤害倍率,额外的伤害无法正确帮助克服护甲减免,导致实际伤害低于预期。

战斗事件修复将史诗战斗的伤害倍率应用移至伤害计算的适当阶段,恢复了与护甲及其他伤害减免机制的预期交互。

例如,使用钻石剑对全副武装的僵尸进行暴击时:

  • 史诗战斗:4.9 伤害

图片

  • 原版:5.6 伤害

图片

有了战斗事件修复,史诗战斗的伤害倍率将在计算中的正确节点应用,以防止这种非预期的伤害损失。