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

BlockEntityTag data fix walker is incomplete and incorrect

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • Minecraft 1.12.2, Minecraft 17w49a, Minecraft 17w49b, Minecraft 17w50a, Minecraft 18w03b, Minecraft 18w05a, Minecraft 18w16a, Minecraft 18w22a, Minecraft 1.13-pre1, Minecraft 1.13-pre5, Minecraft 18w48a, Minecraft 18w48b, Minecraft 18w49a, Minecraft 1.14.2, Minecraft 1.14.3 Pre-Release 3, 1.15 Pre-release 1, 1.15, 1.17.1
    • Confirmed
    • Datafixer
    • Normal
    • Platform

      The bug

      The data fix / upgrader walker for the BlockEntityTag of items (net.minecraft.util.datafix.walkers.BlockEntityTag) is incomplete and incorrect.
      Warnings like the following mean that it could not walk the block entity data because it did not recognize the block entity based on the item id.

      [Client thread/WARN]: Unable to resolve BlockEntity for ItemStack: minecraft:comparator
      

      Note: It is unclear why the client is logging this since the server should likely be doing the upgrade.

      Problems

      Block ids are used instead of item ids

      Some entries use the block ids instead of item ids. The following lists use to indicate that an entry should be removed.

      Old block entity id map

      Maps from item id to the old block entity id, for example RecordPlayer.

      List last updated for 17w50a

      Block id Required action
      lit_furnace
      standing_sign
      wall_sign
      piston_head
      daylight_detector_inverted
      unpowered_comparator
      powered_comparator comparator
      standing_banner
      wall_banner
      end_portal
      end_gateway
      shield Note
      New block entity id map

      Maps from item id to the old block entity id, for example minecraft:jukebox.

      List last updated for 17w50a

      Block id Required action
      lit_furnace
      standing_sign
      wall_sign
      piston_head
      daylight_detector_inverted
      unpowered_comparator
      powered_comparator comparator
      standing_banner
      wall_banner
      end_portal
      end_gateway
      shield Note

      Note to shields

      Shields should possibly not even be contained in these maps since they have no block entity. For current data versions they should probably map to minecraft:banner. In case their NBT structure changes at some point an data version check should be added.

      minecraft:banner is contained twice

      The map for the new block entity ids contains a minecraft:banner to minecraft:banner entry twice.

      Missing player head item ids

      The map for the new block entity ids does not contain the item ids for the new splitted heads / skulls ids:
      List last updated for 17w50a

      • skeleton_skull
      • wither_skeleton_skull
      • player_head
      • zombie_head
      • creeper_head
      • dragon_head

      Missing bed item ids

      The map for the new block entity ids does not contain the item ids for the new splitted bed ids.

      Outdated entries not data version filtered

      The map for the new block entity ids does not filter based on the data version, this means it walks for outdated entries like for example the flower pot which does not have a block entity anymore.

        1. light-blue-banner_warn_world-6.PNG
          light-blue-banner_warn_world-6.PNG
          24 kB
        2. 17w50a.png
          17w50a.png
          35 kB
        3. 17w47a.png
          17w47a.png
          43 kB
        4. 17w47b.png
          17w47b.png
          27 kB
        5. 17w49b.png
          17w49b.png
          33 kB
        6. 17w49a.png
          17w49a.png
          28 kB
        7. 17w48a.png
          17w48a.png
          29 kB
        8. 1.15_pre-1.png
          1.15_pre-1.png
          16 kB

            Unassigned Unassigned
            LapisDemon Meri Diana
            Votes:
            18 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              CHK: