更新日:
/enchant は、プレイヤーが持っているアイテムにエンチャントを付けるコマンドです。/give で最初からエンチャント済みアイテムを作る方法とは違い、/enchant は「今持っているアイテム」に対して実行するのが基本です。
付与できない場合の切り分け
/enchant @p minecraft:sharpness 1 は、実行対象が持つアイテムとエンチャントの適合性が必要です。プレイヤーが対象の道具を持っていなかったり、適合しないアイテムを持っていると意図した結果になりません。まず通常の剣を持って試してから、対象プレイヤーを変更してください。
通常の /enchant は、コマンドで好きなアイテムデータを自由に付け替える仕組みではありません。名前や説明、通常の上限を超えるカスタム付与を目的とする場合は、バージョンに合う /give とアイテムコンポーネントを使う必要があります。Java版と統合版で可能な機能は異なります。
基本形
/enchant <対象> <エンチャントID> <レベル>
Java版で、近くのプレイヤーが持っている剣に鋭さVを付ける例です。
/enchant @p minecraft:sharpness 5
耐久力IIIを付ける例です。
/enchant @p minecraft:unbreaking 3
動かない原因
/enchant が動かない原因で多いのは、対象プレイヤーが対応していないアイテムを持っているケースです。例えば、剣向けのエンチャントを防具に付けようとすると失敗します。ツール、防具、武器、弓、クロスボウ、トライデントでは対応するエンチャントが違います。
- 対象プレイヤーが何も持っていない
- そのアイテムに付けられないエンチャントを指定している
- レベルが通常上限を超えている
- Java版と統合版でIDの書き方を混ぜている
最強装備を作るならgive生成の方が向く
/enchant は手軽ですが、名前付きの剣、説明文付きの装備、複数エンチャントをまとめたアイテムを作るなら /give 系の生成の方が向いています。特にJava 1.20.5以降ではcomponentsの書き方が絡むため、手打ちよりツールで作る方が安定します。
実用例
練習用に、まずダイヤモンドの剣を渡してからエンチャントする流れです。
/give @p minecraft:diamond_sword 1
/enchant @p minecraft:sharpness 5
/enchant @p minecraft:unbreaking 3
この方法なら、どのアイテムに付けようとしているのかが分かりやすく、エラーの原因も切り分けやすくなります。
/enchant でできないこと
- 最大レベルを超える:/enchant では、そのエンチャントの最大レベル(鋭さならV)までしか付けられません。
- ぶつかり合うエンチャント:鋭さとアンデッド特効、修繕と無限のように同時に付かない組み合わせは、/enchant ではエラーになります。
- 本に付ける:本には使えません。エンチャント本は/give で直接出します。
最大レベルを超えた装備や、ふつうは同時に付かない組み合わせを作りたいときは、/give でエンチャント付きのアイテムを直接作ります。例は最強の剣を作るコマンドで紹介しています。
統合版の書き方
/enchant @p sharpness 5
統合版も同じ順番で、minecraft: は省略できます。統合版でも最大レベルを超えては付けられません。
よくある質問
エンチャントのIDが分かりません
エンチャントID一覧で、日本語名とID、最大レベルを確認できます。
すでに付いているエンチャントのレベルを上げられますか?
/enchant では、すでに付いているエンチャントを上書きできません。一度アイテムを作り直すか、/give でレベルを決めたアイテムを渡します。