mojira.dev
MC-248858

Falling blocks no longer creates block updates in entity phase

The bug

In 1.18.2, falling blocks no longer produces block updated in the entity phase. The expected behavior would be for falling blocks to produce a block update when the sand entity gets ticked in the entity phase due to the sand block being removed.

How to reproduce

  1. Build the attached build in a version prior to 1.18.2. Observe that the bottom block is pulled to the side before the second top piston pushes.

  2. Build the same build in 1.18.2. The second iron block is no longer pulled to the side due to the lack of a block update in the entity phase scheduling an early block event.

Linked issues

Attachments

Comments 2

This bug has also broken a falling edge that relied on sand to be pulled up to power a comparator. In the image attached, the comparator will not power when the button is pressed in versions 1.18.2, however it will before 1.18.2. Unsure whether the issue is the same or not

We decided to resolve this issue as works as intended.

The change was caused by the fix for MC-243015.
In short, block updates in chunks that are not entity ticking could cause several falling block entities to spawn, as the block was not removed right away.
But this was not the only issue caused by the delayed removal of the block, like for example MC-238200 and MC-151488.
There also were issues it caused for the implementation of dripstone, that required less than ideal workarounds.

While it's not clear why the removal was delayed to begin with, I believe it was a workaround for an engine limitation that since has been resolved, as applying a similar fix to Beta 1.7.3 causes the flickering when sand falls: https://www.youtube.com/watch?v=lL3soEOygnA
(It also was the cause of a sand duplication glitch back then; though unrelated to the current ones with end portals)

While it is unfortunate to lose the emergent behavior described in this report, it is not considered important enough to back away from the fix, as there are also alternative ways to get similar timings.

Alugia

(Unassigned)

Confirmed

(Unassigned)

1.18.2

Retrieved