マルチプレイなら『シン・VPS』がおすすめ!

executeコマンドで条件や仮定を付与する【マイクラ】

executeコマンドで条件や仮定を付与する【マイクラ】

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

executeコマンドの使い方を知りたいマインクラフター
「executeコマンドってどういう使い方をして、何ができるの?」

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

本記事の内容
  • executeコマンドは条件や仮定を付与する
  • よく使う項目5選

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

なつめ

2016年からマイクラを楽しんでおり、最近はクリエイティブモードでコマンドを駆使して遊んでいます!

この記事ではexecuteコマンドの使い方について解説しています。

executeコマンドはコマンドの中でも難解な部類ですが、それと同時にかなり汎用性が高く習得しておきたいコマンドの1つと言えます。

今回はexecuteコマンドの概要に加えて、よく使う項目を5つ選出しましたので、ぜひ参考にしてくださいね。

さっそく見ていきましょう!

executeコマンドは条件や仮定を付与する

executeコマンドは、条件や仮定を付与するために使います。

例えばasという項目を使うことで、コマンドの実行者を変更することができます。

通常コマンドブロックに@sを使うとコマンドブロックそのものがコマンドの実行者として扱われてしまいます。

しかし、asを使ってコマンドの実行者を変更することで、@sが示す対象を変更することができるわけです。

これが仮定になります。
「コマンドの実行者が○○だとして~」というようなイメージですね。

条件に当てはまるものとしては、if entity @sを指示することで「コマンドの実行者が存在するなら実行する」となります。

このようにコマンドを実行する際の細かい指示を付け加えることができるわけですね。

よく使う項目5選

executeコマンドには様々な項目が存在します。
初めからすべて覚える必要はなく、よく使うものだけ理解すれば充分です。

項目できること(意味)
asコマンドの実行者を変更する。
@sが指定することとなる対象が変更される。
atコマンドの実行場所を変更する。
~や^の示す座標の位置を、指定した場所にできる。
if指定したブロックやエンティティなどが存在する場合に、コマンドを実行してくれるようになる。
unless基本的にはifの逆と思えばOK。
指定したブロックやエンティティなどが存在しない場合に、コマンドを実行することができる。
runrun以降に実行したいコマンドを入力する。
最後に入力する必要がある。

as

asを使うことでコマンドの実行者を変更できます。

コマンドブロックやデータパックで@sを使用するために記述するほか、繰り返し同一のターゲットセレクターを指示する場合に@sにまとめられることもメリットです。

/execute as @a at @s run tp @s ~ ~50 ~

上記のコマンドでは、初めに「全てのプレイヤーをコマンドの実行者」と定義しているので、その後のatとtpコマンドに出てくる@sは全て@aと同義になります。

at

atはコマンドの実行場所を定義するためのものです。

tpコマンドなどで「コマンドの実行場所から○○マスだけ離れている」なんて指示を行いたい時に有効ですね。

/execute at @r[tag=ABC] run tp @s ~ ~50 ~

上記はタグ”ABC”を持っているランダムなプレイヤーの場所から、50マス高い位置にテレポートするコマンドになります。

tpコマンドのみならず、ターゲットセレクターに使用できるdistanceなどにも活用できます。

distanceは距離でターゲットセレクターを絞る項目です

if / unless

ifとunlessは似ている項目です。

ifは「指定したものが存在するなら」、unlessは「指定したものが存在しないなら」コマンドの実行をするというものです。

if/unlessの後にはentityやblockなど様々な項目があります。
それらについて簡単に説明したものがこちら。

項目説明
entity指定したエンティティが存在するかどうか。
【コマンド解説】if entityでプレイヤーを検知する【マイクラ】
block指定した座標に、指定したブロックがあるかどうか。
【コマンド】ブロック検知にはif blockで判断させる【マイクラ】
blocks指定した2つの範囲が同じ状態であれば、実行する。
unlessならば同じ状態でなければ実行される。

blockの時と同じ記事で解説しています。
【コマンド】ブロック検知にはif blockで判断させる【マイクラ】
data指定したデータを持っているかどうか。
biome指定した座標のバイオームが指定したものかどうかで実行するかどうかを決める。
unlessならば指定したバイオームでなければよい。
scoreスコアボードの値を比較して、指示した条件を満たしていれば実行される。
dimension指定したディメンションにいるかどうか。
ディメンションとは、オーバーワールドやネザーなど各次元を指し示すものです。
loaded指定した座標が読み込まれているかどうか。
ifなら読み込まれていると実行される。unlessなら読み込まれていない場合に実行される。
predicatepredicateと呼ばれるものを作成し、それを指示することができます。
データパックを作成する必要がありますので、今は覚えなくてOKです。
【解説】executeとは違った条件を付与するpredicate【マイクラ】

各項目によって入力しなければならない内容が異なります。

また項目によって重要度が異なります。
使用頻度の多いものに関しては項目名を太字にしましたので、まずはそれらの項目から覚えていきましょう。

run

runはrun以降のコマンドを実行するように指示するものです。

今まで紹介した項目と違い、最後に持ってくる必要のある項目でrun以降には別の項目を記述することはできません。

/execute as @a at @s run tp @s ~ ~50 ~

上記のコマンドであれば、tpコマンドを実行することを記述するためにrunが書かれています。


executeコマンドは慣れるまでは複雑なコマンドで、なかなか取っつきにくいことは事実です。

ですが、先述したようにすべての項目を頻繁に使うわけではありません。
まずはよく使う汎用性の高い項目から覚えていけばOKです。

まとめ

というわけで、今回のまとめです。

ポイント
  • executeコマンドは条件や仮定を付与するコマンド。
  • まずはasやat、if/unlessなど頻繁に使用するものを覚えるべき。

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

  • 【まとめ】functionコマンドの基本から応用【マイクラ】
  • 【まとめ】カスタムストラクチャーの実装・カスタム方法【マイクラ】