mojira.dev
MCPE-186255

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

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:

[media]

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:

[media]

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.

Attachments

Comments 1

[media][media][media]

AgentMindStorm2

(Unassigned)

1291639

Confirmed

Multiple

Windows 10

flattening, flattening-remnants

1.21.40.21 Preview, 1.21.40.20 Preview, 1.21.21 Hotfix, 1.21.30.25 Preview, 1.21.22 Hotfix, 1.21.30

1.21.40.22 Preview, 1.21.40

Retrieved