Stun Mechanic - Facing attribute messed up
Summary
It's been reported by a few community members that when using the Stun
mechanic, there are a couple of problems with the Facing
attribute. It seems that the Boolean value got swapped, just for players, somehow! The wiki states (and on old version of MM this was true) that "When false, entity cannot rotate or look around when stunned". This seems to happen when set to "true" now. "false" allows the player to look around. But when stun is applied to a mob, the facing attribute remains proper.
Also, more importantly, when a player is locked in stun with `facing=true", it seems to teleport the player rapidly between double and triple their Y coordinate value. So when standing on y=63, you'll be teleported to y=126 and y=189 rapidly for the duration of the stun.
Also, while creating this bug report I found that the Gravity
attribute might be playing a part in this as well, since that stops the y value fluctuation, but then starts messing with my pitch,
Steps to reproduce
Add these two skills to any test mob you have, ideally one at a time to see the effect.
Skills:
- stun{d=95;f=true;g=true;nokb=true} @PIR{r=10} ~onTimer:200
- stun{d=95;f=false;g=true;nokb=true} @self ~onTimer:200
- stun{d=95;f=true;g=false;nokb=true} @PIR{r=10} ~onTimer:200
Current behavior
I've slowed down the FPS on my client to better show these flashing changes. Pay attention to the coordinates under the mini map on the first video, and check out the pitch and yaw on the top left of the second video. swapping between -3.1 and 72.5 on both.
But to recap the issues... The Facing attribute in the Stun mechanic behaves incorrectly for players—its true/false values appear reversed—and when gravity=true
is used, it causes players to rapidly teleport vertically. Additionally, gravity is set to false it stops the vertical movement issue but causes pitch and yaw swapping problems.
Intended correct behavior
- Gravity to not rapidly teleport me 2 and 3 times above my current position
- Facing to be set to the proper attribute value for players
- For pitch and Yaw values to not be swapped with Gravity is set to the default false value.
Server log file
Tested on 1.21.4 and 1.21.8 purpur servers. Both on 5.10 latest dev build. 1.21.8 server log: https://mclo.gs/XiMZxlE 1.21.4 server log: https://mclo.gs/cEFEr0h
Debug log snippet
1.21.8 debug log with all 3 skills ran, one after the other: https://mclo.gs/qe8TIPh
Proposed fixes
Should be easy enough to fix, now that the core problems have been identified? I don't know anything about java coding tho lol.