MCTOOLBOX
MC ToolboxMC TOOLBOX
Javaコマンドの移行

Minecraft NBTからコンポーネントへの変換ツール

1.20.4以前のレガシーなJavaアイテムNBTを、1.20.5、1.21.x、および現在の26.xリリース用のアイテムコンポーネント構文に変換します。コマンドはブラウザ内で処理されます。

レガシー入力

古いアイテムNBTまたは/giveコマンド

例を読み込む:

変換された出力

現在の/giveコマンド

/give @p minecraft:diamond_sword[minecraft:custom_name={text:'Frost Blade',color:'aqua',italic:false},minecraft:lore=[{text:'Forged below Y -59',color:'gray'}],minecraft:damage=12,minecraft:repair_cost=3,minecraft:custom_model_data={floats:[27]},minecraft:unbreakable={},minecraft:enchantments={'minecraft:sharpness':5},minecraft:tooltip_display={hidden_components:['minecraft:unbreakable']}] 1

変換されたコンポーネント

8

検出されたアイテム

minecraft:diamond_sword

変換されたコンポーネント

  • display.Nameminecraft:custom_name
  • display.Loreminecraft:lore
  • Damageminecraft:damage
  • RepairCostminecraft:repair_cost
  • CustomModelDataminecraft:custom_model_data
  • Unbreakableminecraft:unbreakable
  • Enchantmentsminecraft:enchantments
  • HideFlagsminecraft:tooltip_display

認識されるフィールド

名前、lore、エンチャント、ダメージ、修繕コスト、Unbreakable、CustomModelData、ポーションデータ、プロファイル、属性、アドベンチャーモードの述語はコンポーネントにマッピングされます。

バージョンを考慮した出力

Minecraft 1.21.4ではCustomModelDataが変更され、1.21.5ではいくつかのコンポーネントが簡素化され、tooltip_displayが導入されました。実際に実行しているサーバーのバージョンを選択してください。

安全なフォールバック

不明なタグはminecraft:custom_dataに保存され、確認のためにリストされます。この変換ツールは、custom_dataが廃止されたゲームメカニズムを機能させるかのように装うことはありません。

MinecraftがアイテムNBTをコンポーネントに置き換えた理由

Minecraft Java 1.20.5では、ほとんど構造化されていなかった古いアイテムタグが、型付きデータコンポーネントに置き換えられました。コマンドでは、コンポーネントはアイテムIDの後に角括弧で囲まれ、コンマで区切られて表示されます。Damageはminecraft:damageに、display.Nameはminecraft:custom_nameに、Enchantmentsはminecraft:enchantmentsになり、任意のカスタムフィールドはminecraft:custom_dataに移動しました。

これは一度限りの構文変更ではありませんでした。Minecraft 1.21.4では、新しいアイテムモデルシステムで使用されるリストにcustom_model_dataが拡張されました。Minecraft 1.21.5では、ツールチップの表示がminecraft:tooltip_displayに移動し、エンチャント、属性、染色された色、アドベンチャーモードの述語が簡素化されました。現在の26.xコマンドは、その新しいコンポーネント形式から継続しています。

変換ツールは既知のアイテムフィールドをマッピングできますが、すべてのコマンドブロックやデータパックを自動的に修復することはできません。エンティティNBT、ブロックエンティティデータ、ルート関数、述語、テキストコンポーネントもバージョン間で変更されました。生成されたコマンドは、常にターゲットワールドのコピーまたはステージングサーバーでテストしてください。

古い/giveコマンドを変換する方法

  1. 11.20.4以前のJava Editionの/giveコマンドを貼り付けます。ブレース間のコンパウンドのみを貼り付けることもできます。
  2. 2正確なターゲットファミリーを選択します。現在のサーバーには1.21.5 - 26.xを使用し、古い1.20.5コンポーネント形式は使用しないでください。
  3. 3すべての警告を読んでください。保存されたcustom_dataは安全なストレージですが、廃止されたDamage、Potion、またはAttributeModifiersタグをアクティブにすることはありません。
  4. 4生成されたコマンドをコピーし、データパックやコマンドブロックシステム内のコマンドを置き換える前に、一時的なワールドでテストしてください。

この変換ツールが変更しないこと

一度に1つのアイテムスタックまたは/giveコマンドを変換します。データパック全体をスキャンしたり、execute if dataチェックを書き換えたり、JSONファイルに保存されているアイテム述語を更新したりすることはありません。

BedrockアイテムJSONは変換しません。JavaアイテムコンポーネントとBedrockアドオンコンポーネントは、一部の名前が似ていても異なるシステムです。

非常に古いバージョンのテキストコンポーネントは、手動での最新化が必要な場合があります。複雑なプレイヤープロファイル、カスタムポーション効果、ブロックエンティティのペイロードは、ターゲットリリースに対して確認する必要があります。

NBTからコンポーネントへのFAQ

1.20.5で古い/giveコマンドが機能しなくなったのはなぜですか?

Java 1.20.5では、アイテムデータが古い{tag}構造から、アイテムIDの後に角括弧で記述される型付きコンポーネントに移動しました。

すべての古いタグをminecraft:custom_dataに入れることができますか?

任意のフィールドをそこに保存できますが、組み込みのメカニズムはDamageやEnchantmentsなどの古い構造タグをcustom_dataから読み取らなくなりました。それらには実際のコンポーネントが必要です。

Minecraft 26.2または26.3にはどのターゲットを使用すべきですか?

Minecraft 1.21.5 - 26.xを使用してください。この出力は、新しいコンポーネントシステムからの簡素化されたエンチャントと属性の形状、およびtooltip_displayを使用します。

変換ツールは完全なコマンドをサポートしていますか?

はい。レガシーな/giveターゲット、アイテムID、NBTコンパウンド、および数を読み取り、現在の/giveコマンドを再構築します。スタンドアロンのNBTコンパウンドも受け入れます。

BlockEntityTagに警告があるのはなぜですか?

現在のblock_entity_dataは有効なブロックエンティティを識別する必要があります。一部の古いコマンドはアイテムタイプに依存し、IDを省略していたため、そのフィールドは手動での確認が必要です。

変換はサーバーで実行されますか?

いいえ。解析と変換はブラウザ内でローカルに実行されます。コマンドはこのツールによってアップロードされません。