Raw JSON Text Format

Is a versatile and powerful format used in minecraft commands and files. It is used for entity/item names, item descriptions, .mcmeta files and more.

JSON is based on a key-value (key to value) system. In case of minecraft the key is always a string. There's a limited set of keys, and corresponding set of values it can accept
Example: {"color":"red"} ("key":"value")

Client side

Some components have a (Client) prefix. It means, that it may display different text for different players.

text Plain text

Is a static type used to define plain text.

Syntax:


Example: {"text":"Hello World!"} will display as Hello World!

translate Multilanguage text

(Client) Contains a value, which is used by resourcepack to change its contents depending on the language. By default, inherits from en_us.json

Syntax:

You can create your own keys for your own translations. The full list of vanilla keys can be found the Vanilla Resourcepack


Example: {"translate":"block.minecraft.gray_wool"} will display as Gray Wool in US English, Grey Wool in UK English, etc.

selector Entity selectors

Inserts an entity's name with a hoverEvent set to display this entity's UUID and type.

Syntax:


Examples:

score Score

Displays a score value (integer) of a specific scoreboard. Used to insert variables into text.

Syntax:


Example: {"score":{"objective":"my_scoreboard", "name":"@p"}} would display my_scoreboard's score of nearest player

keybind Keybind

(Client) Displays a keybind player has set in controls settings for a specific action.

Syntax:

Complete list of all keybinds:
key.advancements, key.back, key.chat, key.command, key.drop, key.forward, key.fullscreen, key.hotbar.1, key.hotbar.2, key.hotbar.3, key.hotbar.4, key.hotbar.5, key.hotbar.6, key.hotbar.7, key.hotbar.8, key.hotbar.9, key.inventory, key.jump, key.left, key.loadToolbarActivator, key.pickItem, key.playerlist, key.right, key.saveToolbarActivator, key.screenshot, key.smoothCamera, key.sneak, key.spectatorOutlines, key.sprint, key.swapOffhand, key.togglePerspective, key.use.


Example: {"keybind":"key.jump"} (if player didn't change the keybind) will display spacebar

nbt NBT Path

Can display all kinds of NBT Data as well as interpret it, which is extremely powerful.

Syntax:


Examples: