いくらクリエイティブモードといえども、巨大建築のためにブロックを一つずつおいていくのは大変です。そんなときに便利なfillコマンド。ブロックを大量に設置したり、山を一気に削ったりすることができます。この記事ではfillコマンドの基本的な使い方から応用的な使い方をくわしく解説。使用例もたくさんのせているので、ぜひ参考にしてください。
fillコマンドの基本的な使い方
fillコマンドとは
fillコマンドは、指定した範囲にあるブロックを一括でおきかえることができるコマンドです。広い空間を一瞬で変えることができるとても強力なコマンドで、使いこなせれば巨大建築や広い土地の整地が効率的におこなえます。
上の画像のように、広範囲を一瞬で平らにすることができます。地面のブロックを揃えるのもあっという間です。一つひとつブロックを壊してはおいていくのがバカらしくなるくらいの手軽さ。少し工夫が必要ですが、高い山も短い時間でけずって平らにすることができます。
上の画像のように地面を平らにしたり山を削ったりするには、fillコマンドで範囲内を空気ブロック(minecraft:air)で満たします。厳密には、すでにあるブロックを削除するわけではなく、すべてのブロックを空気ブロックで置き換えているわけです。fillコマンドはその名の通り、範囲内のすべてまたは一部を、指定したブロックで満たすことができるコマンドです。
fillコマンドの構文
fillコマンドの構文は下のようになっています。
/fill <from> <to> <block> [destroy|hollow|keep|outline|replace]
/fill <from> <to> <block> replace [<filter>]
項目 | 内容 |
---|---|
from,to | 範囲の始点と終点の座標を数値、チルダ表記、キャレット表記で指定する |
block | 満たすブロックをIDで指定する |
filter | おきかえるブロックをIDで指定する |
destroy | すでにあるブロックを破壊して指定ブロックでおきかえる(アイテムがドロップする) |
hollow | 範囲の縁(ふち)を指定ブロックでおきかえ内側を空気ブロックで満たす |
keep | 空気ブロック以外は置換されない |
outline | 範囲の縁(ふち)だけ指定ブロックでおきかえる |
replace | 指定ブロックで範囲内のブロックをすべて上書きする |
統合版マイクラでは<block>
や<filter>
の指定で数字を使いますが、入力方法はJava版も統合版もほとんど同じです。実際には次のように入力します。
Java版/fill 100 64 110 120 74 130 gray_stained_glass
統合版/fill 100 64 110 120 74 130 stained_glass 7
上のコマンドを実行すると、X=100,Y=64,Z=110からX=120,Y=74,Z=130の範囲が、灰色の色付きガラス(gray_stained_glass、stained_glass 7)で満たされます。
座標は、チルダを使って次のように指定することもできます。
/fill ~ ~ ~ ~10 ~ ~10 water
上のコマンドを実行すると、現在地を始点とする11×11の範囲(高さ1ブロック)に水源が設置されます。
fillコマンドの上限
fillコマンド一回でおきかえることができるブロックの最大数は、32768ブロックとなっています。1ブロックの高さであればかなり広い範囲を一回のコマンドで変更できますが、数ブロックの高さを変更するとなると一度に指定できる範囲はかぎられてきます。
正方形に近いカタチでfillコマンドの範囲を指定するとき、高さによって指定できる広さは下の表のように変わります。
高さ | 指定できる範囲 | ブロック数 |
---|---|---|
1 | 181×181 | 32761 |
2 | 128×128 | 32768 |
3 | 104×105 | 32768 |
4 | 90×91 | 32760 |
5 | 80×81 | 32400 |
6 | 73×74 | 32412 |
7 | 68×68 | 32368 |
8 | 64×64 | 32768 |
9 | 60×60 | 32400 |
10 | 57×57 | 32490 |
20 | 40×40 | 32000 |
30 | 33×33 | 32670 |
大きな山をけずるとなると、fillで指定する範囲には高さもそれなりに必要です。完全に山を平らにするには、数回にわけてfillコマンドを実行する必要があるでしょう。181×181の範囲を指定して、1ブロックずつ平らにならしているという手もあります。
fillコマンドで使える置換方法
destroy
fillコマンドでdestroyを指定すると、すでにあるブロックをツルハシやシャベルで壊したときと同じように破壊してブロックにおきかえることができます。replaceを使ったり指定しなかったりしたときと違って、ブロックが消えるときにアイテムがドロップするのが特徴です(アイテム化できる)。下のようにコマンド内で指定します。
Java版/fill ~ ~ ~ ~10 ~-10 ~10 air destroy
統合版/fill ~ ~ ~ ~10 ~-10 ~10 air 0 destroy
空気ブロックでおきかえられたブロックからは、アイテムがドロップしています。ブロックを壊したときに、アイテムがいくつドロップするかを調べるときなどには便利です。
hollow
fillコマンドでhollowを指定すると、指定した範囲のもっとも外側のブロックだけを、指定したブロックでおきかえることができます。outlineも同じように外側のブロックだけをおきかえますが、hollowはoutlineと違って内側を空気ブロックでおきかえるのが特徴です。下のようにfillコマンド内で指定します。
Java版/fill ~ ~ ~ ~10 ~5 ~10 oak_planks hollow
統合版/fill ~ ~ ~ ~10 ~5 ~10 planks 0 hollow
上のコマンドを実行すると、現在地を始点とする11×6×11の範囲にあるブロックのうち、もっとも外側のブロックがオーク(樫の木)の木材におきかえられ、内側が空気ブロックで満たされます。
一瞬で箱型の建築物を出すことができるので、家や倉庫を作りたいときにとても便利です。
keep
fillコマンドでkeepを指定すると、指定した範囲にある空気ブロックだけを、指定したブロックで置き換えることができます。fillコマンドは何も指定しないと大事なブロックも上書きしてしまう可能性がありますが、keepを使えば既存の設備を壊すことなくブロックを置くことができます。下のようにfillコマンド内で指定します。
/fill ~ ~ ~ ~10 ~10 ~10 glass keep
上のコマンドを実行すると、現在地を始点とする11×11×11の範囲にあるブロックのうち、空気ブロックだけがガラスブロックにおきかえられます。
地形を壊したくないときや、すでにあるブロックの隙間を水や砂で埋めたいときに便利です。
outline
fillコマンドをoutlineを指定すると、範囲のもっとも外側だけを指定したブロックで置き換えることができます。hollowでは内側が空気ブロックで埋め尽くされましたが、outlineだと内側はそのままです。下のようにfillコマンド内で指定します。
Java版/fill ~ ~ ~ ~10 ~5 ~10 oak_planks outline
統合版/fill ~ ~ ~ ~10 ~5 ~10 planks 0 outline
上のコマンドを実行すると、現在地を始点とする11×6×11の範囲のうち、もっとも外側のブロックがオーク(樫)の木材におきかえられます。内側はそのままです。
内側は変えることなく、壁・床・天井のブロックを変えたいときなどに使えます。ただ、ブロックを入れ替えるのであればreplaceを使ったほうが確実です。
replace
fillコマンドでreplaceを指定すると、範囲内が指定したブロックで上書きされます。置換方法の指定がないときは、replaceとして実行されます。
またreplaceを使うと、特定のブロックだけを指定したブロックにおきかえることができます。水ブロックだけを消したり建築に使っている木材の種類を変えたりするのがとても簡単にできます。次のように指定します。
Java版/fill ~ ~ ~ ~10 ~-5 ~10 dirt replace water
統合版/fill ~ ~ ~ ~10 ~-5 ~10 dirt 0 replace water
上のコマンドを実行すると、現在地を始点とする現在地から10ブロック先、5ブロック下までの範囲にあるブロックのうち、水ブロックだけが土ブロックにおきかえられます。
コマンドを実行したときに、「○個のブロックで満たしました」「ブロックが満たされませんでした」といった表示が出るので、特定のブロックがあるかどうか調べることも可能です。ただ、どこにあるか探すことまではできません(目立つブロックにおきかえることはできます)。
fillコマンドの使用例
整地でfillコマンドを使う
fillコマンドを使うと、広い範囲も一瞬で整地できてしまいます。特におすすめなやり方は、整地したい高さまで積み上げたブロックの上にのって、足元の高さのブロックを一段ずつ消していく方法。同じコマンドを連続で実行することで、181×181という広い範囲を平らにすることができます。
下の画像のように足場を積み上げます。
つづいて、以下のコマンドを入力します。
/fill ~-90 ~-1 ~-90 ~90 ~-1 ~90 air
上のコマンドを実行すると、現在地を中心とする181×181の範囲で、プレイヤーが立っているブロックの高さに空気ブロックがしきつめられます。プレイヤーは自動的に一段下がるので(飛んでいなければ)、また同じコマンドを実行。それを整地したい高さまで繰り返します。
あっという間に、上の画像のように広大な平地を作ることができます。あとは地面のブロックを同じものにそろえればOK。例えば次のように入力します。
/fill ~-90 ~-1 ~-90 ~90 ~-1 ~90 grass_block
上のコマンドを実行すると、現在地を中心とする181×181の範囲で地表のブロックが草ブロックにおきかえられます。
地面を白のコンクリートにするなら、grass_block
の部分をwhite_concrete
またはconcrete 0
に、砂漠ならsand
、ネザーでの整地だったらnetherrack
にすればOKですね。
水抜きにfillコマンドを使う
海底神殿などの水没した構造物から水をとりのぞく「水抜き」も、fillコマンドを使うととても簡単にできます。次のように入力すると、現在地を始点とする30×30×30の範囲で、水だけが空気ブロックにおきかわります。
Java版/fill ~ ~ ~ ~30 ~30 ~30 air replace water
統合版/fill ~ ~ ~ ~30 ~30 ~30 air 0 replace water
建物はそのままで、水だけ消すことができます。同じやり方で、溶岩を取り除くことも可能です。
けっこう大変ですが、ネザーの溶岩の海を空っぽにするのも面白いです。
建築でfillコマンドを使う
一瞬で壁を作ったり天井を作ったりと、fillコマンドは建築にも活用できます。自動建築とまではいきませんが、手動で一つ一つブロックを設置するよりも圧倒的に早く建築をすすめることができます。
/fill ~ ~ ~ ~ ~4 ~9 cobblestone
上のコマンドを実行すると、現在地からZ軸方向にむかって、高さ5ブロック、幅10ブロックの丸石の壁をつくることができます。
ブロックをおくのがせまい範囲なら、一つ一つおくのが頭を使わずに作業できて楽です。しかし大きな建築物をつくるときには、指定する座標を調べたりするのに時間がかかったとしても、fillコマンドでブロックを設置するほうが早い。/setblockコマンドでは1つのブロックしかおけないので、建築ではfillコマンドがメインになります。
fillコマンドを使って露天掘りする
fillコマンドを使って、岩盤までブロックをくり抜くこともできます。コマンドの実行方法やブロックの指定を工夫することで、「鉱石ブロックだけを残してくり抜く」ということも可能です。
上の画像の露天掘りは、Java版で鉱石以外のブロック(土や石、水など)をすべて空気ブロックにおきかえて作ったものです。もちろん一回のコマンドではできないので、いくつものコマンドをまとめてファンクションファイルをつくり、/functionコマンドで実行しています(ファンクションファイルは10000個までのコマンドを一度に実行できます)。コマンドを用意するのがけっこう大変ですが、すべての鉱石が目視できるこの景色はたまらないです。
fillコマンドでTNTをしきつめる
fillコマンドでTNTを指定すれば、着火されていない状態のTNTをしきつめることができます。Java版ではunstableの指定で、素手でたたくだけで着火するTNTをおくこともできます。次のようにコマンドを入力します。
/fill ~ ~ ~ ~2 ~ ~2 tnt[unstable=true]
true
でたたくだけで着火できるようになり、false
でできなくなります。何も指定しなければfalseです。
着火された状態のTNTをfillコマンドで出現させることはできません。TNTは着火するとブロックではなくエンティティになるからです。着火したTNTを出現させたいときは、summonコマンドを使う必要があります(マイクラのコマンド一覧と入力方法まとめ[スイッチ対応]でコマンドを紹介しています)。ただ、summonだと一回のコマンドで一つしか出せないので、大量に出したいときは工夫が必要。fillコマンドでTNTをしきつめたあとに、fillコマンドで炎をしきつめると一気に着火することができます。
fillコマンドで上付きのハーフブロックをおく
fillコマンドでstone_slab
などを指定すればハーフブロックを出すことができます。ただそのままの指定だと下付きのハーフブロックとしてあつかわれ、上におけません。統合版のマイクラで上付きのハーフブロックにしたいときは、違う種類のハーフブロックを出すのと同じように数値を変更すればOK。たとえばstone_slab
なら、次のようになります。
指定 | 設置されるブロック |
---|---|
stone_slab 0 | なめらかな石のハーフブロック(上つき) |
stone_slab 1 | 砂岩のハーフブロック(上つき) |
stone_slab 2 | 木材のハーフブロック(上つき) |
stone_slab 3 | 丸石のハーフブロック(上つき) |
stone_slab 4 | レンガのハーフブロック(上つき) |
stone_slab 5 | 石レンガのハーフブロック(上つき) |
stone_slab 6 | クォーツのハーフブロック(上つき) |
stone_slab 7 | ネザーレンガのハーフブロック(上つき) |
stone_slab 8 | なめらかな石のハーフブロック(下つき) |
stone_slab 9 | 砂岩のハーフブロック(下つき) |
stone_slab 10 | 木材のハーフブロック(下つき) |
stone_slab 11 | 丸石のハーフブロック(下つき) |
stone_slab 12 | レンガのハーフブロック(下つき) |
stone_slab 13 | 石レンガのハーフブロック(下つき) |
stone_slab 14 | クォーツのハーフブロック(下つき) |
stone_slab 15 | ネザーレンガのハーフブロック(下つき) |
Java版ではIDに続けてtype
の指定を入力すると、上付きのハーフブロックを出すことができます。次のように入力します。
/fill ~ ~ ~ ~1 ~ ~1 stone_slab[type=top]
typeはtop、double、bottomのいずれかを指定できます。何も指定しなければbottomです。
fillコマンドが使えないときのエラー一覧
次のようなエラーがでてfillコマンドが使えない、replaceできないときは、プレイヤーを移動させたり、指定するブロックや座標を変更してみましょう。
メッセージ | 対処法 |
---|---|
指定した領域にあるブロックが多すぎます | 指定している範囲が大きすぎるときに表示されます。範囲をせまくしましょう。1回のfillコマンドでおきかえることができるのは、最大で32768ブロックまでです |
その座標は読み込まれていません | 指定している範囲が遠すぎて読み込まれていないときに表示されます。また、世界の範囲外は変更できません。指定座標に近づいてコマンドを実行しましょう |
ブロックが満たされませんでした | replaceで指定したブロックが一つもないときに表示されます。ブロックのIDが間違っていないか確認しましょう |
そのほか注意したいのは、一度おきかえたブロックは、簡単には元に戻せないということです。間違って建物を消してしまったり、土地を削ってしまったりしても、コマンドで復元することはできません。ワールドに大規模な変更をくわえるときは、ワールドのバックアップをとってから実行するのがおすすめです。
以上、マイクラのfillコマンドの使い方と整地や建築での使用例の紹介でした。fillコマンドは一瞬で大量のブロックを設置できるとても便利なコマンドです。すでにあるブロックを上書きしてしまうキケンはありますが、replace、keepなどのオプションをうまくつかえば、リスクをおさえたうえで建築の効率をあげられます。広範囲にわたってワールドを変更するにはなくてはならないコマンドなので、ぜひこの記事を参考にしつつ使ってみてください!
コメント
コメント一覧 (6件)
OK
分かりやすい
すごくわかりやすかったです
よく分かりました❗️
向きの指定ってどうしたらできますか?
わかりやすい