【マイクラ】experienceコマンドの使い方・構文・xpとの違いを解説【Java版】

この記事はマイクラJava版の/experienceコマンド解説です
/xpコマンドとの違い、経験値ポイントとレベルの違いもまとめています
統合版(BE)とは構文が違うので、Java版向けとして読んでくださいね

こんにちは。ゆずかきです。

マイクラでクリエイティブ検証をしている時や、配布ワールド・サーバー運営で「プレイヤーに経験値を付けたい」「レベルを一気に30にしたい」「今の経験値レベルを確認したい」と思ったことはありませんか?

そういう時に使うのが、experienceコマンドです。

ただ、このコマンドは初見だと少しややこしいです。

特に、

  • /experience/xpは何が違うの?
  • levelspointsはどっちを使うの?
  • set pointsで大きい数字を入れたら失敗するのはなぜ?
  • 統合版の/xp 30Lみたいな書き方はJava版でも使えるの?

このあたりで詰まりやすいです。

結論から言うと、Java版では/experience/xpはほぼ同じものとして使えます。
ですが、統合版の/xpとは構文が違うので、検索で出てきたコマンドをそのまま打つとエラーになることがあります。

この記事では、マイクラJava版のexperienceコマンドについて、実際に使う順番で分かりやすく整理していきますね。

この記事を読めば、次のことが出来るようになります。

  • 自分や他のプレイヤーに経験値を付与できます👌
  • レベル30など、任意の経験値レベルに調整できます👍
  • /experience/xppointslevelsの違いが分かります
  • コマンドブロックで経験値報酬を作る時の基本が分かります

それでは、やっていきましょう!

※本記事はマイクラJava版26.1.2時点で確認できるコマンド仕様を前提にしています。
※ゲーム内の仕様については、Minecraft Wikiおよび公式リリース情報を参照しています。
※古いJava版や統合版では構文が異なる場合があります。


目次

1. experienceコマンドとは
2. experienceコマンドの基本構文
3. xpコマンドとの違い
4. addで経験値を増やす・減らす
5. setで経験値レベルを指定する
6. queryで現在の経験値を確認する
7. pointsとlevelsの違い
8. 対象プレイヤーの指定方法
9. コマンドブロックで使う実例
10. よくある失敗とチェックポイント
11. Java版1.13以降と古い情報の注意点
12. まとめ
13. 参考文献

この記事で分かること
・マイクラJava版の/experienceコマンドの使い方
/xpとの違い
・経験値ポイントと経験値レベルの違い
・コマンドブロックで経験値を配る時の基本


1. experienceコマンドとは

experienceコマンドは、プレイヤーの経験値を増やしたり、減らしたり、現在値を確認したりするコマンドです。

Java版では、主に次の3つの使い方があります。

  • add:経験値を加算・減算する
  • set:経験値を指定した値に設定する
  • query:現在の経験値やレベルを確認する

例えば、自分に30レベル分の経験値を足したい場合は、次のように入力します。

/experience add @s 30 levels

@sは「コマンドを実行した自分」という意味です。
なので、上のコマンドは、自分に30レベル分の経験値を追加するという意味になります。

レベル30エンチャントを検証したい時、修繕装備の動作を見たい時、配布ワールドの報酬を作りたい時など、かなり使いどころが多いコマンドですね。

ただし、注意点もあります。

experienceコマンドは、プレイヤーに対して使うコマンドです。
ゾンビや村人などのMobに経験値を付けるコマンドではありません。

ポイント
経験値を操作できる対象は、基本的にプレイヤーです。
@eで全部のエンティティを指定するより、@s@p@aを使う方が安全です。

サバイバル攻略というよりは、検証・配布ワールド制作・サーバー管理向けの便利コマンドと思っていただければOKです。


2. experienceコマンドの基本構文

Java版のexperienceコマンドは、下記の構文で使います。

/experience add <対象> <量> [levels|points]
/experience set <対象> <量> [levels|points]
/experience query <対象> (levels|points)

これだけ見ると難しそうですが、分解するとかなりシンプルです。

部分 意味
add 経験値を足す・引く /experience add @s 10 levels
set 経験値を指定値にする /experience set @s 30 levels
query 現在値を確認する /experience query @s levels
<対象> 誰に使うか @s@p・プレイヤー名など
<量> 増やす量・設定する値 1030-5など
levels 経験値レベル単位 画面中央に出る緑色の数字
points 経験値ポイント単位 内部的な経験値量


一番よく使うのは、次の3パターンです。

/experience add @s 30 levels
/experience set @s 30 levels
/experience query @s levels

最初のうちは、経験値レベルを操作したいならlevels、細かい経験値ポイントを足したいならpointsと覚えておけば大丈夫です。

コマンドを使う前の注意

Java版でコマンドを使うには、ワールド側でチートが有効になっているか、サーバーで必要な権限を持っている必要があります。

シングルプレイでチートをオンにしていなかった場合でも、検証だけなら、

Escキー → LANに公開 → チートを許可:オン → LANワールドを開始

で一時的にコマンドを使えるようにできます。

ただし、これはワールドを開いている間だけの一時設定です。
ワールドに入り直すと元に戻るので、検証用として使うのがおすすめです。


3. xpコマンドとの違い

ここが一番混乱しやすいところです。

Java版では、/xp/experienceと同じ構文で使えます。
つまり、下の2つは同じ意味です。

/experience add @s 10 levels
/xp add @s 10 levels

どちらを使っても、自分に10レベル分の経験値を追加できます。

なので、Java版だけで考えるなら、

/experience = 丁寧な正式名
/xp = 短く書ける別名

くらいの理解で大丈夫です。

では、なぜ混乱するのか?

理由は、統合版(Bedrock Edition)の/xpは構文が違うからです。

例えば、統合版では次のような書き方が使われます。

/xp 30L @s

一方、Java版で同じことをするなら、基本的にはこうです。

/xp add @s 30 levels

または、

/experience add @s 30 levels

です。

検索で「マイクラ xp コマンド」と調べると、Java版と統合版の情報が混ざって出てくることがあります。
そのため、Java版で遊んでいる方は、addsetqueryが入っている構文を使うと覚えておくと安全です。

注意点
経験値コマンドは短く書けるので便利ですが、古い記事や統合版の記事をそのままコピペすると、Java版では赤文字エラーになりやすいです。
迷った時は、この記事の構文に合わせて入力してくださいね。


4. addで経験値を増やす・減らす

addは、現在の経験値に追加するコマンドです。

一番素直で使いやすいので、初心者さんはまずaddから覚えるのがおすすめです。

自分に経験値レベルを追加する

自分に30レベル分の経験値を追加する場合は、次のコマンドです。

/experience add @s 30 levels

レベル30エンチャントの検証をしたい時は、これが一番分かりやすいです。

ただし、これは現在のレベルに30レベル分を足すコマンドです。

例えば、すでにレベル5を持っている状態で実行すると、レベル30ちょうどではなく、そこからさらに増えます。

「レベル30ちょうどにしたい」場合は、後述するsetを使いましょう。

自分に経験値ポイントを追加する

経験値ポイント単位で足す場合は、最後をpointsにします。

/experience add @s 100 points

これは、100ポイント分の経験値を追加するという意味です。

経験値ポイントは、画面にそのまま数字で見えているものではありません。
普段見えているのは、経験値バーと経験値レベルです。

そのため、普通の検証ではlevelsの方が分かりやすいです。
一方で、配布ワールドの細かい報酬調整ではpointsが便利です。

経験値を減らす

addでは、負の値を指定すると経験値を減らせます。

/experience add @s -5 levels

これで、自分の経験値レベルを5レベル分減らせます。

ポイント単位で減らす場合はこちらです。

/experience add @s -100 points

配布ワールドで「アイテム購入時に経験値を消費する」ような仕組みを作る場合、このマイナス指定がかなり便利です。

ただし、経験値が足りない状態で減らそうとすると、想定通りに動かないことがあります。
実運用では、先にqueryやターゲットセレクターで条件を確認してから減らす方が安全です。


5. setで経験値レベルを指定する

setは、経験値を指定した値に設定するコマンドです。

「今の経験値に足す」のではなく、その値にそろえるイメージです。

レベル30に設定する

自分の経験値レベルを30にする場合は、次のコマンドです。

/experience set @s 30 levels

これは、検証ワールドでかなり使いやすいです。

エンチャント台の検証をする時、毎回経験値トラップに行かなくても、コマンドでレベルを調整できます。

経験値を0にする

経験値をリセットしたい場合は、次のようにします。

/experience set @s 0 levels
/experience set @s 0 points

両方入れておくと、レベル表示と経験値バーをきれいに0へ戻しやすいです。

特に検証中は、経験値バーの端数が残っていると「あれ?さっきのコマンド効いてる?」と混乱することがあります。
なので、完全にリセットしたい時は、levelspointsの両方を0にするのがおすすめです。

set pointsで大きい数字を入れると失敗することがある

ここはかなり大事です。

/experience set @s 1000 points

このように大きい数字を入れると、失敗することがあります。

理由は、set points総経験値を1000にするコマンドではなく、現在の経験値バー内のポイントを設定するコマンドだからです。

経験値バーには、今のレベルに応じた上限があります。
その上限を超えるポイントをset pointsで入れようとすると、コマンドが失敗します。

初心者さん向けの覚え方
・経験値をたくさん足したい → add points
・レベル表示を指定したい → set levels
・経験値バーの中身だけ調整したい → set points

1000ポイントを付与したいなら、こちらの方が自然です。

/experience add @s 1000 points

「経験値を付与する」のか、「現在値を固定する」のかで、addsetを使い分けましょう。


6. queryで現在の経験値を確認する

queryは、対象プレイヤーの現在の経験値を確認するコマンドです。

経験値レベルを確認する場合は、次のように入力します。

/experience query @s levels

これで、自分の現在の経験値レベルを確認できます。

経験値ポイントを確認する

ポイントを確認したい場合はこちらです。

/experience query @s points

ただし、ここも少し注意です。

query pointsで確認できるのは、現在の経験値バー内のポイントです。
プレイヤーが今までに獲得した総経験値をそのまま表示してくれるわけではありません。

例えば、レベル30のプレイヤーに対してquery pointsを実行しても、「レベル30に到達するまでの総経験値」が返るわけではありません。
今のレベルから次のレベルへ進むための、バー内のポイントを見るイメージです。

ここ、かなり間違えやすいです
query levelsは画面中央の緑色のレベル表示。
query pointsは現在の経験値バー内のポイント。
総経験値を直接きれいに出すコマンドではありません。

queryは1人を対象にする

queryは、1人のプレイヤーを調べる時に使います。

/experience query @p levels

このように、@p@sを使うと分かりやすいです。

逆に、複数人をまとめて調べる目的で@aを使うと、Java版では対象を1人に絞れずエラーになります。
全員に経験値を配る時は@aでOKですが、確認する時は1人に絞ると覚えておきましょう。

どうしてもセレクターで絞りたい場合は、@a[limit=1]のように、対象が1人になる形にする必要があります。


7. pointsとlevelsの違い

experienceコマンドで一番大事なのが、pointsとlevelsの違いです。

ここを理解しておくと、コマンドの失敗がかなり減ります。

levelsは画面に表示される経験値レベル

levelsは、画面の経験値バー中央に表示される緑色の数字です。

/experience add @s 5 levels

これは、経験値レベルを5レベル分追加するという意味です。

分かりやすいので、普段の検証ではlevelsを使うことが多いです。

レベル30エンチャント用に調整したいなら、

/experience set @s 30 levels

これでOKです。

pointsは内部的な経験値ポイント

pointsは、内部的な経験値の量です。

/experience add @s 100 points

これは100ポイント分の経験値を追加します。

注意したいのは、1レベル = 1ポイントではないということです。

マイクラでは、レベルが上がるほど、次のレベルに必要な経験値ポイントが増えていきます。

例えば、低レベル帯では少ない経験値でレベルが上がりますが、レベル30付近になると、次のレベルまでに必要な経験値がかなり増えます。

そのため、

/experience add @s 30 points

と、

/experience add @s 30 levels

は、まったく同じ結果にはなりません。

前者は30ポイント追加、後者は30レベル分追加です。

使い分けの早見表

やりたいこと おすすめ
レベル30にしたい set + levels /experience set @s 30 levels
10レベル分足したい add + levels /experience add @s 10 levels
細かい報酬として100ポイント渡したい add + points /experience add @p 100 points
現在のレベルを見たい query + levels /experience query @s levels
経験値バー内のポイントを見たい query + points /experience query @s points


個人的には、初心者さんはまずlevels中心で覚えるのがおすすめです。
配布ワールドやコマンドブロックで細かい報酬を作りたくなったら、pointsを使うと良いですね。


8. 対象プレイヤーの指定方法

experienceコマンドでは、誰に経験値を付けるのかを指定する必要があります。

よく使う指定方法は下記です。

指定 意味 使いどころ
@s コマンドを実行した自分 自分だけに経験値を付ける
@p 一番近いプレイヤー コマンドブロック報酬など
@a 全プレイヤー サーバー全員に配布
@r ランダムなプレイヤー 抽選イベントなど
プレイヤー名 指定したプレイヤー 特定の人にだけ付与


自分に付与する

/experience add @s 10 levels

検証ワールドでは、これが一番よく使います。

近くのプレイヤーに付与する

/experience add @p 5 levels

コマンドブロックの近くにいるプレイヤーへ、5レベル分の経験値を付与します。

ただし、マルチプレイでは、本当に報酬を渡したい人が一番近いかを確認してください。
近くに別のプレイヤーがいると、その人に入る場合があります。

全員に付与する

/experience add @a 1 levels

サーバーイベントで、全員に1レベルずつ配るような時に使えます。

ただし、@aは本当に全員が対象になります。
運営用コマンドで使う場合は、ワールドにいる人数を確認してから実行しましょう。

レベル条件で対象を絞る

Java版では、ターゲットセレクターのlevelを使って、経験値レベルで対象を絞ることもできます。

例えば、レベル30以上のプレイヤーだけを対象にしたい場合は、次のように書けます。

/experience add @a[level=30..] 1 levels

これは、レベル30以上の全プレイヤーに1レベル追加するコマンドです。

逆に、レベル10以下を対象にしたいなら、

/experience add @a[level=..10] 1 levels

このように書きます。

注意!
levelは経験値レベルでの絞り込みです。
経験値ポイントの総量で絞るわけではありません。

配布ワールドやサーバーイベントで「レベル30以上の人だけ参加できる」みたいな条件を作る時に便利です。


9. コマンドブロックで使う実例

ここからは、実際に使いやすいコマンド例を紹介します。

コマンドブロックに入れる場合は、基本的に先頭の/はなくても動きます。
ただし、チャット欄で試す時は/を付けてくださいね。

例1:ボタンを押した人に10レベル付与する

experience add @p 10 levels

コマンドブロックの近くにいるプレイヤーへ、10レベル分の経験値を付与します。

シンプルな報酬部屋なら、これだけでも十分使えます。

例2:全員に100ポイント付与する

experience add @a 100 points

サーバーイベント終了後に、全員へ細かい経験値報酬を配る時に使えます。

levelsではなくpointsなので、レベル帯によって上がり方が変わる点には注意してください。

例3:近くのプレイヤーをレベル30にする

experience set @p 30 levels

エンチャント部屋の近くに置いて、検証用にレベル30へ調整するような使い方ができます。

完全に端数を消したいなら、次のように2つのコマンドを組み合わせると管理しやすいです。

experience set @p 30 levels
experience set @p 0 points

例4:レベル30以上の人だけ経験値を消費する

experience add @p[level=30..] -30 levels

これは、近くのプレイヤーがレベル30以上なら、30レベル分を減らすコマンドです。

ただし、このコマンド単体だと「減らした後に何をするか」までは作れません。
実際に配布ワールドで使う場合は、executeコマンドやレッドストーン回路と組み合わせて、報酬付与や扉の開閉などにつなげると良いです。

例5:現在レベルを確認する

experience query @p levels

近くのプレイヤーの現在レベルを確認します。

コマンドブロックで結果を別の処理に使いたい場合は、execute store resultなどを組み合わせる必要があります。
ここは少し上級者向けなので、初心者さんはまずチャット欄で確認する使い方から試すのがおすすめです。


10. よくある失敗とチェックポイント

experienceコマンドでうまくいかない時は、だいたい原因が決まっています。
ここにチェックリストを置いておきますね。

  • [ ] Java版の記事を見ているか?統合版の/xp 30L @sをコピペしていないか?
  • [ ] addsetqueryのどれを使うか間違えていないか?
  • [ ] levelspointsを混同していないか?
  • [ ] set pointsで、経験値バーの上限を超える数字を入れていないか?
  • [ ] query@aなど複数人を対象にしていないか?
  • [ ] コマンドを使う権限、またはチート設定は有効か?
  • [ ] コマンドブロックが「無条件」「動力が必要」など、意図した設定になっているか?
  • [ ] マルチプレイで@pを使った時、別のプレイヤーが近くにいないか?

エラー例:統合版の構文をJava版で使っている

/xp 30L @s

Java版では、この書き方ではなく、下記のようにします。

/xp add @s 30 levels

または、

/experience add @s 30 levels

です。

エラー例:set pointsに大きすぎる数値を入れている

/experience set @s 9999 points

これは失敗しやすいです。

9999ポイントを追加したいなら、setではなくaddを使いましょう。

/experience add @s 9999 points

エラー例:queryで全員を対象にしている

/experience query @a levels

確認系のqueryは、対象を1人に絞る必要があります。
自分を調べるなら、こちらです。

/experience query @s levels

近くの人を調べるなら、こちらです。

/experience query @p levels

全員の中から1人だけ調べたい場合は、次のようにlimit=1で絞ります。

/experience query @a[limit=1] levels

エラー例:対象がプレイヤーではない

/experience add @e 10 levels

@eはエンティティ全体を対象にする指定です。
経験値コマンドはプレイヤー向けなので、最初は@s@p@aを使いましょう。

/experience add @a 10 levels

このように、全プレイヤーを対象にするなら@aが安全です。


11. Java版1.13以降と古い情報の注意点

Java版では、/experienceコマンドはJava版1.13で追加され、/xpが同じ構文で使える形に整理されました。
そのため、現在のJava版では、この記事で紹介しているように、

/experience add <対象> <量> [levels|points]
/experience set <対象> <量> [levels|points]
/experience query <対象> (levels|points)

という形で使います。

一方で、古いJava版の記事や、統合版の記事では、構文が違う場合があります。

特に、検索結果で出てくる下記のような書き方は注意してください。

/xp 30L @s

これは統合版でよく見る形です。
Java版でレベル30を追加したいなら、次の形にしましょう。

/xp add @s 30 levels

または、

/experience add @s 30 levels

です。

現在のJava版での使い方

Java版26.1.2時点でも、experienceコマンドの基本的な使い方はこの記事の内容で問題ありません。

マイクラはアップデートでコマンド仕様が変わることもあるので、将来的に大きなコマンド仕様変更があった場合は、公式リリース情報やMinecraft Wikiで確認するのがおすすめです。

大事なこと
「マイクラ experienceコマンド」と検索した時は、Java版なのか統合版なのかを必ず確認しましょう。
同じxpという名前でも、構文が違うことがあります。


12. まとめ

以上、マイクラJava版のexperienceコマンドについて解説しました。

要点を整理すると、

  • Java版では/experience/xpはほぼ同じように使える
  • 統合版の/xpとは構文が違うので注意
  • 経験値を足すならadd
  • 指定値にするならset
  • 現在値を確認するならquery
  • レベル表示を操作したいならlevels
  • 細かい経験値ポイントを操作したいならpoints

このあたりを押さえておけば、基本的な経験値操作は問題なくできます。

特に初心者さんは、まずこの3つだけ覚えればOKです。

/experience add @s 30 levels
/experience set @s 30 levels
/experience query @s levels

これだけで、経験値を増やす・レベルを指定する・現在レベルを確認する、という基本操作ができます。

コマンドブロックで報酬を作る場合も、最初は@pに経験値を付与するだけで十分です。
慣れてきたら、level=30..のような条件指定や、executeコマンドと組み合わせていくと、かなり色々な仕組みが作れます。

よかったら皆さんもぜひ、検証ワールドでexperienceコマンドを試してみてください。
エンチャント検証や配布ワールド作成がかなり楽になりますよ(^^♪

では、本日はここまでで終わります。
最後までご覧いただき、ありがとうございました。


13. 参考文献

この記事を書くにあたり、以下のページを参考にしています。