ダンジョンや配布ワールドに、そんな仕掛けがあったらいいなと思いませんか?
今回のコマンド解説は、そんな夢を叶えてくれる新コマンド「fill」と「clone」の解説です!
使いこなして、楽しいアドベンチャーマップを作ってみましょう。
「fill」コマンドは、Minecraft 1.8で追加された新しいコマンドです。 早速使ってみましょう。基本的には次のような書き方をします。 /fill xの始点 yの始点 zの始点 xの終点 yの終点 zの終点 ブロックID データ値 「xの始点」とか「zの終点」とかで、設置する範囲を決めています。 「データ値」は、そのブロックのバリエーションを指定します。 次に「既存ブロックの処理モード」についてです。(ここは必ず書く必要はありません。) モードに「replace」を指定した時、コマンドの書き方が少し変わります。 /fill xの始点 yの始点 zの始点 xの終点 yの終点 zの終点 ブロックID データ値 置き換えるブロックは、元からあるブロックの中から選ぶということに注意してください。 最後に「カスタマイズ用NBTタグ」についてですが、ここではブロックをカスタマイズするタグを記述します。 使用例: 葉っぱを金ブロックにする もう一つ1.8で追加されたコマンド、「clone」の使い方を解説します。 基本的な使い方はfillと似ています。 /clone xの始点 yの始点 zの始点 xの終点 yの終点 zの終点 コピー先のx コピー先のy コピー先のz 「コピー先のx y z」についてですが、ここで指定した座標を、「x y zの始点」としてコピーされます。 コピーできるのはブロックのみです。Mobはコピーされません。 次に「モード1」の部分の記述についてです。 次に、「モード2」についてです。「モード」を書いた場合はここも必ず書いてください。目次
fillとcloneコマンドの基本的な使い方
ブロックを一括設置するfillコマンドの使い方
範囲を指定して、好きなブロックで塗りつぶしたり、枠を作ったり出来ます。
今までWorldEditでやっていたことがコマンドで出来るようになったわけです。
既存ブロックの処理モード カスタマイズ用NBTタグ
画像で説明するとすれば、こんな感じです。
例えばマツの木材の場合、IDは「minecraft:planks」ですが、種類の番号を「1」とすることでマツになります。
ゲームのデータ上では木材はひとまとめに扱われていて、ここで種類を指定するわけです。
ここには以下の文が当てはまります。モード名 処理内容 destroy 指定された範囲を全て埋める。既存のブロック(種類が変わってないものも含めて)はエンチャントされていないシャベルまたはピッケルで破壊された扱いになり、アイテム化する。(ツタのようなハサミでしか採取できないブロックはドロップしない。液体ももちろんドロップしない。) hollow
指定した範囲で箱を作るように、外側だけブロックを設置し、中身は空気になる。(中身のブロックは消される) もし領域が小さすぎて内側に相当するブロックが無い場合は、replaceのように動作する。keep
指定範囲内の空気のみを、指定したブロックに置き換える。outline
hollowのように箱を作るが、中は元のブロックが残される。replace 指定範囲内の、後述する[置き換える既存のブロック]で指定したブロックだけを置き換える。
replace 置き換える既存のブロック その種類の番号
例えばチェストの名前を変えるなら{CustomName:"TrashBox"}のように記述します。
/fill xの始点 yの始点 zの始点 xの終点 yの終点 zの終点 minecraft:gold_block
replace minecraft:leaves地形をコピーするcloneコマンドの使い方と設定
cloneコマンドでは、指定範囲のブロックを別の場所にコピーする事ができます。
使いこなせば、一瞬で家が出現するなんてことも可能です。
モード1 モード2 オプションのブロックID
また、移動できるブロックは最大32768ブロックまでです。
ここではどのようにコピーするかを指定します。
(ここは記述しなくても構いません。)モード名 処理内容 filtered 「オプションのブロックID」で指定したブロックのみコピーします。 masked
空気以外のみコピーします。
コピー先のペーストされたブロック以外は残ります。 replace 空気を含む、全ブロックをコピーします。
コピー先の地形は消えます。
(デフォルト)
この「モード2」では、コピーする際の処理について指定します。モード名 処理内容 force コピー元とコピー先の領域が重なっていても、
強制的にコピーします。 move コピーした後に、コピー元のブロックが消えます。
コピーというより移動した状態です。
「filtered」モードの場合、指定したブロックがコピー元から消えます。 normal 通常のコピーを行います。(移動も強制コピーもしない)
(デフォルト)
fillとcloneコマンドを使った仕掛け
さて、「fill」と「clone」コマンドの使い方はお分かりいただけたでしょうか。
ここからは、配布ワールド作成などに役立つ仕掛けを幾つか紹介します。
森の木々が一斉に枯れる

ここに森があります。魔法で全て枯れさせてみせましょう。
/fill ~1 ~ ~1 ~40 ~10 ~-40 minecraft:air replace minecraft:leaves

fillコマンドの置き換え機能で、葉ブロックを空気に置き換えています。
応用すれば、一瞬で池の水が枯れるなんてことも可能です。
逆に空気をブロックに置き換えるなら、洞窟を一瞬で埋めたりできるでしょう。
一瞬で家や城が出来上がる
これまでコマンドでブロックを配置する際は、「setblock」コマンドを使うので非常に面倒でしたが、
1.8からはcloneコマンドを使ってとても簡単に建物を出現させられるようになりました。
方法は簡単。どこか適当な場所に建物を作っておき、cloneコマンドでコピーするだけです。

上図のように、地下など見えない場所に建物を作っておき、後からコマンドでコピーすればいいのです。
ここで注意することが一点。
コピーする時は、コマンド実行時に描画されている範囲内同士でしかコピーできません。
要するに、プレイヤーの近くにコピー元とコピー先が無いといけないのです。

大きな建築物を出現させる場合は、コピー元を複数配置して一箇所に集めましょう。
なぜならcloneコマンドでは合計32768ブロックしかコピーできず、50x50x20くらいが限界だからです。
また図のようにコマンドブロックを複数まとめて設置し、一斉にコマンドを実行させましょう。
怪しいところが一つもない最強の落とし穴
最後に、絶対に怪しまれない次世代落とし穴を作ってみましょう。
やることはとっても単純。落とし穴の部分だけ、他と違うブロックにすればいいのです。

落とし穴にする部分だけ「coarse dirt(荒れた土)」にしています。 「荒れた土」は1.8で追加された新ブロックで、緑化できません。詳細はこちらをご覧ください。
/fill ~-10 ~ ~-10 ~10 ~5 ~10 minecraft:lava replace
minecraft:dirt 1
注意!! 荒れた土を指定するので種類の番号「1」を忘れずに!

fillの置き換え機能で、荒れた土を溶岩に置き換えています。
このコマンドを使う際は下図のようにコマンドブロックを設置すればスマートです。

この回路では、クロック回路で「testfor」コマンドを実行し、プレイヤーが近くにいるか判定します。
そのコマンドブロックからコンパレーターを伸ばして、
上述のfillコマンドを書いたコマンドブロックに繋げています。
以前紹介した「敵が倒れると何か起こる回路」と同じ仕組です。

1.8で追加された「fill」「clone」コマンドの便利さがお分かりいただけたかと思います。
このコマンドをうまく使った楽しいマップが制作されるのを心からお持ちしています。
もっと仕掛けが作りたい!という方は、是非これらの記事をお読みください。
参考にさせて頂いたサイト様
Commands - Minecraft Wiki [fill]http://minecraft.gamepedia.com/Commands#fill
Minecraft: /clone Tutorial - YouTube
http://www.youtube.com/watch?v=MOapUNMxTf0
Minecraft Snapshot 14w03a Overview -- Clone and Fill Commands, Layered Skins - YouTube
http://www.youtube.com/watch?v=ZOSSO1WflWE
水はdestroyの意味がないっぽい
荒れた土っていうか粗い土では?
FILLコマンドでオークの木材をhollowモードで指定したいのに、
-1にしても0以下では小さすぎますと出ます・・・planksだけで数字を入れないようにしてみても、
hollowなんて数値はありませんとか出ます。どうすれば指定できるんでしょう?
自己解決しました。
さっきは0にしてもダメだったはずなんですが・・・
インパルスじゃなくて、リピートtチェーンで出来ますので、コンパレータは、いりませんよ
地形を反転させる方法ってありますか?
ヒント:この記事が書かれた日
クローンコマンドの座標(範囲)はどのように設定したらいいのですしょう