-
Bug
-
Resolution: Unresolved
-
None
-
1.19.80.20 Preview, 1.19.70.26 Preview, 1.19.70.21 Preview, 1.19.70.20 Preview, 1.19.60.27 Preview, 1.19.60.26 Preview, 1.19.60.25 Preview, 1.19.60.24 Preview, 1.19.60.23 Preview, 1.19.60.22 Preview, 1.19.60.20 Preview, 1.19.50.22 Preview, 1.19.50.21 Preview, 1.19.50.20 Preview, 1.19.40.24 Preview, 1.19.40.23 Preview, 1.19.30, 1.19.31 Hotfix, 1.19.40, 1.19.50.23 Preview, 1.19.50.25 Preview, 1.19.50.24 Preview, 1.19.41, 1.19.50, 1.19.51, 1.19.63
-
None
-
Confirmed
-
Multiple
-
913920
Why this needs to be fixed:
If fixing MCPE-47877, the first-person positioning of attachables would get messed up. Again, because this also happened once in 1.17.0 when capes are enabled (MCPE-126660), causing major problems with the positioning animation of attachable items.
When changing the player's arm position in player_firstperson.animation.json, for some reason it also changes the positioning of attachable items, such as crossbows, tridents, bows, shields, and spyglasses.
To reproduce:
- Join a world, and see that the positioning of tridents, bows, etc are fine.
- Download the resource pack attached, that should fix MCPE-47877.
- Enable it and once again join the world
- Look at these items again, and notice how their position changed.
Expected results:
Their position remains the same.
Actual results:
Their position is changed, with no actual reason.
Code analysis
There seems to be a 'rightitem' bone responsible for binding attachables in the animation.player.first_person.empty_hand (which controls the arm positioning in the player_firstperson.animation.json file). It is also a is a "child" of the 'rightarm' bone. It looks like changing the position of the arm also changes the position of the right item, messing up the positioning of the attachable items.
"animation.player.first_person.empty_hand": { "loop": true, "bones": { "rightarm": { "position": [ 13.5, -10.0, 12.0 ], "rotation": [ "95.0 + variable.is_using_vr * 7.5", "-45.0 + variable.is_using_vr * 7.5", "115.0 + variable.is_using_vr * -2.5" ] }, "rightitem": { "position": [ 0.0, "q.get_default_bone_pivot('rightarm',1) - q.get_default_bone_pivot('rightitem',1) - 7.0", "-q.get_default_bone_pivot('rightitem',2)" ] }, "leftitem": { "position": [ 0.0, "q.get_default_bone_pivot('leftarm',1) - q.get_default_bone_pivot('leftitem',1) - 7.0", "-q.get_default_bone_pivot('leftitem',2)" ]