tacz-1.1.8+neoforge.1.21.11.R3-hotfix2.jar
Curse Maven Snippet
What's new
修复全枪械第一人称手部错位(61ab4a0) 症状:所有手枪整体偏左、手没握住枪;两把默认双管换弹时手部绑定/动画错位、弹药悬浮在手上方;错位量恒定、非常有规律。1.21.1 上游无此问题。
根因:vanilla 在 1.21.1 → 1.21.9 的渲染重构里给 AvatarRenderer#renderHand 加了两行(1.21.11 反编译源码逐行确认,1.21.9/1.21.10/26.1.2 同样存在;1.21.1 的 PlayerRenderer#renderArm 没有这两行):
model.leftArm.zRot = -0.1F; // 约 -5.7° model.rightArm.zRot = 0.1F; // 约 +5.7° TACZ 枪模的手部定位是按 1.21.1 的 zRot=0 authored 的,手臂绕肩 pivot 多转 ±5.7° 即手相对枪恒定偏转。排查中已逐项排除其余链路:入口变换(0.1 倾斜/bobView/相机基)与上游等价、枪空间数学/动画采样/手部提取与上游一致、手臂 pivot(±5,2,0)与几何体未变、对 vanilla 手臂的调用与 vanilla 自身调用点逐字节一致。
修复(RenderHelper.java):每次 vanilla 手部调用后把两条手臂的 zRot 清零。依据:submitModelPart 只快照矩阵、ModelPart 是活引用,旋转在 flush 时才读;vanilla 每次调用同时污染两条,故必须两条一起清。TACZ 接管的 flush 里无 vanilla 手臂提交,不影响 vanilla 物品。详见代码内第 6 轮注释。
This mod has no additional files

