Resyncing entity positions' every 60 ticks breaks entity display's teleport_duration
interpolation if the position gets sync during a interpolation
#11694
Labels
Expected behavior
When spawning a display entity, delaying the teleport a bit (enough that it triggers the periodic pos/rot packet every 60 ticks lived), and then it with a set
teleport_duration
, the teleportation should work fine with a specific interpolation set.By the way, THIS IS NOT A PAPER BUG, THIS IS A VANILLA BUG!!! ...but it would be nice if it is possible to fix this on Paper. :3
Observed/Actual behavior
The entity gets slow when it gets to the end of the interpolation.
javaw_6hxdzwAz6i.mp4
Steps/models to reproduce
teleportDuration
to 59 ticksPlugin and Datapack List
Not applicable
Paper version
(something something it is my own fork and stuff like that)
Other
This happens due to
boolean flag2 = flag1 || this.tickCount % 60 == 0;
, because it attempts to resync the position every 60 ticks, however I'm not sure how could that be fixed without tracking when the entity is interpolating on the client side. (which, due to circumstances, the entity may not be interpolating on the client when theteleport_duration
is set, example: if you set the teleport duration and teleport the entity on the same tick)Now, I must say that there is a workaround for this issue... and the workaround is "create a new entity display every 60 ticks".
This DOES NOT HAPPEN if you manually send the add entity + set data + teleport packets
The text was updated successfully, but these errors were encountered: