Youtubeチャンネルはこちら!コマンド解説を動画で観れます!

【コマンド】distanceを使って距離を参照する【マイクラ】

【コマンド】distanceを使って距離を参照する【マイクラ】

この記事では、Minecraft Java Edition(バージョン1.18.2)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。

コマンドで距離を基に判定させたいマインクラフター
「プレイヤーから一定の距離を離れているmobを対象にするコマンドとかって、どうやってコマンドを組めばいいのかな?」

こんな疑問を解決します!

本記事の内容
  • distanceを使って距離を参照する

こんにちは! マインクラフターのなつめ(@natsume_717b)です。

なつめ

マイクラ歴は5年程で、最近は脱出マップを配布・制作しています!
配布マップ・ダウンロードページ

この記事では、コマンドの実行場所からの距離を測るdistanceを解説していきます。

距離を測ると言いましたが、実際にはコマンドの実行場所からの距離を参考にしてターゲットセレクターとして適切かどうかを判定することができるといった感じですね。

ということで、実際のdistanceの使い方を紹介していますので、ぜひ参考にしてくださいね。

それでは早速見ていきましょう!
Youtubeでも解説しているので、映像で見たい方は要チェックです!



distanceを使って距離を参照する

コマンドで距離を判定したい場合には、ターゲットセレクターにdictanceを入力していく必要があります。

distanceがあることで、指定した数字以上の距離を離れていることを条件にしたり、逆に指定した数字以内の距離に収まるプレイヤーだけを対象にできるわけですね。

実際にコマンドに書き起こしてみると以下のようなことができます。

  • コマンドの実行場所から4以上離れているプレイヤー全員にダイヤモンドを1つ付与するコマンド
/give @a[distance=4..] minecraft:diamond 1
  • コマンドの実行場所から6以内にいるプレイヤー全員にダイヤモンドを1つ付与するコマンド
/give @a[distance=..6] minecraft:diamond 1
  • コマンドの実行場所から4以上離れており、かつ6以内にいるプレイヤー全員にダイヤモンドを1つ付与するコマンド
/give @a[distance=4..6] minecraft:diamond 1

上記のコマンドを見れば分かりますが、distanceの項目は.(ドット)を2つ続けることが重要です。

使い方としては上述した3つと数字だけを指定するやり方しかないので、何度か使えばすぐに覚えられるかと思います。

特定の数字だけを入力した場合は、ピッタリその数字に当てはまる距離離れている状態でないとコマンドが実行されません。

コマンドの実行場所を変更する方法

コマンドの実行場所を変更するには、executeコマンドを使用する必要があります。

具体的にはatを指示して、コマンドの実行場所を仮定することができます。
例えば、以下のようなコマンドを打ちこむとRiceというタグを持っているプレイヤーのいる座標がコマンドの実行場所となります。

/execute at @a[tag=Rice] run give @a[distance=4..6] minecraft:diamond 1

コマンドブロックを使用してコマンドを扱う場合には、コマンドブロックの位置がコマンドの実行場所となってしまいますので、それを変更するためにも覚えておくべきですね。


というわけで、コマンドでどのくらい離れているのかといったことを扱うにはdistanceが必要です。

まとめ

今回のまとめです。

今回使ったコマンドはこちら。

今回使ったコマンド
  • コマンドの実行場所から4以上離れているプレイヤー全員にダイヤモンドを1つ付与するコマンド
/give @a[distance=4..] minecraft:diamond 1
  • コマンドの実行場所から6以内にいるプレイヤー全員にダイヤモンドを1つ付与するコマンド
/give @a[distance=..6] minecraft:diamond 1
  • コマンドの実行場所から4以上離れており、かつ6以内にいるプレイヤー全員にダイヤモンドを1つ付与するコマンド
/give @a[distance=4..6] minecraft:diamond 1
  • Riceというタグを持っているプレイヤーのいる場所から4以上離れており、6以内の距離に収まっているプレイヤーにダイヤモンドを1つ付与するコマンド
/execute at @a[tag=Rice] run give @a[distance=4..6] minecraft:diamond 1
ポイント
  • distanceは片方の数字を指定しないことで、上限(下限)をなくすことができる。

この記事は以上になります。