[TaCZ] 急救兼容

[TaCZ] 急救兼容

此模组使First Aid与TaCZ完全兼容。射击右臂将实际损伤右臂等。

[TaCZ] 急救兼容

一款兼容模组,可在将 TacZ(永恒与经典零) 与 急救 一同使用时,实现基于3D碰撞箱的精确伤害分配。

功能特性

  • 逼真的身体部位判定:使用精确的3D命中位置来确定被击中的身体部位,而非急救模组默认的随机/高度判定机制
  • 正确的护甲防护:为每个身体部位(头部、胸部、腿部、脚部)单独计算护甲减伤
  • 伤害溢出:实现了逼真的伤害溢出机制——当某个肢体被摧毁时,多余的伤害将转移到躯干
  • 匍匐支持:正确处理玩家处于 TacZ 匍匐/卧倒状态时的伤害分配
  • 爆炸支持:爆炸伤害将根据距离进行分配

前置需求

  • Minecraft: 1.20.1
  • Forge: 47.3.0+
  • TacZ (永恒与经典零): 1.1.7+
  • 急救: 1.20.1-1.1+

安装指南

  1. 下载模组 JAR 文件
  2. 将其放入你的 mods 文件夹中
  3. 确保同时安装了 TacZ 和急救模组
  4. 启动游戏!

工作原理

本模组使用 Mixin 来拦截 TacZ 的子弹命中事件以及急救的伤害分配系统:

  1. 当 TacZ 子弹命中玩家时,会捕获精确的3D命中位置
  2. 将命中位置转换为玩家局部坐标(考虑旋转和姿态)
  3. 通过3D碰撞箱系统确定被击中的身体部位
  4. 急救对该特定身体部位造成伤害,并进行正确的护甲计算
  5. 如果该身体部位被摧毁,多余的伤害将溢出至躯干

技术细节

  • 碰撞箱系统:为每个身体部位(头部、躯干、手臂、腿部、脚部)定义精确的3D边界框
  • 坐标转换:处理世界坐标到局部坐标的转换,并正确考虑偏航旋转和匍匐姿态
  • 溢出逻辑:
    • 子弹:80%的过多伤害转移(损失20%能量)
    • 爆炸:100%的过多伤害转移(冲击波)
    • 脚部:伤害首先溢至相应的腿部,随后再转移至躯干

开源许可

MIT 许可证 - 详见 许可证

鸣谢