When a mob or player joins a boat as a passenger, the boat starts adjusting its direction repeatedly. When this happens, the first turning input (any rotational acceleration) given by the driver is seemingly sent to the server, but not applied locally. Or perhaps, it is being sent to the server twice in that instant but only once locally. For example, if the player is moving rightward the moment they enter a boat, this action will turn the boat to the right. The local boat has not turned right as far as the server boat has, because it received a different amount of input. Because the system is server authoritative, The local boat syncs itself with the server boat in its direction faced, but not its rotational speed / angular momentum, roughly 3 times per second. This causes it to get back out of sync immediately and repeatedly, by the amount the angular momentum differs between the server and client, which gradually decreases.
Steps to reproduce:
Place a large flat area of blue ice blocks. Place a boat or raft in the center of the blue ice. Stand behind the boat, on the ice. Start moving to the right, to ensure you send an input immediately for the boat to turn upon entry. Quickly enter the boat and continue steering right. After 0.3 seconds, steer left for a very short while to slow the boat down, then stop steering the boat.
Expected result: After releasing the controls, the boat should smoothly continue rotating slowly to either the right or the left, depending on its current angular velocity, and slowly diminish its speed to a stop.
Actual result: After releasing the controls, the boat snaps to the right repeatedly at 3Hz, due to the server boat having more rightward angular velocity than the client boat. Note: this also works for a left-oriented version of the experiment, just considering whatever is the first input given when a passenger joins a boat.
Alternative step to reproduce, drive the boat on blue ice into a mob while steering the boat (drastically speeding up or slowing down its angular speed, as opposed to just letting the boat rotate). This mob may be chained by a lead to a fence to make experiencing the problem easier and more replicable.
Attachments
Comments 2
https://youtu.be/pJZ1ex8gYQQ here is a longer version of the video, demonstrating also with mobs
Thank you for helping us improve Minecraft! We saved your files: