Block state predicates in commands do not work properly (unprovided states require default value)
The bug
Unspecified states in block-checking commands are treated as though you specified the default value. This is fine for block-placing commands, but for block-checking commands, it's problematic.
How to reproduce
1. Place some acacia stairs facing all four directions
2. Run this command:
/fill ~-5 ~-5 ~-5 ~5 ~5 ~5 stone replace acacia_stairs["upside_down_bit":false]
Expected result
All stairs should be replaced with stone
Observed result
Only the west-facing stairs were replaced
Notes
This affects /execute if block as well. This is identical to MC-121690, which affected Java for a single snapshot in 2017. An equally hasty fix for bedrock would be much appreciated
2023-03-15, 09:20 PM
2025-02-01, 04:57 PM
15
9
997772, 1133402
-