Mojira Archive
MCM-1644

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:

  1. Open a world with cheats on.
  2. Place down right-side-up Acacia Stairs in all four cardinal directions.
  3. 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

Unresolved

Energyxxer

2023-03-15, 08:57 PM

2023-03-20, 05:54 PM

3

3

-

-