mojira.dev
MC-220026

Unsupported sand/gravel two or more deep, doesn't react to blocks placed on it

The bug

Unsupported sand/gravel two or more deep, doesn't react to blocks placed on it.

What I expected to happen

The sand to collapse downwards to a solid floor.

What actually happened

The upper sand in the pile basically acted like it was on a solid block.

How to reproduce

  1. Create a new world eg: -8425874089412349429

  2. Find an area with unsupported Sand
        131 69 -92 = 2 unsupported
        130 69 -92 = 3 unsupported
        129 69 -92 = 4 unsupported

  3. Place a block above each of them and nothing happens

Note

The same thing happens when a collapse of 1 high or more (from the bottom) signals the upper sand of a 2+ unsupported stack alongside it to collapse, that 2+ doesn't, it seems that the supported check only applies to that block and travels sideways and upwards, but NOT downwards.

Optional suggestion

Rather than have these wait to react to a player, consider collapsing them once a player is 1 chunk away, that way they are pre-collapsed without having to wait for a player to trigger them, accidentally or otherwise, without needing to collapse every floating collapsible block occurrence in that world.

Comments 2

If you update the a gravity block that isn't on the bottom of a floating stack, then the block sees a block supporting it.

Simple test then is supporting block a gravity affected block (Sand/Red Sand/Gravel) - if so test downwards for air/non gravity affected block.

it can propagate downwards as fast as falling sand does outwards and blocks passing the query downwards could ignore another test request for a few ticks unless moved preventing it being triggered by multiple sand* side drops.

Another reason for the optional suggestion above too, loading a chunk visualises those surface gravity blocks and caves etc not supporting them, hence the ideal time to drop them.

John Hughes

(Unassigned)

Confirmed

1.16.5, 21w11a

Retrieved