Bedrock Wiki
  • Discord
  • Contribute
  • bedrock.dev
  • MS Learn
Beginner's Guide
  • Guide
    • 1. Introduction
      guide
    • 2. Add-Ons Explained
    • 3. Software & Preparation
    • 4. Project Setup
    • 5. Create a Custom Item
    • 6. Create a Custom Entity
    • 7. Blockbench: Modeling, Texturing & Animating
    • 8. Adding a Loot Table, Spawn Rule & Crafting Recipe
  • Extra
    • a. Understanding JSON
    • b. Download Example Packs
    • c. Troubleshooting
      help
    • d. Advanced Manifest
    • e. Format Versions
    • f. Project Setup Android
Animation Controllers
  • Intro to Animation Controllers
    guide
  • Entity Commands
  • AFK Detector
  • Death Commands
  • Molang into Scoreboard
  • Respawn Commands
Blocks
  • General
    • Intro to Blocks
      guide
    • Block Components
    • Block Tags
    • Block States
    • Block Traits
    • Block Permutations
    • Block Events
      Scripts
    • Block Event Migration
      help
    • Blocks as Items
    • Troubleshooting Blocks
      help
  • Visuals
    • Block Culling
    • Block Models
      guide
    • Block Texture Animation
    • Block Texture Variation
    • Block Tinting
  • Tutorials
    • Applying Constant Effects
      Scripts
    • Avoiding State Limit
    • Fake Blocks
    • Ore Loot Tables
      Scripts
    • Precise Interaction
      Scripts
    • Precise Rotation
      Scripts
    • Rotatable Blocks
  • Vanilla Re-Creations
    • Custom Crops
      Scripts
    • Custom Glass
    • Custom Glazed Terracotta
    • Custom Trapdoors
      Scripts
  • Documentation
    • Block Format History
    • Block Shapes
    • Block Sounds
    • Vanilla Block Models
Commands
  • General
    • Intro to Command Blocks
    • Functions
    • Block States
    • Coordinate System
    • NBT Commands
    • Scoreboard Operations
    • Understanding Selectors
  • Commands
    • Damage
    • Execute
    • Playanimation
    • Playsound
  • On Event Systems
    • On Player First Join
    • On Player Join
    • On Player Leave
    • On Player Death
    • On Player Respawn
    • On First World Load
  • Scoreboard Systems
    • Entity Counter
    • Scoreboard Timers
    • Comparing And Retrieving Scores
  • Techniques
    • Execute Logic Gates
    • MBE - Max's Block Entity
    • FMBE - A New Way to Create Display Entities
    • Look Detection
    • Movement Detections
    • Orbital Camera
  • Useful Creations
    • Custom Crafter
    • Multiplayer Position Rearrangement
      function
Concepts
  • contents.json
  • Emojis & Symbols
  • Molang
  • Namespaces
  • Overwriting Assets
  • Raw Text
  • Shaders
  • Sounds
  • Subpacks
  • Text and Localization
  • Texture Atlases
  • textures_list.json
Documentation
  • Shared Constructs
  • Advanced Molang
  • File Types
  • Fog IDs
  • Material Configuration Description
  • Menu Categories
  • Molang Queries
  • Pack Folder Structure
  • Sound Definitions
  • Vanilla Materials
Entities
  • General
    • Intro to Entities BP
      guide
    • Intro to Entities RP
      guide
    • Troubleshooting Entities
      help
    • Entity Events
    • Entity Properties
    • NPC Dialogues
    • Render Controllers
    • Spawn Rules
  • Tutorials
    • Convert Points Between Any Space (World, Entity, Bones)
    • Creating Boats
    • Detecting Other Entities
    • Disabling Team Damage
    • Dummy Entities
    • Entity Attacks
    • Entity Holds Item
    • Entity Movement
    • Entity Timers
    • Flying Entities
    • Introduction to AOE Clouds
    • Invulnerable Entities
    • Look at Entity
    • Sleeping Entities
    • Solid Entities
    • Spawning Tamed Entities
      Scripts
    • Village Mechanic
  • Documentation
    • Dummy Components
    • Non-Mob Runtime Identifiers
    • Projectiles
    • Runtime Identifiers
    • Vanilla Usage Components
    • Vanilla Usage Spawn Rules
Items
  • General
    • Intro to Items
      guide
    • Item Components
    • Item Tags
    • Item Events
      Scripts
    • Item Event Migration
      help
    • Troubleshooting Items
      help
  • Tutorials
    • Custom Armor
    • Custom Food
      Scripts
    • Custom Pottery Sherds
    • Custom Weapons
    • Equipment-Based Commands
    • High Resolution Items
    • Spawning Items
    • Throwable Items
  • Documentation
    • Enchantments
    • Attachables
    • Item Format History
    • Numerical Item IDs
    • Vanilla Item Identifiers
    • Vanilla Usage Components
JSON UI
  • General
    • Intro to JSON UI
      guide
    • Best Practices
      guide
  • Tutorials
    • Adding HUD Elements
    • Aseprite Animations
    • Buttons and Toggles
    • Modifying Server Forms
    • Preserve Title Texts
    • String to Number
  • Documentation
    • JSON UI Documentation
Loot, Recipes & Trading
  • General
    • Trading Behavior
  • Documentation
    • Loot Tables
    • Trade Tables
    • Recipes
    • Item Functions
  • Tutorials
    • Randomized Structure Loot
Meta
  • Add-On Performance
  • Style Guide
  • Useful Links
  • Using Schemas
  • Version Control
  • Q&A
    • Blocks and Items Q&A 2024/08/30
    • Deferred Technical Preview Q&A 2024/02/23
    • GameTest Q&A 2021/08/06
    • Scripting and Editor Q&A 2023/09/22
    • World Generation Q&A 2024/11/15
NBT
  • General
    • .mcstructure
  • Tutorials
    • Experiments in Education Edition
    • Extending Structure Limits
  • NBT in Depth
    • About NBT (Named Binary Tag)
    • NBT Libraries
    • Reading NBT Example
Particles
  • General
    • Intro to Particles
      guide
  • Tutorials
    • Disabling Particles
  • Documentation
    • Vanilla Particles
Scripting
  • General
    • Intro to Scripting
    • What is Script API?
    • API Modules
  • Tutorials
    • Block Placement Prevention
    • GameTests
    • Script Core Features
    • Script Forms
    • Script Requests API
    • Simple Chat Commands
  • Documentation
    • Engine Environment
    • Script Resources
    • Script Watchdog
    • Troubleshooting JavaScript
    • TypeScript
Servers
  • Software
    • Bedrock Server Software
  • Protocols
    • Bedrock Protocol
    • NetherNet Protocol
    • RakNet Protocol
Visuals
  • General
    • Introduction to Entity Visuals
      guide
    • Bedrock Modeling
    • Custom Death Animations
    • Effects in Animations
    • Material Creations
    • Materials
    • Math-Based Animations
    • Skin Packs
  • Tutorials
    • Entity Texture Animation
    • Glowing Entity Texture
    • Hurt Animations
    • Leash Position
    • Player Geometry
    • Remove Entity Shadows
    • Retexturing Spawn Eggs
  • Ideas
    • Structure Presentation
World Generation
  • General
    • Intro to World Generation
      guide
    • Biomes
      guide
    • Feature Types
    • Jigsaw Structures
  • Tutorials
    • Block Conditions for Features
    • Generating Custom Ores
    • Generating Custom Structures
    • Generating Patches
    • Heightmap Noise
  • Documentation
    • Biome Tags

Raw Text

Raw Text
  • Introduction
  • Text Component
    • Breaks, Line Breaks, And Unicodes
  • Selector Component
  • Score Component
  • Translate Component
    • %%s
    • Multiple %%s
    • Ordering with %%#

Introduction ​

Sourced by the Bedrock Commands Community (BCC) Discord

Rawtexts are used to send and display rich text to players. This can be used in a /tellraw or /titleraw command.

Inside the squared brackets [], this is where you will list multiple text objects of your choice.

json
{ "rawtext": [] }
1

You can combine components by adding a comma , at the end of a component.

Text Component ​

Displays a text. Used inside the quotation marks.

Syntax:

json
{ "text": "<Your Text Here>" }
1

Example:

Send a "Hello everyone!" message to all players in chat:

json
/tellraw @a { "rawtext": [{ "text":"Hello everyone!" }] }
1

Breaks, Line Breaks, And Unicodes ​

  1. Breaks are accessed as \ and are used in order to use quotation marks " within components. Example:
json
/tellraw @a { "rawtext": [{ "text":"He said, \"I like apples\"..." }] }
#Output in chat:
#    He said, "I like apples"...
1
2
3
  1. Line breaks are used as \n to go down a line. Example:
json
/tellraw @a { "rawtext": [{ "text":"Hello\nNext line" }] }
#Output in chat:
#    Hello
#    Next line
1
2
3
4
  1. Unicodes provides a unique number that displays an icon/emoji. Example:
json
/tellraw @a { "rawtext": [{ "text":"\ue100" }] }
1
  • Output in chat:

Note: the unicode symbol will display as it's corresponding icon/emoji in Minecraft only.

For more info and the full list of unicodes available in Bedrock, refer to the Emojis & Symbols page.

Selector Component ​

Displays the name of a target of your choice. Target Selector arguments are allowed.

Syntax:

json
{ "selector":"<target>" }
1

Examples:

  1. Send name of all players in chat:
json
/tellraw @a { "rawtext": [{ "selector": "@a" }] }
1
  1. Send name of all players tagged 'wiki:winner' in chat:
json
/tellraw @a { "rawtext": [{ "selector": "@a[tag=wiki:winner]" }] }
1

Score Component ​

Displays a score from a scoreboard objective.

Syntax:

json
{ "score": { "name": "<name>", "objective":"<score>" } }
1
  • name - This can be any selector like @p or a player's name.
    • You can also use the * wildcard to display the reader's own score.
  • objective - The name of the scoreboard you want to display the score from.

Both are required when using the score component.

Examples:

  1. Display the wiki:points score of the closest player in chat:
json
/tellraw @a { "rawtext": [{ "score": { "name": "@p", "objective": "wiki:points" } }] }
1
  1. Display the wiki:money score of the reader in chat:
json
/titleraw @a title { "rawtext": [{ "score": { "name": "*", "objective": "wiki:money" } }] }
1

Translate Component ​

Allows creators to display localized text to users. The list of the strings to translate is inside in the language files. Refer to Text & Translations page for more info.

Syntax:

json
{ "translate": "<string>" }
1

Example:

json
/tellraw @a { "rawtext": [{ "translate": "multiplayer.player.joined" }] }
#Output in chat:
#    %s joined the game
1
2
3

In the example above, it outputs "%s joined the game". For a name to appear instead of %s, with needs to be specified as well. Requires an array [] instead of curly brackets {}

json
/tellraw @a { "rawtext": [{ "translate": "multiplayer.player.joined", "with": ["Steve"] }] }
#Output in chat:
#    Steve joined the game
1
2
3

%%s ​

translate and %s can be used without a matching string in the localization files. For example:

json
/tellraw @a { "rawtext": [{ "translate": "Hello %%s", "with": ["Steve"] }] }
#Output in chat:
#    Hello Steve
1
2
3

Multiple %%s ​

%%s can be used multiple times. They are filled in the order as shown.

json
/tellraw @a { "rawtext": [{ "translate": "Hello %%s and %%s", "with": ["Steve","Alex"] }] }
#Output in chat:
#    Hello Steve and Alex
1
2
3

Ordering with %%# ​

The order to fill in %s can be changed by replacing s with a number at the end. For example, to swap the position of Steve and Alex in the above example:

json
/tellraw @a { "rawtext": [{ "translate": "Hello %%2 and %%1", "with": ["Steve","Alex"] }] }
#Output in chat:
#    Hello Alex and Steve
1
2
3

And instead of an array, you can use a rawtext component, like so.

json
/tellraw @a { "rawtext": [{ "translate": "Hello %%s and %%s", "with": { "rawtext": [{ "text":"Steve" }, { "translate": "item.apple.name" }] } }] }
#Output in chat:
#    Hello Steve and Apple
1
2
3

Additional example shared by @CornyFlex:

json
/tellraw @a { "rawtext": [{ "translate": "Role: %%%%s", "with": { "rawtext": [{ "score": { "name": "*", "objective": "wiki:role" } }, { "text":"Member" }, { "text": "Moderator" }, { "text": "Admin" }] } }] }
1

This structure allows you to display different text to the selected players based on scores.

  • Output in chat:
    • Member
      • When 'wiki:role' score of the player equals 1.
    • Moderator
      • When 'wiki:role' score of the player equals 2.
    • Admin
      • When 'wiki:role' score of the player equals 3.

Note: Score must be a positive integer.

How It Works:

  • At "%%%%s", the first %% is left invalid because no argument (either "s" or an integer) is provided. As a result, it cannot display a value from the array.
  • For the second %%, the argument "s" is provided, which displays the first slot in the array (a {score}).
  • Since there is no space between the first %% and the {score} (%%s), the {score} is interpreted as the integer argument for the first %%, making it valid.
  • This allows the score to dynamically change the index of the slot to be displayed.

Contributors

Edit Raw Text on GitHub

Bedrock Wiki by Bedrock OSS

"Minecraft" is a trademark of Mojang AB.

Bedrock OSS, Bedrock Wiki and bedrock.dev are not affiliated in any way with Microsoft or Mojang AB.

  • Privacy Policy
  • Join our Discord
  • Learn how to Contribute
  • Visit our Repository