mojira.dev
MC-108765

Passengers in boats only rotate client-side if player is steering

The bug

If a player is steering a boat, a second passenger will only rotate client-side.

How to reproduce

  1. Use the following command

    /summon boat ~ ~ ~ {Passengers:[{id:"armor_stand"}]}
  2. Run the /data get entity command on the armor stand and have a look at its Rotation, it should be [0.0f,0.0f]

    /data get entity @e[type=minecraft:armor_stand,sort=nearest,limit=1]
  3. Get in the boat and turn only very slightly

  4. Run the /data get entity command on the armor stand and have a look at its Rotation

    /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.

Linked issues

Comments 5

Can confirm in 20w48a. Here's some updated commands since the command format and usage has been changed since the date this was reported.

/summon boat ~ ~ ~ {Passengers:[{id:"armor_stand"}]}
/data get entity @e[type=minecraft:armor_stand,sort=nearest,limit=1]

Can confirm in 21w03a.

Can confirm in 21w05a.

Can confirm in 21w06a.

Can confirm in 21w17a.

marcono1234

(Unassigned)

Confirmed

Networking, Rendering

boat, passengers, player, rotation

Minecraft 1.10.2, Minecraft 16w41a, 20w07a, 1.16.4, 20w48a, 21w03a, 21w05b, 21w06a, 21w17a, 1.20.3 Pre-Release 2

Retrieved