Double slabs were flattened incorrectly
“double_wooden_slab” block is now split into unique instances “double_oak_slab”, “double_spruce_slab”, “double_birch_slab”, “double_jungle_slab”, “double_acacia_slab”, “double_dark_oak_slab”
This change from the 1.20.70.20 beta doesn't match how Java handles these blocks, leading to disparity, unlike most of the flattening changes. In Java, double slabs are a block state of the normal slab blocks.
How to reproduce
/setblock ~ ~ ~ oak_slab[type=double]
Expected result
Double oak slab is placed
Observed result
Syntax error
List from MCPE-178379:
| Block | Double ID | Single ID (to merge into) |
|---|---|---|
| Oak Slab | oak_double_slab | oak_slab |
| Spruce Slab | spruce_double_slab | spruce_slab |
| Birch Slab | birch_double_slab | birch_slab |
| Jungle Slab | jungle_double_slab | jungle_slab |
| Acacia Slab | acacia_double_slab | acacia_slab |
| Dark Oak Slab | dark_oak_double_slab | dark_oak_slab |
| Mangrove Slab | mangrove_double_slab | mangrove_slab |
| Cherry Slab | cherry_double_slab | cherry_slab |
| Bamboo Slab | bamboo_double_slab | bamboo_slab |
| Bamboo Mosaic Slab | bamboo_mosaic_double_slab | bamboo_mosaic_slab |
| Crimson Slab | crimson_double_slab | crimson_slab |
| Warped Slab | warped_double_slab | warped_slab |
| Cobbled Deepslate Slab | cobbled_deepslate_double_slab | cobbled_deepslate_slab |
| Polished Deepslate Slab | polished_deepslate_double_slab | polished_deepslate_slab |
| Deepslate Brick Slab | deepslate_brick_double_slab | deepslate_brick_slab |
| Deepslate Tile Slab | deepslate_tile_double_slab | deepslate_tile_slab |
| Tuff Slab | tuff_double_slab | tuff_slab |
| Polished Tuff Slab | polished_tuff_double_slab | polished_tuff_slab |
| Tuff Brick Slab | tuff_brick_double_slab | tuff_brick_slab |
| Mud Brick Slab | mud_brick_double_slab | mud_brick_slab |
| Blackstone Slab | blackstone_double_slab | blackstone_slab |
| Polished Blackstone Slab | polished_blackstone_double_slab | polished_blackstone_slab |
| Polished Blackstone Brick Slab | polished_blackstone_brick_double_slab | polished_blackstone_brick_slab |
| Cut Copper Slab | double_cut_copper_slab | cut_copper_slab |
| Exposed Cut Copper Slab | exposed_double_cut_copper_slab | exposed_cut_copper_slab |
| Weathered Cut Copper Slab | weathered_double_cut_copper_slab | weathered_cut_copper_slab |
| Oxidized Cut Copper Slab | oxidized_double_cut_copper_slab | oxidized_cut_copper_slab |
| Waxed Cut Copper Slab | waxed_double_cut_copper_slab | waxed_cut_copper_slab |
| Waxed Exposed Cut Copper Slab | waxed_exposed_double_cut_copper_slab | waxed_exposed_cut_copper_slab |
| Waxed Weathered Cut Copper Slab | waxed_weathered_double_cut_copper_slab | waxed_weathered_cut_copper_slab |
| Waxed Oxidized Cut Copper Slab | waxed_oxidized_double_cut_copper_slab | waxed_oxidized_cut_copper_slab |
Created Issue:
Double slabs were flattened incorrectly
“double_wooden_slab” block is now split into unique instances “double_oak_slab”, “double_spruce_slab”, “double_birch_slab”, “double_jungle_slab”, “double_acacia_slab”, “double_dark_oak_slab”
This changes from the 1.20.70.20 beta, doesn't match how Java handles these blocks, leading to disparity, unlike most of the flattening changes. In Java, double slabs are a block state of the normal slab blocks.
How to reproduce
/setblock ~ ~ ~ oak_slab[type=double]Expected result
Double oak slab is placedObserved result
Syntax error
“double_wooden_slab” block is now split into unique instances “double_oak_slab”, “double_spruce_slab”, “double_birch_slab”, “double_jungle_slab”, “double_acacia_slab”, “double_dark_oak_slab”
This change
sfrom the 1.20.70.20 beta,doesn't match how Java handles these blocks, leading to disparity, unlike most of the flattening changes. In Java, double slabs are a block state of the normal slab blocks.How to reproduce
/setblock ~ ~ ~ oak_slab[type=double]Expected result
Double oak slab is placedObserved result
Syntax error
“double_wooden_slab” block is now split into unique instances “double_oak_slab”, “double_spruce_slab”, “double_birch_slab”, “double_jungle_slab”, “double_acacia_slab”, “double_dark_oak_slab”
This change from the 1.20.70.20 beta doesn't match how Java handles these blocks, leading to disparity, unlike most of the flattening changes. In Java, double slabs are a block state of the normal slab blocks.
How to reproduce
/setblock ~ ~ ~ oak_slab[type=double]Expected result
Double oak slab is placedObserved result
Syntax errorList from
MCPE-178379:
Block Double ID Single ID (to merge into) Oak Slab double_oak_slab oak_slab Spruce Slab double_spruce_slab spruce_slab Birch Slab double_birch_slab birch_slab Jungle Slab double_jungle_slab jungle_slab Acacia Slab double_acacia_slab acacia_slab Dark Oak Slab double_dark_oak_slab dark_oak_slab Mangrove Slab double_mangrove_slab mangrove_slab Cherry Slab double_cherry_slab cherry_slab Bamboo Slab double_bamboo_slab bamboo_slab Bamboo Mosaic Slab double_bamboo_mosaic_slab bamboo_mosaic_slab Crimson Slab double_crimson_slab crimson_slab Warped Slab double_warped_slab warped_slab Cobbled Deepslate Slab cobbled_deepslate_double_slab cobbled_deepslate_slab Polished Deepslate Slab polished_deepslate_double_slab polished_deepslate_slab Deepslate Brick Slab deepslate_brick_double_slab deepslate_brick_slab Deepslate Tile Slab deepslate_tile_double_slab deepslate_tile_slab Tuff Slab tuff_double_slab tuff_slab Polished Tuff Slab polished_tuff_double_slab polished_tuff_slab Tuff Brick Slab tuff_brick_double_slab tuff_brick_slab Mud Brick Slab mud_brick_double_slab mud_brick_slab Blackstone Slab blackstone_double_slab blackstone_slab Polished Blackstone Slab polished_blackstone_double_slab polished_blackstone_slab Polished Blackstone Brick Slab polished_blackstone_brick_double_slab polished_blackstone_brick_slab Cut Copper Slab double_cut_copper_slab cut_copper_slab Exposed Cut Copper Slab exposed_double_cut_copper_slab exposed_cut_copper_slab Weathered Cut Copper Slab weathered_double_cut_copper_slab weathered_cut_copper_slab Oxidized Cut Copper Slab oxidized_double_cut_copper_slab oxidized_cut_copper_slab Waxed Cut Copper Slab waxed_double_cut_copper_slab waxed_cut_copper_slab Waxed Exposed Cut Copper Slab waxed_exposed_double_cut_copper_slab waxed_exposed_cut_copper_slab Waxed Weathered Cut Copper Slab waxed_weathered_double_cut_copper_slab waxed_weathered_cut_copper_slab Waxed Oxidized Cut Copper Slab waxed_oxidized_double_cut_copper_slab waxed_oxidized_cut_copper_slab
is duplicated by
“double_wooden_slab” block is now split into unique instances “double_oak_slab”, “double_spruce_slab”, “double_birch_slab”, “double_jungle_slab”, “double_acacia_slab”, “double_dark_oak_slab”
This change from the 1.20.70.20 beta doesn't match how Java handles these blocks, leading to disparity, unlike most of the flattening changes. In Java, double slabs are a block state of the normal slab blocks.
How to reproduce
/setblock ~ ~ ~ oak_slab[type=double]Expected result
Double oak slab is placedObserved result
Syntax errorList from
MCPE-178379:
Block Double ID Single ID (to merge into) Oak Slab double_ oak_slaboak_slab Spruce Slab double_spruce_slabspruce_slab Birch Slab double _birch_slabbirch_slab Jungle Slab double_jungle_slabjungle_slab Acacia Slab double_acacia_slabacacia_slab Dark Oak Slab double_dark_oak_slabdark_oak_slab Mangrove Slab double_mangrove_slabmangrove_slab Cherry Slab double_cherry_slabcherry_slab Bamboo Slab double_bamboo_slabbamboo_slab Bamboo Mosaic Slab double_bamboo_mosaic_slabbamboo_mosaic_slab Crimson Slab double_crimson_slabcrimson_slab Warped Slab double_warped_slabwarped_slab Cobbled Deepslate Slab cobbled_deepslate_double_slab cobbled_deepslate_slab Polished Deepslate Slab polished_deepslate_double_slab polished_deepslate_slab Deepslate Brick Slab deepslate_brick_double_slab deepslate_brick_slab Deepslate Tile Slab deepslate_tile_double_slab deepslate_tile_slab Tuff Slab tuff_double_slab tuff_slab Polished Tuff Slab polished_tuff_double_slab polished_tuff_slab Tuff Brick Slab tuff_brick_double_slab tuff_brick_slab Mud Brick Slab mud_brick_double_slab mud_brick_slab Blackstone Slab blackstone_double_slab blackstone_slab Polished Blackstone Slab polished_blackstone_double_slab polished_blackstone_slab Polished Blackstone Brick Slab polished_blackstone_brick_double_slab polished_blackstone_brick_slab Cut Copper Slab double_cut_copper_slab cut_copper_slab Exposed Cut Copper Slab exposed_double_cut_copper_slab exposed_cut_copper_slab Weathered Cut Copper Slab weathered_double_cut_copper_slab weathered_cut_copper_slab Oxidized Cut Copper Slab oxidized_double_cut_copper_slab oxidized_cut_copper_slab Waxed Cut Copper Slab waxed_double_cut_copper_slab waxed_cut_copper_slab Waxed Exposed Cut Copper Slab waxed_exposed_double_cut_copper_slab waxed_exposed_cut_copper_slab Waxed Weathered Cut Copper Slab waxed_weathered_double_cut_copper_slab waxed_weathered_cut_copper_slab Waxed Oxidized Cut Copper Slab waxed_oxidized_double_cut_copper_slab waxed_oxidized_cut_copper_slab “double_wooden_slab” block is now split into unique instances “double_oak_slab”, “double_spruce_slab”, “double_birch_slab”, “double_jungle_slab”, “double_acacia_slab”, “double_dark_oak_slab”
This change from the 1.20.70.20 beta doesn't match how Java handles these blocks, leading to disparity, unlike most of the flattening changes. In Java, double slabs are a block state of the normal slab blocks.
How to reproduce
/setblock ~ ~ ~ oak_slab[type=double]Expected result
Double oak slab is placedObserved result
Syntax errorList from
MCPE-178379:
Block Double ID Single ID (to merge into) Oak Slab oak_double_slab oak_slab Spruce Slab spruce_double_slab spruce_slab Birch Slab birch_double_slab birch_slab Jungle Slab jungle_double_slab jungle_slab Acacia Slab acacia_double_slab acacia_slab Dark Oak Slab dark_oak_double_slab dark_oak_slab Mangrove Slab mangrove_double_slab mangrove_slab Cherry Slab cherry_double_slab cherry_slab Bamboo Slab bamboo_double_slab bamboo_slab Bamboo Mosaic Slab bamboo_mosaic_double_slab bamboo_mosaic_slab Crimson Slab crimson_double_slab crimson_slab Warped Slab warped_double_slab warped_slab Cobbled Deepslate Slab cobbled_deepslate_double_slab cobbled_deepslate_slab Polished Deepslate Slab polished_deepslate_double_slab polished_deepslate_slab Deepslate Brick Slab deepslate_brick_double_slab deepslate_brick_slab Deepslate Tile Slab deepslate_tile_double_slab deepslate_tile_slab Tuff Slab tuff_double_slab tuff_slab Polished Tuff Slab polished_tuff_double_slab polished_tuff_slab Tuff Brick Slab tuff_brick_double_slab tuff_brick_slab Mud Brick Slab mud_brick_double_slab mud_brick_slab Blackstone Slab blackstone_double_slab blackstone_slab Polished Blackstone Slab polished_blackstone_double_slab polished_blackstone_slab Polished Blackstone Brick Slab polished_blackstone_brick_double_slab polished_blackstone_brick_slab Cut Copper Slab double_cut_copper_slab cut_copper_slab Exposed Cut Copper Slab exposed_double_cut_copper_slab exposed_cut_copper_slab Weathered Cut Copper Slab weathered_double_cut_copper_slab weathered_cut_copper_slab Oxidized Cut Copper Slab oxidized_double_cut_copper_slab oxidized_cut_copper_slab Waxed Cut Copper Slab waxed_double_cut_copper_slab waxed_cut_copper_slab Waxed Exposed Cut Copper Slab waxed_exposed_double_cut_copper_slab waxed_exposed_cut_copper_slab Waxed Weathered Cut Copper Slab waxed_weathered_double_cut_copper_slab waxed_weathered_cut_copper_slab Waxed Oxidized Cut Copper Slab waxed_oxidized_double_cut_copper_slab waxed_oxidized_cut_copper_slab
relates to
Skulls were not flattened to the same block IDs as Java Edition, similar to double slabs (MCPE-178372) and light blocks (MCPE-183450).
Expected Result
Skulls are flattened into two block IDs: a floor and wall version.
| Original ID | Data Value | Flattened IDs |
|---|---|---|
| skull | 0 | skeleton_skull skeleton_wall_skull |
| skull | 1 | wither_skeleton_skull wither_skeleton_wall_skull |
| skull | 2 | zombie_head zombie_wall_head |
| skull | 3 | player_head player_wall_head |
| skull | 4 | creeper_head creeper_wall_head |
| skull | 5 | dragon_head dragon_wall_head |
| skull | 6 | piglin_head piglin_wall_head |
This allows commands to place a skull on the floor facing a specific direction, which is currently impossible on Bedrock.
Observed Result
Skulls were flattened into one block ID which covers both the floor and wall variants.
| Original ID | Data Value | Flattened IDs |
|---|---|---|
| skull | 0 | skeleton_skull |
| skull | 1 | wither_skeleton_skull |
| skull | 2 | zombie_head |
| skull | 3 | player_head |
| skull | 4 | creeper_head |
| skull | 5 | dragon_head |
| skull | 6 | piglin_head |
This makes it impossible for commands to place a skull on the floor facing a specific direction.
This is a full compilation of all block IDs which still differ from Java Edition and should be flattened. The yellow_flower and grass IDs were updated to dandelion and grass_block, despite not having any aux ID variants. Many other IDs still need the same treatment.
Some previously flattened blocks also have incorrect IDs. They are excluded from the table below. See:
Double Slabs: MCPE-178372
Light Blocks: MCPE-183450
Skulls: MCPE-186357
This table will be kept up-to-date if any of these IDs are flattened/updated in the future.
| Current ID | Current Data Values | Flattened IDs | Notes |
|---|---|---|---|
| acacia_standing_sign | N/A | acacia_sign | |
| air | 0 | air cave_air void_air |
|
| azalea_leaves_flowered | 0 | flowering_azalea_leaves | |
| bamboo_standing_sign | N/A | bamboo_sign | |
| bed | 0-15 | black_bed blue_bed brown_bed cyan_bed gray_bed green_bed light_blue_bed light_gray_bed lime_bed magenta_bed orange_bed pink_bed purple_bed red_bed yellow_bed white_bed |
Item form should be merged with block form, like skulls were in 1.21.40. |
| big_dripleaf | 0 | big_dripleaf big_dripleaf_stem |
|
| birch_standing_sign | N/A | birch_sign | |
| brick_block | 0 | bricks | |
| cauldron | N/A | cauldron lava_cauldron powder_snow_cauldron water_cauldron ? potion_cauldron ? |
Potion cauldrons may require a version-exclusive block ID. |
| cave_vines (body) cave_vines_body_with_berries |
N/A | cave_vines_plant | cave_vines on Bedrock includes both the body and head by using different "age" values. |
| cave_vines (head) cave_vines_head_with_berries |
N/A | cave_vines | Berry status is a block state on Java Edition. |
| cherry_standing_sign | N/A | cherry_sign | |
| crimson_standing_sign | N/A | crimson_sign | |
| darkoak_standing_sign | N/A | dark_oak_sign | |
| darkoak_wall_sign | N/A | dark_oak_wall_sign | |
| deadbush | N/A | dead_bush | |
| dirt_with_roots | 0 | rooted_dirt | |
| end_brick_stairs | 0 | end_stone_brick_stairs | |
| end_bricks | 0 | end_stone_bricks | |
| fence_gate | 0 | oak_fence_gate | |
| flower_pot | N/A | flower_pot potted_acacia_sapling potted_allium potted_azalea_bush potted_azure_bluet potted_bamboo potted_birch_sapling potted_blue_orchid potted_brown_mushroom potted_cactus potted_cherry_sapling potted_closed_eyeblossom potted_cornflower potted_crimson_fungus potted_crimson_roots potted_dandelion potted_dark_oak_sapling potted_dead_bush potted_fern potted_flowering_azalea_bush potted_jungle_sapling potted_lily_of_the_valley potted_mangrove_propagule potted_oak_sapling potted_open_eyeblossom potted_orange_tulip potted_oxeye_daisy potted_pale_oak_sapling potted_pink_tulip potted_poppy potted_red_mushroom potted_red_tulip potted_spruce_sapling potted_torchflower potted_warped_fungus potted_white_tulip potted_wither_rose |
|
| frame | N/A | item_frame | Item frames are not a "block" on Java Edition. Still, the Bedrock block ID should match the Java entity ID. |
| glow_frame | N/A | glow_item_frame | Same as above. |
| grass_path | 0 | dirt_path | |
| hardened_clay | 0 | terracotta | |
| jungle_standing_sign | N/A | jungle_sign | |
| kelp | N/A | kelp kelp_plant |
|
| lit_blast_furnace | 0 | blast_furnace | Lit blast furnace is a block state of the "blast_furnace" ID on Java Edition. |
| lit_deepslate_redstone_ore | 0 | deepslate_redstone_ore | Lit deepslate redstone ore is a block state of the "deepslate_redstone_ore" ID on Java Edition. |
| lit_furnace | 0 | furnace | Lit furnaces are a block state of the "furnace" ID on Java Edition. |
| lit_pumpkin | 0 | jack_o_lantern | |
| lit_redstone_lamp | 0 | redstone_lamp | Lit redstone lamp is a block state of the "redstone_lamp" ID on Java Edition. |
| lit_redstone_ore | 0 | redstone_ore | Lit redstone ore is a block state of the "redstone_ore" ID on Java Edition. |
| lit_smoker | 0 | smoker | Lit smoker is a block state of the "smoker" ID on Java Edition. |
| magma | 0 | magma_block | |
| mangrove_standing_sign | N/A | mangrove_sign | |
| melon_block | 0 | melon | |
| mob_spawner | 0 | spawner | |
| nether_brick | 0 | nether_bricks | The Nether Brick item used to craft Nether Bricks is still using its outdated "netherbrick" ID because the block already had it. Once the block ID is changed to "nether_bricks", the item can be updated to "nether_brick". |
| normal_stone_slab (MCPE-182109) | N/A | stone_slab | "stone_slab" is not in the blocks.json deprecated ID list, but it was the old ID for the Smooth Stone Slab, now "smooth_stone_slab". |
| normal_stone_stairs (MCPE-183635) | N/A | stone_stairs | "stone_stairs" is currently used by Cobblestone Stairs. It should first be flattened into "cobblestone_stairs". |
| noteblock | 0 | note_block | |
| pale_oak_standing_sign | N/A | pale_oak_sign | |
| portal | 0 | nether_portal | |
| powered_comparator | 0 | comparator | Powered comparator is a block state on Java Edition. |
| powered_repeater | 0 | repeater | Powered repeater is a block state on Java Edition. |
| prismarine_bricks_stairs | 0 | prismarine_brick_stairs | |
| red_nether_brick | 0 | red_nether_bricks | |
| redstone_torch | ? | redstone_torch redstone_wall_torch |
Lit redstone torch is a block state on Java Edition. |
| reeds | 0 | sugar_cane | Item form "sugar_cane" should be merged with block form, like skulls were in 1.21.40. |
| seagrass | ? | seagrass tall_seagrass |
|
| silver_glazed_terracotta | 0 | light_gray_glazed_terracotta | |
| slime | 0 | slime_block | |
| small_dripleaf_block | 0 | small_dripleaf | |
| snow | 0 | snow_block | |
| snow_layer | 0-7 | snow | "snow" is currently used by Snow Block. It should first be flattened into "snow_block". |
| soul_torch | ? | soul_torch soul_wall_torch |
|
| spruce_standing_sign | N/A | spruce_sign | |
| standing_banner | N/A | black_banner blue_banner brown_banner cyan_banner gray_banner green_banner light_blue_banner light_gray_banner lime_banner magenta_banner orange_banner pink_banner purple_banner red_banner yellow_banner white_banner |
Item form "banner" should be merged with block form, like skulls were in 1.21.40. |
| standing_sign | N/A | oak_sign | |
| stone_stairs | 0 | cobblestone_stairs | |
| torch | ? | torch wall_torch |
|
| trapdoor | 0 | oak_trapdoor | |
| undyed_shulker_box | N/A | shulker_box | "shulker_box" is included in the blocks.json deprecated ID list as it was the pre-flattening colored shulker box ID. |
| unlit_redstone_torch | ? | redstone_torch redstone_wall_torch |
Lit redstone torch is a block state on Java Edition. |
| unpowered_comparator | 0 | comparator | Powered comparator is a block state on Java Edition. Item form "comparator" should be merged with block form, like skulls were in 1.21.40. |
| unpowered_repeater | 0 | repeater | Powered repeater is a block state on Java Edition. Item form "repeater" should be merged with block form, like skulls were in 1.21.40. |
| wall_banner | N/A | black_wall_banner blue_wall_banner brown_wall_banner cyan_wall_banner gray_wall_banner green_wall_banner light_blue_wall_banner light_gray_wall_banner lime_wall_banner magenta_wall_banner orange_wall_banner pink_wall_banner purple_wall_banner red_wall_banner yellow_wall_banner white_wall_banner |
|
| wall_sign | N/A | oak_wall_sign | |
| warped_standing_sign | N/A | warped_sign | |
| waterlily | 0 | lily_pad | |
| web | 0 | cobweb | |
| wooden_button | N/A | oak_button | |
| wooden_door | N/A | oak_door | |
| wooden_pressure_plate | N/A | oak_pressure_plate |
Expected Result
All block IDs match Java Edition after the Flattening.
Observed Result
Many block IDs still need to be updated or flattened.


Confirmed.
Could the extra stone_slab conversion data from
MCPE-178379be added too, now that those IDs have been split?