MC Toolkit

ガイド / コマンドとデータ

データコンポーネント以降の /give コマンド:NBT タグに代わるもの

1.20.5 でアイテムの NBT はデータコンポーネントに置き換わりましたが、ネット上の /give スニペットの多くは今も旧形式のままです。ここでは、慣れ親しんだタグから現在機能するコンポーネントへの対応表を示します。

古いガイドから /give コマンドを貼り付けて、構文エラーで拒否されたなら、そのコマンドは 1.20.5 より前の NBT 形式で書かれています。アイテムデータはデータコンポーネントへ移行し、旧来の {display:{Name:...}} の塊はもう解析されません。

形が変わった

old   /give @p diamond_sword{display:{Name:'"Skybreaker"'},Enchantments:[{id:sharpness,lvl:5}]}
new   /give @p diamond_sword[custom_name="Skybreaker",enchantments={sharpness:5}]

波括弧ではなく角括弧です。コンポーネントはアイテム ID の後に、カンマ区切りの平坦なリストとして並びます。

実際によく使う対応表

旧 NBTデータコンポーネント
display:{Name:...}custom_name
display:{Lore:[...]}lore
Enchantments:[{id,lvl}]enchantments={id:level}
Unbreakable:1bunbreakable={}
CustomModelData:3custom_model_data={floats:[3]}
AttributeModifiers:[...]attribute_modifiers
display:{color:...}dyed_color
SkullOwnerprofile

3つの落とし穴

  • 引用符。 custom_name は SNBT で書かれたテキストコンポーネントを受け取るので、ただの名前は custom_name="Skybreaker" で済みます。1.20.5 時代のガイドにある旧来の custom_name='"Skybreaker"' 形式では、引用符が表示されたままアイテム名になってしまいます。
  • デフォルトの削除。 ! を先頭に付けると、アイテムが通常持つコンポーネントを剥がせます — [!attribute_modifiers] はダメージボーナスを一切持たない剣になります。
  • Bedrock にはこれが一切ない。 Bedrock の /give は今も独自のデータ値とコンポーネントのモデルを使います。Java のコンポーネント文字列はそこで動きません。

/give Generator はコンポーネント形式を自動で書き出し、両エディションの出力を表示するので、自分が使っているサーバーに合う方をコピーできます。

/give ジェネレーター →

その他のガイド

すべて見る →