
Epic Fight × TacZ 第一人称兼容
在安装Epic Fight时,恢复TacZ的第一人称和第三人称枪械动画。仅客户端。
Epic Fight × TacZ 兼容补丁
一款仅客户端的兼容性补丁,用于在安装 Epic Fight 的情况下恢复 TacZ 的枪械动画——包括第一人称(换弹、检视、拔枪)和第三人称(持枪姿态、身体倾斜、腿部姿势)。
本仓库同时维护两个并行版本:
- 1.21.1 / NeoForge —
main分支。 - 1.20.1 / Forge —
1201分支(回溯移植)。
两个版本实现相同的修复逻辑(公共 API 的战斗模式抑制——仅在 HumanoidModel.setupAnim 上进行一次 TAIL 注入);只有加载器和依赖版本有所不同。
TacZ、Epic Fight 和 PlayerAnimator 均为必需依赖。缺少它们时模组将拒绝加载——它本身没有任何独立用途。
简介(CurseForge)
在安装 Epic Fight 时恢复 TacZ 的第一人称和第三人称枪械动画。仅客户端。分别为 1.21.1/NeoForge 和 1.20.1/Forge 提供独立构建。
问题描述
当同时加载 TacZ 和 Epic Fight 时,会出现两个回退问题:
- 第一人称:Epic Fight 的战斗模式渲染器会在 TacZ 运行其
ItemInHandRenderer链之前接管玩家的手臂。因此,持枪时的换弹、检视和拔枪动画会无声地消失。 - 第三人称:即使强制 Epic Fight 进入原版模式,Epic Fight 的
HumanoidModel.setupAnimTAIL 注入仍会在 TacZ 之后运行,导致持枪姿态被清除。玩家会恢复为默认的原版行走动画。
本模组的修复方式
三项独立修复:
- 第一人称刻(Tick)补丁。 每个客户端刻,当本地玩家持有 TacZ 枪械(
IGun)时,通过LocalPlayerPatch.toVanillaMode(...)强制 Epic Fight 回到原版模式。切换为非枪械物品后,战斗模式会立即恢复。 - 第三人称 Mixin。 在
HumanoidModel.setupAnim上以priority=1500注入一个 TAIL(确保在 Epic Fight 之后运行),重新调用 TacZ 的InnerThirdPersonManager.setRotationAnglesHead,恢复持枪姿态。 - PlayerAnimator 依赖。 TacZ 的第三人称逻辑只有在 PlayerAnimator 存在于类路径时才会播放全身枪械动画(身体倾斜、腿部姿势、下蹲);否则会静默回退为仅手臂姿态。本模组将 PlayerAnimator 设为必需依赖,以确保视觉效果与独立安装 TacZ 时一致。
无资源替换、无服务端代码、无配置文件。
环境要求
1.21.1 / NeoForge 构建(main 分支)
| 版本 | |
|---|---|
| Minecraft | 1.21.1 |
| NeoForge | 21.1.228 或更新 |
| TacZ | 1.1.0+(非官方 NeoForge 移植版) |
| Epic Fight | 21.0.0+ |
| PlayerAnimator | 2.0.0+ |
1.20.1 / Forge 构建(1201 分支)
| 版本 | |
|---|---|
| Minecraft | 1.20.1 |
| Forge | 47.4.10 或更新 |
| TacZ | 1.1.8(1.20.1 Forge 移植版 — CurseForge / Modrinth) |
| Epic Fight | 20.14.17-mc1.20.1-forge(CurseForge 文件 8049910) |
| PlayerAnimator | 1.0.2-rc1+1.20(CurseForge 文件 4587214) |
同一 Minecraft 版本线上 TacZ / Epic Fight / PlayerAnimator 的更新补丁版本在加载时被接受,但只有上列版本经过了各构建的验证。
安装方法
- 为你的 Minecraft 版本安装对应的加载器(1.21.1 使用 NeoForge 21.1.228+,或 1.20.1 使用 Forge 47.4.10+)。
- 将 TacZ、Epic Fight、PlayerAnimator 和 本模组 JAR 文件(选择与你 Minecraft 版本匹配的那个)放入
mods/文件夹。 - 启动游戏。装备枪械后,TacZ 动画应能在第一人称和第三人称下正常播放,而 Epic Fight 的战斗姿态在其他情况下照常工作。
本模组仅在客户端运行。在专用服务器上可以安全省略。
已知限制
- 第一人称仅对本地玩家生效。其他持枪玩家在你的屏幕上仍会以 Epic Fight 的战斗骨架渲染——修复该问题需要改动服务端状态,不在本模组范围内。(第三人称 Mixin 对所有玩家生效。)
- 补丁依赖于 TacZ(
IGun、InnerThirdPersonManager.setRotationAnglesHead)、Epic Fight(LocalPlayerPatch.toVanillaMode、isEpicFightMode、EpicFightCapabilities.getCachedLocalPlayerPatch)的公共 API 签名以及 PlayerAnimator 的模组 ID(playeranimator)。如果这些在未来版本中发生变化,本补丁需要重新构建。
源码 / 问题反馈
- 源码:https://github.com/Ardelhite/epic-tacz(1.21.1:
main/ 1.20.1:1201) - Bug 反馈:https://github.com/Ardelhite/epic-tacz/issues
许可证
MIT — 随意使用,无任何担保。
致谢
- TacZ 团队开发了原版枪械模组,以及 1.20.1 Forge 维护者和非官方 1.21.1 NeoForge 移植者使其在多个版本中延续。
- Yesman / Epic Fight 团队开发了战斗模组。
- KosmX 开发了 PlayerAnimator,没有它,TacZ 的第三人称枪械动画将回退为仅手臂姿态。
本项目与 TacZ、Epic Fight 或 PlayerAnimator 无任何关联。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。