/cloneコマンドは、指定した範囲にあるブロックを好きな場所にコピーできるコマンドです。同じ建物や装置をいくつも作ったり、特定のブロックを取り出してコピーしたいときにとても便利。Java版・統合版どちらでも使用可能です。くわしい使い方を紹介します。
範囲を指定してブロックをコピーする
「指定した範囲内のブロックをすべてコピーする」のが、/cloneコマンドのもっとも基本的な機能です。コピー元の始点&終点と、コピー先の始点を入力して実行します。
/clone <begin> <end> <destination>
begin | コピーする範囲の始点の座標を入力します。始点とは、範囲のなかでもっとも値の小さな座標(x,y,z)です。 |
---|---|
end | コピーする範囲の終点の座標を入力します。終点とは、範囲のなかでもっとも値の大きな座標(x,y,z)です。 |
destination | コピー先の始点の座標を入力します。コピー元と重なる範囲は指定できません(重なっていても強制的にコピーするコマンドは後述)。 |
たとえば、(x,y,z)=(100,64,110)から(x,y,z)=(105,69,115)までの範囲を、(x,y,z)=(120,64,120)にコピーしたいときは、下のように入力します。
/clone 100 64 110 105 69 115 120 64 120
座標の指定には、数字のほかにチルダ(~)表記やキャレット(^)表記も使えます。たとえば、自分が(x,y,z)=(100,64,110)に立っているとするなら、下のコマンドを実行すると上で紹介したコマンドと同じ結果が得られます。
/clone ~ ~ ~ ~5 ~5 ~5 ~20 ~ ~10
コマンドブロックは設定されたコマンドごと、チェストは中身ごとコピーできます。
空気以外のブロックだけをコピーする
/cloneコマンドは、座標のあとにmaskedをつけて実行すると、空気ブロック以外のブロックだけをコピーすることができます。コピー元の空間まるごとで上書きするのではなく、構造物だけをコピーしたいときに便利です。次の構文を使います。
/clone <begin> <end> <destination> [replace|masked]
replaceは空気ブロックもコピーされるモードです。(何も指定しないときと同じ)
たとえば、(x,y,z)=(62,64,102)から(x,y,z)=(63,65,103)までにある空気以外のブロックを、(x,y,z)=(62,64,109)にコピーしたいときは、下のように入力します。
/clone 62 64 102 63 65 103 62 64 109 masked
特定のブロックだけをコピーする
/cloneコマンドは、範囲内の特定のブロックだけをコピーすることもできます。以下の構文を使います。
/clone <begin> <end> <destination> filtered <filter>
<filter>には、コピーしたいブロックのIDを入力します。個別のIDのほか、「#minecraft:logs」などのブロックの種類を指定するIDも使えます。
たとえば、現在地を始点とする20×10×20の範囲にあるブロックのうち、オークの原木(minecraft:oak_log)だけを20ブロック上空にコピーするときは、次のように入力して実行します。
/clone ~ ~ ~ ~19 ~9 ~19 ~ ~19 ~ filtered minecraft:oak_log
現在地を始点とする10×5×10の範囲にあるブロックのうち、ベッドだけを20ブロック先(Z軸方向)にコピーするときは、次のように入力して実行します。
/clone ~ ~ ~ ~9 ~4 ~9 ~ ~ ~19 filtered #minecraft:beds
統合版でのfilteredを使ったコマンド構文はJava版とすこし違っていて、以下のようになっています。
/clone <begin> <end> <destination> filtered <cloneMode> <tileName> [blockStates]
cloneMode | force(強制コピー)、move(移動)、normal(デフォルト)のいずれかを指定する |
---|---|
tileName | ブロックIDを指定する |
blockStates | ブロックの状態を指定する(省略可) |
たとえば、地面の10×1×10の範囲にあるブロックのうち草ブロックだけを、現在地から6ブロック上にコピーするときは、次のように入力します。
/clone ~ ~-1 ~ ~9 ~-1 ~9 ~ ~5 ~ filtered normal grass
ディメンションを指定してコピーする
Java版の/cloneコマンドは、コピー元やコピー先のディメンションを指定してブロックをコピーすることができます。オーバーワールドにいながら、ネザーやエンドのブロックを複製することが可能です。
/clone from <sourceDimension> <begin> <end> to <targetDimension> <destination>
<sourceDimension>でコピー元のディメンションを、<targetDimension>でコピー先のディメンションを指定します。デフォルトで指定できるディメンションは、次の3つです。
オーバーワールド | minecraft:overworld |
---|---|
ネザー | minecraft:the_nether |
エンド | minecraft:the_end |
たとえば、ネザーの(x,y,z)=(-143,63,-365)から(x,y,z)=(-163,73,-385)までの範囲にあるブロックを、オーバーワールドの現在地にコピーしたいときは、以下のコマンドを実行します。
/clone from minecraft:the_nether -143 63 -365 -163 73 -385 ~ ~ ~
ディメンションを指定するときは、コマンド実行時に指定したディメンションが読み込まれている必要があります。
マルチプレイで他のプレイヤーがネザーにいっていれば、オーバーワールドにネザーのブロックをコピーできます。ただし統合版では、この機能は未実装です。
ブロックを移動する
[force|move|normal]の指定で、さらに細かく挙動を制御することができます。
/clone <begin> <end> <destination> [replace|masked] [force|move|normal]
/clone <begin> <end> <destination> filtered <filter> [force|move|normal]
force | コピー元とコピー先の領域が重なっていても、強制的にコピーする。 |
---|---|
move | コピー元をコピー先に移動する(コピー元が空気ブロックで置き換えられる) |
normal | 指定しない場合と同じ |
以下のようにforceを指定すると、コピー元とコピー先の範囲が重なっていますが強制的にコピーされます(指定なしだとエラーが出て実行できません)。
/clone ~ ~ ~ ~5 ~5 ~5 ~4 ~ ~ replace force
以下のようにmoveを指定すると、コピー元の空気以外のブロックがコピー先に移動します(移動したブロックがもともとあった場所は、空気ブロックで置き換えられます)。
/clone ~ ~ ~ ~5 ~5 ~5 ~10 ~ ~ masked move
たとえば、以下のようなコマンドを実行すると、地上に生成されたカボチャだけを上空に移動させることができます。
/clone ~ ~ ~ ~20 ~5 ~20 ~ ~6 ~ filtered minecraft:pumpkin move
以上、マイクラの/cloneコマンドの基本的な使い方と、入力例の紹介でした。座標の入力がしんどいですが、大規模な実験場をつくるときには欠かせないコマンドです。ブロックの状態を指定して複製するといったこともできるので、ぜひいろいろ試してみてください。
その他のマイクラのコマンドについては以下のページでまとめて紹介しています。
nishiのマイクラ攻略の「マイクラのコマンド一覧!効果と入力例をまとめました」の記事一覧です。