Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-103672

Steerable ridden entities (boats / pigs / horses) teleport back to their previous position for a short moment on dismount

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • 19w38a, 19w39a
    • Minecraft 1.10, Minecraft 1.10.2, Minecraft 16w32a, Minecraft 16w32b, Minecraft 16w33a, Minecraft 16w35a, Minecraft 16w36a, Minecraft 16w39b, Minecraft 16w39c, Minecraft 16w43a, Minecraft 16w44a, Minecraft 1.11 Pre-Release 1, Minecraft 1.11, Minecraft 1.11.2, Minecraft 17w06a, Minecraft 17w14a, Minecraft 17w16a, Minecraft 17w16b, Minecraft 17w17a, Minecraft 17w17b, Minecraft 1.12.1, Minecraft 1.12.2 Pre-Release 1, Minecraft 1.12.2 Pre-Release 2, Minecraft 1.12.2, Minecraft 17w43a, Minecraft 17w43b, Minecraft 17w45b, Minecraft 17w46a, Minecraft 17w47a, Minecraft 17w47b, Minecraft 17w48a, Minecraft 17w49a, Minecraft 17w49b, Minecraft 18w03b, Minecraft 18w07c, Minecraft 18w22c, Minecraft 1.13, Minecraft 18w31a, Minecraft 18w32a, Minecraft 1.13.1-pre1, Minecraft 1.13.1-pre2, Minecraft 1.13.1, Minecraft 1.13.2-pre1, Minecraft 1.13.2, Minecraft 18w43a, Minecraft 18w43b, Minecraft 18w43c, Minecraft 18w44a, Minecraft 18w48a, Minecraft 18w48b, Minecraft 18w49a, Minecraft 19w12b, Minecraft 19w13b, Minecraft 19w14a, Minecraft 19w14b, 1.14.4, 19w34a, 19w38b
    • Confirmed
    • Entities
    • Normal

      The bug

      Steerable ridden entities like boats, pigs or horses teleport client-side to the position where you first started steering them for a short moment when you stop steering them. You can stop steering such an entity by either dismounting it or for example for pigs stop holding a carrot on a stick or for horses remove the saddle from the horse.

      Video example: https://www.youtube.com/watch?v=ATXLXGaq-q8

      How to reproduce

      1. Start riding a steerable entity like for example a boat
      2. Switch to third person view (F5) (back view) to be able to see the complete boat
      3. Move a while in it
      4. Dismount it
        → You will see that the boat is teleported for a short moment to the position where you first started riding it

      Code analysis

      Based on 1.11.2 decompiled using MCP 9.35 rc1

      The method net.minecraft.entity.EntityLivingBase.onLivingUpdate() ignores all position and movement changes caused by the method net.minecraft.entity.EntityLivingBase.setPositionAndRotationDirect(double, double, double, float, float, int, boolean), which then, once the riding player is not steering it anymore, take effect. It might be good if the server would not send the packets calling this method if the entity is being steered or if this method would only set the field values if if the entity is not being steered.

            slicedlime [Mojang] slicedlime
            tgames Tom
            Votes:
            20 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: