In previous releases "part_visibility" accepted molang but now that it was removed and placed inside "geometry" as "bone_visibility" it no longer supports molang and only accepts boolean values.
"minecraft:geometry": { "identifier": "geometry.custom_block", "bone_visibility": { // does not have Molang support "gate": true, //"q.block_property('furnace:gate') == 0", "open_gate": false //"q.block_property('furnace:gate') == 1" } } ...
If you try to use a molang value, the block will simply fail and not load into the game.
[Json][error]-block_definitions | C:/Users/Minec/AppData/Local/Packages/Microsoft.MinecraftUWP_8wekyb3d8bbwe/LocalState/games/com.mojang/development_behavior_packs/experimental | blocks/custom_block.json | upgrade blocks/custom_block.json | -> minecraft:block -> components -> minecraft:geometry -> bone_visibility: *invalid value*
I created a world with a custom block with which the player interacting with the block should open a gate, that is, a block state changes from 0 to 1 and the first 3d model is hidden and the second is shown.
To replicate the problem, simply change the boolean values to the commented molang values.