【レベル・経験値で判定】コマンドでレベルを指示する方法【マイクラ】

【レベル・経験値で判定】コマンドでレベルを指示する方法【マイクラ】

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

コマンドで経験値を指定したいマインクラフター
「特定の経験値のプレイヤーだけをコマンドの対象にする方法ってどうやるの? 特定の数字の間に当てはまるプレイヤーを対象にする方法とかも知りたいな」

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

本記事の内容
  • コマンドでレベルを指示する方法

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

なつめ

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

この記事では、コマンドを使う際にレベルを検知する方法を解説しています。

具体的には、ターゲットセレクターにその対象となるプレイヤーのレベルが幾つであるのかという条件を書き加えていくことで、レベルを検知します。

特定のレベルだけを検知するほか、一定の範囲に収まっているレベルだけを検知することも可能なので、意外にも扱いやすい要素ですね。

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

解説動画もありますので、そちらもぜひどうぞ。



コマンドでレベルを指示する方法

経験値を検知したい場合には、ターゲットセレクターにlevel=を書き加えればOKです。
level=の項目があることで、指定した範囲の数値や指定した数値そのもののレベルを持つプレイヤーだけをコマンドの対象とすることができます。

なので、レベルが0から10のプレイヤーを対象とすることや、レベル7のプレイヤーだけを対象とすることができるわけですね。

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

  • レベルが0から10のプレイヤーにダイヤモンドを付与するコマンド
/give @a[level=0..10] minecraft:diamond 1
  • レベル7のプレイヤーにだけダイヤモンドを付与するコマンド
/give @a[level=7] minecraft:diamond 1

level=の後ろに数字を書き込めば基本的にOKですが、範囲を指定したい場合には.(ドット)を2つ挟む必要があります。

なので、1つ目のコマンドには0と10の間にドットが2つあるわけですね。

また、2つのドットの片側に数字を入れなくても、そのコマンドは機能します。

例えばlevel=..10となっている場合、これはレベル10以内のプレイヤーを対象とします。
さらに、level=5..となっていれば、レベルが5以上のプレイヤーを対象とすることができます。

なので、上限や下限だけを決めたい場合には片方の値だけを指定すれば、それを実現することが可能です。

プレイヤーのレベルを操作するときは、experienceコマンドを使いましょう。
experienceコマンドについては以下の記事で解説しています。

【Java版】コマンドを使って経験値を得よう!【4つの使い方を網羅】

experienceコマンドとxpコマンドはほぼ同じものなので、どちらを使っても問題ありません。

まとめ

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

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

今回使ったコマンド
  • レベルが0から10のプレイヤーにダイヤモンドを付与するコマンド
/give @a[level=0..10] minecraft:diamond 1
  • レベル7のプレイヤーにだけダイヤモンドを付与するコマンド
/give @a[level=7] minecraft:diamond 1
ポイント
  • レベルの範囲を指定する際に片方の値を指定しないことで、〇以上や〇以下といった指定をすることも可能。

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