更新日:
コマンドで最初につまずきやすいのが座標です。/tp、/setblock、/fill、/summon は、座標を正しく指定できるかどうかで使いやすさが大きく変わります。
「誰を基準にするか」を先に決める
チャットでプレイヤーが /setblock ~ ~-1 ~ minecraft:stone を実行するなら、プレイヤーの足元から1ブロック下が基準です。一方、コマンドブロックにそのまま書いた場合はブロックの実行位置が基準になります。相対座標の記号が同じでも、実行場所が違えば結果は変わります。
プレイヤーを基準に実行したいときはJava版の /execute at @p run setblock ~ ~-1 ~ minecraft:stone のように実行位置を明示します。ただし近くのプレイヤーが複数いる場合は @p が誰を選ぶかを確認してください。/fill では両端の座標を範囲に含むため、0から4までなら5ブロック幅になります。
絶対座標
数字をそのまま書く座標です。
/tp @p 0 80 0
これは、近くのプレイヤーをX=0、Y=80、Z=0へ移動させます。ワールドの特定地点へ移動させる場合に使います。
相対座標
~ を使うと、実行位置からの相対座標になります。
/tp @p ~ ~10 ~
これは、現在位置から10ブロック上へ移動する例です。検証や建築補助では相対座標が便利です。
setblockの例
自分の1ブロック下に金ブロックを置く例です。
/setblock ~ ~-1 ~ minecraft:gold_block
座標がずれると、足元ではなく頭上や壁の中に置かれることがあります。最初は分かりやすいブロックで試すと確認しやすいです。
fillで座標が6つ必要な理由
/fill は範囲の始点と終点を指定するため、座標が6つ必要です。
/fill ~-2 ~-1 ~-2 ~2 ~-1 ~2 minecraft:stone
このように、2つの角を指定して範囲を作ります。床、壁、箱、空洞を作るときは、どの軸を固定するかを意識するとミスが減ります。
座標指定のコツ
- 最初は小さい範囲で試す
- Y座標を間違えると地面や空中に出る
- コマンドブロックでは、コマンドブロックの位置が基準になる
- プレイヤー基準にしたい場合はexecute atを使う
ローカル座標(^)
/tp @s ^ ^ ^5
^ は、向いている方向を基準にした座標です。この例では、見ている方向へ5ブロック進みます。~ が東西南北の向きで決まるのに対して、^ は「前・上・左」で決まります。~ と ^ は同じ座標の中で混ぜて使えません。詳しくは相対座標とローカル座標で解説しています。
今いる場所の座標を調べる
| 版 | 確認方法 |
|---|---|
| Java版 | F3キーを押すと、画面左に「XYZ:」として表示されます |
| 統合版 | ワールドの設定で「座標を表示」をオンにすると、画面左上に表示されます |
見ているブロックの座標は、Java版ではF3画面の右側「Targeted Block」で確認できます。setblockで置く場所を決めるときに便利です。詳しくは座標を表示する方法を見てください。
Y座標の範囲
Java版1.18以降と、それに合わせた統合版では、オーバーワールドで置ける高さはY=-64からY=319までです。この範囲の外を指定すると、setblockやfillはエラーになります。
うまくいかないときの確認ポイント
- 「その位置は読み込まれていません」と出る:遠すぎてチャンクが読み込まれていない場所です。近くまで移動してから実行します。
- テレポートしたら地面に埋まった:Y座標が低すぎます。少し高めに指定します。
- 小数点の座標になった:
/tp @s 10 64 10のように整数を書くと、ブロックの中心(10.5)に移動します。
よくある質問
座標を全部 ~ にすると何が起きますか?
/tp @s ~ ~ ~ は今いる場所への移動なので、見た目は何も変わりません。数字を付けた軸だけが動きます。
ほかのプレイヤーの場所へ移動できますか?
/tp @s プレイヤー名 のように、座標の代わりに相手を書くとその場所へ移動します。