mojira.dev
MC-114240

clone command does not copy blocks requiring a non solid block above successfully

The bug

Blocks which require a non-solid block above are not cloned successfully (or rather change when placed) when the block above them is cloned as well. An example for this is farmland or the path block which both turn into dirt.

How to reproduce

  1. Place a path block and on top of it tripwire

  2. Clone the path block and the tripwire
    → You will notice that the path block turned into dirt

Code analysis

Based on 1.11.2 decompiled using MCP 9.35 rc1

The method net.minecraft.command.CommandClone.execute(MinecraftServer, ICommandSender, String[]) places at every position where it is going to place a block a barrier block and after that starts pasting the blocks. This means the block requiring a non-solid block above, in this case a path block, is placed below a barrier block which is a solid-block and therefor the pasted block changes, in this case it turns into dirt.

Linked issues

Attachments

Comments 6

Can you please provide a screenshot of your setup and where you are cloning the farmland to?

I've added the screenshots.

I first summon armor stands on the brown glass, and then do this command a bunch of times:
execute @r[type=armor_stand,x=-14,y=14,z=-40,dx=99,dy=5,dz=22] ~ ~ ~ clone ~-5 ~-6 ~-5 ~5 ~-1 ~5 67 150 56

I changed the description to be more general. As a workaround you will probably have to clone the layer with the farmland and everything below and then in a second step the crops and everything above.

Can confirm for 1.15.2

To reproduce:

/tp @p 0 128 0
/setblock 0 126 0 grass_path
/clone 0 126 0 0 127 0 0 126 0 replace move

Or (when standing on a grass path block):

/clone ~ ~ ~ ~ ~1 ~ ~ ~ ~ replace force

Remco Timmer

(Unassigned)

Confirmed

Platform

Normal

Commands

/clone, barrier, farmland, grass_path, non-solid, non-solid-blocks

Minecraft 1.11.2, Minecraft 17w06a, 1.14.4, 1.16.5, 1.17.1, 21w37a

Retrieved