この記事では、Minecraft Java Edition(バージョン1.18.2)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。
コマンドで距離を基に判定させたいマインクラフター
「プレイヤーから一定の距離を離れているmobを対象にするコマンドとかって、どうやってコマンドを組めばいいのかな?」
こんな疑問を解決します!
- distanceを使って距離を参照する
こんにちは! マインクラフターのなつめ(@natsume_717b)です。
マイクラ歴は5年程で、最近は脱出マップを配布・制作しています!
→配布マップ・ダウンロードページ
この記事では、コマンドの実行場所からの距離を測るdistanceを解説していきます。
距離を測ると言いましたが、実際にはコマンドの実行場所からの距離を参考にしてターゲットセレクターとして適切かどうかを判定することができるといった感じですね。
ということで、実際のdistanceの使い方を紹介していますので、ぜひ参考にしてくださいね。
それでは早速見ていきましょう!
distanceを使って距離を参照する
コマンドで距離を判定したい場合には、ターゲットセレクターにdictanceを入力していく必要があります。
distanceがあることで、指定した数字以上の距離を離れていることを条件にしたり、逆に指定した数字以内の距離に収まるプレイヤーだけを対象にできるわけですね。
実際にコマンドに書き起こしてみると以下のようなことができます。
/give @a[distance=4..] minecraft:diamond 1
/give @a[distance=..6] minecraft:diamond 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が必要です。
まとめ
今回のまとめです。
今回使ったコマンドはこちら。
/give @a[distance=4..] minecraft:diamond 1
/give @a[distance=..6] minecraft:diamond 1
/give @a[distance=4..6] minecraft:diamond 1
/execute at @a[tag=Rice] run give @a[distance=4..6] minecraft:diamond 1
この記事は以上になります。