SNBTテキストで文字をおしゃれにカスタマイズしよう【マイクラ1.21.5】

# はじめに
本記事の内容は、動画としてYoutubeにも公開しています。
[【SNBTテキスト】文字をおしゃれにカスタマイズしよう【マイクラコマンド解説】](https://youtu.be/GHBzlEZFI2c)

SNBTテキストを使用することで、文字の色変更や翻訳、クリック・ホバー時の機能などのいろいろな装飾をすることができます。
`tellraw`、`title`、`scoreboard`、`bossbar`、`team`コマンド、アイテム名や説明、看板や記入済みの本の文字、エンティティの名前やテキストディスプレイのテキストなどで使用されます。
ここで、SNBT形式とはマイクラに特化したJSON形式のようなものです。
`{}`内にタグ名と値をペアにしたオブジェクトや、そのオブジェクトのリストなどを記載することができます。

<details><summary><font color=#1a73e8><b>SNBTフォーマット例</b></font></summary>

```coffee:
{
  text: "テキスト1",
  color: red,
  extra:[
    {text: "テキスト2"},
    {text: "テキスト3"}
  ]
}
```
</details>

::: note warn
本記事は、Java版 Minecraft 1.21.5 の情報です。
:::

# テキスト全てに使用可能な文字指定タグ
## text（表示するテキスト）
`text`はプレーンなテキストを表示するタグです。
テキスト内で`"`や`\`を表示したい場合はその文字の後ろに`\`を付け、`\"`や`\\`と入力します。（[エスケープシーケンス](#エスケープシーケンス)）
また、[Unicode](#unicode)も使用できます。

```coffee:text使用例
title @p title {text:"プレーンテキスト"}
title @p title [{text:"\" \\ の表示。"},{text:"\x22 \x5c でも可能"}]
```

## translate（翻訳機能付きテキスト）
`translate`は`text`とは別で書かれるタグです。
特定の文字を任意の文字に置き換えたり、リソースパックの`lang`ファイルから翻訳キーに対応した文字に置き換えて表示することができます。
  - **translate**
  文字列内に`%s`を入れることで、`with`のリスト順に文字が置き換えられます。
  リストの要素位置を指定したい場合、`%n$s`（nはリストのn項目）を入れることで、指定した要素の文字に置き換えることができます。
  - **with**
  `%s`や`%2$s`などが`translate`テキスト内や翻訳キーに対応した文字列内にある場合、置き換える文字をリストで指定します。
  - **fallback**
  `translate`に入力された翻訳キーがlangファイルに存在しない場合に表示されるテキストを指定します。

```coffee:translate使用例
# 表示テキスト: ゾンビはブタに射抜かれました
title @p title {translate:"death.attack.arrow",with:["ゾンビ", "ブタ"]}
# 表示テキスト: プレイヤーの勝利
title @p title {translate:"%sの%s",with:["プレイヤー", "勝利"]}
# 表示テキスト: 村人はゲームをクリアした
title @p title {translate:"%2$sは%1$sを%3$sした",with:["ゲーム", "村人", "クリア"]}
# 表示テキスト(赤): No data
title @p title {translate:"custom.key",fallback:"\u00a7cNo data"}
```

## keybind（キー割り当て）
`keybind`はそのプレイヤーが設定しているキー割り当てを表示するタグです。
```coffee:keybind使用例
title @p title {keybind:"key.attack"}
```
<details><summary><font color=#1a73e8><b>キー設定名一覧</b></font></summary>

| 操作 | キー | 初期設定表示 |
|-|-|:-:|
| ジャンプ | key.jump | Space |
| スニーク | key.sneak | 左Shift |
| ダッシュ | key.sprint | 左Control |
| 前進 | key.forward | W |
| 右 | key.right | D |
| 左 | key.left | A |
| 後退 | key.back | S |
| アイテムの使用・ブロックの設置 | key.use | 右ボタン |
| ブロック選択 | key.pickItem | 中央ボタン |
| 攻撃する・壊す | key.attack | 左ボタン |
| アイテムをオフハンドと交換 | key.swapOffhand | F |
| アイテムを捨てる | key.drop | Q |
| インベントリの開閉 | key.inventory | E |
| ホットバースロット1 | key.hotbar.1 | 1 |
| ホットバースロット2 | key.hotbar.2 | 2 |
| ホットバースロット3 | key.hotbar.3 | 3 |
| ホットバースロット4 | key.hotbar.4 | 4 |
| ホットバースロット5 | key.hotbar.5 | 5 |
| ホットバースロット6 | key.hotbar.6 | 6 |
| ホットバースロット7 | key.hotbar.7 | 7 |
| ホットバースロット8 | key.hotbar.8 | 8 |
| ホットバースロット9 | key.hotbar.9 | 9 |
| ホットバーの保存 | key.saveToolbarActivator | C |
| ホットバーの読み込み | key.loadToolbarActivator | X |
| コマンドラインを開く | key.command | / |
| チャットを開く | key.chat | T |
| プレイヤーリストの表示 | key.playerlist | Tab |
| 社交設定画面 | key.socialInteractions | P |
| スクリーンショットの撮影 | key.screenshot | F2 |
| フルスクリーンの切り替え | key.fullscreen | F11 |
| プレイヤーの強調表示 | key.spectatorOutlines | 未割り当て |
| 滑らかなカメラ動作の切り替え | key.smoothCamera | 未割り当て |
| 視点の切り替え | key.togglePerspective | F5 |
| 進捗 | key.advancements | L |
</details>

## nbt（NBTデータ表示）
`nbt`はブロックエンティティ、エンティティ、ストレージのNBTの値を表示するタグです。
  - **nbt**
  指定したブロックエンティティ、エンティティ、ストレージの表示したいNBT値のNBTパスを指定します。
  - **block**
  NBT値を取得したいブロックエンティティを座標で指定します。
  座標は絶対座標、相対座標、ローカル座標で指定します。
  - **entity**
  NBT値を取得したいエンティティをセレクターかUUIDで指定します。
  プレイヤーの場合は、プレイヤー名でも指定できます。
  - **storage**
  NBT値を取得したいストレージのパスを指定します。
  - **separator**
  指定したデータが複数ある場合、列挙された時の間の文字を指定できます。
  デフォルトは`{text:", "}`です。
  - **interpret**
  `true`にすることで、表示するnbtの内容をSNBTとして解析した結果を表示します。
  - **source**
  構文解析高速化用で、NBTの取得先のタイプ`block`、`entity`、`storage`のいずれかを指定することができます。
```coffee:nbt使用例
# 座標[10 64 -10]にあるチェスト系ブロックの1つ目のアイテムを表示する
tellraw @p {block:"10 64 -10",nbt:"Items[{Slot:0b}]"}
# 一番近いプレイヤーのUUIDを表示する
tellraw @p {entity:"@p",nbt:"UUID"}
# ストレージの_:_内にあるデータを、SNBTとして表示する
data merge storage _:_ {text:"コメント",color:red}
tellraw @p {storage:"_:_",nbt:"",interpret:true}
```

# 特定のテキストに使用可能な文字指定タグ
以下のタグは、`tellraw`、`title`、`bossbar`、看板の文字やテキストディスプレイのデータ更新時、記入済みの本を最初に開いたときにのみ使用できます。
## score（スコアの表示）
`score`はスコアボードの値を表示するタグです。
`objective`でスコアボードを、`name`でスコアボード内の名前を指定し、その値を表示します。
  - **objective**
  スコアボードのオブジェクト名を指定します。
  - **name**
  `objective`で指定したスコアボード内の名前を指定します。
  セレクターも使用できますが、複数体は指定できません。
  `*`（ワイルドカード）にすることで、表示しているエンティティの名前を指定できます。
```coffee:score使用例
title @a title {score:{objective:"obj",name:"@p"}}
title @a title {score:{objective:"obj",name:"*"}}
```

## selector（名前の表示）
`selector`は指定したエンティティの名前を表示するタグです。
  - **selector**
  プレイヤー名、セレクター、UUIDで指定します。
  複数体も指定可能です。
  - **separator**
  指定したエンティティが複数体の場合、列挙された時の間の文字を指定できます。
  デフォルトは`{text:", ",color:gray}`です。
```coffee:selector使用例
title @a title {selector:"@p"}
tellraw @p {selector:"@e[limit=5]",separator:"\n"}
```

# テキストの装飾を指定するタグ
## color（文字の色）
表示する文字の色を変更するタグです。
色に対応した文字または、RGB値の16進数カラーコードで指定します。
- **色に対応した文字**
文字で指定する場合、指定できる色は以下の16色です。
  - <font color="#000000"> ■ </font>**black**
  - <font color="#0000AA"> ■ </font>**dark_blue**
  - <font color="#00AA00"> ■ </font>**dark_green**
  - <font color="#00AAAA"> ■ </font>**dark_aqua**
  - <font color="#AA0000"> ■ </font>**dark_red**
  - <font color="#AA00AA"> ■ </font>**dark_purple**
  - <font color="#FFAA00"> ■ </font>**gold**
  - <font color="#AAAAAA"> ■ </font>**gray**
  - <font color="#555555"> ■ </font>**dark_gray**
  - <font color="#5555FF"> ■ </font>**blue**
  - <font color="#55FF55"> ■ </font>**green**
  - <font color="#55FFFF"> ■ </font>**aqua**
  - <font color="#FF5555"> ■ </font>**red**
  - <font color="#FF55FF"> ■ </font>**light_purple**
  - <font color="#FFFF55"> ■ </font>**yellow**
  - <font color="#ffffff"> ■ </font>**white**

- **16進数**
RGB値の16進数カラーコードで指定する場合、最初に`#`を入力します。
  例：<font color="#FFFF00"> ■ </font>`RGB値[ 255, 255, 0 ]` = `#ffff00`

```coffee:color使用例
title @p title {text:"赤色",color:"red"}
title @p title {text:"黄色",color:"#ffff00"}
```

## shadow_color（影の色）
文字の影の色を変更するタグです。
RGBA値の配列、ARGB値の16進数、10進数、2進数表記で指定できます。
A（不透明度）を0にすると、影を非表示にできます。
- **配列**
  配列で指定する場合は、0~255の値を0~1に変換（255で除算）します。
  例：<font color="#FFFF55"> ■ </font>`RGBA値[ 255, 255, 55, 255 ]` = `[ 1, 1, 0.33, 1 ]`
- **16進数**
  16進数で指定する場合は、最初に`0x`を入力します。
  例：<font color="#FF55FF"> ■ </font>`ARGB値[ 255, 255, 0, 255 ]` = `0xffff00ff`
- **2進数**
  2進数で指定する場合は、最初に`0b`を入力します。
  例：<font color="#00ff00"> ■ </font>`ARGB[ 255, 0, 255, 0 ]` = `0b11111111000000001111111100000000`
- **10進数**
  例：<font color="#FF640B"> ■ </font>`ARGB値[ 255, 255, 100, 10 ]` = `-39926`
:::note info
10進数の変換式
$16777216\times(A)+65536×(R)+256\times(G)+(B)$
結果が`2147483647`より大きい場合、結果から`4294967296`を引く
:::
例の場合、
$
\begin{pmatrix}
A & R & G & B
\end{pmatrix}=
\begin{pmatrix}
255 & 255 & 100 & 10
\end{pmatrix}
$ なので、
$ 16777216\times255+65536\times255+256\times100+10=4294927370 $ となり、
$ 2147483647 < 4294927370 $ より、
$ 4294927370-4294967296=-39926 $ 
となります。

```coffee:shadow_color使用例
title @p title {text:"半透明の黄色",shadow_color:[1,1,0.33,0.5]}
title @p title {text:"紫色",shadow_color:0xffff00ff}
title @p title {text:"緑色",shadow_color:0b11111111000000001111111100000000}
title @p title {text:"オレンジ",shadow_color:-39926}
```

## font（フォント）
文字のフォントを指定するタグです。
デフォルトは`default`です。
リソースパックで追加したカスタムフォントも指定できます。
バニラで指定できるフォントは以下の4種類です。
- **default**
  デフォルトのMinecraftオリジナルのドットフォント
- **unifont**
  Unicodeフォント
- **alt**
  エンチャントテーブルの候補に表示されている銀河標準語
- **illageralt**
  マイクラダンジョンズの邪悪な村人が使用するルーン文字

カスタムフォントやユニコードの特性については、[まっしゅ](https://x.com/hama_sshh)さんの[カスタムフォントの創造的な使い方【マイクラリソパ解説】](https://youtu.be/w0Zraz-o8yE)の動画が分かりやすく参考になると思います。

```coffee:font使用例
title @p title [{text:"test ",font:default},{text:"test ",font:uniform},{text:"test ",font:alt},{text:"test ",font:illageralt}]
```

## bold（太字）
文字の太字を指定するタグです。
デフォルトは`false`です。
```coffee:bold使用例
title @p title {text:"太字abc",bold:true}
```

## italic（斜体）
文字の斜体を指定するタグです。
デフォルトは`false`ですが、`custom_name`付きアイテムのみ`true`です。
```coffee:italic使用例
title @p title {text:"斜体abc",italic:true}
```

## underlined（下線）
文字の下線を指定するタグです。
デフォルトは`false`です。
```coffee:underlined使用例
title @p title {text:"下線abc",underlined:true}
```

## strikethrough（打ち消し線）
文字の打ち消し線を指定するタグです。
デフォルトは`false`です。
```coffee:strikethrough使用例
title @p title {text:"打ち消し線abc",strikethrough:true}
```

## obfuscated（難読化）
文字の難読化を指定するタグです。
難読化された文字は、ランダムな文字に変化し続けます。
デフォルトは`false`です。
```coffee:obfuscated使用例
title @p title {text:"難読化abc",obfuscated:true}
```

## extra（追加テキスト）
`extra`は追加のテキストを表示するタグです。
追加のテキストには、先ほど紹介した[装飾](#テキストの装飾を指定するタグ)や、後ほど紹介する[機能](#テキストの機能を指定するタグ)が継承されます。
追加で別のタグを個別で指定することもできます。

```coffee:extra使用例
tellraw @p [{text:"ここ→"},{text:"<",click_event:{action:run_command,command:"/tellraw @s \"クリックした\""},extra:[{text:"クリック",underlined:true},{text:">"}]}]
```

# テキストの機能を指定するタグ
## click_event（クリック時の機能）
チャット欄の文字や記入済みの本の文字列を左クリックまたは、看板を右クリックすることで様々な機能を実行します。
`extra`内の`text`ではでは機能しません。
- **action**
クリックした際の実行される機能の種類を指定します。
  - **open_url**
  指定したURLのサイトを開きます。
  `tellraw`コマンド、記入済みの本でのみ機能します。
    - **url**
    開くサイトのURLを指定します。
  - **run_command**
  指定したコマンドを実行します。
  `tellraw`コマンド、記入済みの本の場合プレイヤーの権限レベルに応じたコマンドのみ実行可能です。
  看板の場合、プレイヤーの権限レベル関係なくコマンドが実行されます。
    - **command**
    実行するコマンドを指定します。
    `me`、`say`、`tell`、`teammsg`コマンドは機能しません。
  - **suggest_command**
  指定した文字がチャット入力欄に入力されます。
  `tellraw`コマンドでのみ機能します。
    - **command**
    チャット入力欄に入力される文字を指定します。
  - **change_page**
  指定したページを開きます。
  記入済みの本でのみ機能します。
    - **page**
    開くページを指定します。
  - **copy_to_clipboard**
  指定した文字をクリップボード（コピーや切り取りデータを一時的に保存する場所）にコピーします。
  `tellraw`コマンド、記入済みの本でのみ機能します。
    - **value**
    コピーする文字を指定します。

```coffee:click_event使用例
# open_url
tellraw @p {text:"<<サイトを開く>>",click_event:{action:open_url,url:"https://x.com/Hirobao1"}}
# run_command
setblock ~ ~1 ~ acacia_wall_sign{is_waxed:true,front_text:{messages:[{text:"コマンド実行",click_event:{action:run_command,command:"give @s diamond"}},"","",""]}}
# suggest_command
tellraw @p {text:"<<チャットに入力>>",click_event:{action:suggest_command,command:"入力された文字"}}
# change_page
give @p written_book[written_book_content={author:"",title:"",pages:[{text:"<<2ページ目を開く>>",click_event:{action:change_page,page:2}},{text:"2ページ目"}]}]
# copy_to_clipboard
tellraw @p {text:"<<コピーする>>",click_event:{action:copy_to_clipboard,value:"コピーされた文字"}}
```

## insertion（Shift+左クリック時の機能）
`insertion`は、文字をShift+左クリックすることで、指定した文字がチャット入力欄に入力されます。
`tellraw`コマンドで使用できます。
```coffee:insertion使用例
tellraw @p {text:"<Shift+左クリック>",insertion:"入力された文字"}
```

## hover_event（ホバー時の機能）
`tellraw`コマンド、記入済みの本の文字で使用できます。
チャット欄の文字や記入済みの本の文字列にマウスカーソルを重ねた時にツールチップを表示できる機能です。
- **action**
マウスオーバーした際に実行されるツールチップの種類を指定します。
  - **show_text**
  指定したテキストを表示します。
    - **value**
    表示するテキストを指定します。
  - **show_item**
  指定したアイテム情報を表示します。
    - **id**
    表示するアイテムIDを指定します。
    アイテムIDによってデフォルトのコンポーネントが決まります。
    - **count**
    アイテムの個数を指定できます。
    表示テキストに変化はありませんが、記入済みの本ではデータとして保存されます。
    - **components**
    表示するアイテムのコンポーネントを指定します。
    エンチャントやアイテムの説明などのツールチップが変化するものは表示に反映されます。
  - **show_entity**
  指定したエンティティ情報を表示します。
  `F3+H`で高度な情報を表示している時のみ表示されます。
    - **name**
    表示するエンティティ名を指定します。
    - **id**
    表示するエンティティのタイプをエンティティIDで指定します。
    - **uuid**
    表示するUUIDを指定します。
    ハイフン付き16進数UUIDで指定する場合はクォーテーションマーク（`"`や`'`）で囲う必要があります。

```coffee:hover_event使用例
tellraw @p {text:"ホバーテキスト表示",hover_event:{action:show_text,value:{text:"表示されるテキスト"}}}
tellraw @p {text:"アイテムについて",hover_event:{action:show_item,id:apple,components:{item_name:{text:"幸運リンゴ",color:aqua},enchantments:{fortune:3}}}}
tellraw @p {text:"エンティティ詳細",hover_event:{action:show_entity,uuid:[I;1,2,0,3],id:rabbit,name:"♦ひろばお♦"}}
```

# テキスト内での改行や装飾、特殊文字
## エスケープシーケンス
エスケープシーケンスとは、普通では表せない文字や機能を表すために規定された文字のことです。
- **`"`や`\`の表示**
[**`text`**](#text表示するテキスト)でも紹介しましたが、
`"`に囲まれた文字内での`"`や`\`などのそのままでは表示できない文字を表示させたいとき、`\`を後ろにつけて`\"`や`\\`と表記します。
さらに、`\"`に囲まれた中のテキストで`"`や`\`を表示したい場合は、全ての`\`と`"`の後ろに`\`をつけ、`\\\"`や`\\\\`と表記します。

```coffee:
title @p title ["\"に囲まれた。\"",'\'や\\の表示']
tellraw @p {text:"コマンド実行",click_event:{action:run_command,command:"title @s title \" \\\\や\\\"の表示 \""}}
```

- 改行
`tellraw`コマンド、記入済みの本、テキストディスプレイで使用できます。
文字の中に`\n`を入れることで、改行することができます。

```coffee:改行使用例
tellraw @p "あ\nい\nう\nえ\nお"
```

エスケープシーケンスでは他にもバックスペースの`\b`や、水平・垂直タブの`\t`・`\v`などいろいろありますが、使用できなかったり専用の記号になるだけで機能しません。

## Unicode
Unicode（ユニコード）とは、世界中の文字や記号を表現するための文字コード標準です。
文字ごとに文字コードが割り振られています。
文字の中で連続したスペースを入れたい時や、装飾コードでも使用する`§`をあらわす時、カスタムフォント等で特に使用されます。

```coffee:Unicode使用例
title @p title "あいうえお=\u3042\u3044\u3046\u3048\u304a"
title @p title "連続した[\u3000\u3000\u3000\u3000\u3000]スペース"
```

<details><summary><font color=#1a73e8><b>応用するとこのような仕組みのテキストも可能になります</b></font></summary>

```coffee:コマンドブロックで実行してみてね
tellraw @p [{text:"\n<ここをクリック>\n",click_event:{action:run_command,command:"tellraw @p [{text:\"\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\"},{text:\"<次はここ>\\n\",click_event:{action:run_command,command:\"tellraw @p [{text:\\\"\u0020\u0020\u0020\u0020\u0020\u0020\u0020\\\"},{text:\\\"<次はこっち>\\\\n\\\",click_event:{action:run_command,command:\\\"tellraw @p {text:\\\\\\\"\u0020\u0020終 わ り\\\\\\\\n\\\\\\\",hover_event:{action:show_text,value:{text:\\\\\\\"もうないよ\\\\\\\"}}}\\\"}}]\"}}]"}}]
```
</details>

## 装飾コード
装飾コードとは、`§`を使用し文字の途中で色を変えたり、下線を引いたりする手法です。
`server.properties`や`pack.mcmeta`などにも使用できます。
`§`の後に入力する文字によって装飾の種類が変わります。
例えば、文字の途中から赤色にしたいとき、`§`のあとに`c`を入力します。
注意として、**JAVA版では`§`を直接入力することができない**ので、[**Unicode**](#unicode)で記載します。
`§`のUnicodeは`\u00a7`です。

```coffee:装飾コード例1
title @p title {text:"白\u00a7c赤"}
```

### **JAVA版で指定できる装飾コード一覧**

|装飾コード|機能|名称|
|-|-|-|
|§0|<font color="#000000"> ■ </font>黒色黒色|**black**|
|§1|<font color="#0000AA"> ■ </font>濃い青色|**dark_blue**|
|§2|<font color="#00AA00"> ■ </font>濃い緑色|**dark_green**|
|§3|<font color="#00AAAA"> ■ </font>濃い水色|**dark_aqua**|
|§4|<font color="#AA0000"> ■ </font>濃い赤色|**dark_red**|
|§5|<font color="#AA00AA"> ■ </font>濃い紫色|**dark_purple**|
|§6|<font color="#FFAA00"> ■ </font>金色|**gold**|
|§7|<font color="#AAAAAA"> ■ </font>灰色|**gray**|
|§8|<font color="#555555"> ■ </font>濃い灰色|**dark_gray**|
|§9|<font color="#5555FF"> ■ </font>青色|**blue**|
|§a|<font color="#55FF55"> ■ </font>緑色|**green**|
|§b|<font color="#55FFFF"> ■ </font>水色|**aqua**|
|§c|<font color="#FF5555"> ■ </font>赤色|**red**|
|§d|<font color="#FF55FF"> ■ </font>紫色|**light_purple**|
|§e|<font color="#FFFF55"> ■ </font>黄色|**yellow**|
|§f|<font color="#ffffff"> ■ </font>白色|**white**|
|§k|[難読化](#obfuscated難読化)|**obfuscated**|
|§l|[太字](#bold太字)|**bold**|
|§m|[打ち消し線](#strikethrough打ち消し線)|**strikethrough**|
|§n|[下線](#underlined下線)|**underlined**|
|§o|[斜体](#italic斜体)|**italic**|
|§r|装飾コードリセット||

**※注意**
- `§r`（リセット）を`/n`（改行）後に入れると、改行前の装飾コードはリセットされず保持されます
- カラーコード（`\u00a7c`など）を入力した場合、それ以前の太字や打ち消し線などの機能的コードがリセットされます

```coffee:装飾コード例2
title @p title "\u00a7mplain\u00a7e\u00a7l\u00a7n\u00a7o装飾テキスト\u00a7b\u00a7kABC"
```
```coffee:参考サイトにある装飾コードの見本（コマンドブロックで実行してね）
give @p written_book[written_book_content={title:"\u00a7dFormatting codes",author:"\u00a7eHirobao",pages:["\u00a7nMinecraft Formatting\n\n\u00a700 \u00a711 \u00a722 \u00a733\n\u00a744 \u00a755 \u00a766 \u00a777\n\u00a788 \u00a799 \u00a7aa \u00a7bb\n\u00a7cc \u00a7dd \u00a7ee \u00a7ff\n\n\u00a70k \u00a7kkMinecraft\u00a7r\nl \u00a7lMinecraft\u00a7r\nm \u00a7mMinecraft\u00a7r\nn \u00a7nMinecraft\u00a7r\no \u00a7oMinecraft\u00a7r\nr \u00a7rMinecraft"]}]
```

# さいごに
マイクラの配布マップなどで文字に色を付けたり、装飾を付けることでプレイしている人に対して分かりやすく、全体のクオリティも上がると思います。
状況に応じたテキストの使い分けで、コマンド制作もより効率良くできるようになると思います。
是非みんなもSNBTテキストで文字をおしゃれにカスタマイズしてみてください。

記事内でもし間違っている場所などあればコメントかDM([@Hirobao1](https://x.com/Hirobao1))で教えて下さい。

# 参考サイト
- [Text component format](https://minecraft.wiki/w/Text_component_format)
- [Formatting codes](https://minecraft.wiki/w/Formatting_codes)