-
Bug
-
Resolution: Fixed
-
Minecraft 17w16a
-
Confirmed
If a chain command block is set to clone itself into the block it's pointing at, it creates an infinite loop that freezes the server.
To Reproduce:
- Place an impulse command block. Do not enter a command.
- Place a chain command block in front of it, facing horizontally.
- Enter one of these commands:
/clone ~ ~ ~ ~ ~ ~ ~ ~ ~-1 (If block is facing north) /clone ~ ~ ~ ~ ~ ~ ~ ~ ~1 (If block is facing south) /clone ~ ~ ~ ~ ~ ~ ~1 ~ ~ (If block is facing east) /clone ~ ~ ~ ~ ~ ~ ~-1 ~ ~ (If block is facing west)
into the chain block.
- Activate the impulse block.
- Notice that you cannot interact with entities, chunks don't load, attempting to close the game crashes it, etc.
Reason:
In 17w16a, Minecraft started using a new way of executing command blocks. Instead of registering every chain block to be ticked ahead of time, only impulse and repeating blocks are registered and execution follows the chain blocks.
This means that if chain blocks are added during the tick they will be executed like normal, so by cloning themselves they can ensure that the chain never ends.