【マイクラ】fillコマンドの使い方・構文・範囲指定を解説【Java版】

この記事はマイクラJava版の /fill コマンドを使いたい方向けです
建築・整地・検証ワールドでよく使う構文を中心に解説します
統合版(BE)とは構文やブロック指定の書き方が違うのでご注意ください

こんにちは。ゆずかきです。

マイクラで建築していると、

床を一気に張り替えたい
壁をまとめて作りたい
邪魔な山や地面をコマンドで消したい
特定のブロックだけ別のブロックに置き換えたい

という場面、けっこうありますよね。

そういう時に便利なのが、fillコマンドです。

/fill を使えるようになると、手作業で何十分もかかる整地や建築の下準備を、数秒で終わらせることもできます。
ただし、便利なぶん座標指定を間違えるとワールドを大きく壊す危険もあります。

この記事では、Java版の /fill コマンドについて、初心者さんでも実際に使えるように、構文・座標指定・置き換え・範囲上限・よくある失敗まで順番に解説していきますね。

この記事を読めば、次のことが出来るようになります。

  • Java版のfillコマンドの基本構文が分かります👍
  • 座標指定の考え方と、範囲の計算方法が分かります👌
  • replacehollowoutlinekeepdestroystrict の違いが分かります
  • 「範囲が大きすぎる」「置き換えできない」などの原因を自分で確認できます(^^♪

それでは、やっていきましょう!

※本記事はマイクラJava版の仕様を前提にしています。
※Java版1.21.5以降の構文変更、およびJava版1.21.11以降(26.1系を含む)のゲームルール名変更も反映しています。
※コマンド実行前に、必ずバックアップまたは検証ワールドで試すことをおすすめします。


目次

1. fillコマンドとは?何ができる?
2. fillコマンドを使う前の準備
3. fillコマンドの基本構文
4. 座標指定の考え方|fromとtoを理解する
5. 相対座標「~」を使うと一気に楽になります
6. fillコマンドの基本例|床・壁・空気化
7. replaceで特定ブロックだけ置き換える
8. hollow・outline・keep・destroyの違い
9. Java版1.21.5以降のstrict指定について
10. fillできる最大範囲とゲームルールの注意点
11. 実用例|建築・整地で使いやすいコマンド集
12. fillコマンドが失敗する時のチェックポイント
13. まとめ
14. 引用・参考文献

この記事で分かること
・マイクラJava版の /fill コマンドの使い方
・座標指定、範囲計算、置き換え、上限エラーの対策
・Java版1.21.5以降・1.21.11以降で注意したい変更点


1. fillコマンドとは?何ができる?

/fill コマンドは、指定した範囲を指定したブロックで埋めるコマンドです。

たとえば、足元の周辺を石レンガにしたい場合、次のようなコマンドを使います。

/fill ~-5 ~-1 ~-5 ~5 ~-1 ~5 minecraft:stone_bricks

これを実行すると、プレイヤーの足元の1マス下を中心に、横11マス×奥行11マスの床が石レンガになります。

サバイバルで普通に建築すると、ブロックを並べるだけでもかなり時間がかかりますよね。
ですが、検証ワールドやクリエイティブ建築では、/fill を使うだけで作業スピードが一気に変わります。

主な使い道は下記です。

  • 床を一括で張る
  • 壁や箱型の建物を作る
  • 空間を空気に置き換えて整地する
  • 土だけを草ブロックに置き換える
  • 水や溶岩をまとめて消す
  • 検証用の足場をすぐ作る
  • コマンド装置や配布マップの下準備をする

特に、建築の下地作りでは本当に便利です。

体験談
筆者は昔、整地を全部手掘りでやっていました。
でも /fill を覚えてからは、検証ワールドの整備がかなり楽になりました。
ただし、最初のうちは座標ミスで床を全部空気にしたりするので、まずは小さい範囲で練習しましょう。

なお、/fill は便利ですが、ワールドを直接書き換えるコマンドです。
本番ワールドでいきなり広範囲に打つのは危険なので、慣れるまではコピーしたワールドやクリエイティブの検証ワールドで使ってくださいね。


2. fillコマンドを使う前の準備

Java版で /fill を使うには、コマンドを実行できる状態にしておく必要があります。

シングルプレイなら、基本的にはチートの許可が必要です。
ワールド作成時にチートをオンにしている場合は、そのまま使えます。

すでに作ったワールドで一時的に使いたい場合は、次の流れで有効化できます。

  1. Escキーでメニューを開く
  2. 「LANに公開」を選ぶ
  3. 「チートの許可」をオンにする
  4. LANワールドを開始する

これで、そのプレイ中だけコマンドを使えるようになります。

マルチサーバーの場合は、OP権限など、コマンド実行に必要な権限が必要です。
自分がサーバー管理者ではない場合、勝手に使えないこともあります。

コマンド入力場所

チャット欄を開いて、先頭に / を付けて入力します。

/fill ~ ~ ~ ~5 ~5 ~5 minecraft:stone

コマンドブロックに入れる場合は、基本的に先頭の / は付けずに入力します。
ただ、チャット欄で練習する時は、基本的に /fill で覚えておけば大丈夫です。

まずは小さい範囲で試しましょう

最初から大きな範囲を指定すると、失敗した時の被害が大きいです。
練習用としては、まずこのくらいがおすすめです。

/fill ~ ~ ~ ~2 ~2 ~2 minecraft:glass

これなら、3×3×3の小さいガラスのかたまりが作られるだけなので、ミスしてもすぐ直せます。

注意!
/fill は取り消しボタンがありません。
ミスした時に戻せるよう、重要なワールドでは必ずバックアップを取ってから使いましょう。


3. fillコマンドの基本構文

Java版の基本構文は、次の形です。

/fill <始点の座標> <終点の座標> <置くブロック>

実際に書くと、こうです。

/fill 0 64 0 10 64 10 minecraft:stone

この場合、0 64 0 から 10 64 10 までの範囲が、石に置き換わります。

fillコマンドは、基本的に以下の3つを指定します。

指定するもの 意味
始点座標 範囲の片方の角 0 64 0
終点座標 範囲の反対側の角 10 64 10
置くブロック 範囲内に置きたいブロック minecraft:stone

minecraft: は名前空間です。
現在のJava版では、stone だけでも候補が出ることが多いですが、記事内では分かりやすさ重視で minecraft:stone のように書いていきますね。

Java版1.21.5以降の構文

Java版1.21.5以降では、strict が追加され、replace の後ろに追加指定を続けられる形になっています。

よく使う形だけ先にまとめると、下記です。

/fill <from> <to> <block>
/fill <from> <to> <block> keep
/fill <from> <to> <block> replace <filter>
/fill <from> <to> <block> replace <filter> strict
/fill <from> <to> <block> destroy
/fill <from> <to> <block> hollow
/fill <from> <to> <block> outline
/fill <from> <to> <block> strict

公式の形に近づけると、keep は単独指定、その他は次のような並びで使います。

/fill <from> <to> <block> keep
/fill <from> <to> <block> [replace <filter>] [strict|destroy|hollow|outline]

初心者さんは、まずこの3つだけ覚えれば大丈夫です。

/fill 範囲 ブロック
/fill 範囲 ブロック replace 置き換え対象
/fill 範囲 ブロック keep

strictdestroy は便利ですが、最初から全部覚えようとすると混乱しやすいです。
まずは、普通に埋める・空気にする・特定ブロックだけ置き換える、この3つから使っていきましょう。


4. 座標指定の考え方|fromとtoを理解する

fillコマンドで一番つまずきやすいのが、座標指定です。

/fill では、範囲の端から端までを、2つの座標で指定します。
この2つの座標は、よく fromto と呼ばれます。

/fill <from> <to> <block>

たとえば、次のコマンドを見てください。

/fill 0 64 0 4 64 4 minecraft:oak_planks

これは、Y座標64の高さに、5×5のオークの板材の床を作るコマンドです。

ここで大事なのは、0から4までなので4マスではなく5マスという点です。

  • 0
  • 1
  • 2
  • 3
  • 4

この5個が含まれるため、5マスになります。

範囲の計算式

fill範囲のブロック数は、次のように計算できます。

(Xの差 + 1)×(Yの差 + 1)×(Zの差 + 1)

例として、次のコマンドを考えます。

/fill 0 64 0 10 64 10 minecraft:stone

Xは0〜10なので11マス。
Yは64〜64なので1マス。
Zは0〜10なので11マス。

つまり、

11 × 1 × 11 = 121ブロック

になります。

これを知っておくと、「範囲が大きすぎて実行できません」と出た時に、自分で原因を確認しやすいです。

座標の順番はどちらでもOK

fromto は、必ず小さい座標から大きい座標の順番で書く必要はありません。

/fill 0 64 0 10 64 10 minecraft:stone

これと、

/fill 10 64 10 0 64 0 minecraft:stone

この2つは、基本的に同じ範囲を指定しています。

ただし、記事やメモに残す時は、できるだけ小さい座標→大きい座標の順で書いた方が見返しやすいです。
筆者も、検証ワールドではなるべくその形でメモしています。

F3で座標を確認する

Java版では、F3キーを押すとデバッグ画面を表示できます。
そこで現在位置の座標を確認できます。

建築で正確に範囲指定したい場合は、

  1. 範囲の片方の角に立つ
  2. F3で座標をメモする
  3. 反対側の角に移動する
  4. もう一方の座標をメモする
  5. /fill に入力する

という流れが分かりやすいです。

注意!
高さ方向のY座標も忘れずに確認しましょう。
床だけ変えるつもりが、Y座標を広く取りすぎて建物の中身まで置き換える事故はよくあります。


5. 相対座標「~」を使うと一気に楽になります

fillコマンドは、絶対座標だけでなく、相対座標も使えます。

相対座標とは、今いる場所を基準にして、どれくらい離れた場所を指定するかを書く方法です。
記号は ~ を使います。

~ ~ ~

これは、今いる場所を意味します。

たとえば、足元の下を中心に5×5の床を作りたい場合は、こう書けます。

/fill ~-2 ~-1 ~-2 ~2 ~-1 ~2 minecraft:stone_bricks

意味は下記です。

  • ~-2:今の位置からマイナス2マス
  • ~2:今の位置からプラス2マス
  • ~-1:今の位置より1マス下

このコマンドなら、わざわざ座標をメモしなくても、その場で床を作れます。

よく使う相対座標の例

書き方 意味 使いどころ
~ ~ ~ 現在位置 足元付近を基準にする
~ ~-1 ~ 1マス下 床を作る
~5 ~ ~ X方向に5マス 横方向の範囲指定
~ ~5 ~ 上に5マス 壁や柱を作る
~ ~ ~5 Z方向に5マス 奥行方向の範囲指定

相対座標を覚えると、fillコマンドの使いやすさがかなり変わります。

特に、検証ワールドで「今いる場所の周囲だけ変えたい」時は、絶対座標より相対座標の方が便利です。

「^」のローカル座標は最初は無理に使わなくてOK

コマンドには、^ ^ ^ というローカル座標もあります。
これは、プレイヤーや実行者の向いている方向を基準にする座標です。

ただ、/fill の範囲指定でいきなり ^ を使うと、向きによって結果が変わりやすいです。
初心者さんが建築・整地で使うなら、まずは ~ の相対座標を覚えれば十分です。

筆者のおすすめ
・正確な建築範囲 → F3で絶対座標をメモ
・その場で床や壁を作る → ~ の相対座標
・向き基準の特殊なコマンド → 慣れてから ^ を使う

この順番で覚えると、かなり安全です。


6. fillコマンドの基本例|床・壁・空気化

ここからは、実際に使いやすいコマンド例を紹介します。

足元に石レンガの床を作る

/fill ~-5 ~-1 ~-5 ~5 ~-1 ~5 minecraft:stone_bricks

現在位置の1マス下に、11×11の石レンガ床を作ります。

検証ワールドで足場を作る時によく使います。
高い場所で作業している時にも便利ですが、足元より下に作るので、落下には注意してくださいね。

目の前の空間を空気にする

/fill ~-5 ~ ~-5 ~5 ~4 ~5 minecraft:air

現在位置を中心に、横11マス×高さ5マス×奥行11マスの範囲を空気にします。

整地や地下空間の作成で便利です。
ただし、建物の近くで使うと壁や床まで消えるので、慣れるまでは小さい範囲で試してください。

石の壁を作る

/fill ~5 ~ ~-5 ~5 ~4 ~5 minecraft:stone

現在位置からX方向に5マス離れた場所に、高さ5マス・奥行11マスの石の壁を作ります。

壁を作る時は、XかZのどちらかを固定して、高さ方向のYを伸ばすと分かりやすいです。

ガラスの四角い箱を作る

/fill ~-5 ~ ~-5 ~5 ~5 ~5 minecraft:glass hollow

ガラスの中空の箱を作ります。
中が空洞になるので、簡単な検証部屋や仮囲いを作る時に便利です。

ただし、hollow は中身を空気に置き換えます。
すでに中に建物や装置がある場所で使うと、中身を消してしまうので注意です。

枠だけ作る

/fill ~-5 ~ ~-5 ~5 ~5 ~5 minecraft:glass outline

外側だけをガラスにして、中身はそのまま残します。
既存の空間を壊したくない時は、hollow より outline の方が安全です。

使い分けの目安
・中も空っぽの箱を作る → hollow
・外枠だけ作って中身は残す → outline

ここを間違えると、既存のブロックを消してしまうことがあります。
筆者は最初これを混同して、検証部屋の中身を一度消しました。皆さんはお気をつけください。


7. replaceで特定ブロックだけ置き換える

replace を使うと、範囲内の特定のブロックだけを別のブロックに置き換えられます。

基本形はこちらです。

/fill <from> <to> <置くブロック> replace <置き換え対象ブロック>

たとえば、範囲内の土だけを草ブロックに変えたい場合は、こうです。

/fill ~-10 ~-1 ~-10 ~10 ~-1 ~10 minecraft:grass_block replace minecraft:dirt

このコマンドでは、範囲内にある minecraft:dirt だけが minecraft:grass_block に変わります。
石や木材など、他のブロックはそのまま残ります。

replaceを使うと安全性が上がります

普通の /fill は、範囲内のブロックをまとめて置き換えます。

/fill ~-10 ~-1 ~-10 ~10 ~-1 ~10 minecraft:grass_block

この場合、範囲内にある石も木材も水も、全部草ブロックになります。

一方で、replace minecraft:dirt を付けると、土だけが対象になります。

/fill ~-10 ~-1 ~-10 ~10 ~-1 ~10 minecraft:grass_block replace minecraft:dirt

建築の床材を差し替える時や、整地後に土だけを変えたい時は、replace を使った方が安全です。

水だけ消す

/fill ~-10 ~-5 ~-10 ~10 ~5 ~10 minecraft:air replace minecraft:water

範囲内の水だけを空気に置き換えます。
海底建築や地下で水が流れ込んだ時に使えます。

ただし、周囲に水源が残っていると再び流れ込むことがあります。
水を完全に消したい場合は、範囲を少し広めに取るか、水源の位置を確認してくださいね。

溶岩だけ消す

/fill ~-10 ~-5 ~-10 ~10 ~5 ~10 minecraft:air replace minecraft:lava

範囲内の溶岩だけを空気にします。
ネザーや地下整地で便利ですが、範囲指定ミスには注意です。

溶岩湖の近くで広範囲に実行すると、意図しない空洞ができることもあります。
最初は小さく区切って消していきましょう。

ブロック状態も指定できます

Java版では、ブロックIDだけでなく、ブロック状態も指定できます。

たとえば、南向きの階段を設置するなら、次のような形です。

/fill ~ ~ ~ ~4 ~ ~ minecraft:oak_stairs[facing=south]

水没状態などを指定することもできます。

/fill ~ ~ ~ ~4 ~ ~ minecraft:oak_stairs[facing=south,waterlogged=true]

このあたりは少し上級者向けです。
最初は、minecraft:stoneminecraft:glass のような普通のブロックから慣れていけば大丈夫です。


8. hollow・outline・keep・destroyの違い

fillコマンドには、置き換え方を変えるための指定があります。
よく使うのは、次の5つです。

  • replace
  • hollow
  • outline
  • keep
  • destroy

それぞれの違いを整理します。

指定 動き おすすめ用途
replace 範囲内を置き換える。省略時の基本動作 床や地面の張り替え
hollow 外側を指定ブロックにし、中を空気にする 中空の部屋・箱を作る
outline 外側だけ指定ブロックにし、中身は残す 枠だけ作る
keep 空気ブロックだけを置き換える 穴埋め・空洞埋め
destroy 既存ブロックを破壊扱いで置き換える ドロップも出したい時

replace

replace は、基本の置き換えです。
省略した場合も、だいたいこの動きになります。

/fill ~-5 ~-1 ~-5 ~5 ~-1 ~5 minecraft:stone replace

単に床を張り替えるだけなら、末尾の replace は省略しても大丈夫です。

/fill ~-5 ~-1 ~-5 ~5 ~-1 ~5 minecraft:stone

特定ブロックだけを置き換えたい時は、replace <filter> を使います。

/fill ~-5 ~-1 ~-5 ~5 ~-1 ~5 minecraft:stone replace minecraft:dirt

hollow

hollow は、外側を指定ブロックで作り、中身を空気にします。

/fill ~-4 ~ ~-4 ~4 ~4 ~4 minecraft:glass hollow

ガラスの部屋を一瞬で作るような使い方ができます。

ただし、中身を空気にするのがポイントです。
範囲内に既存の建築やチェストがある場合、それらが消える可能性があります。

outline

outline は、外側だけを指定ブロックにします。
中にあるブロックはそのまま残ります。

/fill ~-4 ~ ~-4 ~4 ~4 ~4 minecraft:glass outline

すでに中に装置や建築がある場所で、外枠だけ作りたい時に向いています。

hollowoutline は似ていますが、中身を消すかどうかが違います。
ここは必ず覚えておきましょう。

keep

keep は、範囲内の空気だけを指定ブロックに置き換えます。
すでにあるブロックは残ります。

/fill ~-5 ~-2 ~-5 ~5 ~2 ~5 minecraft:dirt keep

空洞だけを土で埋めたい時などに使えます。
ただ、洞窟や地下では思ったより広い空気部分に反応することがあるので、こちらも範囲を小さめにして試すのがおすすめです。

destroy

destroy は、既存ブロックを破壊扱いにしてから、指定ブロックに置き換えます。

/fill ~-5 ~-1 ~-5 ~5 ~-1 ~5 minecraft:stone destroy

通常の replace と違い、壊したブロックのドロップが出ることがあります。

ただし、広範囲で使うとアイテムエンティティが大量に出て重くなりやすいです。
サバイバル本番ワールドやマルチサーバーでは、特に慎重に使ってください。

筆者のおすすめ運用
・普段使い → replace
・部屋作り → hollow
・枠だけ → outline
・空洞埋め → keep
・ドロップも必要 → destroy は小範囲だけ


9. Java版1.21.5以降のstrict指定について

Java版1.21.5以降では、/fillstrict という指定が追加されています。

strict は、簡単に言うと、ブロック更新や形状更新を起こさず、指定した状態のままブロックを置くための指定です。

構文例はこちらです。

/fill ~-5 ~ ~-5 ~5 ~ ~5 minecraft:stone strict

また、replace と組み合わせることもできます。

/fill ~-5 ~ ~-5 ~5 ~ ~5 minecraft:stone replace minecraft:dirt strict

strictは初心者が必ず使うものではありません

正直なところ、普通の建築や整地では、最初から strict を使う必要はあまりありません。

床を張る、壁を作る、土を石に置き換える、空間を空気にする。
こういう用途なら、通常の /fill で十分です。

strict が関係しやすいのは、ブロック更新や形状更新の影響を避けたい場面です。
たとえば、検証用のコマンド装置、特殊なブロック状態、データパック・配布マップ制作などですね。

まずは「ある」と知っておけばOK

この記事を読んでいる段階では、次の理解で大丈夫です。

strict はJava版1.21.5以降で追加された、上級者向けの置き方指定。
普通の建築・整地では無理に使わなくてOK。

ただし、古い解説記事には strict が出てこないことがあります。
Java版1.21.5以降の環境でコマンドを調べている方は、「今はこういう指定もある」と覚えておくと混乱しにくいです。


10. fillできる最大範囲とゲームルールの注意点

/fill には、1回で変更できるブロック数の上限があります。

初期状態では、基本的に32768ブロックが目安です。
これを超える範囲を指定すると、コマンドが失敗します。

範囲計算の例

次のコマンドを見てください。

/fill ~-15 ~-15 ~-15 ~15 ~15 ~15 minecraft:stone

これは、現在位置を中心に、31×31×31の範囲を石にするコマンドです。

計算すると、

31 × 31 × 31 = 29791ブロック

なので、初期値32768以内に収まります。

一方で、次のようにするとどうでしょうか。

/fill ~-20 ~-20 ~-20 ~20 ~20 ~20 minecraft:stone

これは、41×41×41です。

41 × 41 × 41 = 68921ブロック

初期値32768を超えるため、普通は実行できません。

Java版1.21.11以降はゲームルール名が変わっています

Java版では、バージョンによって /fill の上限に関係するゲームルール名が違います。
ここはかなり重要です。

Java版バージョン 使うゲームルール名 初期値
Java版1.21.11以降(26.1系を含む) minecraft:max_block_modifications 32768
Java版1.19.4〜1.21.10 commandModificationBlockLimit 32768
Java版1.19.3以前 同じゲームルールは基本的に使えません 固定上限扱い
統合版 Java版と同じゲームルールは基本的に使えません 別仕様

Java版1.21.11以降で上限を確認する

/gamerule minecraft:max_block_modifications

初期状態なら、32768が表示されます。

上限を一時的に上げるなら、たとえば次のようにします。

/gamerule minecraft:max_block_modifications 100000

作業後に戻すなら、こちらです。

/gamerule minecraft:max_block_modifications 32768

Java版1.19.4〜1.21.10の場合

少し前のJava版では、旧名の commandModificationBlockLimit を使います。

/gamerule commandModificationBlockLimit 100000

確認だけなら、こうです。

/gamerule commandModificationBlockLimit

上限を上げすぎるのはおすすめしません

上限を上げれば、広い範囲を一気に /fill できます。
ただし、あまり大きくしすぎると、ゲームが固まったり、サーバーに負荷がかかったりします。

特に、destroy と組み合わせて大量のドロップを出すと危険です。

筆者としては、まずは範囲分割がおすすめです。
どうしても必要な時だけ、検証ワールドで上限を少し上げて試す方が安全です。

安全運用の目安
・まずは32768以内に収める
・広い整地は複数回に分ける
・上限を上げる前にバックアップ
・作業後は必要に応じて初期値へ戻す


11. 実用例|建築・整地で使いやすいコマンド集

ここでは、コピペして少し直せば使いやすい実用例をまとめます。
自分の位置を基準にした相対座標で書いているので、検証ワールドで試しやすいです。

11×11の石レンガ床を作る

/fill ~-5 ~-1 ~-5 ~5 ~-1 ~5 minecraft:stone_bricks

拠点の床、検証用の足場、装置の土台に使いやすいです。

21×21の平らな草ブロック床を作る

/fill ~-10 ~-1 ~-10 ~10 ~-1 ~10 minecraft:grass_block

建築前の仮整地に便利です。
ただし、下に洞窟があっても関係なく1層だけ置くので、地下の空洞までは埋まりません。

5マス高の石壁を作る

/fill ~-10 ~ ~5 ~10 ~4 ~5 minecraft:stone_bricks

Z方向を固定して、横21マス・高さ5マスの壁を作ります。
壁の向きを変えたい場合は、固定する軸をXに変えればOKです。

ガラスの中空部屋を作る

/fill ~-5 ~ ~-5 ~5 ~5 ~5 minecraft:glass hollow

検証用の部屋をすぐ作れます。
中身は空気になるので、何もない場所で使ってください。

ガラスの外枠だけ作る

/fill ~-5 ~ ~-5 ~5 ~5 ~5 minecraft:glass outline

既存の空間を消したくない場合はこちらです。
装置を囲う時は、hollow より outline の方が安全です。

範囲内の水だけ消す

/fill ~-10 ~-5 ~-10 ~10 ~5 ~10 minecraft:air replace minecraft:water

海底建築や水抜きの補助に使えます。
周囲の水源から再流入することがあるので、必要に応じて範囲を調整しましょう。

範囲内の溶岩だけ消す

/fill ~-10 ~-5 ~-10 ~10 ~5 ~10 minecraft:air replace minecraft:lava

地下整地やネザー検証で便利です。
ただし、地形を大きく壊しやすいので、最初は小さい範囲で使ってください。

土だけを石に置き換える

/fill ~-10 ~-2 ~-10 ~10 ~2 ~10 minecraft:stone replace minecraft:dirt

範囲内の土だけを石に変えます。
地形の一部だけを整えたい時に便利です。

空気部分だけを土で埋める

/fill ~-8 ~-3 ~-8 ~8 ~1 ~8 minecraft:dirt keep

空洞や穴をある程度埋めたい時に使えます。
ただし、意図しない空間まで埋まることがあるため、建物の近くでは注意しましょう。

広い範囲を空気にする前の確認用

いきなり空気にするのが怖い場合は、まずガラスで範囲を見える化するのがおすすめです。

/fill ~-10 ~ ~-10 ~10 ~5 ~10 minecraft:glass outline

これで範囲の外枠を確認して、問題なければ空気化します。

/fill ~-10 ~ ~-10 ~10 ~5 ~10 minecraft:air

かなり大事です
空気化コマンドは、失敗すると建築物が消えます。
大きな範囲を消す前に、glass outline で範囲確認しておくと事故が減ります。


12. fillコマンドが失敗する時のチェックポイント

/fill が動かない時は、だいたい原因が決まっています。
エラー文だけだと分かりにくいこともあるので、順番に確認してみてください。

範囲が大きすぎる

一番多いのがこれです。

/fill で指定した範囲が、1回のブロック変更上限を超えていると失敗します。
初期値なら、基本的に32768ブロック以内に収めましょう。

計算式はこちらです。

(Xの差 + 1)×(Yの差 + 1)×(Zの差 + 1)

対策は下記です。

  • 範囲を小さくする
  • 複数回に分けて実行する
  • Java版1.21.11以降なら minecraft:max_block_modifications を確認する
  • Java版1.19.4〜1.21.10なら commandModificationBlockLimit を確認する

座標がワールド外になっている

Y座標が建築可能範囲の外に出ていると失敗します。
たとえば、現在の通常ワールドで、極端に高すぎる・低すぎるY座標を指定すると実行できません。

F3で座標を確認して、指定範囲がワールド内に収まっているか見直しましょう。

チャンクが読み込まれていない

指定した範囲の片方が遠すぎて、チャンクが読み込まれていない場合も失敗することがあります。

遠い場所を指定したい時は、現地に移動してから相対座標で実行するか、対象範囲を読み込んだ状態で実行してください。

ブロックIDが間違っている

Java版では、現在の形式のブロックIDを使います。
古い数字IDは基本的に使いません。

良い例はこちらです。

/fill ~ ~ ~ ~5 ~ ~5 minecraft:stone

古い解説で見かけるような数字指定は、今のJava版ではそのまま使えないことが多いです。

replaceの順番が違う

特定ブロックだけ置き換える時は、順番が大事です。

正しい形はこちらです。

/fill <from> <to> <置くブロック> replace <置き換え対象>

例:土を石にする

/fill ~-5 ~-1 ~-5 ~5 ~-1 ~5 minecraft:stone replace minecraft:dirt

「置くブロック」と「置き換え対象」を逆にすると、思った結果になりません。

何も変更されていない

replacekeep では、対象になるブロックが範囲内にないと、何も変わりません。

たとえば、範囲内に土がないのに、次のコマンドを打っても変化はありません。

/fill ~-5 ~-1 ~-5 ~5 ~-1 ~5 minecraft:stone replace minecraft:dirt

この場合は、対象ブロックが本当に範囲内にあるか確認してください。

統合版の構文をJava版に打っている

統合版とJava版では、/fill の細かい構文が違います。
ネット検索で出てきたコマンドをそのまま打つ場合は、Java版向けか統合版向けか必ず確認しましょう。

この記事のコマンドは、Java版向けです。
統合版ではブロック状態の書き方などが違うため、そのまま使えない場合があります。

チート権限がない

シングルプレイならチートがオフ、マルチサーバーならOP権限がない、というパターンです。

コマンド自体が実行できない場合は、まず権限を確認してください。

チェックリスト

どうしても動かない時は、下記を確認してみてください。

  • [ ] チートまたはOP権限はありますか?
  • [ ] Java版向けの構文で入力していますか?
  • [ ] ブロックIDは minecraft:stone など現在の形式ですか?
  • [ ] 範囲は32768ブロック以内ですか?
  • [ ] Y座標がワールド外になっていませんか?
  • [ ] 遠すぎる未読み込みチャンクを指定していませんか?
  • [ ] replace の置くブロックと対象ブロックを逆にしていませんか?
  • [ ] hollowoutline の違いを混同していませんか?
  • [ ] 空気化する前にバックアップを取りましたか?

13. まとめ

今回は、マイクラJava版の /fill コマンドの使い方を解説しました。

要点を整理すると、次の通りです。

  • /fill は指定した範囲を指定したブロックで埋めるコマンド
  • 基本形は /fill <from> <to> <block>
  • 座標は2点の角を指定する
  • 範囲計算は「X差+1 × Y差+1 × Z差+1」
  • 普段の建築・整地では ~ の相対座標が便利
  • 特定ブロックだけ変えたい時は replace <filter> を使う
  • 中空の箱は hollow、外枠だけなら outline
  • 空気だけ埋めたいなら keep
  • ドロップを出したい時は destroy だが、重くなりやすいので注意
  • Java版1.21.5以降では strict が追加されている
  • Java版1.21.11以降(26.1系を含む)は、上限変更のゲームルール名が minecraft:max_block_modifications になっている

/fill は、覚えると本当に便利です。
建築の下地作り、整地、検証ワールドの準備、ブロック置き換えなど、使いどころがたくさんあります。

ただし、便利なぶんミスした時の影響も大きいです。
特に、minecraft:air で広範囲を消す時は、必ずバックアップを取ってください。

最初は小さい範囲で試して、慣れてきたら少しずつ範囲を広げる。
この流れで使えば、かなり安全に扱えます。

では、本日はここまでで終わります。
最後までご覧いただき、ありがとうございました。
柚子クラでは他にもマイクラのコマンド・便利装置・Java版仕様を解説しているので、ぜひご覧くださいね(^^♪


14. 引用・参考文献

この記事を書くにあたり、以下の公式情報・コミュニティWikiを参考にしています。