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

Entity data sometimes doesn't get properly updated in multiplayer

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • 1.19.3 Pre-release 3
    • 1.19, 1.19.1 Pre-release 4, 1.19.2
    • None
    • Community Consensus
    • Networking
    • Normal

    Description

      Entity metadata doesn't get properly updated for clients in a multiplayer game in some circumstances due to a networking race condition.

      Steps to reproduce

      • Start two instances of the game (make sure to use two different usernames, say host and guest)
      • Open a LAN server (creative, allow cheats) on a fresh void superflat world
      • Place two command block minecarts on connected activator rails (so they activate together)
      • Command in one minecart: /tp @p[name=host] ~ ~1 ~
      • Command in second minecart: /data modify entity @e[type=pig,limit=1] HasVisualFire set value true
      • Spawn a pig near the minecarts: /summon pig ~ ~ ~ {NoAI:1}
      • Join the server with the second player (guest)
      • Teleport the host far away (200 blocks)
      • Activate the minecarts using the guest player
      • The pig should appear to be on fire for the host but not the guest

      (The order of events is important. To be more precise: the pig needs to be spawned after the minecarts)

      Code analysis

      The ClientboundSetEntityDataPacket constructor called when an entity comes into a player's view calls clearDirty on the entity's data preventing synchronization with other players.

      Attachments

        Activity

          People

            Unassigned Unassigned
            Zonteek Zonteek
            Votes:
            4 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              CHK: