The minecraft:precipitation_interactions component does not properly vary across permutation definitions of a custom block.
Demonstration
The attached videos demonstrate this issue. Both videos showcase a single custom block type. The default permutation (with the obsidian texture) is defined to allow precipitation to pass through it. Its behavior is correct. The alternative permutation (with the glowstone texture) is defined to block precipitation. Its behavior is incorrect.
Reproduction
The example block shown in the videos is as follows:
{
"format_version": "1.26.20",
"minecraft:block": {
"description": {
"identifier": "bug_precipitation:custom_block",
"states": {
"bug_precipitation:alternative": [false, true]
}
},
"components": {
"minecraft:geometry": "minecraft:geometry.full_block",
"minecraft:material_instances": {
"*": {"texture": "obsidian"}
},
"minecraft:precipitation_interactions": {"precipitation_behavior": "none"}
},
"permutations": [
{
"condition": "q.block_state('bug_precipitation:alternative')",
"components": {
"minecraft:material_instances": {
"*": {"texture": "glowstone"}
},
"minecraft:precipitation_interactions": {"precipitation_behavior": "obstruct_rain"}
}
}
]
}
}The demo videos 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. If testing these separately, ensure rain is turned on, and tests are preformed in the Overworld.
Thank you for helping us improve Minecraft! We saved your files: