アイテムプリセット
Minecraft 1.20.5 以降のアイテムコンポーネント版 Give コマンド
Java 1.20.5 は、アイテムコマンドの構文の根幹を変えました。この記事は、まさにその移行を調べている方の目的、つまり「古い NBT の例をコピーする」のではなく「アイテムコンポーネントを使って Give コマンドを書く」方法に応えるものです。
プリセット結果
移行前のレガシー Java アイテム NBT と見比べられる、最新のコンポーネント形式 /give コマンド。
出力
Java 1.20.5 以降のコンポーネント出力
/give @p minecraft:diamond_sword[custom_name={text:"Component Blade",color:"gold",italic:false},lore=[{text:"Built with Java 1.20.5+ item components",color:"gray",italic:false}],enchantments={"minecraft:sharpness":5},unbreakable={},custom_data={component_demo:1}] 1The longest command line is 265 characters, 9 over the 256-character chat input limit. Pasting it into chat can truncate the line and make Minecraft report a syntax error even when the generated command is valid.
- Use a Command Block: run
/give @s command_block, place it, then paste this command into the block command field. - Use a
.mcfunctionfor a reusable datapack: save the line without the leading slash atsaves/<world>/datapacks/<pack>/data/<ns>/function/<name>.mcfunctionwith a minimalpack.mcmeta, run/reload, then run/function <ns>:<name>. Do not paste.mcfunctioncontent into chat.
プリセットのスクリーンショット
プリセットを作成
- アイテムを編集する前に、バージョンセレクターを Java 1.20.5 以降に設定してください。
- 追加する内容: Give Workbenchで custom_name、説明文 (lore)、エンチャント、unbreakable、custom_data を設定します。
- 古いマップを移行している場合は、Java 1.20.4 ガイドの出力と見比べてください。
- コピーする内容: 対象サーバーのバージョンを確認したあとに限り、出力されたコンポーネントを使ってください。
1.20.4 から何が変わったのか
古いコマンドで NBT に格納されていたアイテムの細かな情報の多くは、いまではアイテムコンポーネントとして書かれます。具体的には custom_name、説明文 (lore)、エンチャント、unbreakable、custom_data などのよく使われるフィールドです。
NBTForge はバージョンセレクターを目立つ位置に出したままにしています。これは見た目の整え方ではなく、構文そのものの選択だからです。
- 1.20.4 以前を選ぶと、従来の NBT 形式の出力になります。
- 1.20.5 以降を選ぶと、コンポーネント形式の出力になります。
- Command Pack 全体を移行する場合は、Java アイテムコンポーネントのガイドを使ってください。
移行のワークフロー
古いコマンド文字列ではなく、その元になっていたアイテムの意図から始めてください。Give Workbenchでアイテムを組み直し、最新バージョンを設定したうえで、生成された出力を見比べてください。
そのアイテムがルートテーブル、ショップ、または装備品として登場する場合は、組み直したコンポーネント形式のアイテムを Project に保存しておくと、他のコマンドからも同じ定義を共有できます。
プリセットを実際の Project になじませる
Minecraft 1.20.5 以降のアイテムコンポーネント版 Give コマンドは、単にコピーしてきた文字列ではなく、テスト済みの出発点として扱ってください。出力が一度動いたら、わかりやすい Project 名を付けて保存し、対象の Minecraft バージョンをメモし、スコアボード、ボスバー、ルートテーブル、リセット行といった関連するセットアップコマンドの近くにプリセットを置いてください。
マップ、サーバー、または Command Pack にプリセットを公開する前に、ライブのWorkbenchの状態だけでなく、コピーしたアーティファクトそのものから一度走らせてください。これによって、依存関係の漏れ、古いセレクター、エディションの選び間違い、そしてローカルテストの状態が残っているおかげで動いているだけのコマンドを洗い出せます。
- 選択した Edition とバージョンは、共有するコマンドにも残してください。
- ダメージ、キル、クリア、テレポートを使う前に、無害なコマンドでセレクターを試しておいてください。
- 長いコマンドをチャットに貼り付けるのではなく、Project や関数形式のワークフローへ移してください。
- エンティティ、アイテムコンポーネント、passenger、データパックリソースを変更したあとは、警告をもう一度確認してください。
FAQ
古い NBT 形式の give コマンドを 1.20.5 以降のワールドに貼り付けてもいいですか?
古い例の中には、失敗するものや挙動が変わるものがあります。対象ワールドが Java 1.20.5 以降の場合は、アイテムをコンポーネントとして組み直してください。
custom_data は古いカスタム NBT と同じものですか?
これは現在の Java アイテム出力で、安定したカスタムアイテムデータを保持するために使う最新のコンポーネントです。
このプリセットを Command Pack の一部にすべきなのはどんなときですか?
出力がセットアップ行、リセットコマンド、ルートテーブル、スコアボードの状態、繰り返しのテストに依存する場合は、Command Pack のエントリとして扱ってください。単発で安全なコマンドであれば、引き続き出力から直接コピーしても問題ありません。
このワークフローを開く
関連する Give ワークベンチから始め、ワールドに合わせてプリセット項目を調整します。