NBTから見る逆引きcomponent【MinecraftJE1.20.5】

<br>

## はじめに
1.20.4 → 1.20.5のアップデートにおけるアイテムの変更について
* どのアイテムNBTがどのcomponentに変わったのか
* 出来なくなった表現はどのようなものか

の2点に焦点を当て、NBT側を見出しとしてまとめます。

対応例はitem構文(`id[component=value]`)状ではなく
`/data get`時に観測できるかたちで示します。
例 : `{tag:{}}` → `{components:{}}`

:::note warn
この記事は元々移行作業のためにゲーム内で検証しながら書いたものですが、
どこまで行っても二次情報なので内容を鵜呑みにはせず、ご自身でも検証しながら
参考程度に読んでいただければと思います
:::


## 全体
* アイテムidごとにcomponentのデフォルト値が設定されており、デフォルト値と等しい値をcomponentに設定した場合はデータ上から記述が削除されるようになった
    * 例
        ```:1.20.4
        {id:"minecraft:iron_sword",Count:1b,tag:{Damage:0}}
        ```
        ```1.20.5
        {id:"minecraft:iron_sword",count:1}
        ```
<br>

* `!` + `<component>`のような記述のcomponentを追加すると、アイテムにデフォルトで設定されているcomponentを**無効化**できる
    * 例 : 食べられないリンゴ
        ```
        {id:"minecraft:apple",count:1,components:{"!minecraft:food":{}}}
        ```


## 各NBT対応リスト

### 任意に追加したタグ
`minecraft:custom_data`=`<compound>`
<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{_cp58:{metadata:2}}}
    ```
    ```:1.20.5
    {components:{"minecraft:custom_data":{_cp58:{metadata:2}}}}
    ```

</details>


### AttributeModifiers
`minecraft:attribute_modifiers`=`{modifiers:[]}`
<details><summary>詳細</summary>

* **AttributeName**
    ↳ `type`: `<string>` (attribute id)
* **Name**
    ↳ `name`: `<string>` (任意の文字列)
* **Amount**
    ↳ `amount`: `<double>`
* **Slot**
    ↳ `slot`: `<string>` (↓から選択)
    * 値の種類
    
    |値|対象|
    |:-|:-|
    |`any`|全スロット(デフォルト)|
    |`mainhand`|利き手|
    |`offhand`|オフハンド|
    |`head`|頭装備|
    |`chest`|チェストプレート|
    |`legs`|レギンス|
    |`feet`|ブーツ|
    || **以下新規追加** |
    |`hand`|`offhand`と`mainhand`両方|
    |`armor`|防具すべて(`head`,`chest`,`legs`,`feet`のどれでも発動)|
    |`body`|馬鎧やオオカミの鎧などを付けるスロット|

* **Operation**
    ↳ `operation`: `<string>` (↓から選択)
    * 値の変更
    
    |~1.20.4|1.20.5~|
    |-:|:-|
    |`0`|`"add_value"`|
    |`1`|`"add_multiplied_base"`|
    |`2`|`"add_multiplied_total"`|

* **UUID**
    ↳ `uuid`: `<int_array>`


</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{AttributeModifiers:[{AttributeName:"minecraft:generic.max_health",Name:"_cp58:",Amount:20.0d,Slot:"head",Operation:0,UUID:[I;1,0,1,0]}]}}
    ```
    ```:1.20.5
    {components:{"minecraft:attribute_modifiers":{modifiers:[{type:"minecraft:generic.max_health",name:"_cp58:",amount:20.0d,slot:"head",operation:"add_value",uuid:[I;1,0,1,0]}]}}}
    ```

</details>


### author
[`minecraft:written_book_content`component](#記入済みの本minecraftwritten_book)に統合された


### BlockEntityTag
`minecraft:block_entity_data`=`<compound>`

:::note info
**BlockEntityTag**のうち、他のcomponentとして独立していないNBTたちを格納するためのcomponentとなっている
:::
:::note warn
中に`id`の記述が**必須**だが、string型であれば空っぽでも何でも許容される
:::

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{BlockEntityTag:{Command:"function _cp58:",auto:1b}}}
    ```
    ```:1.20.5
    {components:{"minecraft:block_entity_data":{id:"minecraft:command_block",Command:"function _cp58:",auto:1b}}}
    ```

</details>

### BlockEntity.Base
`minecraft:base_color`=`<string>`

:::note info
旗を付けた`shield`の 旗の地の色を保存するタグ
:::

<details><summary>詳細</summary>
<table>
    <tr>
        <th style="text-align:right;">~1.20.4</td>
        <th>1.20.5~</td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>0</code></td>
        <td><code>&quot;white&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>1</code></td>
        <td><code>&quot;orange&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>2</code></td>
        <td><code>&quot;magenta&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>3</code></td>
        <td><code>&quot;light_blue&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>4</code></td>
        <td><code>&quot;yellow&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>5</code></td>
        <td><code>&quot;lime&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>6</code></td>
        <td><code>&quot;pink&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>7</code></td>
        <td><code>&quot;gray&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>8</code></td>
        <td><code>&quot;light_gra&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>9</code></td>
        <td><code>&quot;cyan&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>10</code></td>
        <td><code>&quot;purple&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>11</code></td>
        <td><code>&quot;blue&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>12</code></td>
        <td><code>&quot;brown&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>13</code></td>
        <td><code>&quot;green&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>14</code></td>
        <td><code>&quot;red&quot;</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>15</code></td>
        <td><code>&quot;black&quot;</code></td>
    </tr>
</table>
</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{BlockEntityTag:{Base:0}}}
    ```
    ```:1.20.5
    {components:{"minecraft:base_color":"white"}}
    ```

</details>


### BlockEntityTag.Bees
`minecraft:bees`=`[]`

:::note info
`minecraft:container`と`Items`の関係とは異なり、こちらは`bees`NBTがそのまま`minecraft:bees`componentに格納されている
というよりブロック側のNBT名がこのcomponentに合わせて変更されている
:::

<details><summary>詳細</summary>

* **EntityData**
    ↳ `entity_data`: `<compound>`

* **MinOccupationTicks**
    ↳ `min_ticks_in_hive`: `<int>`

* **TicksInHive**
    ↳ `ticks_in_hive`: `<int>`

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{BlockEntityTag:{Bees:[{EntityData:{id:"minecraft:bee"},MinOccupationTicks:600,TicksInHive:0}]}}}
    ```
    ```:1.20.5
    {components:{"minecraft:bees":[{entity_data:{id:"minecraft:bee"},min_ticks_in_hive:600,ticks_in_hive:0}]}}
    ```

</details>


### BlockEntityTag.Items
`minecraft:container`=`[{slot:<int>,item:<item stack>}]`

:::note warn
ブロックの`Items`NBTとデータ構造が異なるので注意
:::

<details><summary>詳細</summary>

* **id**
    ↳ `item.id`: `<string>` (アイテムid)

* **Count**
    ↳ `item.count`: `<int>`

* **Slot**
    ↳ `slot`: `<int>`

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{BlockEntityTag:{Items:[{id:"minecraft:iron_sword",Count:1b,Slot:3b,tag:{Unbreakable:1b}}]}}}
    ```
    ```:1.20.5
    {components:{"minecraft:container":[{slot:3,item:{id:"minecraft:iron_sword",count:1,components:{"minecraft:unbreakable":{}}}}]}}
    ```

</details>


### BlockEntityTag.Lock
`minecraft:lock`=`<string>`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{BlockEntityTag:{Lock:"VaultKey"}}}
    ```
    ```:1.20.5
    {components:{"minecraft:lock":'VaultKey'}}
    ```

</details>


### BlockEntityTag.LootTable
`minecraft:container_loot`=`{loot_table:<loot_table id>}`

<details><summary>詳細</summary>

* **LootTableSeed**
    ↳ `seed`: `<int>` (任意)

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{BlockEntityTag:{LootTable:"minecraft:chests/buried_treasure",LootTableSeed:58}}}
    ```
    ```:1.20.5
    {components:{"minecraft:container_loot":{loot_table:'minecraft:chests/buried_treasure',seed:58}}}
    ```

</details>


### BlockEntityTag.LootTableSeed
[`minecraft:container_loot`component](#blockentitytagloottable)に統合され`seed`となった


### BlockEntityTag.note_block_sound
`minecraft:note_block_sound`=`<string>`

:::note info
1.20で`player_head`に追加された、その`player_head`を上に乗せて音ブロックを鳴らしたときに再生されるサウンドを指定するタグ
:::

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{BlockEntityTag:{note_block_sound:"minecraft:entity.experience_orb.pickup"}}}
    ```
    ```:1.20.5
    {components:{"minecraft:note_block_sound":"minecraft:entity.experience_orb.pickup"}}
    ```

</details>


### BlockEntityTag.Patterns
`minecraft:banner_patterns`=`[]`

:::note warn
ブロック状態でのNBT構成も変更されている
<details><summary>詳細</summary>

* **Patterns[].Pattern**
    ↳`patterns[].pattern`

* **Patterns[].Color**
    ↳`patterns[].color`

</details>

:::


<details><summary>詳細</summary>

* **Pattern**
    ↳ `pattern`: `<string>` (namespace+idのかたちに)
    <details><summary>詳細</summary>
    <table>
        <tr>
            <th style="text-align:right;">~1.20.4</td>
            <th>1.20.5~</td>
        </tr>
        <tr>
            <td><code>&quot;b&quot;</code></td>
            <td><code>&quot;minecraft:base&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;bs&quot;</code></td>
            <td><code>&quot;minecraft:stripe_bottom&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;ts&quot;</code></td>
            <td><code>&quot;minecraft:stripe_top&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;ls&quot;</code></td>
            <td><code>&quot;minecraft:stripe_left&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;rs&quot;</code></td>
            <td><code>&quot;minecraft:stripe_right&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;cs&quot;</code></td>
            <td><code>&quot;minecraft:stripe_center&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;ms&quot;</code></td>
            <td><code>&quot;minecraft:stripe_middle&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;drs&quot;</code></td>
            <td><code>&quot;minecraft:stripe_downright&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;dls&quot;</code></td>
            <td><code>&quot;minecraft:stripe_downleft&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;ss&quot;</code></td>
            <td><code>&quot;minecraft:small_stripes&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;cr&quot;</code></td>
            <td><code>&quot;minecraft:cross&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;sc&quot;</code></td>
            <td><code>&quot;minecraft:straight_cross&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;ld&quot;</code></td>
            <td><code>&quot;minecraft:diagonal_left&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;rud&quot;</code></td>
            <td><code>&quot;minecraft:diagonal_up_right&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;lud&quot;</code></td>
            <td><code>&quot;minecraft:diagonal_up_left&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;rd&quot;</code></td>
            <td><code>&quot;minecraft:diagonal_right&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;vh&quot;</code></td>
            <td><code>&quot;minecraft:half_vertical&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;vhr&quot;</code></td>
            <td><code>&quot;minecraft:half_vertical_right&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;hh&quot;</code></td>
            <td><code>&quot;minecraft:half_horizontal&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;hhb&quot;</code></td>
            <td><code>&quot;minecraft:half_horizontal_bottom&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;bl&quot;</code></td>
            <td><code>&quot;minecraft:square_bottom_left&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;br&quot;</code></td>
            <td><code>&quot;minecraft:square_bottom_right&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;tl&quot;</code></td>
            <td><code>&quot;minecraft:square_top_left&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;tr&quot;</code></td>
            <td><code>&quot;minecraft:square_top_right&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;bt&quot;</code></td>
            <td><code>&quot;minecraft:triangle_bottom&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;tt&quot;</code></td>
            <td><code>&quot;minecraft:triangle_top&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;bts&quot;</code></td>
            <td><code>&quot;minecraft:triangles_bottom&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;tts&quot;</code></td>
            <td><code>&quot;minecraft:triangles_top&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;mc&quot;</code></td>
            <td><code>&quot;minecraft:circle&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;mr&quot;</code></td>
            <td><code>&quot;minecraft:rhombus&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;bo&quot;</code></td>
            <td><code>&quot;minecraft:border&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;cbo&quot;</code></td>
            <td><code>&quot;minecraft:curly_border&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;bri&quot;</code></td>
            <td><code>&quot;minecraft:bricks&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;gra&quot;</code></td>
            <td><code>&quot;minecraft:gradient&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;gru&quot;</code></td>
            <td><code>&quot;minecraft:gradient_up&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;cre&quot;</code></td>
            <td><code>&quot;minecraft:creeper&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;sku&quot;</code></td>
            <td><code>&quot;minecraft:skull&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;flo&quot;</code></td>
            <td><code>&quot;minecraft:flower&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;moj&quot;</code></td>
            <td><code>&quot;minecraft:mojang&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;glb&quot;</code></td>
            <td><code>&quot;minecraft:globe&quot;</code></td>
        </tr>
        <tr>
            <td><code>&quot;pig&quot;</code></td>
            <td><code>&quot;minecraft:piglin&quot;</code></td>
        </tr>
        <tr>
            <td></td>
            <td><code>&quot;minecraft:flow&quot;</code></td>
        </tr>
        <tr>
            <td></td>
            <td><code>&quot;minecraft:guster&quot;</code></td>
        </tr>
    </table>
    </details>


* **Color**
    ↳ `color`: `<string>`
    <details><summary>詳細</summary>
    <table>
        <tr>
            <th style="text-align:right;">~1.20.4</td>
            <th>1.20.5~</td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>0</code></td>
            <td><code>&quot;white&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>1</code></td>
            <td><code>&quot;orange&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>2</code></td>
            <td><code>&quot;magenta&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>3</code></td>
            <td><code>&quot;light_blue&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>4</code></td>
            <td><code>&quot;yellow&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>5</code></td>
            <td><code>&quot;lime&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>6</code></td>
            <td><code>&quot;pink&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>7</code></td>
            <td><code>&quot;gray&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>8</code></td>
            <td><code>&quot;light_gra&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>9</code></td>
            <td><code>&quot;cyan&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>10</code></td>
            <td><code>&quot;purple&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>11</code></td>
            <td><code>&quot;blue&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>12</code></td>
            <td><code>&quot;brown&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>13</code></td>
            <td><code>&quot;green&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>14</code></td>
            <td><code>&quot;red&quot;</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>15</code></td>
            <td><code>&quot;black&quot;</code></td>
        </tr>
    </table>
    </details>

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{BlockEntityTag:{Patterns:[{Pattern:"mc",Color:14}]}}}
    ```
    ```:1.20.5
    {components:{"minecraft:banner_patterns":[{pattern:"minecraft:circle",color:"red"}]}}
    ```

</details>


### BlockEntityTag.sherds
`minecraft:pot_decorations`=`[]`
(飾り壺の作成に使った欠片を保存するcomponent)

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{BlockEntityTag:{sherds:["minecraft:brick","minecraft:brick","minecraft:brick","minecraft:archer_pottery_sherd"]}}}
    ```
    ```:1.20.5
    {components:{"minecraft:pot_decorations":["minecraft:brick","minecraft:brick","minecraft:brick","minecraft:archer_pottery_sherd"]}}
    ```

</details>


### BlockStateTag
`minecraft:block_state`=`{}`

:::note warn
数値のプロパティも全て文字列として表記しなければならなくなった
:::

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{BlockStateTag:{moisture:7}}}
    ```
    ```:1.20.5
    {components:{"minecraft:block_state":{moisture:"7"}}}
    ```

</details>


### BucketVariantTag
`minecraft:bucket_entity_data`=`{BucketVariantTag:<int>}`

:::note warn
元々エンティティ入りバケツは、入れたエンティティの一部のNBTを抜粋して保存していた
その保存先が**tag直下だった**(!?)ため、~~めちゃめちゃ雑に~~保存されてたNBTたちがこのcomponentにまとめられたかたちになる
:::

<details><summary>詳細</summary>
以下エンティティNBTのうちバケツに保存されるNBTリスト
<table>
    <tr>
        <th>エンティティNBT</td>
        <th>保存先</td>
    </tr>
    <tr>
        <td><strong>CustomName</strong></td>
        <td><code>"minecraft:custom_name"</code>(=アイテムの表示名)</td>
    </tr>
    <tr>
        <td><strong>Health</strong></td>
        <td><code>"minecraft:bucket_entity_data".Health</code></td>
    </tr>
    <tr>
        <td><strong>NoAI</strong></td>
        <td><code>"minecraft:bucket_entity_data".NoAI</code></td>
    </tr>
    <tr>
        <td><strong>Silent</strong></td>
        <td><code>"minecraft:bucket_entity_data".Silent</code></td>
    </tr>
    <tr>
        <td><strong>Invulnerable</strong></td>
        <td><code>"minecraft:bucket_entity_data".Invulnerable</code></td>
    </tr>
    <tr>
        <td><strong>NoGravity</strong></td>
        <td><code>"minecraft:bucket_entity_data".NoGravity</code></td>
    </tr>
    <tr>
        <td><strong>Glowing</strong></td>
        <td><code>"minecraft:bucket_entity_data".Glowing</code></td>
    </tr>
    <tr>
        <td><strong>Age</strong>(<code>axolotl</code>)</td>
        <td><code>"minecraft:bucket_entity_data".Age</code></td>
    </tr>
    <tr>
        <td><strong>memories."minecraft:has_hunting_cooldown".ttl</strong>(<code>axolotl</code>)</td>
        <td><code>"minecraft:bucket_entity_data".HuntingCooldown</code></td>
    </tr>
    <tr>
        <td><strong>Variant</strong>(<code>axolotl</code>)</td>
        <td><code>"minecraft:bucket_entity_data".Variant</code></td>
    </tr>
    <tr>
        <td><strong>Variant</strong>(<code>tropical_fish</code>)</td>
        <td><code>"minecraft:bucket_entity_data".BucketVariantTag</code></td>
    </tr>
    <tr><th colspan=14>$\hspace{48em}$</th></tr>
</table>

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{DebugProperty:{"minecraft:chest":"type"}}}
    ```
    ```:1.20.5
    {components:{"minecraft:debug_stick_state":{"minecraft:chest":"type"}}}
    ```

</details>


### CanDestroy
`minecraft:can_break`=`{blocks:[]}`

<details><summary>新記法<code>{predicates:[&lt;block_predicate&gt;]}</code>について</summary>
<code>&lt;block_predicate&gt;</code>は、location predicateにおける<code>block</code>の記述とほぼ同じ書き方をする<br>
例 : <code>{blocks:["minecraft:campfire","minecraft:soul_campfire"],nbt:"{Items:[]}",state:{lit:"true"}}</code><br>
見づらいので成形↓

```snbt
{
    blocks: [
        "minecraft:campfire",
        "minecraft:soul_campfire"
    ],
    nbt: "{Items:[]}",
    state: {
        lit: "true"
    }
}
```

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{CanDestroy:["#minecraft:fences"]}}
    ```
    ```:1.20.5
    {components:{"minecraft:can_break":{blocks:["#minecraft:fences"]}}}
    
    #記述したい要素が一つなら`[]`は省略可能
    {components:{"minecraft:can_break":{blocks:"#minecraft:fences"}}}

    #(最も冗長な書き方)
    {components:{"minecraft:can_break":{predicates:[{blocks:["#minecraft:fences"]}]}}}
    ```

</details>


### CanPlaceOn
`minecraft:can_place_on`=`{blocks:[]}`

([`minecraft:can_break`component](#candestroy)と同じ書き方)

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{CanPlaceOn:["#minecraft:fences"]}}
    ```
    ```:1.20.5
    {components:{"minecraft:can_place_on":{blocks:["#minecraft:fences"]}}}
    
    #記述したい要素が一つなら`[]`は省略可能
    {components:{"minecraft:can_place_on":{blocks:"#minecraft:fences"}}}

    #(最も冗長な書き方)
    {components:{"minecraft:can_place_on":{predicates:[{blocks:["#minecraft:fences"]}]}}}
    ```

</details>


### Charged
[`minecraft:charged_projectiles`component](#chargedprojectiles)に統合された

:::note warn
これにより1.20.4以前できていた
"矢装填済みの見た目だが使っても何も発射されない"
という状態のクロスボウが再現できなくなった
<details><summary>かと思われたが...</summary>
24w18aでエンチャントがdata-driven化され、<strong>発射物が召喚された瞬間にfunctionを実行できるようになった</strong>ため、1.21では同様の挙動を再現できるかと思われる<br>
みんな1.20.5対応して1.21を待とう！
</details>
:::


### ChargedProjectiles
`minecraft:charged_projectiles`=`[<item stack>]`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{Charged:1b,ChargedProjectiles:[{id:"minecraft:arrow",Count:1b}]}}
    ```
    ```:1.20.5
    {components:{"minecraft:charged_projectiles":[{id:"minecraft:arrow",count:1}]}}
    ```

</details>


### custom_potion_effects
`minecraft:potion_contents`=`{custom_effects:[]}`
[`minecraft:potion_contents`component](#potion)に統合され`custom_effects`となった

:::note warn
`area_effect_cloud`のNBT構成もこのcomponentと同じかたちに変更されている
<details><summary>詳細</summary>

* **Potion**
    ↳`potion_contents.potion`

* **effects**
    ↳`potion_contents.custom_effects`

* **Color**
    ↳`potion_contents.custom_color`

</details>

:::

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{custom_potion_effects:[{id:"minecraft:resistance",amplifier:4,duration:-1,show_particles:false}],CustomPotionColor:16777215}}
    ```
    ```:1.20.5
    {components:{"minecraft:potion_contents":{custom_effects:[{id:"minecraft:resistance",amplifier:4,duration:-1,show_particles:false}],custom_color:16777215}}}
    ```

</details>

### CustomPotionColor
`minecraft:potion_contents`=`{custom_color:<int>}`
[`minecraft:potion_contents`component](#custom_potion_effects)に統合され`custom_color`となった

### CustomModelData
`minecraft:custom_model_data`=`<int>`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{CustomModelData:128}}
    ```
    ```:1.20.5
    {components:{"minecraft:custom_model_data":128}}
    ```

</details>


### Damage
`minecraft:damage`=`<int>`(0以上)

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{Damage:2}}
    ```
    ```:1.20.5
    {components:{"minecraft:damage":2}}
    ```

</details>


### DebugProperty
`minecraft:debug_stick_state`=`<compound>`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{DebugProperty:{"minecraft:chest":"type"}}}
    ```
    ```:1.20.5
    {components:{"minecraft:debug_stick_state":{"minecraft:chest":"type"}}}
    ```

</details>


### Decorations
`minecraft:map_decorations`=`{<string>:{}}`
<details><summary>詳細</summary>

* **id**
    ↳ 任意の文字列をkeyとして下記のタグを含有するcompoundを設定するようになった

* **type**
    ↳ `type`: `<string>` (int型から変更)

    <details><summary>詳細</summary>
    <table>
        <tr>
            <th style="text-align:right;">~1.20.4</td>
            <th>1.20.5~</td>
            <th>画像</td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>0</code></td>
            <td><code>&quot;player&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/10e5f878-12ec-1c8e-5cee-4b068ad5ea46.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>1</code></td>
            <td><code>&quot;frame&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/af937788-211c-7b26-a7e6-9ec9c22c14d4.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>2</code></td>
            <td><code>&quot;red_marker&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/c15ab4d0-132e-34bf-de6a-17c72b4260bb.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>3</code></td>
            <td><code>&quot;blue_marker&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/c15ab4d0-132e-34bf-de6a-17c72b4260bb.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>4</code></td>
            <td><code>&quot;target_x&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/b3f4b347-3467-002d-36aa-500610f05ba1.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>5</code></td>
            <td><code>&quot;target_point&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/73efb167-14e0-3fe3-326e-5927757278bd.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>6</code></td>
            <td><code>&quot;player_off_map&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/a10541de-4b84-e9b1-fdcd-25e376d6ff1f.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>7</code></td>
            <td><code>&quot;player_off_limits&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/66543a3b-01a5-b6ee-6b06-5eb5bbed277a.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>8</code></td>
            <td><code>&quot;mansion&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/1fe8d878-d9ae-336f-6521-5e3625c174dd.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>9</code></td>
            <td><code>&quot;monument&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/9ddbe15a-4a8e-bbf4-0d58-015ee1701fa8.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>10</code></td>
            <td><code>&quot;banner_white&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/72336e57-8f73-5fea-3b73-fee7661a7241.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>11</code></td>
            <td><code>&quot;banner_orange&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/00543a91-281e-b02b-028f-9fbe15fcb305.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>12</code></td>
            <td><code>&quot;banner_magenta&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/365c16cb-9207-0d6a-a6ef-f4abb787bd35.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>13</code></td>
            <td><code>&quot;banner_light_blue&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/8af38842-f367-b544-a4bb-0cd5dae99b37.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>14</code></td>
            <td><code>&quot;banner_yellow&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/dcdf93e8-6668-14a3-a952-8017f7634c7e.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>15</code></td>
            <td><code>&quot;banner_lime&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/19a4d842-1f29-a5b2-9f7b-b66ae3fe214e.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>16</code></td>
            <td><code>&quot;banner_pink&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/4fba55ae-7646-87d5-43cf-4109a1b7022c.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>17</code></td>
            <td><code>&quot;banner_gray&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/f72d2620-842d-65db-67cc-6619c1ecadfe.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>18</code></td>
            <td><code>&quot;banner_light_gray&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/0873db54-8f61-ef89-bc4d-927a2aafcddb.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>19</code></td>
            <td><code>&quot;banner_cyan&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/521aafbe-eaaf-6aef-3264-3bab32a8e5ae.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>20</code></td>
            <td><code>&quot;banner_purple&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/e6d1fa58-8f18-4a13-1463-90641bac6eb7.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>21</code></td>
            <td><code>&quot;banner_blue&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/4aff2526-933d-34d0-d5ca-341f7a5abf13.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>22</code></td>
            <td><code>&quot;banner_brown&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/a330b59c-5da3-2d46-df33-ca9f18dac583.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>23</code></td>
            <td><code>&quot;banner_green&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/836f0463-4f92-17b4-56be-9c889bdb0af4.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>24</code></td>
            <td><code>&quot;banner_red&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/c7a0924c-a6de-d703-778b-f57dd679bb15.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>25</code></td>
            <td><code>&quot;banner_black&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/82ec52f4-6ea2-9d9f-7304-bc413d02ffc5.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>26</code></td>
            <td><code>&quot;red_x&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/cd7b5a6b-740e-175a-7046-fa6e185b352b.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>27</code></td>
            <td><code>&quot;village_desert&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/8a39f7ac-dc9a-e4a0-02ce-2557c91c383d.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>28</code></td>
            <td><code>&quot;village_plains&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/162ebecd-6832-e5e8-3e48-b4e6791456b0.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>29</code></td>
            <td><code>&quot;village_savanna&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/a58800c5-07d2-be78-06a2-1e964b4ea47c.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>30</code></td>
            <td><code>&quot;village_snowy&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/3a59645a-f089-1fa1-70eb-0dec30292b3a.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>31</code></td>
            <td><code>&quot;village_taiga&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/e07ed150-29ee-1a9c-69e0-511c008ce0a7.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>32</code></td>
            <td><code>&quot;jungle_temple&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/b20dc6d1-fb73-1ffe-3192-dbf46e3686c6.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>33</code></td>
            <td><code>&quot;swamp_hut&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/d8fec66d-b8d7-8a1b-7baf-41179f7016b5.png"></td>
        </tr>
        <tr>
            <td style="text-align:right;"></td>
            <td><code>&quot;trial_chambers&quot;</code></td>
            <th><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3594882/4c1f8fbd-54a4-46c9-24d2-da3801a52698.png"></td>
        </tr>
    </table>
    </details>

* **x**
    ↳ `x`: `<double>` (絶対座標)
* **z**
    ↳ `z`: `<double>` (絶対座標)
* **rot**
    ↳ `rotation`: `<float>`(double型から変更)
    $\hspace{0.6em}$時計回りに北から、360.0で一周

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{Decorations:[{id:"_cp58:0",type:26,x:0.0d,z:0.0d,rot:180.0d}]}}
    ```
    ```:1.20.5
    {components:{"minecraft:map_decorations":{"_cp58:0":{type:"red_x",x:0.0d,z:0.0d,rotation:180.0f}}}}
    ```

</details>



### display.Name
`minecraft:custom_name`=`<chat_component>`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{display:{Name:'{"text":"名前"}'}}}
    ```
    ```:1.20.5
    {components:{"minecraft:custom_name":'{"text":"名前"}'}}
    ```

</details>


### display.Lore
`minecraft:lore`=`[<chat_component>]`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{display:{Lore:['{"text":"1行目"}','{"text":"2行目"}']}}}
    ```
    ```:1.20.5
    {components:{"minecraft:lore":['{"text":"1行目"}','{"text":"2行目"}']}}
    ```

</details>

### display.color
`minecraft:dyed_color`=`{rgb:<int>}`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{display:{color:16777215}}}
    ```
    ```:1.20.5
    {components:{"minecraft:dyed_color":{rgb:16777215}}}
    ```

</details>


### display.MapColor
`minecraft:map_color`=`<int>`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{display:{MapColor:16711680}}}
    ```
    ```:1.20.5
    {components:{"minecraft:map_color":16711680}}
    ```

</details>


### effects
`minecraft:suspicious_stew_effects`=`[]`

:::note warn
[公式記事](https://www.minecraft.net/en-us/article/minecraft-java-edition-1-20-5)では`minecraft:suspicious_stew`とされているが恐らく間違いで、
ゲーム内では`minecraft:suspicious_stew_effects`が確認された
:::

<details><summary>詳細</summary>
(中身のエフェクト指定部分に変更は無い)

* **id**
    ↳ `id`: `<string>` (effect id)

* **duration**
    ↳ `duration`: `<int>` (tick単位,指定しない場合`160`扱い)

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{effects:[{id:"minecraft:saturation",duration:7}]}}
    ```
    ```:1.20.5
    {components:{"minecraft:suspicious_stew_effects":[{id:"minecraft:saturation",duration:7}]}}
    ```

</details>


### Enchantments
`minecraft:enchantments`=`{levels:{<id>:<int>}}`

:::note warn
アイテムツールチップ上のエンチャント表示順が
"エンチャントを追加した順" から
"新規追加の**enchantment** tag`#minecraft:tooltip_order`内の記述順"
に変更されている
:::

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{Enchantments:[{id:"minecraft:protection",lvl:1s}]}}
    ```
    ```:1.20.5
    {components:{"minecraft:enchantments":{levels:{'minecraft:protection':1}}}}
    ```

</details>


### EntityTag
`minecraft:entity_data`=`<compound>`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{EntityTag:{id:"minecraft:husk",NoAI:1b,Silent:1b,Tags:["_cp58"]}}}
    ```
    ```:1.20.5
    {components:{"minecraft:entity_data":{id:"minecraft:husk",NoAI:1b,Silent:1b,Tags:["_cp58"]}}}
    ```

</details>


### Explosion
`minecraft:firework_explosion`=`{}`

<details><summary>詳細</summary>

* **Type**
    ↳ `shape`: `<string>`

    <details><summary>詳細</summary>
    <table>
        <tr>
            <th style="text-align:right;">~1.20.4</td>
            <th>1.20.5~</td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>0b</code></td>
            <td><code>small_ball</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>1b</code></td>
            <td><code>large_ball</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>2b</code></td>
            <td><code>star</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>3b</code></td>
            <td><code>creeper</code></td>
        </tr>
        <tr>
            <td style="text-align:right;"><code>4b</code></td>
            <td><code>burst</code></td>
        </tr>
    </table>
    </details>

* **Colors**
    ↳ `colors`: `<int_array>`

* **FadeColors**
    ↳ `fade_colors`: `<int_array>`

* **Trail**
    ↳ `has_trail`: `<byte>` (`0b` or `1b`, 指定しない場合`0b`扱い)

* **Flicker**
    ↳ `has_twinkle`: `<byte>` (`0b` or `1b`, 指定しない場合`0b`扱い)

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{Explosion:{Type:0b,Colors:[I;11743532],FadeColors:[I;2437522],Trail:1b,Flicker:1b}}}
    ```
    ```:1.20.5
    {components:{"minecraft:firework_explosion":{shape:"small_ball",colors:[I;11743532],fade_colors:[I;2437522],has_trail:1b,has_twinkle:1b}}}
    ```

</details>

### Fireworks
`minecraft:fireworks`=`{explosions:[],flight_duration:<byte>}`

<details><summary>詳細</summary>

* **Explosions**
    ↳ `explosions`: `[]`
    (中身は[`minecraft:firework_explosion`component](#explosion)と同じ書き方)

* **Flight**
    ↳ `flight_duration`: `<byte>`(`0b`以上)

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{Fireworks:{Explosions:[{Type:0b,Colors:[I;11743532],FadeColors:[I;2437522],Trail:1b,Flicker:1b}],Flight:3b}}}
    ```
    ```:1.20.5
    {components:{"minecraft:fireworks":{explosions:[{shape:"small_ball",colors:[I;11743532],fade_colors:[I;2437522],has_trail:1b,has_twinkle:1b}],flight_duration:3b}}}
    ```

</details>


### generation
[`minecraft:written_book_content`component](#記入済みの本minecraftwritten_book)に統合された


### HideFlags
`minecraft:<component>`=`{show_in_tooltip:0b}`

:::note warn
HideFlagsは**根本的に書き方が変わった**NBTの一つで、
どのタグを非表示にしているかわかりやすくなった半面、
再現不能になった表現も多い
:::

<details><summary>詳細</summary>

<table>
    <tr>
        <th style="text-align:right;">値</td>
        <th>対象NBT</td>
        <th>1.20.5~</td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>1</code></td>
        <td><strong>Enchantments</strong></td>
        <td><code>&quot;minecraft:enchantments&quot;:{show_in_tooltip:0b}</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>2</code></td>
        <td><strong>AttributeModifiers</strong></td>
        <td><code>&quot;minecraft:attribute_modifiers&quot;:{show_in_tooltip:0b}</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>4</code></td>
        <td><strong>Unbreakable</strong></td>
        <td><code>&quot;minecraft:unbreakable&quot;:{show_in_tooltip:0b}</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>8</code></td>
        <td><strong>CanDestroy</strong></td>
        <td><code>&quot;minecraft:can_break&quot;:{show_in_tooltip:0b}</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>16</code></td>
        <td><strong>CanPlaceOn</strong></td>
        <td><code>&quot;minecraft:can_place_on&quot;:{show_in_tooltip:0b}</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>32</code></td>
        <td><strong>StoredEnchantments</strong></td>
        <td><code>&quot;minecraft:stored_enchantments&quot;:{show_in_tooltip:0b}</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>32</code></td>
        <td>その他</td>
        <td><code>&quot;minecraft:hide_additional_tooltip&quot;:{}</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>64</code></td>
        <td><strong>display.color</strong></td>
        <td><code>&quot;minecraft:dyed_color&quot;:{show_in_tooltip:0b}</code></td>
    </tr>
    <tr>
        <td style="text-align:right;"><code>128</code></td>
        <td><strong>Trim</strong></td>
        <td><code>&quot;minecraft:trim&quot;:{show_in_tooltip:0b}</code></td>
    </tr>
    <tr><th colspan=14>$\hspace{38em}$</th></tr>
</table>

基本的には対象のcomponent内に新規実装されている`show_in_tooltip`タグを`0b`にすればtooltipへの表示を消すことができる

ただしcomponentは記述必須のタグが多いため、`HideFlags`のように`show_in_tooltip`のみを記述することはほとんどの場合できない

<details><summary>弊害の例と対処法</summary>

* `attribute_modifiers`component を非表示にしたいとする
    もちろん自分で新たに付与したattributeは問題なく非表示にできるが、剣などにデフォルトで付与されている`attribute_modifiers`の表示を消そうすると手間がかかる。
    
    しかし`attribute_modifiers`componentには`modifiers:[]`の記述が必須。
    デフォルトのattributeを消さずに`show_in_tooltip:0b`だけ付与することはできず、
    デフォルトの値を再現しながら`modifiers`も一緒に記述するしかない。
    
    ここで使えるのが新登場のloot function(`item_modifier`に書くやつ)、`toggle_tooltips`。
    
    1.
        ```json:"toggle_tooltips" loot function
        {
            "function": "minecraft:toggle_tooltips",
            "toggles": {
                "attribute_modifiers": false
            }
        }
        ```
    これで素の`diamond_sword`を`/item modify`すると...
    
    1.
        ```:
        {id:"minecraft:diamond_sword",count:1}
        ```
    これが
    
    1.
        ```:
        {
            id:"minecraft:diamond_sword",count:1,
            components:{
                "minecraft:attribute_modifiers":{
                    show_in_tooltip:0b,
                    modifiers:[
                        {
                            name:"Weapon modifier",
                            amount:6.0d,
                            slot:"mainhand",
                            type:"minecraft:generic.attack_damage",
                            uuid:[I; -885041709,1683771192,-1533567981,-1556236849],
                            operation:"add_value"
                        },
                        {
                            name:"Weapon modifier",
                            amount:-2.4000000953674316d,
                            slot:"mainhand",
                            type:"minecraft:generic.attack_speed",
                            uuid:[I;-98353636,1098926181,-1340359474,-1752847197],
                            operation:"add_value"
                        }
                    ]
                }
            }
        }
        ```
    こうなる(見やすいよう成形済み)。
    つまり`items.json`に定義されているアイテムのcomponentのデフォルト値をコピーしてきて、`show_in_tooltip:0b`を追記してくれているという...
    信じられないような実装だが、これしか書き方が無いので仕方ない。
    自動でデフォルトの値をコピーしてきてくれてる分マシとも言えるかもしれない。
    
    残念ながら手動で値を再現して書く以外`/give`だけで完結させる方法は存在しないが、
    `item_modifier`をインラインで書けるようになったので

    1.
        ```
        /item modify @s weapon.* {function:"toggle_tooltips",toggles:{attribute_modifiers:false}}
        ```
    このような書き方ができる。
    これを実行すれば手に持っているアイテムの`attribute_modifiers`を非表示にできる。
    中身は冗長になるが、手動で再現するよりは簡単なのでこれを対処法として挙げる。
    (24w20a現在、防具はなぜかデフォルトでmodifiersが空なので`{show_in_tooltip:0b,modifiers:[]}`でデフォルト値を保存したまま非表示にできる)

</details>

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{HideFlags:1,Enchantments:[{id:"minecraft:protection",lvl:4s}]}}
    ```
    ```:1.20.5
    {components:{"minecraft:enchantments":{show_in_tooltip:0b,levels:{"minecraft:protection":4}}}}
    ```
<br>

1.
    ```:1.20.4
    {id:"minecraft:iron_sword",Count:1b,tag:{HideFlags:2}}
    ```
    ```:1.20.5
    {id:"minecraft:iron_sword",count:1,components:{"minecraft:attribute_modifiers":{show_in_tooltip:0b,modifiers:[{name:"Weapon modifier",amount:5.0d,slot:"mainhand",type:"minecraft:generic.attack_damage",uuid:[I;-885041709,1683771192,-1533567981,-1556236849],operation:"add_value"},{name:"Weapon modifier",amount:-2.4000000953674316d,slot:"mainhand",type:"minecraft:generic.attack_speed",uuid:[I;-98353636,1098926181,-1340359474,-1752847197],operation:"add_value"}]}}}
    ```
<br>

1.
    ```:1.20.4
    {tag:{HideFlags:4,Unbreakable:1b}}
    ```
    ```:1.20.5
    {components:{"minecraft:unbreakable":{show_in_tooltip:0b}}}
    ```
<br>

1.
    ```:1.20.4
    {tag:{HideFlags:32,StoredEnchantments:[{id:"minecraft:mending",lvl:1s}]}}
    ```
    ```:1.20.5
    {components:{"minecraft:stored_enchantments":{show_in_tooltip:0b,levels:{"minecraft:mending":1}}}}
    ```
<br>

1.
    ```:1.20.4
    {tag:{HideFlags:32,CustomPotionEffects:[{id:"minecraft:resistance",amplifier:4b,duration:200}]}}
    ```
    ```:1.20.5
    {components:{"hide_additional_tooltip":{},"minecraft:potion_contents":{custom_effects:[{id:"minecraft:resistance",amplifier:4b,duration:200}]}}}
    ```
<br>

* 番外編

    ```:1.20.4
    {tag:{HideFlags:1,Enchantments:[{}]}}
    
    #テクスチャのテカテカオーバーレイだけ付けるやつ
    ```
    ```:1.20.5
    {components:{"minecraft:enchantment_glint_override":1b}}
    
    #エンチャントの記述変更で"minecraft:enchantments"componentではできなくなったが、
    #新規追加の"minecraft:enchantment_glint_override"componentで同様の表現が可能
    ```

    

</details>


### instrument
`minecraft:instrument`=`<string>`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{instrument:"minecraft:yearn_goat_horn"}}
    ```
    ```:1.20.5
    {components:{"minecraft:instrument":"minecraft:yearn_goat_horn"}}
    ```

</details>

### Items
`minecraft:bundle_contents`=`[<item stack>]`

:::note warn
tag直下の`Items`はバンドル(`minecraft:bundle`)の中身を指すNBTであり、
chestなどcontainer系ブロックの中身の`Items`は[`BlockEntityTag.Items`](#blockentitytagitems)を参照
:::

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{Items:[{id:"minecraft:axolotl_bucket",Count:1b}]}}
    ```
    ```:1.20.5
    {components:{"minecraft:bundle_contents":[{id:"minecraft:axolotl_bucket",count:1}]}}
    ```

</details>

### LodestoneDimension
[`minecraft:lodestone_tracker`component](#lodestonepos)に統合された


### LodestonePos
`minecraft:lodestone_tracker`=`{target:{pos:[I;<int>,<int>,<int>],dimension:<string>},tracked:<boolean>}`

<details><summary>詳細</summary>

* **LodestonePos**
    ↳ `target.pos`: `<int_array>`

* **LodestoneDimension**
    ↳ `target.dimension`: `<string>` (dimension id)

* **LodestoneTracked**
    ↳ `tracked`: `<byte>` (`0b` or `1b`, 指定しない場合`1b`扱い)

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{LodestonePos:{X:0,Y:255,Z:65535},LodestoneDimension:"minecraft:the_nether",LodestoneTracked:1b}}
    ```
    ```:1.20.5
    {components:{"minecraft:lodestone_tracker":{target:{pos:[I;0,255,65535],dimension:"minecraft:the_nether"},tracked:1b}}}
    
    #tracked:1bは内部的には省略され、↓のかたちになる
    {components:{"minecraft:lodestone_tracker":{target:{pos:[I;0,255,65535],dimension:"minecraft:the_nether"}}}}
    ```

</details>

### LodestoneTracked
[`minecraft:lodestone_tracker`component](#lodestonepos)に統合された


### map
`minecraft:map_id`=`<int>`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{map:1}}
    ```
    ```:1.20.5
    {components:{"minecraft:map_id":1}}
    ```

</details>


### pages
#### 本と羽根ペン(`writable_book`)
<details><summary><code>minecraft:writable_book_content</code>=<code>{pages:[&lt;filtered strings&gt;]}</code></summary>

:::note warn
`pages`の中身が filtered string と呼ばれるデータ構造に変更されている
* <details><summary>filtered string</summary>
    <code>{raw:'&lt;string&gt;',filtered:'&lt;string&gt;'}</code>
    <code>raw</code>は必須だが<code>filtered</code>は任意で設定するタグとなっている<br>
    
    基本的には<code>raw</code>に設定された文字列が表示されるが、<a href="https://www.minecraft.net/en-us/msaprofile/accountsettings">Minecraftアカウント</a>の<em>JAVA REALMS PROFANITY FILTER</em>という設定が有効になっていれば<code>filtered</code>に設定された文字列が表示される(検証済み)<br>
    単にstring型で置き換えることもできるが、内部的には<code>raw</code>下に設定されているらしく<code>/data get</code>等で観測すると<code>{raw:"<入力した文字列>"}</code>というかたちになって返ってくる
    </details>
:::
<details><summary>対応例</summary>

1.
    ```:1.20.4
    {id:"minecraft:writable_book",tag:{pages:["1ページ目","2ページ目"]}}
    ```
    ```:1.20.5
    {id:"minecraft:writable_book",components:{"minecraft:writable_book_content":{pages:[{raw:"1ページ目"},{raw:"2ページ目"}]}}}

    #↓の書き方でも↑と同値にされる
    {id:"minecraft:writable_book",components:{"minecraft:writable_book_content":{pages:["1ページ目","2ページ目"]}}}
    ```

</details>

</details>

#### 記入済みの本(`written_book`)
<details><summary><code>minecraft:written_book_content</code>=<code>{pages:[&lt;filtered chat components&gt;],<br>title:&lt;filtered string&gt;,author:&lt;string&gt;,generation:&lt;int&gt;,resolved:&lt;boolean&gt;}</code></summary>

* **pages**
    ↳ `pages`: `[<filtered chat components>]`<br>
    
    :::note warn
    `pages`の中身が filtered chat componentと呼ばれるデータ構造に変更されている
    * <details><summary>filtered chat component</summary>
        <code>{raw:'&lt;chat_component&gt;',filtered:'&lt;chat_component&gt;'}</code><br>
        
        <code>raw</code>は必須だが<code>filtered</code>は任意で設定するタグとなっている
        <code>writable_book</code>と違い、こちらには単なるstring型ではなくchat componentを記述する<br>
        
        基本的には<code>raw</code>に設定されたchat componentが表示されるが、<a href="https://www.minecraft.net/en-us/msaprofile/accountsettings">Minecraftアカウント</a>の<em>JAVA REALMS PROFANITY FILTER</em>という設定が有効になっていれば<code>filtered</code>に設定されたchat componentが表示される(検証済み)<br>
        
        filtered string同様、単なるchat component(例:<code>'{"text":"HelloWorld"}'</code>)で置き換えても↑の形で保存されている


* **title**
    ↳ `title`: `<filtered string>`
    <br>

* **author**
    ↳ `author`: `<string>`
    <br>

* **generation**
    ↳ `generation`: `<int>` (`0~3`)
    <br>

* **resolved**
    ↳ `resolved`: `<byte>` (`0b` or `1b`)
    <br>


<details><summary>対応例</summary>

1.
    ```:1.20.4
    {id:"minecraft:written_book",tag:{pages:['{"text":"1ページ目"}','{"text":"2ページ目"}'],title:"タイトル",author:"著者名",generation:0,resolved:0b}}
    ```
    ```:1.20.5
    {id:"minecraft:written_book",components:{"minecraft:written_book_content":{pages:[{raw:'{"text":"1ページ目"}'},{raw:'{"text":"2ページ目"}'}],title:{raw:"タイトル"},author:"著者名",generation:0,resolved:0b}}}

    #↓の書き方でも↑と同値にされる
    {id:"minecraft:written_book",components:{"minecraft:written_book_content":{pages:['{"text":"1ページ目"}','{"text":"2ページ目"}'],title:"タイトル",author:"著者名",generation:0,resolved:0b}}}
    ```

</details>

</details>


### Potion
`minecraft:potion_contents`=`<string>`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{Potion:"minecraft:swiftness"}}
    ```
    ```:1.20.5
    {components:{"minecraft:potion_contents":"minecraft:swiftness"}}

    #省略しない形↓
    {components:{"minecraft:potion_contents":{potion:"minecraft:swiftness"}}}
    ```

</details>


### Recipes
`minecraft:recipes`=`[]`

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{Recipes:["minecraft:jungle_planks"]}}
    ```
    ```:1.20.5
    {components:{"minecraft:recipes":["minecraft:jungle_planks"]}}
    ```

</details>


### resolved
[`minecraft:written_book_content`component](#記入済みの本minecraftwritten_book)に統合された


### RepairCost
`minecraft:repair_cost`=`<int>`(0以上)

:::note warn
* 負の値を指定できなくなった
* `39`以上の値を設定しても`38`が設定されているような振る舞いをする
:::

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{RepairCost:1}}
    ```
    ```:1.20.5
    {components:{"minecraft:repair_cost":1}}
    ```

</details>


### SkullOwner
`minecraft:profile`=`<string>`

:::note warn
合わせて`player_head`ブロック側のNBTも`SkullOwner`から`profile`へ変わり、
中身も下記のcomponent内と同様の記述に変わっている
:::

<details><summary>詳細</summary>

* **Name**
    ↳ `name`: `<string>` (player名, 16文字まで)

* **Id**
    ↳ `id`: `<int_array>` (uuid)

* **Properties.textures**
    ↳ `properties[{name:"textures"}]`
    * **Value**
        ↳ `properties[{name:"textures"}].value`
    * **Signature**
        ↳ `properties[{name:"textures"}].signature`

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{SkullOwner:{Name:"CobwebbyPiano58",Properties:{textures:[{Value:"ewogICJ0aW1lc3RhbXAiIDogMCwKICAicHJvZmlsZUlkIiA6ICI5NDI1YTRhYzRlNzQ0NDZiOTgxMzYzYzQxYTM5NmQ4NyIsCiAgInByb2ZpbGVOYW1lIiA6ICJDb2J3ZWJieVBpYW5vNTgiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiBmYWxzZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzdiZGM0YjJmZDJmZmI4MDlmNzdiNGJlYTlmZTM0ZjllODBjMWJmNDJjODUyMjc5NTQwMmY5NzNjMGEwOTg2NTIiCiAgICB9CiAgfQp9"}]}}}}
    ```
    ```:1.20.5
    {components:{"minecraft:profile":{name:"CobwebbyPiano58",properties:[{name:"textures", value:"ewogICJ0aW1lc3RhbXAiIDogMCwKICAicHJvZmlsZUlkIiA6ICI5NDI1YTRhYzRlNzQ0NDZiOTgxMzYzYzQxYTM5NmQ4NyIsCiAgInByb2ZpbGVOYW1lIiA6ICJDb2J3ZWJieVBpYW5vNTgiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiBmYWxzZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzdiZGM0YjJmZDJmZmI4MDlmNzdiNGJlYTlmZTM0ZjllODBjMWJmNDJjODUyMjc5NTQwMmY5NzNjMGEwOTg2NTIiCiAgICB9CiAgfQp9"}]}}}

    #SkullOwnerと同じく、プレイヤー名だけでもresolveしてくれる
    {components:{"minecraft:profile":"CobwebbyPiano58"}}
    ```

</details>

### StoredEnchantments
`minecraft:stored_enchantments`=`{<id>:<int>}`

([`minecraft:enchantments`component](#enchantments)と同じ書き方)


<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{StoredEnchantments:[{id:"minecraft:mending",lvl:1s}]}}
    ```
    ```:1.20.5
    {components:{"minecraft:stored_enchantments":{levels:{'minecraft:mending':1}}}}
    ```

</details>


### title
[`minecraft:written_book_content`component](#記入済みの本minecraftwritten_book)に統合された


### Trim
`minecraft:trim`=`<component>`

:::note info
中身の書き方に変更はなく、
`#minecraft:trimmable_armor` item tagに含まれないアイテムにも付与できるようになった
:::

<details><summary>詳細</summary>

* **pattern**
    ↳ `pattern`: `<string>` (trim_pattern id)

* **material**
    ↳ `material`: `<string>` (trim_material id)

</details>

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{Trim:{pattern:"minecraft:spire",material:"minecraft:redstone"}}}
    ```
    ```:1.20.5
    {components:{"minecraft:trim":{pattern:"minecraft:spire",material:"minecraft:redstone"}}}
    ```

</details>


### Unbreakable
`minecraft:unbreakable`=`{}`

:::note warn
`{Unbreakable:0b}`の状態は
`minecraft:unbreakable`componentを**記述しない**ことでしか表現できなくなった
:::

<details><summary>対応例</summary>

1.
    ```:1.20.4
    {tag:{Unbreakable:1b}}
    ```
    ```:1.20.5
    {components:{"minecraft:unbreakable":{}}}
    ```

</details>