MC CommanderMinecraft非公式コマンド支援

エンチャント本をコマンドで出す方法

/enchant コマンドは本には使えません。修繕などのエンチャント本がほしいときは、エンチャントが付いた状態の本を /give で直接出します。書き方は版によって3通りあるので、自分の版に合わせて使い分けます。

giveエンチャント本Java版

エンチャント生成ツールを開く

更新日:

修繕の本を出す(版別)

版書き方
Java版1.21.5以降/give @p minecraft:enchanted_book[stored_enchantments={mending:1}]
Java版1.20.5〜1.21.4/give @p minecraft:enchanted_book[stored_enchantments={levels:{mending:1}}]
Java版1.13〜1.20.4/give @p minecraft:enchanted_book{StoredEnchantments:[{id:"minecraft:mending",lvl:1s}]}

1.20.5でアイテムの書き方が { }(NBT)から [ ](コンポーネント)に変わり、1.21.5で levels の階層がなくなりました。使っている版と違う書き方をすると、エラーになるか、何も付いていない本が出てきます。

複数のエンチャントを付ける

カンマで区切って並べます。1.21.5以降の例です。

/give @p minecraft:enchanted_book[stored_enchantments={efficiency:5,unbreaking:3,mending:1}]

1.20.5〜1.21.4では、次のように levels の中に並べます。

/give @p minecraft:enchanted_book[stored_enchantments={levels:{efficiency:5,unbreaking:3,mending:1}}]

1.20.4以前は StoredEnchantments:[{…},{…}] のように、1つずつ { } で区切ります。

stored_enchantments と enchantments の違い

本に付けるときは stored_enchantments(1.20.4以前は StoredEnchantments)を使います。剣やツルハシに付けるときの enchantments を本に使うと、本は光りますが「本に保存されたエンチャント」にならないため、金床で道具に移すことができません。

付け先使う名前(1.20.5以降)
エンチャント本stored_enchantments
剣・道具・防具などenchantments

道具に直接付けたいときは、本を作らずに エンチャント生成ツールや /enchant コマンドを使う方が手早いです。

よく使うエンチャントのID

エンチャントID最大レベル
修繕mendingI
耐久力unbreakingIII
効率強化efficiencyV
幸運fortuneIII
シルクタッチsilk_touchI
ダメージ増加sharpnessV
ドロップ増加lootingIII
防護protectionIV

ほかのIDはエンチャントID一覧で確認できます。

金床で使うときの注意

うまくいかないときの確認ポイント

よくある質問

最大より高いレベルの本も作れますか?

コマンドでは最大より高いレベルも指定できます(1.20.5以降は255まで)。ただし、金床で移すときの経験値の費用が高くなり、サバイバルでは「高すぎます」と表示されて付けられないことがあります。

エンチャント本は何冊まとめて出せますか?

最後に数を付けると複数出せますが、エンチャント本は重ねられないため1冊ずつインベントリに入ります。

村人から修繕の本を買うのとどう違いますか?

中身は同じです。コマンドで出した本も、金床で普通に道具へ移せます。

関連ページ

エンチャントID一覧

IDと最大レベルをまとめています。

enchantコマンドの基本

手に持った道具に直接付けます。

NBTとコンポーネントの違い

1.20.5の書き方の変化です。

コマンド辞典

基本構文とコマンド別の使い方を確認できます。