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

Missing server-side check in enderman teleport

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • 19w35a
    • Minecraft 1.9.2, Minecraft 1.12, Minecraft 1.12.1, Minecraft 1.13, Minecraft 18w30b, Minecraft 1.13.2, Minecraft 18w50a
    • Confirmed
    • (Unassigned)

      The bug

      The client tries to teleport endermen as well. This can cause particles and teleportation sounds to appear at the wrong position or the enderman might be away for a short moment before its position is re-synchronized.

      How to reproduce

      1. Summon an enderman
      2. Punch it in Creative mode
        → It will disappear for a short moment

      Code analysis

      Partwise by Howaner

      Based on 1.12 decompiled using MCP 9.40 PRE 1

      The method net.minecraft.entity.monster.EntityEnderman.teleportRandomly() is called client-side as well which can result in different results since the random number generators are not synchronized. Additionally this method is called when the hurt animation is displayed client-side by dealing 0 unblockable damage to the enderman.

      This could be solved by either adding an "is server" check in the method EntityEnderman.teleportRandomly() or maybe even better in the method net.minecraft.entity.monster.EntityEnderman.attackEntityFrom(DamageSource, float).

            slicedlime [Mojang] slicedlime
            Howaner Franz Reiter
            Votes:
            8 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: