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

Missing server-side check in enderman teleport

    XMLWordPrintable

Details

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

    Description

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

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:
                CHK: