The minecraft:flower_pottable block component uses a validation mechanism that is too naive. It must verify that the minecraft:geometry and minecraft:material_instances components are available on the default permutation of a block. Unfortunately, it seeks to handle this by only looking for those components in the root components object and not in any components bindings inside permutations filters.
The result of this validation failure is that the given block entirely fails to load. Other similar components, such as minecraft:item_visual handle this behavior correctly by processing the permutations first and then making a validation determination.
According to community reports, this loading behavior was back-propagated across format versions, breaking older content.
Demonstration
The attached screenshot demonstrates this issue. The given block (see Reproduction) should have no issue being loaded.
Reproduction
This issue occurs with any custom block whose rendering components have been set in permutations. The example used in the screenshot is as follows:
{
"format_version": "1.26.20",
"minecraft:block": {
"description": {"identifier": "bug_pottable:custom_block"},
"components": {
"minecraft:flower_pottable": {}
},
"permutations": [
{
"condition": "true",
"components": {
"minecraft:geometry": "minecraft:geometry.cross",
"minecraft:material_instances": {
"*": {"texture": "obsidian"}
}
}
}
]
}
}The demo screenshot and code are taken from the behavior pack in the attached world for convenience. This world can be opened (in Minecraft Preview) for inspection or unzipped to access the code associated with such. Ensure that content logs are enabled with at least the “Warn” log level to see the error.
Thank you for helping us improve Minecraft! We saved your files: