コマンド/テキストフォーマット
Minecraftには、ゲーム内で表示されるテキストの色を変えたり、特殊な機能を持たせたりすることができる機能が実装されています。
JSONによる方法と、記号「§」を用いる方法の2種類があります。
JSON記法(Raw JSON text format)
ver1.7.2で追加
テキストを装飾したり、特別な機能を持たせたりすることができます。
基本的な書き方は次の通りです。
{<文字列を指定する部分>,<装飾・機能等を指定する部分>}
装飾・機能等を指定する部分はなくてもよいですが、文字列を指定する部分は必ず1つだけ存在する必要があります。
一つながりの文字列の中で複数の書式を使用する場合は、次のようにリストを利用します。
[{<文字列を指定する部分>,<装飾・機能等を指定する部分>},…]
リストの代わりにextraタグを使用することもできます。
{<文字列を指定する部分>,"extra":[{<文字列を指定する部分>,<装飾・機能等を指定する部分>},…],…}
文字列を指定する部分に使用できるタグ
text
"text":"<文字列>"
表示する文字列を直接指定します。
score
"score":{"name":"<名前>","objective":"<スコアボード名>"}
objectiveタグで指定したスコアボードの値を表示します。
nameタグでスコアボードを持つエンティティを指定します。<名前>はプレイヤーの場合プレイヤー名、エンティティの場合UUIDです。
セレクターを用いることもできますが、指定するエンティティは必ず1つでなくてはなりません。
また名前を*とすると、コマンドを実行したプレイヤーを指定します。
selector
"selector":"<セレクター>"
指定したエンティティの名称(プレイヤーの場合はプレイヤー名)を表示します。
複数のエンティティを指定した場合は、列挙して表示されます。
セレクターについてはこちらを参照。
translate
"translate":"<翻訳キー>","with":[{<テキストフォーマット>},…]
言語ファイルの翻訳テキストを読み込みます。
翻訳テキストの中に「%s」のような参照部分がある場合、"with"に続くリストの中の文字列が参照されます。
「%s」が複数ある場合、リストの先頭から順に参照されます。「%1$s」のように何番目かが指定されている場合には指定番目の文字列が参照されます。
"with"で文字列を渡さなかった場合、およびリストの長さ不足で参照すべき文字列がない場合、その部分には何も表示されません。
なお存在しない翻訳キーを入力すると、その内容がそのまま表示されます。例えば
"translate":"%sが見ている文章は%sです","with":[{"selector":"@p"},{"text":"見本"}]
とすると、「<プレイヤー名>が見ている文章は見本です」のように表示されます。
keybind
ver1.12で追加
"keybind":"<キー設定名>"
指定した操作に割り当てられているキーの名前を返します。
キー設定名は次の通りです。
操作 | キー設定名 | デフォルトでの割り当て |
---|---|---|
ジャンプ | key.jump | スペースキー |
スニーク | key.sneak | シフトキー(左) |
ダッシュ | key.sprint | Ctrlキー(左) |
前進 | key.forward | Wキー |
左 | key.left | Aキー |
後退 | key.back | Sキー |
右 | key.right | Dキー |
攻撃/破壊 | key.attack | 左クリック |
設置/アイテム使用 | key.use | 右クリック |
アイテムの選択 | key.pickItem | ホイールクリック |
アイテムを捨てる | key.drop | Qキー |
インベントリ開閉 | key.inventory | Eキー |
ホットバースロット1-9 | key.hotbar.1-9 | 1-9キー |
左手と右手のアイテムの入れ替え | key.swapOffhand
(ver1.15.2まではkey.swapHands) |
Fキー |
ホットバーの保存
(クリエイティブモード) |
key.saveToolbarActivator | Cキー |
ホットバーの読み込み
(クリエイティブモード) |
key.loadToolbarActivator | Xキー |
コマンドラインを開く | key.command | /キー |
チャットを開く | key.chat | Tキー |
進捗画面を開く | key.advancements | Lキー |
プレイヤーリストを表示 | key.playerlist | Tabキー |
スクリーンショットを撮る | key.screenshot | F2キー |
視点を切り替える | key.togglePerspective | F5キー |
全画面表示 | key.fullscreen | F11キー |
カメラ動作を緩やかに | key.smoothCamera | 割り当てなし |
スペクテイターモードのプレイヤーを
強調表示 |
key.spectatorOutlines | 割り当てなし |
nbt
"nbt":"<データタグのパス>","entity":"<セレクター>" "nbt":"<データタグのパス>","block":"<座標>" "nbt":"<データタグのパス>","storage":"<ストレージ名>"
ver1.14で追加
entity、block、storage(ver1.15で追加)のいずれかのタグで指定された場所から、nbtタグで指定されたデータタグを参照して表示します。
またオプションとしてinterpretタグがあります。上に続けて
"interpret":true
と書くと、データタグの内容をテキストフォーマットとして処理し表示します。テキストフォーマットとみなせない場合は、何も表示されません。
- データタグのパスの記法 (NBT path format)
- AでタグAを選択。
- {}でデータタグ全体を選択。
- {A:x}でタグA:xが含まれている場合に限りデータタグ全体を選択。
- A{}でCompound型のタグAを選択。
- A{B:x}でタグB:xを含むCompound型のタグAを選択。
- A[]でList型のタグAのすべての要素を選択。
- A[x]でList型のタグAの(x+1)番目の要素を選択。
- A[{}]でList型のタグAに含まれる{}で区切られた要素をすべて選択。
- A[{B:x}]でList型のタグAに含まれる{}で区切られた要素のうちタグB:xを含むものを選択。
- A.BでCompound型のタグAに含まれるタグBを選択。
これらは入れ子的に使用可能。
例えば{A:{B:{C:[D:135,E:534]}}}というタグ構造に対して、A.B.C[0]のように書くことでタグDを選択できる。
装飾・機能等を指定する部分に使用できるタグ
color
"color":"<色の名前>"
文字の色を変更します。色は次の通りです。
名前 | 色 |
---|---|
black | ■#000000 |
dark_blue | ■#0000AA |
dark_green | ■#00AA00 |
dark_aqua | ■#00AAAA |
dark_red | ■#AA0000 |
dark_purple | ■#AA00AA |
gold | ■#FFAA00 |
gray | ■#AAAAAA |
dark_gray | ■#555555 |
blue | ■#5555FF |
green | ■#55FF55 |
aqua | ■#55FFFF |
red | ■#FF5555 |
light_purple | ■#FF55FF |
yellow | ■#FFFF55 |
white | ■#FFFFFF |
#<カラーコード> | [1] |
reset | [2] |
font
"font":"<フォントの名称>"
ver1.16で追加
フォントを変更します。フォントの名称は、リソースパックで変更していない場合は以下の3種類のいずれかです。
- default 英文フォント
- uniform Unicodeフォント(日本語フォント)
- alt エンチャントテーブルの文字
bold
"bold":true/false
trueの場合太字で表示します。
italic
"italic":true/false
trueの場合斜体で表示します。
underlined
"underlined":true/false
trueの場合下線を引いて表示します。
strikethrough
"strikethrough":true/false
trueの場合打ち消し線を引いて表示します。
obfuscated
"obfuscated":true/false
trueの場合難読化して表示します(様々な文字が高速で切り替わって表示される)。
insertion
"insertion":"<文字列>"
テキストをShift+左クリックしたときに、指定の文字列をチャット入力欄に挿入します。
なお、selector(上述)を用いて表示したプレイヤー名にはプレイヤー名が、エンティティ名にはUUIDが、自動的に挿入テキストとして設定されます。
clickEvent
文字列をクリック(チャット欄・本では左クリック、看板では右クリック)した場合の動作を指定します。
run_command
"clickEvent":{"action":"run_command","value":"<コマンド>"}
指定したコマンドを実行します。
valueにコマンド以外を指定すると、チャット欄・本の場合はそのまま実行者の発言とみなされます。コマンドの冒頭に/をつけなかった場合も同様です。
看板の場合はコマンドの冒頭に/をつけなくてもコマンドとして実行されますが、コマンドでない文字列を指定した場合は何も起こりません。
suggest_command
"clickEvent":{"action":"suggest_command","value":"<文字列>"}
チャット欄に指定した文字列が入力されます。チャット欄に何か入力されていた場合上書きされます。本・看板では使えません。
selector(上述)を用いて表示したプレイヤー名には、/msg <プレイヤー名> が自動的にsuggest_commandとして設定されます。
copy_to_clipboard
"clickEvent":{"action":"copy_to_clipboard","value":"<文字列>"}
ver1.15で追加
指定した文字列がクリップボードにコピーされます。看板では使えません。
open_url
"clickEvent":{"action":"open_url","value":"<URL>"}
指定したサイトにアクセスします。看板では使えません。
change_page
"clickEvent":{"action":"change_page","value":<ページ数>}
指定したページに移動します。本でのみ使用できます。
hoverEvent
文字列にカーソルを乗せた際の動作を指定します。
show_text
ver1.16以降
"hoverEvent":{"action":"show_text","contents":"<文字列>"}
ver1.15.2まで
"hoverEvent":{"action":"show_text","value":"<文字列>"}
指定した文字列を表示します。
show_item
ver1.16以降
"hoverEvent":{"action":"show_item","contents":{"id":"<アイテムID>","count":<個数>,"tag":"{<データタグ>}"}}
ver1.15.2まで
"hoverEvent":{"action":"show_item","value":"{<データタグ>}"}
指定したアイテムの詳細を表示します。個数などを指定しても特に意味はありません。
show_entity
ver1.16以降
"hoverEvent":{"action":"show_entity","contents":{"name":"<名前>","type":"<エンティティID>","id":<UUID>}}
指定したエンティティの詳細を表示します。名前は任意ですが、エンティティIDは存在するものを指定する必要があります。UUIDは(8桁)-(4桁)-(4桁)-(4桁)-(12桁)という形式になっていれば任意です。
ver1.15.2まで
"hoverEvent":{"action":"show_entity","value":"{name:<文字列>,type:<文字列>,id:<文字列>}"}
name、type、idともに任意の文字列が使用できます。
なお、selectorによって表示したエンティティ名およびプレイヤー名に対しては、自動的にshow_entityが設定されます。
エスケープシーケンス
""の中で「"」を用いたい場合は、「\"」と記述します。「\」を用いたい場合は「\\」とします。また文字列を改行する場合は「\n」を用います。
Unicode処理
「\u0020」のように書くことでUnicode入力ができます。ただし§は後述の装飾コードとして用いられているため正しく表示されません。
§記法(Formatting codes)
§と数字・アルファベット1文字の組み合わせでテキストの色・書式を指定します。
色
記号 | 色 |
---|---|
§0 | ■#000000 |
§1 | ■#0000AA |
§2 | ■#00AA00 |
§3 | ■#00AAAA |
§4 | ■#AA0000 |
§5 | ■#AA00AA |
§6 | ■#FFAA00 |
§7 | ■#AAAAAA |
§8 | ■#555555 |
§9 | ■#5555FF |
§a | ■#55FF55 |
§b | ■#55FFFF |
§c | ■#FF5555 |
§d | ■#FF55FF |
§e | ■#FFFF55 |
§f | ■#FFFFFF |
書式
記号 | 書式 |
---|---|
§k | 難読化[1] |
§l | 太字 |
§m | 打ち消し線 |
§n | 下線 |
§o | 斜体 |
§r | 書式のリセット |
- ↑ 様々な文字が高速で切り替わって表示される。
使い方
書式を変えたい箇所の直前に記号を挿入します。記号の直後から次の記号までの範囲に、指定した書式が適用されます。
色と書式を同時に変えたい場合は必ず色を先にします(書式は色の設定が変更される際にリセットされるため)。
たとえば「これは§9§l見本§rです」と書くと「これは見本です」と表示されます。
ページリンク