The bug
If a player is steering a boat, a second passenger will only rotate client-side.
How to reproduce
Use the following command
/summon boat ~ ~ ~ {Passengers:[{id:"armor_stand"}]}
Run the
/data get entity
command on the armor stand and have a look at itsRotation
, it should be[0.0f,0.0f]
/data get entity @e[type=minecraft:armor_stand,sort=nearest,limit=1]
Get in the boat and turn only very slightly
Run the
/data get entity
command on the armor stand and have a look at itsRotation
/data get entity @e[type=minecraft:armor_stand,sort=nearest,limit=1]
→ It is still
[0.0f,0.0f]
The reason
The following is based on a decompiled version of Minecraft 1.10 using MCP 9.30.
This happens because the method net.minecraft.entity.item.EntityBoat.controlBoat()
which modifies the net.minecraft.entity.item.EntityBoat.deltaRotation
value is only called client-side. It might make more sense for not steering passengers to use the rotation of the boat.
Note: At some point the method net.minecraft.entity.item.EntityBoat.applyYawToEntity(Entity)
corrects the value.
Can confirm in 20w48a. Here's some updated commands since the command format and usage has been changed since the date this was reported.