-
-
Notifications
You must be signed in to change notification settings - Fork 106
Delay mannequin spawning for proper skin application #1158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
...om/viaversion/viabackwards/protocol/v1_21_9to1_21_7/rewriter/EntityPacketRewriter1_21_9.java
Outdated
Show resolved
Hide resolved
...om/viaversion/viabackwards/protocol/v1_21_9to1_21_7/rewriter/EntityPacketRewriter1_21_9.java
Outdated
Show resolved
Hide resolved
...om/viaversion/viabackwards/protocol/v1_21_9to1_21_7/rewriter/EntityPacketRewriter1_21_9.java
Outdated
Show resolved
Hide resolved
...om/viaversion/viabackwards/protocol/v1_21_9to1_21_7/rewriter/EntityPacketRewriter1_21_9.java
Outdated
Show resolved
Hide resolved
...om/viaversion/viabackwards/protocol/v1_21_9to1_21_7/rewriter/EntityPacketRewriter1_21_9.java
Outdated
Show resolved
Hide resolved
...om/viaversion/viabackwards/protocol/v1_21_9to1_21_7/rewriter/EntityPacketRewriter1_21_9.java
Outdated
Show resolved
Hide resolved
...om/viaversion/viabackwards/protocol/v1_21_9to1_21_7/rewriter/EntityPacketRewriter1_21_9.java
Outdated
Show resolved
Hide resolved
...om/viaversion/viabackwards/protocol/v1_21_9to1_21_7/rewriter/EntityPacketRewriter1_21_9.java
Outdated
Show resolved
Hide resolved
...om/viaversion/viabackwards/protocol/v1_21_9to1_21_7/rewriter/EntityPacketRewriter1_21_9.java
Outdated
Show resolved
Hide resolved
...om/viaversion/viabackwards/protocol/v1_21_9to1_21_7/rewriter/EntityPacketRewriter1_21_9.java
Outdated
Show resolved
Hide resolved
...om/viaversion/viabackwards/protocol/v1_21_9to1_21_7/rewriter/EntityPacketRewriter1_21_9.java
Outdated
Show resolved
Hide resolved
|
One issue I am not really sure about what is going on is that if you join a server with these manniquins it seems the head rotation is wrong. However, the head rotation is correct when live respawning it, simply not when initially joining the server. So, would love some pointers if possible. |
FlorianMichael
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me now, would appreciate if you could do new lines after if clauses (for example in storeMovementMannequinData)
|
@FlorianMichael Otherwise do you have any comment with the head rotation issue? I'm not too familiar with head rotation with player entities as I vaguely remember there being some syncing issues. |
|
Currently doing something else but I already had planned to look at it later :) |
|
Found something else: Your emulation code is assuming that the skin entity data is always send which isn't the case (e.g if the mannequin doesn't have a skin) so right now the mannequin doesn't spawn at all if no skin is set (which is the Vanilla default case with a simple /summon).
|
That is a good point... hm... I am not quite sure however what the best way to solve this is? Do you have any opinions? |
|
Yeah I already had a fix in my mind locally, will try it out and push to here if it works. Also head rotations seem fine to me, but I noticed that the remapping of ROTATE_HEAD is wrong. |
|
head rotations should also be fixed now :) |
|
Thank you! I will just test and double check. |
|
After testing, seems good! |
Fix head yaw type Some other cleanup
|
What you used when going from byte to float was the wrong way around, that's where the issues came from (all yaw pitch and headyaw) |
kennytv
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good now


Fixes #1143
This uses an approach similar to what was done with boats where we pretty much track everything about the entity and then spawn it when the entity meta is recieved.
This must be done because the skin data must be sent on the first player info received, which MUST happen after the entity meta is sent in order to grab that info. So, we have to delay spawning the entity.
This also adds tracking for the entity equipment.
I also make sure that this properly supports resending when the skin is changed. This also properly tracks with the name change.