Skip to main content

Display Commands

Commands for sending messages, titles, and text to players in chat or on screen.

/me
All Players

Sends an action message in chat, displayed as '* PlayerName action'. Similar to IRC /me.

Classic
/msg
All Players

Sends a private message to one or more players. Also available as /tell and /w.

Alpha v1.0.16_02
/say
Game Master

Sends a public message to all players in chat, prefixed with the sender's name in square brackets. Can use selectors.

Classic 0.0.16a_01
/tellraw
Game Master

Sends a formatted text component message to players. Supports clickable text, hover events, colors, formatting, and score/selector insertion.

v1.7.2
/title
Game Master

Controls the title display on players' screens. Can show titles, subtitles, action bar text, and configure display timing.

v1.8

Which one to use

/say
A plain line everyone sees, with the sender's name in brackets. From the console that name is Server, from a command block it is @. Selectors in the text turn into names. Level 2.
/msg
A private message that only the sender and the targets see. Also answers to /tell and /w. Level 0, so any player can use it.
/me
A line in the third person, like "* Steve waves". Mostly used for roleplay. Level 0.
/tellraw
Chat with colors, hover text and clickable parts. The right tool for menus, rule prompts and anything a player should click. Level 2.
/title
Big text in the middle of the screen, a subtitle under it, or a short line above the hotbar. Level 2.

Text components changed in 1.21.5

/tellraw, /title and the name of a /bossbar all take a text component. Since Java 1.21.5 that is written as SNBT instead of JSON, so keys can go without quotes: {text:"Welcome",color:"gold"}. Old examples with quoted keys still parse. What breaks them is that the event keys were renamed:

click_event
Was clickEvent. A run_command click now keeps its command in a command field instead of value, and the leading slash is optional.
hover_event
Was hoverEvent. A show_text hover now reads its text from value instead of contents.

A run_command click runs as the player who clicked, so they need permission for that command, and it refuses commands that post chat messages such as /say or /tell. For a button every player may press, point the click at /trigger, which needs no op.

Getting a title on screen

Send times and subtitle first and title last, because the title action is what shows everything. The default timing is 10 ticks to fade in, 70 on screen and 20 to fade out. A player's client keeps custom times until the game restarts, so run /title @a reset when your event is over. Long titles are not wrapped either. They run off both sides of the screen, so keep them to a few words.