Is there a way to change the orientation of a cloned collection of blocks?
I know how to use the clone
command to copy a collection of blocks between specified coordinates for a lower-near-right
and upper-far-left
of the area to be copied, to the lower-far-left
of the area to copy to:
clone 0 4 0 -5 9 -5 5 4 5
| from | to | destination
The command above will copy a 5x5x5
collection of blocks to the coordinate 5, 4, 5
where that coordinate is the lower-far-left corner of the copied blocks, filling away from the world origin, towards the lower-near-right
corner specified as the clone area starting point:
The gold blocks are the lower-near-right
corner of the cloned area and the diamond blocks are the lower-far-left
corner.
With that in mind, I often find myself wanting to copy a collection of blocks to a new area with a new orientation. For example, let's say I wanted to create a cross where each arm is a 2x1x3
collection of any block type. I want to be able to create the first arm, then clone it, rotated 90 degrees, then repeat the rotate and clone until I have all four arms leaving me to simply fill in the center:
Is there a way to either:
- Clone with a lower-right and upper-left position specified for the destination?
- Clone with a specified rotation on say the y-axis?
NOTE: Creating a custom behavior pack isn't out of the question, so long as I can easily execute the clone.
The definitions of lower-far-left
, lower-near-right
, and upper-far-left
, in the context of this post, are, with respect to the origin of the world located at 0, 0, 0
where: lower-far-left
denotes a smaller value all three axes, lower-near-right
denotes a smaller value on the y-axis with a larger value on the x and z axes, and upper-far-left
denotes a larger value on the y-axis with a smaller value on the x and z axes.
Solution 1:
Did you happen to try the Structure Block yet? Just note that rotation of custom blocks are not yet possible.
Unrelated Tip: For the source coordinates, it does not matter which corner you specify first in the /clone
command, but the destination corner will always be the one which is towards negative infinity on all of X, Y, and Z.