《BE1.9.0対応》ブロックを設置できるコマンドを解説!~/setblock,/fill~【初級コマンド講座 #6】

初級コマンド講座第6回です。今回は、ブロックを設置するコマンド2種の解説をしていきます。

今回解説するのは、/setblock,/fillの2つです。
/setblockは簡単ですが、/fillは少し難しいです。
/fillは範囲指定のやり方を理解すればあとは簡単なので、頑張って解説します。


前回の初級コマンド講座はこちら!


1./setblockコマンド

このコマンドは、指定した座標にブロックを設置するコマンドです。

構文はこちら。

/setblock [座標x y z] [設置したいブロックのブロックID] [データ値(任意)] [元々あったブロックの扱い(任意)]([ ]は不要)

座標、ブロックID、データ値については第1回をご覧ください。

座標には、相対座標、向き相対座標を使うこともできます。

例えば、

/setblock ~ ~-1 ~ dirt 0

とチャットで打つと、自分の足元に土が設置されます。

ちなみにデータ値は記述しなかった場合は0になります。

元々あったブロックの扱い

元々あったブロックの扱いの部分は、このコマンドでブロックを設置しようとした場所に元々あったブロックをどのように扱うかを記述します。

この部分には、destroy,keep,replaceの3つを入れることができます。
ここの記述は任意ですが、記述しなかった場合はreplaceの扱いになります。

destroy

このモードにすると、設置しようとした場所にブロックがある場合、そのブロックをシルクタッチなしのツルハシで破壊した状態にします。
なので、石なら丸石、石炭鉱石なら石炭が、アイテムとしてドロップします。ちなみに岩盤もアイテム化します。ブロックの破壊音も鳴ります。

keep

このモードでは、元々あるブロックを置き換えません。空気ブロックの所にしかブロックを設置しなくなります。
ちなみに、このモードの時にブロックを設置しようとした場所にブロックが既にあった場合、コマンドは失敗の扱いになります。

replace

このモードは、ブロックが元々あろうが関係なしに、問答無用で指定したブロックに置き換えるモードです。ブロックはドロップしませんし、破壊音も鳴りません。

といっても/setblockでこれらを指定することはあまりないので、基本的には記述しなくても問題ないです。

例文

/setblock 10 50 10 cobblestone
座標10 50 10の位置に問答無用で丸石を設置します。

/setblock ~ ~10 ~ planks 2 destroy
実行者の頭上10ブロックの位置に白樺の木材を設置します。座標の位置にブロックがあった場合、そのブロックは破壊されてアイテム化します。

/setblock ^ ^ ^-2 stone 1 keep
実行者の2ブロック前の位置に花崗岩を設置します。座標の位置にブロックがあった場合は失敗します。


2./fillコマンド

このコマンドは、ある意味では/setblockの上位互換です。ですが、/setblockに比べるとコマンドが長くなるので、/setblockで済むならそっちを使うことをおすすめします。

構文はこちら。

/fill [始点x y z] [終点x y z] [設置したいブロックのブロックID] [データ値(任意)] [元々あったブロックの扱い(任意)] [置き換えるブロックのブロックID(replaceの時のみ)] [データ値(replaceの時のみ)]([ ]は不要)

replaceの時のみとついている部分は、元々あったブロックの扱いでreplaceを記述した時のみ記述します。

始点・終点とは

始点・終点とはなんぞや、と思った方もいると思います。

この始点・終点の座標は、ブロックを敷き詰める範囲を指定するために入力するものです。

例として、始点を座標0 4 0、終点を座標6 7 -6の位置にしてみましょう。始点を金ブロック、終点をダイヤブロックとします。

この場合の範囲はどうなるでしょうか。

このように始点と終点を端とした直方体の範囲がブロックを敷き詰める範囲になります。ちなみに、この場合だと、始点の座標のほうが小さいのですが、始点の座標の方が小さくなければいけないかというとそうではなく、別に始点と終点を逆にしても同じ範囲になります。そこはあまり厳格ではありません。

例として、先程の座標で/fillコマンドを使ってみましょう。

/fill 0 4 0 6 7 -6 dirt 0

を実行してみます。

すると、先程の始点と終点を含む赤色のガラスの所が全て土ブロックになります。

元々あったブロックの扱い

/setblockと同じで、/fillも元々あったブロックをどのように扱うかを指定することができます。

ただ、/fillの場合は少しできることが増えます。元々あったブロックの扱いだけでなく、ブロックの設置の仕方も少し指定できます。

/fillの場合、ここにはdestroy,keep,hollow,outline,replaceを入れることができます。
指定しなかった場合は、問答無用でブロックを設置します。

destroy

/setblockと同じで、このモードにすると、設置しようとした場所にブロックがある場合、そのブロックをシルクタッチなしのツルハシで破壊した状態にします。
なので、石なら丸石、石炭鉱石なら石炭が、アイテムとしてドロップします。ちなみに岩盤もアイテム化します。ブロックの破壊音も鳴ります。

keep

これも/setblockの時と同じで、元々あったブロックを置き換えなくなり、空気ブロックの所にしかブロックを設置しなくなります。

hollow

このモードにすると、箱のように、範囲の1番外側のブロックだけを設置します。中は強制的に空洞になり、内側のブロックは全て空気ブロックになります。

outline

このモードは、hollowと同じように箱型にブロックを設置しますが、hollowとは違い、中は強制的に空洞になりません。元々あったブロックがそのまま維持されます。

replace

このモードでは、指定したブロックのみを指定したブロックに置き換えることができます。
構文の[置き換えるブロックのブロックID]の部分で、置き換えたいブロックを指定します。

例として、画像のような範囲内の鉄ブロックのみをレッドストーンブロックに置き換えてみます。

座標は初めの例の時と同じです。

/fill 0 4 0 6 7 -6 redstone_block 0 replace iron_block 0

を実行してみましょう。

これが、

こうなります。

鉄ブロックのみがレッドストーンブロックに置き換わっていますね。replaceはこういうことができます。

建築をしている時に、途中で壁のブロックを変えたい!と思った時などに使えます。

/fillは少し難しいですが、作業をかなり楽にしてくれるので、ぜひ覚えてもらいたいです。

例文

/fill 10 30 10 100 50 100 planks 0
座標10 30 10から100 50 100の範囲を樫の木材で敷き詰めます。

/fill ~ ~ ~ ~10 ~10 ~10 cobblestone 0 hollow
実行者の位置からx方向に10ブロック、y方向に10ブロック、z方向に10ブロックの大きさの丸石の箱を作ります。内部は空洞になります。

/fill 50 10 50 300 10 300 iron_block 0 replace grass 0
座標50 10 50から300 10 300の範囲内の草ブロックを鉄ブロックに置き換えます。


今回は、ブロックを設置するコマンドについて解説しました。結構解説に苦労したのですが、うまく伝わっていると幸いです。

次回は、/gameruleコマンドの解説をする予定です。

では、閲覧ありがとうございました。


前の講座↓

次の講座↓