【マイクラ】tellrawコマンドの使い方・構文・JSONテキスト表示【Java版】

この記事はマイクラJava版向けのtellrawコマンド解説です
統合版(BE)のrawtext構文とは書き方が違います
Java版1.21.5以降の新しいテキストコンポーネント構文を中心に解説します

こんにちは。ゆずかきです。

マイクラで配布ワールドやサーバーを作っていると、
「普通のチャットじゃなくて、色付きの案内を出したい!」
「クリックしたらコマンドを実行できるメッセージを作りたい!」
「スコアボードの点数をチャット欄に表示したい!」
…と思う場面、けっこうありますよね。

そういう時に使うのが、/tellrawコマンドです。

tellrawは、通常のチャットメッセージよりも自由度が高く、色・太字・下線・クリックイベント・ホバー表示・スコア表示などをまとめて扱える便利なコマンドです。

ただし、ここでひとつ注意点があります。

Java版では、1.21.5からテキストコンポーネントの書き方が大きく変わっています。
昔の記事にあるclickEventhoverEventをそのまま使うと、現在のJava版ではエラーになることがあります。

この記事では、検索で来た方がそのままコピペして確認しやすいように、Java版1.21.5以降の書き方を中心に、tellrawコマンドの使い方を実例ベースでまとめていきますね。

この記事を読めば、次のことが出来るようになります。

  • /tellrawの基本構文が分かります👍
  • 色付き・太字・改行付きのメッセージを作れるようになります👌
  • クリック・ホバー・スコア表示まで一通り扱えるようになります(^^♪

それでは、やっていきましょう!

※本記事はマイクラJava版のコマンド仕様を前提にしています。
※統合版のtellrawrawtext形式を使うため、本記事の構文とは異なります。
※Java版1.21.5以降で変更されたテキストコンポーネント構文を優先して解説しています。


目次

1. tellrawコマンドとは
2. tellrawの基本構文
3. まずは一番簡単なメッセージを表示する
4. 色・太字・下線などで文字を装飾する
5. 複数の文章を組み合わせて表示する
6. 改行入りのメッセージを表示する
7. クリックできる文章を作る
8. カーソルを合わせると説明が出る文章を作る
9. スコアボードの数値をtellrawで表示する
10. ターゲットセレクターの使い分け
11. Java版1.21.5以降で変わった重要ポイント
12. よくあるエラーと直し方
13. 実用例:サーバー案内・配布マップ用メッセージ
14. まとめ
15. 参考文献

この記事で分かること
・マイクラJava版のtellrawコマンドの使い方
・テキストコンポーネント、SNBT形式、クリックイベント、ホバーイベントの基本
・古い構文と新しい構文の違い


1. tellrawコマンドとは

tellrawコマンドとは、プレイヤーのチャット欄に、自由に加工したテキストを表示するコマンドです。

普通のチャットや/sayとの大きな違いは、表示する文章にいろいろな機能を付けられるところです。

例えば、こんなことができます。

  • 文字に色を付ける
  • 太字・斜体・下線・取り消し線を付ける
  • クリックしたらコマンドを実行する
  • クリックしたらURLを開く
  • クリックしたらコマンドをチャット欄に入力候補として出す
  • マウスカーソルを合わせた時に説明文を出す
  • スコアボードの点数を表示する
  • プレイヤー名やエンティティ名を表示する

サーバー運営、配布ワールド、アドベンチャーマップ、ミニゲーム、コマンドブロック装置などではかなり使いやすいです。

例えば、

/tellraw @a {text:'ボス戦が開始されました!',color:'red',bold:true}

これを実行すると、全プレイヤーのチャット欄に赤色の太字メッセージを出せます。

初心者さん向けに言うなら、tellrawは、

「チャット欄に出す看板・案内文を、かなり細かく作れるコマンド」

と考えると分かりやすいです。

ただし、構文が少しだけややこしいです。
特にJava版1.21.5以降は、古い記事と書き方が違う部分があるので、そこを押さえておきましょう。


2. tellrawの基本構文

Java版のtellrawコマンドの基本形はこれです。

/tellraw <表示する相手> <表示する文章>

もう少し具体的に書くと、こうなります。

/tellraw @a {text:'こんにちは!'}

意味は、

  • @a:全プレイヤーに表示
  • {text:'こんにちは!'}:表示する文章

です。

つまり、上のコマンドは、全プレイヤーのチャット欄に「こんにちは!」と表示するという意味になります。

部分 意味
/tellraw テキストコンポーネントを表示するコマンド /tellraw
表示する相手 誰に見せるか @a、@p、@s
表示する文章 テキストコンポーネント {text:'こんにちは'}


ここで重要なのは、表示する文章は普通の日本語だけではなく、テキストコンポーネントとして書くという点です。

テキストコンポーネントとは、簡単に言うと、

{text:'文章',color:'色',bold:true}

のように、文章と装飾をセットで書く形式です。

昔は「JSONテキスト」と呼ばれることが多かったですが、Java版1.21.5以降は、コマンド内ではSNBT形式の書き方になっています。
ただし、検索上は今でも「tellraw JSON」「JSONテキスト」と呼ばれることが多いので、本記事では分かりやすさ優先で両方の言葉を使いますね。


3. まずは一番簡単なメッセージを表示する

最初は、一番シンプルなtellrawから試してみましょう。

/tellraw @a {text:'こんにちは!'}

これで、全プレイヤーに「こんにちは!」と表示されます。

自分だけに表示したい場合は、@sを使います。

/tellraw @s {text:'これは自分だけに見えるメッセージです'}

近くのプレイヤー1人だけに表示したい場合は、@pです。

/tellraw @p {text:'一番近いプレイヤーにだけ表示します'}

ここまでが、tellrawの基本中の基本です。

注意!
/tellrawはコマンドなので、ワールドのチートが有効になっているか、サーバーで実行権限を持っている必要があります。
サバイバルで普通にプレイしているだけだと、実行できない場合があります。

また、コマンドブロックで使う場合は、

tellraw @a {text:'コマンドブロックから表示しています'}

のように、先頭の/を外して貼る形でも使えます。
チャット欄から実行する場合は、先頭に/を付けてくださいね。


4. 色・太字・下線などで文字を装飾する

tellrawの便利なところは、文章に装飾を付けられることです。

例えば、赤色の文字を表示したい場合は、color:'red'を追加します。

/tellraw @a {text:'危険!この先に敵がいます',color:'red'}

太字にしたい場合は、bold:trueを追加します。

/tellraw @a {text:'重要なお知らせです',color:'gold',bold:true}

下線を付けたい場合は、underlined:trueです。

/tellraw @a {text:'ここを確認してください',color:'aqua',underlined:true}

使える主な装飾は下記です。

指定 意味
color 文字色 color:'red'
bold 太字 bold:true
italic 斜体 italic:true
underlined 下線 underlined:true
strikethrough 取り消し線 strikethrough:true
obfuscated 文字をランダム風に表示 obfuscated:true


文字色は、基本的に以下の名前を使えます。

色名 指定
black
濃い青dark_blue
濃い緑dark_green
濃い水色dark_aqua
濃い赤dark_red
濃い紫dark_purple
金色gold
灰色gray
濃い灰色dark_gray
blue
green
水色aqua
red
薄い紫light_purple
黄色yellow
white


さらに、Java版では16色の名前だけでなく、16進数カラーも使えます。

/tellraw @a {text:'好きな色で表示できます',color:'#ff8800'}

#ff8800のように指定すると、かなり細かい色調整ができます。
配布マップの世界観に合わせて色を揃えたい時は便利ですね。


5. 複数の文章を組み合わせて表示する

実際に使う時は、文章全体を同じ色にするより、一部だけ色を変えたい場面が多いです。

例えば、

[お知らせ] 拠点に集合してください

という文章で、[お知らせ]だけ金色にしたい場合は、リスト形式で書きます。

/tellraw @a [{text:'[お知らせ] ',color:'gold',bold:true},{text:'拠点に集合してください',color:'white'}]

これで、

  • [お知らせ]:金色・太字
  • 拠点に集合してください:白色

という見た目になります。

さらに、警告文っぽくしたいなら、こんな感じです。

/tellraw @a [{text:'[警告] ',color:'red',bold:true},{text:'夜になりました。拠点へ戻りましょう。',color:'yellow'}]

個人的には、案内文を作る時はこの形が一番使いやすいです。
最初のラベルだけ色を変えて、本文は読みやすい白や黄色にすると、チャット欄でもかなり見やすくなります。

extraを使う書き方もある

同じ内容は、extraを使って書くこともできます。

/tellraw @a {text:'[お知らせ] ',color:'gold',bold:true,extra:[{text:'拠点に集合してください',color:'white',bold:false}]}

ただ、初心者さんはリスト形式の方が見やすいと思います。
まずは、

[{text:'前半'},{text:'後半'}]

の形で覚えるのがおすすめです。


6. 改行入りのメッセージを表示する

tellrawでは、文章の途中に改行を入れることもできます。
改行したい場所に\nを書きます。

/tellraw @a {text:'1行目の文章\n2行目の文章',color:'white'}

実際の案内文として使うなら、こういう感じです。

/tellraw @a {text:'ダンジョン入口に到着しました\n準備ができたらボタンを押してください',color:'aqua'}

複数行にすると、配布ワールドの説明やイベント開始前の案内が見やすくなります。
ただし、チャット欄に長文を出しすぎるとログが流れやすいので、2〜3行くらいまでにしておくのが扱いやすいです。

体験談
筆者は最初、全部の説明をtellrawで出そうとして、チャット欄が一気に流れて読みづらくなりました。
長い説明は本や看板、短い案内はtellraw、という使い分けがおすすめです。


7. クリックできる文章を作る

tellrawの便利機能のひとつが、クリックイベントです。

Java版1.21.5以降では、クリックイベントはclick_eventと書きます。
古い記事にあるclickEventではないので注意してください。

クリックでコマンドを実行する

クリックしたらコマンドを実行したい場合は、run_commandを使います。

/tellraw @a {text:'ここをクリックすると昼になります',color:'yellow',underlined:true,click_event:{action:'run_command',command:'/time set day'}}

この文章をクリックすると、/time set dayが実行されます。

ただし、これはクリックしたプレイヤーがそのコマンドを実行する扱いになるので、権限がないプレイヤーだと実行できない場合があります。
Java版1.21.6以降では、解析できないコマンドや高い権限が必要なコマンドの場合、確認画面が出ることもあります。
サーバー配布マップで使う場合は、コマンドブロックやトリガーなどと組み合わせる方が安全です。

なお、Java版1.21.5以降ではrun_commandcommandに書くコマンドの先頭/は必須ではありません。
ただ、この記事ではチャット欄のコマンドとして見慣れた形にするため、例では/を付けています。

クリックでコマンドを入力候補に出す

いきなり実行ではなく、チャット欄に入力候補として出したい場合は、suggest_commandを使います。

/tellraw @a {text:'クリックで /help を入力欄に出します',color:'aqua',click_event:{action:'suggest_command',command:'/help'}}

これは、クリックしただけでは実行されません。
チャット入力欄に/helpが入るだけなので、プレイヤーがEnterを押して実行する形です。

初心者さん向けのサーバー案内なら、run_commandよりsuggest_commandの方が親切な場面も多いです。

クリックでURLを開く

URLを開く場合は、open_urlを使います。

/tellraw @a {text:'公式サイトを開く',color:'green',underlined:true,click_event:{action:'open_url',url:'https://www.minecraft.net/'}}

Java版1.21.5以降では、URLはvalueではなくurlに書きます。
また、URLはhttps://またはhttp://から始まる形にしてください。

クリックで文字をコピーする

クリップボードに文字をコピーしたい場合は、copy_to_clipboardを使います。

/tellraw @a {text:'クリックで座標をコピー',color:'gold',click_event:{action:'copy_to_clipboard',value:'X:100 Y:64 Z:-30'}}

サーバーのIP、座標、合言葉などをコピーさせたい時に便利です。


8. カーソルを合わせると説明が出る文章を作る

tellrawでは、文章にカーソルを合わせた時だけ説明を出すこともできます。
これをホバーイベントと言います。

Java版1.21.5以降では、ホバーイベントはhover_eventと書きます。
古いhoverEventではないので注意です。

/tellraw @a {text:'ここにカーソルを合わせてください',color:'yellow',hover_event:{action:'show_text',value:'これはホバー表示の説明文です'}}

この文章にマウスカーソルを合わせると、説明文が表示されます。

色付きの説明にしたい場合は、valueの中にテキストコンポーネントを入れます。

/tellraw @a {text:'報酬を見る',color:'gold',underlined:true,hover_event:{action:'show_text',value:{text:'クリア報酬:ダイヤモンド3個',color:'aqua'}}}

クリックイベントとホバーイベントは同時に付けることもできます。

/tellraw @a {text:'クリックで拠点へ戻る',color:'green',bold:true,hover_event:{action:'show_text',value:'クリックすると /spawn を入力欄に出します'},click_event:{action:'suggest_command',command:'/spawn'}}

配布マップやサーバーでは、

  • 表示文:短くする
  • 詳しい説明:ホバーに入れる
  • 実行内容:クリックイベントに入れる

という形にすると、チャット欄がごちゃごちゃしにくいです。


9. スコアボードの数値をtellrawで表示する

ミニゲームを作るなら、スコアボードの値をチャット欄に表示したい場面もあります。

例えば、pointというスコアを表示したい場合は、先にスコアボードを作ります。

/scoreboard objectives add point dummy

自分に点数を入れてみます。

/scoreboard players set @s point 10

この点数をtellrawで表示するには、scoreを使います。

/tellraw @a [{text:'現在のポイント:',color:'gold'},{score:{name:'*',objective:'point'},color:'green'}]

name:'*'にすると、表示を見るプレイヤー自身のスコアを表示できます。
全員に「自分の点数」を見せたい時に便利です。

特定のプレイヤー名を指定することもできます。

/tellraw @a [{text:'Steveのポイント:',color:'gold'},{score:{name:'Steve',objective:'point'},color:'green'}]

ただし、対象のスコアが存在しない場合は、何も表示されないことがあります。
「コマンドは通っているのに数字が出ない」という時は、先にスコアが作られているか確認しましょう。

確認用にはこれが便利です。

/scoreboard players get @s point

ここで数字が返ってくるなら、スコア自体は存在しています。


10. ターゲットセレクターの使い分け

tellrawは、誰に表示するかをターゲットセレクターで指定します。
よく使うのは下記です。

指定 意味 使いどころ
@a 全プレイヤー 全体アナウンス
@p 最寄りのプレイヤー ボタンを押した人の近くに案内
@s コマンド実行者 自分だけに確認表示
@r ランダムなプレイヤー 抽選やミニゲーム


例えば、全プレイヤーに開始通知を出すなら、こうです。

/tellraw @a {text:'ゲームを開始します!',color:'green',bold:true}

自分だけにデバッグ用メッセージを出すなら、こうです。

/tellraw @s {text:'デバッグ:ここまで処理されました',color:'gray'}

また、条件を付けたい場合は、セレクター引数を使えます。

/tellraw @a[distance=..10] {text:'近くにいるプレイヤーだけに表示しています',color:'yellow'}

これは、コマンド実行位置から10ブロック以内のプレイヤーにだけ表示します。

注意!
/tellrawの表示対象はプレイヤーです。
@eのように動物やモンスターまで含むセレクターを使うのではなく、基本は@a@p@s@rを使うのがおすすめです。


11. Java版1.21.5以降で変わった重要ポイント

ここが、この記事で一番大事なところです。

Java版1.21.5以降、/tellraw/titleなどで使うテキストコンポーネントは、以前のJSONそのままの感覚から、SNBT形式の書き方に変わっています。

そのため、古い記事のコマンドをそのままコピペすると、動かないことがあります。

特に重要なのは、下記です。

内容 古い書き方 新しい書き方
クリックイベント clickEvent click_event
ホバーイベント hoverEvent hover_event
URL value url
コマンド実行 value command
ホバー文字 contents value


例えば、昔の書き方だと、クリックイベントはこういう形でした。

/tellraw @a {"text":"クリック","clickEvent":{"action":"run_command","value":"/say hello"}}

Java版1.21.5以降向けに書くなら、こうです。

/tellraw @a {text:'クリック',click_event:{action:'run_command',command:'/say hello'}}

ホバーイベントも同じです。

古い書き方は、こうです。

/tellraw @a {"text":"説明を見る","hoverEvent":{"action":"show_text","contents":"説明文です"}}

Java版1.21.5以降では、こう書きます。

/tellraw @a {text:'説明を見る',hover_event:{action:'show_text',value:'説明文です'}}

つまり、今からtellrawを覚えるなら、基本的に

  • click_event
  • hover_event
  • command
  • url
  • value

この新しい書き方で覚えるのがおすすめです。

重要!
検索で出てくる古いtellraw生成サイトや古いブログ記事は、clickEventhoverEventのままになっていることがあります。
Java版1.21.5以降でエラーになる場合は、まずここを疑ってください。

なお、Java版26.1.2時点でも、この1.21.5以降の変更を前提にした書き方で考えるのが安全です。
今後のアップデートで細かい仕様が変わる可能性はあるので、配布ワールドやサーバーで使う場合は、公開前に実際のバージョンで動作確認しておきましょう。


12. よくあるエラーと直し方

tellrawは便利ですが、最初はエラーが出やすいです。
ここでは、初心者さんがつまずきやすいポイントをまとめますね。

1. 赤文字で構文エラーになる

一番多いのは、カッコやカンマのミスです。

例えば、これは最後の}が足りません。

/tellraw @a {text:'こんにちは',color:'yellow'

正しくはこうです。

/tellraw @a {text:'こんにちは',color:'yellow'}

複数パーツを並べる場合は、,も忘れやすいです。

/tellraw @a [{text:'前半',color:'gold'},{text:'後半',color:'white'}]

2. 古いclickEventが原因で動かない

古い記事を参考にしている場合、こういう書き方になっていることがあります。

/tellraw @a {text:'クリック',clickEvent:{action:'run_command',value:'/help'}}

Java版1.21.5以降では、下記のように直しましょう。

/tellraw @a {text:'クリック',click_event:{action:'run_command',command:'/help'}}

clickEventではなくclick_eventです。
valueではなくcommandです。

3. hoverEventが原因で動かない

ホバー表示も同じです。

古い書き方はこれです。

/tellraw @a {text:'説明',hoverEvent:{action:'show_text',contents:'説明文'}}

Java版1.21.5以降向けには、こう直します。

/tellraw @a {text:'説明',hover_event:{action:'show_text',value:'説明文'}}

4. クリックしてもコマンドが実行されない

run_commandは、クリックしたプレイヤーがそのコマンドを実行する扱いです。
そのため、権限がないプレイヤーがクリックしても動かない場合があります。
Java版1.21.6以降では、解析できないコマンドや高い権限が必要なコマンドの場合、クリック時に確認画面が表示されることもあります。

この場合は、

  • suggest_commandで入力候補にする
  • /triggerと組み合わせる
  • コマンドブロック側で処理する

といった対策がおすすめです。

5. スコアが表示されない

スコア表示が出ない場合は、スコアボードの目標や値が存在しない可能性があります。

まずはこれで確認しましょう。

/scoreboard objectives list

自分の点数を確認するなら、こうです。

/scoreboard players get @s point

スコア自体が存在しない場合は、先に作成・代入してください。

/scoreboard objectives add point dummy
/scoreboard players set @s point 1

6. 統合版でそのまま使って動かない

本記事の構文は、Java版向けです。
統合版のtellrawは、基本的にrawtextを使います。

統合版では、例えば下記のような形になります。

/tellraw @a {"rawtext":[{"text":"こんにちは"}]}

Java版とはかなり違うので、統合版で使う場合は統合版用の記事を参照してくださいね。


13. 実用例:サーバー案内・配布マップ用メッセージ

最後に、実際に使いやすいtellrawの例をいくつか置いておきます。
自分のワールドに合わせて、文章や色を変えて使ってください。

全体アナウンス

/tellraw @a [{text:'[お知らせ] ',color:'gold',bold:true},{text:'まもなくイベントを開始します。',color:'white'}]

サーバー全体への案内に使いやすい形です。
ラベルを金色にしておくと、普通のチャットと見分けやすいです。

警告メッセージ

/tellraw @a [{text:'[警告] ',color:'red',bold:true},{text:'この先は高難易度エリアです。装備を確認してください。',color:'yellow'}]

ダンジョン入口やボス部屋前に置くと分かりやすいです。

ホバーで説明を出す案内

/tellraw @a {text:'報酬内容を見る',color:'aqua',underlined:true,hover_event:{action:'show_text',value:{text:'クリア報酬:エメラルド16個、経験値ボトル8個',color:'green'}}}

本文を短くしつつ、詳しい内容はホバーで見せる形です。
チャット欄を圧迫しにくいので、かなり扱いやすいです。

クリックでコマンドを提案する

/tellraw @a {text:'クリックで /spawn を入力',color:'green',bold:true,click_event:{action:'suggest_command',command:'/spawn'},hover_event:{action:'show_text',value:'クリックするとチャット欄に /spawn が入ります'}}

クリックしただけでは実行されず、入力欄に出るだけです。
誤操作を避けたい時に便利です。

クリックでURLを開く

/tellraw @a {text:'公式サイトはこちら',color:'blue',underlined:true,click_event:{action:'open_url',url:'https://www.minecraft.net/'},hover_event:{action:'show_text',value:'クリックするとブラウザで開きます'}}

サーバールール、公式サイト、配布ページなどへ案内したい時に使えます。
外部サイトを開くリンクは、プレイヤーが不安にならないように、何のURLなのか分かる文章にしておきましょう。

スコア表示付きのミニゲーム案内

/tellraw @a [{text:'現在のポイント:',color:'gold'},{score:{name:'*',objective:'point'},color:'green',bold:true},{text:' 点',color:'white'}]

ミニゲームの途中経過や、ステージクリア時の結果表示に使いやすいです。

複数行の説明文

/tellraw @a {text:'ステージ1を開始します\n制限時間内にゴールへ向かってください\n準備ができたら前へ進みましょう',color:'white'}

説明を3行に分けると、読みやすさが上がります。
ただし、長くしすぎるとチャット欄が流れるので、ここぞという場面だけに使うのがおすすめです。


14. まとめ

以上、マイクラJava版のtellrawコマンドについて、基本構文からクリック・ホバー・スコア表示までまとめました。

要点を整理すると、

  • /tellraw <相手> <文章>でチャット欄に自由な文章を表示できる
  • 色や太字はcolor:'red'bold:trueのように指定する
  • 複数パーツを組み合わせるなら[{text:'前半'},{text:'後半'}]が使いやすい
  • クリックイベントはclick_eventを使う
  • ホバーイベントはhover_eventを使う
  • Java版1.21.5以降では、古いclickEventhoverEventに注意する

このあたりを押さえておけば、tellrawはかなり使いやすくなります。

特に、配布ワールドやサーバー案内では、

/tellraw @a [{text:'[お知らせ] ',color:'gold',bold:true},{text:'イベントを開始します!',color:'white'}]

このような簡単な形だけでも、普通のチャットよりかなり見やすい案内になります。

最初は構文が難しく見えるかもしれませんが、基本は

{text:'文章',color:'色'}

です。
ここに、必要に応じてbold:trueclick_eventhover_eventを足していくイメージで大丈夫です。

よかったら皆さんもぜひ、自分のワールドやサーバーでtellrawを試してみてください!
案内文やミニゲームの演出が、かなり作りやすくなると思います。

では、本日はここまでで終わります。
最後までご覧いただき、ありがとうございました。
柚子クラでは他にも便利なコマンドや装置を紹介しているので、是非ご覧くださいね(^^♪


15. 参考文献

この記事を書くにあたり、以下の公式情報・コミュニティWikiを参考にしています: