コマンド内で座標を指定するときは、「絶対座標」と「相対座標」の2種類の指定方法が使用できます。今回はそれぞれの使い分け方について、詳しく見ていこうと思います。
そもそも座標って何?
座標の指定方法を知る前に、そもそも座標って何なのかというところを復習しておきましょう。座標はプレイヤーやブロックの位置を示す数値で、PC版の場合はF3キーを押すと画面左側に表示させることができます。
赤枠で囲った部分に表示されている数字が、プレイヤーが現在いる位置(座標)です。数字は左からX座標、Y座標、Z座標を表していて、X座標とZ座標で縦と横を、そしてY座標で高さを表しています。
座標というと学校で習う「関数」が思い浮かびますが、まさにあの座標と考え方は同じです。マインクラフトのワールドにも原点(X=0,Y=0,Z=0) あって、原点から離れるにつれて座標の数字は大きくなっていきます。
原点は岩盤の最下層の下面です。
原点となるブロックから離れれば離れるほど、F3キーで表示される数字がプラス方向へもマイナス方向へも大きくなっていきます。
地図で確認してみよう
地図を手に持って見たときの横方向がX座標、縦方向がZ座標に対応しています。
地図の左に行けば行くほどX座標はマイナス方向に大きくなっていき、右に行けばいくほどプラス方向に大きくなっていきます。地図の上に行けば行くほどZ座標がマイナス方向に大きくなり、下に行けば行くほどプラス方向に大きくなります。
地図の右方向は太陽が登ってくる方角なので、Xのプラス方向が東、Zのプラス方向が南という感じですね。それプラス高さ(深さ)で、プレイヤーやブロックの位置などを考えていきます。
絶対座標と相対座標
座標を使うと、ある特定の場所を「X=100、Y=70、Z=100の位置」と表すことができます。この座標表現を「絶対座標」と言います(※)。一方、「プレイヤーから5マス離れた位置」とか、「コマンドブロックから2マス離れた位置」といった指定する場合に使われるのが相対座標です。
絶対座標 | 原点(0,0,0)を基準として、ワールド内の特定の位置を指し示す |
---|---|
相対座標 | コマンドの実行位置を基準として、対象となる座標を示す |
絶対座標は「原点からどれだけ離れているか」を表しているのに対して、相対座標は「プレイヤー(コマンドの実行位置)からどれだけ離れているか」を表しています。サバイバルでプレイしているだけならば、絶対座標さえわかっていれば大丈夫。しかしコマンドを使うようになったら、「相対座標」も覚えておくと便利です。
※絶対座標という言葉は相対座標と対比させるために使われる言葉で、普通はただ単に「座標」とだけ言われることが多いです。特に断りがなければ、座標=絶対座標と考えていいと思います。
絶対座標の使い方
例えば、指定した場所にブロックを設置したり、指定した位置にテレポートしたりしたい場合は、絶対座標を使うことになります。「120 70 260」の位置にある拠点に、コマンドを使ってテレポートする場合は、
/tp 120 70 260
と、絶対座標を使ってコマンドを入力します。このコマンドを入力すれば、プレイヤーがワールド内のどの位置にいたとしても、120 70 260の位置にある拠点にテレポートします。
相対座標の使い方
では、同じコマンドを相対座標にして使ってみたらどうなるのでしょうか。次のように入力してみます。
/tp ~120 ~70 ~260
相対座標で指定するときは、数字の前に~(半角チルダ)を入力します。
このコマンドを実行すると、プレイヤーは今立っている位置から、x軸方向に120、Y軸方向に70、Z軸方向に260進んだ位置にテレポートすることになります。絶対座標でのtpコマンドと違って、コマンドを実行する位置が変わるとテレポート先の座標が変化します。例えば拠点や村など、勝手に場所が変わることのない場所にテレポートするときは、絶対座標でのコマンド入力のほうが使いやすいです。
では相対座標はどういうときに使うのかというと、「プレイヤーから5マス離れた位置にゾンビを召喚する」とか、「プレイヤーの立っている位置から20マス分ブロックを敷き詰める」「今いる位置から100マスだけ移動する」といったコマンドを入力する場合に使用します。例えば次のように入力します。
/summon minecraft:zombie ~5 ~ ~3
上のコマンドを実行すると、プレイヤーからX軸方向(東)に5、Z軸方向(南)に3離れた位置に、ゾンビが召喚されます。絶対座標を指定して召喚させることもできますが、プレイヤーがその位置から離れていると、召喚されたゾンビはプレイヤーを見つけられないままさまよい続けてしまいます。相対座標を使うことで、プレイヤーがどこにいてもすぐ近くにゾンビを召喚することができ、敵対させることが可能になります。
/fill ~0 ~0 ~0 ~20 ~10 ~20 minecraft:air
このコマンドを実行すると、プレイヤーが立っている位置からX軸方向に20マス、Y軸方向に10マス、Z軸方向に20マスの空間に、空気ブロックを敷き詰めることができます(今回はわかりやすく~0と書いていますが、~0の場合は0を省略して単に~と入力することもできます。また、マイナスの座標を指定する場合は~-10のように入力します)。丘の前に立ってコマンドを実行すれば、目の前の丘をキレイさっぱり整地してしまうことができます。
これが、
こうなります。
相対座標を使うことで、「今立っている場所から10ブロックだけ積み上げる」ということが簡単にできるようになります。現在地の座標の確認や置換する範囲の確認を省略することができるので、クリエイティブモードで大規模な建築をする場合にとても便利です。私の場合、実験用トラップタワー作成に大活躍しました。
座標がわかっていて、その範囲内にきっちりブロックを敷き詰めたい場合は、絶対座標を使って指定することもできます。
/fill 100 60 220 120 70 240 minecraft:air
上のコマンドを実行すると、(x,y,z)=(100,60,220)から(x,y,z)=(120,70,240)の範囲を空気ブロックで満たすことができます。ブロックを設置する位置がズレると困る場合などは、こちらを使用するといいと思います。
座標の調べ方
ある場所の座標を調べたい場合、プレイヤーがその場所に移動してF3キーを押すことで座標を表示させることができますが、わざわざその場所に移動しなくても、カーソルを合わせるだけで座標を知ることができます。
F3キーを押して、Looking atの部分を確認します。
この位置に表示されている座標は、カーソルが合っているブロックの座標になります。この位置からこの位置までブロックを設置したいとなったとき、簡単に座標を調べてコマンドに入力することができます。
以上、2種類の座標の使い分け方でした。絶対座標と相対座標が混ざっていてもコマンドを実行することができるので、うまく使い分けていきましょう。