A ghost block will be created when an enderman puts down a moving piston head block.
Steps to Reproduce:
Summon an enderman in an enclosed space
Modify what block it holds:
execute as @e[type=minecraft:enderman] run data merge entity @s {carriedBlockState:{Name:"minecraft:moving_piston"}}
Wait for it to place the block
(If it's taking too long, tick sprint the game)Try and place a block where the enderman set down the moving piston head
Expected & Observed Results:
❌ → A ghost block will be present where the enderman placed it. Despite the block appearing to be air, the player will not be able to interact with the block postion.
✔ → The moving piston head would either not be allowed as something an enderman can hold, something it can't put down, or it would just be destroyed when placed.
Notes:
In previous versions, the piston_extension block has been used in Enderman anti-griefing command block designs, because they could previously not place them and would also not have any visual appearance.
Thee ghost block can be destroyed with TNT or /setblock
Comments 6
This is still an issue in 1.19. (We have to destroy our End Island on our realm because thousands of Endermen are spawning and not despawning.)
Also related but separate bug, this is still occurring even though the carriedBlockState command block was broken.
I believe 1.13 allows you with datapacks to empty the list of blocks that endermen can pick up. This is a far superior fix than running a looped command block. Even if this is a proper bug, I wanted to share the (official) workaround.