A quick recap: During a falling block's first tick of existence (determined by its Time
NBT value), it will check if it is inside of a matching real block. If so, it will delete the block. If not, it will delete itself. Command users have generally worked around this by setting Time
to 1 or higher when summoning the falling block.
However, this is broken in 1.14. The entity will not delete itself, but it will delete client-side blocks. The blocks still exist on the server, and will reappear if the player relogs or attempts to place a block in them.
To test, run this command while standing on a stone block:
/summon minecraft:falling_block ~ ~-.01 ~ {BlockState:{Name:"minecraft:stone"},Time:600,NoGravity:1b,DropItem:0b}
(Note that Time
is set to 600, causing the entity to immediately despawn. The bug still happens when Time
is set to 1, but you'll end up with a number of falling blocks floating around your world.)
The block will appear to vanish, leaving you glitching up and down as the client and server are unable to agree on whether you are standing or falling.
Attachments
Comments 4
Can confirm in 20w51a. I've attached a video which demonstrates the problem. I've also provided some reproduction steps.
Steps to Reproduce:
Stand on a stone block and run
/summon minecraft:falling_block ~ ~-.01 ~ {BlockState:{Name:"minecraft:stone"},Time:600,NoGravity:1b,DropItem:0b}
→ ❌ Notice how the stone block disappears (client-side).
This actually appears to be a duplicate of MC-72248, as this ticket provides more information regarding the issue, along with a detailed code analysis.
Yeah this bug is pretty big for me as it affects the whole gamemode I am trying to create with command blocks. Obviously not going to be a big deal for everyone but a fix of some sort would be great