Java 1.20.4 NBT と 1.20.5+ アイテムのコンポーネント
8 分で読めます
Minecraft Java 1.20.5 は、多くのアイテム機能を従来の NBT からアイテムコンポーネントに移動しました。この変更は、コマンドの付与、アイテムの交換、lootの報酬、カスタム名、lore、enchantments、カスタム データ、および多くのリソース パックのワークフローに影響します。 NBTForge は、単なる書式設定ではないため、バージョン セレクターを表示したままにします。
ガイドの成果
レガシーアイテム NBT をいつ使用するか、および最新のアイテムコンポーネントをいつ使用するかについての明確な決定ルール。
推奨手順
- アイテムスタックを編集する前に、正確な Java バージョンを選択してください。
- アイテムを一度ビルドしてから、1.20.4 と 1.20.5+ の間でのみ切り替えて、Output を意図的に比較します。
- カスタム名、lore、enchantments、unbreakable、rarity、glit、およびカスタム データをバージョン依存フィールドとして扱います。
- 複数のワールドをサポートする場合、Project エントリを使用して、レガシー バージョンと最新バージョンを並べて保持します。
- 他の作成者と共有するコマンドの横にターゲット バージョンを文書化します。
レガシーアイテム NBT が依然として適切なターゲットである場合
コマンドを Java 1.20.4 以前で実行する必要がある場合は、レガシーアイテム NBT を使用してください。そのワールド ファミリでは、多くのアイテムの詳細が古い NBT 構造内に存在し、コンポーネントのOutput はターゲット構文ではありません。
レガシーOutput は、古いコマンド ライブラリを移行するときにも役立ちます。 Import 古いコマンドを実行し、解析されたフィールドを比較し、新しいターゲット バージョンを選択した後でのみ再生成します。
アイテムコンポーネントが適切なターゲットである場合
Java 1.20.5 以降のコンポーネントOutput を使用します。コンポーネント構文は、名前、lore、enchantments、カスタム データ、表示動作など、多くのアイテム機能の最新形式です。
現在の Java バージョン用に新しいマップ コンテンツを構築している場合は、コンポーネントOutputから開始し、古いサーバーで必要であることがわかっている場合にのみレガシー構文を生成します。
- 最新の Java アイテムコマンドは、現在のバージョンを選択して生成する必要があります。
- lootと報酬のワークフローでは、ワールド datapackと同じバージョンを使用する必要があります。
- 意図的に移行する場合を除き、レガシーの give コマンドとコンポーネント時代のアイテム修飾子を混合しないでください。
安全に比較する方法
バージョンを切り替えると、フィールド名、ネスト、および表現可能なフィールドが変更される場合があります。バージョンを切り替えた後は、長いコマンドを目で調べる代わりに、Output差分パネルを使用します。
共有テンプレートの場合は、記事のタイトル、プリセット名、または Project エントリ名にバージョンを保持します。 「報酬の剣」という名前のコマンドは曖昧です。 「報酬の剣 Java 1.21」というコマンドの方がサポートしやすいです。
Copyしたアーティファクトを発送する
このガイドを使用して、プレーヤーまたはマップ メーカーが実際に実行するアーティファクト (Copy したコマンド、注文された Project パック、またはdatapack リソース) を作成します。最終レビューは、編集可能なビルダーの状態だけでなく、Copy したOutputに対して行われる必要があります。
ワークフローがバージョンに依存する場合は、コマンドの横にターゲット バージョンのラベルを付けます。セレクター、scoreboard、boss bar、タグ、loot table、またはProject順序を使用する場合は、セットアップを公開する前にクリーンな環境でそれらの依存関係をテストしてください。
- 1 つのコマンドの場合は Output からの Copy、注文されたパックの場合は Project から。
- Java、Bedrock、およびスナップショット バリアントを分離してください。
- 最初に無害なOutputで破壊的なセレクターをテストします。
- ガイドが標準ワークフローになったら、関連するプリセットを更新します。
関連ガイドとプリセット
FAQ
Java 1.20.5 のOutput は常に優れていますか?
1.20.5 以降を実行するワールドにのみ適しています。古い Java ワールドにはレガシー構文が必要なため、正しいOutput はターゲット ワールドによって異なります。
両方の形式を保持できますか?
はい。レガシー バージョンとモダン バージョンに個別の Project エントリを保存し、明確にラベルを付けて、基礎となるアイテムのデザインが変更されたときに両方を更新します。
このガイドはいつ Project パックになるのでしょうか?
ワークフローに複数のコマンドが必要な場合、セットアップとクリーンアップの順序がある場合、またはテスト後に再度編集する必要がある場合は、Project を使用します。 1 回限りのコマンドは Output に残すことができます。