Interpolate per-tick entity movement on Bedrock - #6566
Conversation
Absolute entity moves are not interpolated by the Bedrock client. An entity repositioned every tick through ClientboundTeleportEntityPacket or ClientboundEntityPositionSyncPacket snaps between positions, and anything riding it visibly drags behind. Send those updates as relative moves, which the client smooths. Client vehicles and long-range teleports keep the absolute path. Fixes GeyserMC#6551
|
Hey! Thanks for the PR. It seems like we should use DATA_POS_ROT_INTERPOLATION_DURATION_ID to actually get the interpolation duration, as that also determines whether we should actually interpolate display entities (and then also for how long). We could probably implement that in DisplayBaseEntity - third parties that currently add their own implementation should be extending that as a base class anyways :p We could also move Let me know if you have further questions / need help with implementing these! |
Absolute entity moves are not interpolated by the Bedrock client. An entity repositioned every tick through ClientboundTeleportEntityPacket or ClientboundEntityPositionSyncPacket snaps between positions, and anything riding it visibly drags behind. Send those updates as relative moves, which the client smooths. Client vehicles and long-range teleports keep the absolute path.
Fixes #6551