Omitting block properties in block-testing command contexts only checks the default value
Partner Rank:
1
Partner Team Reporting:
Everbloom Games
Verification builds:
1.19.80.21
Summary:
Omitting block properties in block-testing command contexts makes the block test succeed only when the omitted properties are their default values, instead of accepting all values.
Impact:
This is unintuitive behavior and severely limits how commands can interact with block properties. For example, you cannot test for an "upside-down" stair, you have to test all rotations of upside down slabs separately, despite having a dedicated upside down property we should be able to test for.
Repro Steps:
- Open a world with cheats on.
- Place down right-side-up Acacia Stairs in all four cardinal directions.
- Run the following command while standing on all four stairs (on the top step, not the middle step)
execute if block ~ ~-1 ~ acacia_stairs["upside_down_bit":false]
Observed Results:
The command only succeeds on the stair facing north (the bottom step of which is on the north half), which is the stair's default rotation.
Expected Results:
The command should succeed on all four stairs you placed, as the command was explicitly testing for it not being upside-down, regardless of its direction.
Regression Build:
N/A
Screenshots / Videos Attached:
No