【マイクラ】sayコマンドの使い方・構文・チャット表示を解説【Java版】

これはマイクラJava版向けのコマンド解説です
/say は、全プレイヤーのチャット欄へメッセージを流すコマンドです
色付き文字・クリックできる文字・個別送信をしたい場合は、別コマンドを使います

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

マイクラでコマンドを触っていると、
「全員にメッセージを流したい」
「コマンドブロックから案内文を出したい」
「チャット欄にイベント開始のお知らせを表示したい」
と思うことはありませんか?

そういう時に使いやすいのが、今回解説する sayコマンド です。

say はとてもシンプルなコマンドで、構文もほぼ覚えることがありません。
ただし、実際に使ってみると、

  • @a を入れた時の見え方
  • コマンドブロックから実行した時の表示
  • tellrawtell との違い
  • Java版1.21.11以降のゲームルール名変更

このあたりで少し迷いやすいです。

この記事では、マイクラJava版のsayコマンドの使い方・構文・チャット表示の見え方を、実際に使う目線で順番に整理していきますね。

この記事を読めば、次のことが分かります。

  • /say の基本構文が分かります👍
  • チャット欄にどう表示されるかイメージできます👌
  • コマンドブロックで案内文を流す時の注意点が分かります
  • tellrawtell との使い分けで迷いにくくなります(^^♪

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

※本記事はJava版1.21.11以降、26.1系列までの仕様を前提にしています。
say コマンド自体の基本構文は、古いJava版でも大きく変わりません。
※ゲームルール名はJava版1.21.11から表記が変わっているため、該当箇所で新旧両方を記載します。


目次

1. sayコマンドとは
2. sayコマンドの構文
3. まずはチャット欄から実行してみる
4. sayコマンドのチャット表示はどう見える?
5. 日本語・スペース入り文章の入力方法
6. ターゲットセレクターを文章内に入れる使い方
7. コマンドブロックでsayを使う方法
8. sayでできないこと
9. tellraw・tell・titleとの使い分け
10. Java版1.21.11以降で注意したい周辺仕様
11. よくある失敗と対処法
12. まとめ
13. 参考文献

この記事で分かること
・マイクラJava版の /say コマンドの基本
・チャット欄に表示されるメッセージの考え方
・コマンドブロックや配布ワールド制作で使う時の注意点


1. sayコマンドとは

say コマンドは、サーバー上のすべてのプレイヤーへ、チャット欄でメッセージを送るコマンドです。

一言でいうと、

全員に見えるチャット告知を出すコマンド

ですね。

例えば、次のような場面で使えます。

  • マルチプレイで「拠点に集合してください」と全員へ伝える
  • コマンドブロックで「イベント開始!」と表示する
  • 配布ワールドで簡単な案内文を出す
  • テスト用に「この装置が動いた」と確認する

筆者もコマンド装置を作る時、最初の動作確認ではよく say を使います。
/setblock/execute みたいな複雑なコマンドの前に、まずは say テスト と流して、「ちゃんとここまで処理が来ているか」を見る感じですね。

ただし、say はあくまで全員向けのプレーンテキスト表示です。
色を付けたり、クリックできる文章を作ったり、特定の人だけに送ったりする用途には向いていません。

ここはかなり大事です。
say は便利ですが、万能なチャット装飾コマンドではありません。


2. sayコマンドの構文

Java版のsayコマンドの基本構文は、次の通りです。

/say <message>

<message> のところに、チャット欄へ表示したい文章を入れます。

例えば、

/say こんにちは

と入力すると、全プレイヤーのチャット欄に「こんにちは」という内容が表示されます。

非常にシンプルですね。

構文の見方

部分 意味 入力例
/say 全員へメッセージを送るコマンド本体 /say
<message> 表示したい文章 イベント開始です
完成形 実際に入力するコマンド /say イベント開始です


say のメッセージ部分は、普通の文章として入力できます
日本語も使えますし、文章の中にスペースを入れることもできます。

/say これから村人交易所を作ります
/say ただいまイベント開始です
/say 拠点のチェスト整理をお願いします

初心者さんがまず覚えるなら、これだけで十分です。

ポイント
/say の後ろに、表示したい文章をそのまま書けばOKです。
難しいJSONや記号は必要ありません。


3. まずはチャット欄から実行してみる

まずは、ゲーム内のチャット欄から実行してみましょう。
Java版では、通常は T キーでチャット欄を開き、先頭に / を付けてコマンドを入力します。

手順

  1. チートが有効なワールドを開く
  2. T キーでチャット欄を開く
  3. 次のコマンドを入力する
/say テストメッセージです
  1. Enterキーで実行する

これで、チャット欄にメッセージが表示されます。

チートが無効だと使えない場合があります

say コマンドは、Java版では権限レベル2相当のコマンドです。
シングルプレイならチートを許可している必要があり、マルチサーバーならOP権限が必要になることがあります。

もし入力しても実行できない場合は、まず次を確認してください。

  • シングルプレイでチートを許可しているか
  • LANに公開する時に「チートの許可」をオンにしているか
  • サーバーでOP権限を持っているか
  • コマンドブロックから実行する場合、サーバー側でコマンドブロックが有効か

体験談
筆者は昔、サバイバルワールドで普通に /say を打って「なんで実行できないの?」となったことがあります。
コマンド自体が間違っているのではなく、そもそもチートが無効だっただけでした。
まずは権限まわりを確認しましょうね。


4. sayコマンドのチャット表示はどう見える?

say コマンドを実行すると、チャット欄には実行者が分かる形でメッセージが表示されます。

例えば、プレイヤーが次のコマンドを実行したとします。

/say 拠点に集合してください

すると、チャット欄には、

[実行者名] 拠点に集合してください

のように表示されます。

実際の表示名は、プレイヤーから実行したのか、コマンドブロックから実行したのか、サーバー環境や言語設定がどうなっているのかで変わる場合があります。
なので、細かい記号よりも、まずは次のように覚えておくと分かりやすいです。

sayは、実行者名付きで全員のチャット欄へ流れる

ここが通常チャットとの違いです。
普通にプレイヤーがチャットで発言する場合は、そのプレイヤーの発言として表示されますが、/sayコマンドで全体告知を出している扱いになります。

sayは全員に表示される

say は、対象プレイヤーを指定しなくても、基本的に全プレイヤーへ表示されます。

/say 夜になったので拠点へ戻ってください

このコマンドは、ワールドやサーバーにいる全員のチャット欄へ表示されます。

そのため、特定の1人だけに送りたい時に say を使うのはおすすめしません。
個別メッセージなら /tell/msg を使いましょう。


5. 日本語・スペース入り文章の入力方法

say コマンドでは、日本語の文章も普通に使えます。

/say こんにちは。ゆずかきです。
/say 今日はネザー要塞を探しに行きます
/say 鉄が足りない方は共有チェストから持っていってください

このように、普段のチャット感覚で入力できます。

スペースもそのまま使える

文章の途中にスペースを入れても大丈夫です。

/say 第1チェックポイント に到着しました
/say ボス戦 開始 10秒前です

say<message> 部分は、コマンドの残りをメッセージとして扱います。
そのため、毎回 " " で囲む必要はありません。

引用符を付けると、そのまま表示されることがあります

例えば、

/say "こんにちは"

のように入力すると、環境によっては引用符も含めて文章として表示されます。
普通の案内文を出したいだけなら、引用符なしで書く方が分かりやすいです。

/say こんにちは

これでOKです。

長文を流しすぎない方が読みやすい

say は簡単に文章を流せますが、長文を1行で流すとチャット欄がかなり見づらくなります。

案内文として使うなら、1行は短めにするのがおすすめです。

/say イベントを開始します
/say 参加者は村の広場へ集合してください
/say 途中参加の方は主催者へ声をかけてください

このように数行に分ける方が、読者にもプレイヤーにも親切です。


6. ターゲットセレクターを文章内に入れる使い方

say コマンドのメッセージには、ターゲットセレクターを含めることができます。

ターゲットセレクターとは、@a@p のように、プレイヤーやエンティティを指定する記号のことです。

ただし、ここは少し勘違いしやすいです。

say の中に @a を入れても、@aにだけ送るという意味にはなりません
say はもともと全員に送るコマンドなので、文章内の @a は、対象になったプレイヤー名の一覧として置き換えられます。

例:全プレイヤー名を表示する

/say 現在参加中のプレイヤー: @a

この場合、@a の部分が、参加中のプレイヤー名に置き換わります。

マルチプレイで、参加者一覧を簡単に見せたい時などに使えますね。

例:一番近いプレイヤー名を表示する

/say 一番近いプレイヤーは @p です

@p は、実行地点から一番近いプレイヤーを表します。
プレイヤーがチャット欄から実行した場合は、基本的に自分自身が選ばれやすいです。
コマンドブロックから実行した場合は、コマンドブロックの位置を基準に近いプレイヤーが選ばれます。

例:ランダムなプレイヤー名を表示する

/say 今回の代表者は @r です

@r はランダムなプレイヤーを選ぶセレクターです。
ミニゲームで抽選っぽく見せたい時に使えます。

ただし、本格的な抽選や役職付与に使うなら、scoreboardtag と組み合わせた方が安全です。
say はあくまで表示用、と考えましょう。

よく使うターゲットセレクター

セレクター 意味 sayでの使い方例
@a 全プレイヤー /say 参加者: @a
@p 一番近いプレイヤー /say 最寄りの人は @p です
@r ランダムなプレイヤー /say 代表者は @r です
@s 実行しているエンティティ /say 実行者: @s
@e エンティティ全体 /say 対象: @e[type=minecraft:zombie,limit=3]


@e は全エンティティを対象にできるため、範囲を絞らずに使うと大量の名前を拾ってしまうことがあります。
使う場合は、typelimit を付けて対象を絞るのがおすすめです。

/say 近くのゾンビ確認: @e[type=minecraft:zombie,limit=3]

注意!
@a@p は、送信先を決めているわけではありません。
say の文章内で使うと、名前の表示に置き換わる、と考えると分かりやすいです。


7. コマンドブロックでsayを使う方法

say コマンドは、コマンドブロックとの相性がかなり良いです。
ボタンを押した時や、レッドストーン信号が入った時に、チャット欄へ案内文を流せます。

コマンドブロックに入力する例

コマンドブロックには、次のように入力します。

say 扉が開きました

チャット欄から実行する時は /say と入力しますが、コマンドブロック内では先頭の / を付けずに書く形が分かりやすいです。

ボタンで案内文を出す流れ

  1. コマンドブロックを設置する
  2. コマンドブロックに say 扉が開きました と入力する
  3. ボタンやレバーで信号を入れる
  4. チャット欄にメッセージが表示される

これだけです。

配布ワールドやミニゲームで、

say チュートリアルを開始します
say 右の通路へ進んでください
say 戦闘エリアに入ります。準備してください

のように、案内文を順番に流す使い方もできます。

コマンドブロックからの表示は機械っぽさが出やすい

コマンドブロックから say を実行すると、プレイヤーの自然な会話というより、コマンド実行者名付きの告知として表示されます。

そのため、NPCが話しているような演出をしたい場合は、say だけだと少し機械っぽく見えることがあります。

例えば、村長が話している演出をしたいなら、say よりも tellraw を使って、

[村長] よく来たな。まずは畑を見てきてくれ。

のような表示を作る方が自然です。

体験談
筆者も最初は、配布ワールド風の会話を全部 /say で作ろうとしていました。
ただ、実際に見ると「コマンドが喋っている感」が強かったので、会話演出は tellraw に寄せる方が見栄えが良かったです。
say は案内・確認・告知向けですね。


8. sayでできないこと

say コマンドは便利ですが、できることはかなりシンプルです。
逆に言えば、できないことを知っておくと、コマンド選びで迷いにくくなります。

sayでは色付き文字を作れない

say はプレーンテキストを送るコマンドです。
そのため、Java版で正式に色付き文字や太字、斜体などの装飾を使いたい場合は、tellraw を使うのが基本です。

/tellraw @a {"text":"イベント開始です","color":"gold"}

このようなJSON形式のメッセージが必要になります。

say は簡単なかわりに、文字装飾は苦手です。

sayではクリックイベントを付けられない

チャット欄の文字をクリックしてコマンドを実行する、URLを開く、ホバーで説明を出す。
こういった機能も say ではできません。

クリックできる文字を作りたいなら、tellraw を使いましょう。

sayでは送信先を個別指定できない

say は全員へ表示するコマンドです。
特定のプレイヤーにだけ送りたい場合は、tellmsgw などを使います。

/tell プレイヤー名 こっそり伝えたい内容
/msg プレイヤー名 こっそり伝えたい内容
/w プレイヤー名 こっそり伝えたい内容

マルチプレイで個別連絡をしたい時に、say を使うと全員に見えてしまいます。
ここは注意してくださいね。

sayでは画面中央に大きく表示できない

画面中央に大きく文字を出したい場合は、title コマンドを使います。

/title @a title {"text":"イベント開始","color":"yellow"}

say はチャット欄表示、title は画面中央表示。
ここを分けて覚えると分かりやすいです。


9. tellraw・tell・titleとの使い分け

マイクラのメッセージ系コマンドは、名前が似ていて少しややこしいです。
ここでは、初心者さんが迷いやすいコマンドだけ整理しておきます。

コマンド 主な用途 向いている場面
/say 全員へプレーンテキストを表示 簡単な告知・動作確認
/tell
/msg
/w
特定プレイヤーへ個別メッセージ 個別連絡・管理者からの連絡
/tellraw JSON形式でチャット表示 色付き文字・クリック・ホバー演出
/title 画面中央やアクションバーに表示 イベント開始・ボス戦演出
/teammsg チーム内メッセージ チーム制ミニゲーム


まずはsayでOKな場面

次のような用途なら、say で十分です。

  • 「イベント開始です」と全員へ伝える
  • 「装置が起動しました」と確認する
  • 「右の通路へ進んでください」と案内する
  • コマンドブロックが動いたか確認する
/say イベント開始です
/say 装置が起動しました
/say 右の通路へ進んでください

簡単な表示なら、無理に tellraw を使わなくて大丈夫です。

tellrawを使った方が良い場面

次のような場合は、tellraw を使いましょう。

  • 色付き文字にしたい
  • 太字にしたい
  • クリックできる文字を作りたい
  • ホバー表示を付けたい
  • NPC風の会話を作りたい
  • 表示対象を細かく指定したい
/tellraw @a {"text":"イベント開始です","color":"gold","bold":true}

tellraw は少し難しいですが、見た目を整えたいなら避けて通れません。

筆者の使い分け

筆者は、だいたい次のように使い分けています。

  • 動作確認:say
  • 簡単な全体告知:say
  • 配布ワールド風の会話:tellraw
  • 画面中央の演出:title
  • 1人だけへの連絡:tell / msg

最初から全部覚える必要はありません。
まずは say でチャット欄に文字を出せるようになって、必要になったら tellraw に進むのが良いと思います。


10. Java版1.21.11以降で注意したい周辺仕様

say コマンド自体の基本構文は、Java版1.21.11以降でも次のままです。

/say <message>

なので、普通に say を使うだけなら、古い記事を見ても大きく迷うことは少ないと思います。

ただし、コマンドログやフィードバック表示を消したい場合は、Java版1.21.11以降でゲームルール名が変わっている点に注意してください。

Java版1.21.11以降ではゲームルール名がスネークケースになった

Java版1.21.11以降では、ゲームルールがレジストリ化され、従来のキャメルケース名から、名前空間付きのスネークケース名へ変更されています。

例えば、コマンドブロックの実行結果表示を消したい場合、Java版1.21.10以前では次の表記でした。

/gamerule commandBlockOutput false

しかし、Java版1.21.11以降では、次の表記を使います。

/gamerule minecraft:command_block_output false

また、プレイヤーが実行したコマンドのフィードバック表示を調整したい場合も、新旧で表記が変わります。

/gamerule minecraft:send_command_feedback false

Java版1.21.10以前なら、旧表記です。

/gamerule sendCommandFeedback false

sayそのものは消えません

ここで勘違いしやすいのですが、command_block_outputsend_command_feedback は、主にコマンドの実行結果や通知まわりのゲームルールです。

/say は、そもそもチャット欄へメッセージを出すことが目的のコマンドです。
そのため、ログ設定を変えたからといって、say のメッセージ自体を全部消す目的には向きません。

重要
/say のメッセージは、表示するための内容です。
コマンドブロックの余計な実行ログを消す設定とは、分けて考えましょう。

1.21.11以降と以前の表記まとめ

目的 Java版1.21.11以降 Java版1.21.10以前
sayコマンド /say <message> /say <message>
コマンドブロック出力を非表示 /gamerule minecraft:command_block_output false /gamerule commandBlockOutput false
コマンドフィードバックを非表示 /gamerule minecraft:send_command_feedback false /gamerule sendCommandFeedback false


古い動画や古い攻略記事を見ながら作業していると、ここで詰まりやすいです。
Java版1.21.11以降でゲームルールが通らない場合は、まず表記名を疑ってくださいね。


11. よくある失敗と対処法

ここでは、say コマンドでよくある失敗をまとめます。
詰まった時は、上から順番に確認してみてください。

失敗1:コマンドが実行できない

まず、チートや権限が足りていない可能性があります。

  • シングルプレイでチートがオフになっていないか
  • LAN公開時にチートを許可しているか
  • マルチサーバーでOP権限があるか
  • コマンドブロックが有効になっているか

構文が合っていても、権限がなければ実行できません。

失敗2:特定の人にだけ送れると思っていた

say は全員向けのコマンドです。
特定の人にだけ送りたい場合は、tellmsg を使いましょう。

/tell Steve 拠点に戻ってください
/msg Steve 拠点に戻ってください

/say Steve 拠点に戻ってください と書いても、Steveさんだけに送る意味にはなりません。
全員に見えてしまうので注意です。

失敗3:@aを送信先指定だと思っていた

これもかなり多いです。

/say @a こんにちは

この @a は送信先ではなく、文章の中でプレイヤー名一覧に置き換わる部分です。
say は最初から全員に表示されます。

全員に「こんにちは」と言いたいだけなら、次で十分です。

/say こんにちは

失敗4:色付きにしたいのにsayを使っている

say はプレーンテキスト表示です。
色付きにしたいなら tellraw を使います。

/tellraw @a {"text":"注意!","color":"red"}

最初はJSONが難しく感じるかもしれませんが、装飾したい場合は tellraw が基本です。

失敗5:コマンドブロックのログとsay表示を混同している

コマンドブロックを使うと、チャット欄に実行結果が出ることがあります。
このログを消したい場合は、ゲームルールを確認します。

Java版1.21.11以降なら、

/gamerule minecraft:command_block_output false

Java版1.21.10以前なら、

/gamerule commandBlockOutput false

です。

ただし、/say の本来のメッセージは、表示するために実行しているものです。
余計なログと、say で出している本文は分けて確認しましょう。

チェックリスト

  • [ ] /say の後ろに表示したい文章を書いているか?
  • [ ] チート・OP権限はあるか?
  • [ ] 個別送信したいのに say を使っていないか?
  • [ ] @a を送信先指定だと勘違いしていないか?
  • [ ] 色付き表示なのに say で作ろうとしていないか?
  • [ ] Java版1.21.11以降なのに古いゲームルール名を使っていないか?

ここまで確認すれば、ほとんどのトラブルは整理できると思います。


12. まとめ

以上、マイクラJava版の sayコマンドの使い方・構文・チャット表示 について解説しました。

say はとてもシンプルですが、コマンドブロックやマルチプレイで使うとかなり便利です。

要点を整理すると、次の通りです。

  • Java版の構文は /say <message>
  • 全プレイヤーのチャット欄へメッセージを表示する
  • 日本語やスペース入りの文章も使える
  • @a@p は送信先指定ではなく、文章内で名前に置き換わる
  • 色付き文字・クリック文字・NPC会話風の表示は tellraw が向いている
  • 個別送信は tell / msg / w を使う
  • Java版1.21.11以降ではゲームルール名が変更されているので注意

最初にコマンドを覚えるなら、まずはこれでOKです。

/say こんにちは
/say イベント開始です
/say 拠点に集合してください

この3つを実際に試してみるだけでも、チャット欄への表示のされ方が分かると思います。

say は派手な演出には向きませんが、簡単な全体告知・動作確認・コマンドブロックのテストにはかなり使いやすいです。
慣れてきたら、tellrawtitle と組み合わせて、より見やすい案内表示にも挑戦してみてくださいね。

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


13. 参考文献

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