Uploaded image for project: 'Minecraft (Bedrock codebase)'
  1. Minecraft (Bedrock codebase)
  2. MCPE-186255

Some flattened IDs are still incorrectly overwritten by original ID in blocks.json with format_version 1.21.20 or higher

XMLWordPrintable

    • Confirmed
    • Multiple
    • 1291639

      A "format_version" field was introduced in 1.21.20 for the blocks.json file. This controls how IDs which were flattened, but remained IDs for a single block, are treated. For example, sponge no longer controls wet_sponge as of format_version 1.21.30.

      Two blocks still do not work correctly: dirt and its flattened ID, coarse_dirt. In addition, sandstone and red_sandstone only work when the entries are in a specific order.

      For example, the following configuration (from the attached sample pack) should cause dirt and coarse_dirt to do different things:

      Dirt: Random texture rotation, sculk sounds

      Coarse Dirt: No rotation, bamboo sounds

      This does not have the intended result in-game. Coarse dirt still rotates and makes sculk sounds:

      Blocks which were flattened and retained their original ID as a single ID can be affected by this problem, but only some IDs are affected. Here is a table:

      Original ID Flattened IDs Flattened IDs Apply Separate Properties
      dirt dirt
      coarse_dirt
      ❌(Never works when both IDs are present, regardless of ID order in blocks.json.)
      stone stone
      andesite
      polished_andesite
      granite
      polished_granite
      diorite
      polished_diorite
      prismarine prismarine
      prismarine_bricks
      dark_prismarine
      quartz_block quartz_block
      chiseled_quartz_block
      quartz_pillar
      smooth_quartz
      sponge sponge
      wet_sponge
      anvil anvil
      chipped_anvil
      damaged_anvil
      deprecated_anvil
      purpur_block purpur_block
      purpur_pillar
      deprecated_purpur_block_1
      deprecated_purpur_block_2
      sand sand
      red_sand
      sandstone sandstone
      chiseled_sandstone
      cut_sandstone
      smooth_sandstone
      ❌ (Only works if new ID is placed after original ID in blocks.json. The opposite order fails.)
      red_sandstone red_sandstone
      chiseled_red_sandstone
      cut_red_sandstone
      smooth_red_sandstone
      ❌ (Only works if new ID is placed after original ID in blocks.json. The opposite order fails.)
      cobblestone_wall cobblestone_wall
      mossy_cobblestone_wall
      granite_wall
      diorite_wall
      andesite_wall
      sandstone_wall
      brick_wall
      stone_brick_wall
      mossy_stone_brick_wall
      nether_brick_wall
      end_stone_brick_wall
      prismarine_wall
      red_sandstone_wall
      red_nether_brick_wall

      Expected Result

      When blocks.json format_version is set to 1.21.20 or higher, properties assigned to dirt in will NOT be applied to coarse_dirt, which is a separate block ID as of 1.21.20. Sandstone IDs should do this as well.

      Observed Result

      In blocks.json with 1.21.20+ format_versions, coarse_dirt properties are still overwritten by dirt, making it impossible to modify properties of both blocks at the same time. sandstone and red_sandstone IDs overwrite properties set earlier in the file for all sandstone variants.

        1. dirt-sample-pack.mcpack
          1 kB
          AgentMindStorm2
        2. image-2024-08-31-21-08-46-176.png
          14 kB
          AgentMindStorm2
        3. image-2024-08-31-21-13-53-632.png
          395 kB
          AgentMindStorm2

            AgentMindStorm2 AgentMindStorm2
            Votes:
            14 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: