Releasing a gravity-affected block with a sticky piston causes unexpected behavior / crashes
eerussianguy opened this issue ยท 1 comments
Version 125.
There's lots of different ways to reproduce this, one of which I showed here:
streamable link
Essentially releasing falling blocks with a piston causes the game to freak out and freeze. It doesn't produce a crash report because Windows ends up asking you to close the game manually because it froze.
Simplest form of the bug is when you have a dirt sitting on a block held by a sticky piston. Retract the piston to remove the block from underneath the dirt and the dirt will freeze in place. This doesn't cause any lag. Once you get to ~3 blocks doing the same thing, the game will break.
The reason is that piston need some time to retract. And while it is retracting, block it's pulling still there (as entity). Vanilla entity movement for bottom block tops, as it think it is grounded. Then two entities of bottom and top blocks collide and make the hell.
Vanilla move method on EntityFallingBlockTFC:121
ground the entity at Entity:783
and set vertical speed to zero.