-
Notifications
You must be signed in to change notification settings - Fork 2
Messages.json
Player-facing chat message templates and the Tera-Terastallization toast popup. Located at GenesisForms/messages.json.
Note
All strings in this file support MiniMessage formatting tags (<green>, <gray>, <light_purple>, hex colors like <#35DEC6>, etc.) instead of legacy & color codes. Like config.json, this file is auto-merged on load — updating the mod adds any new message keys without overwriting the wording you've already customized. /genesis reload (see Commands) reloads it live.
📄 Full default file
{
"prefix": "<dark_gray>[<#35DEC6>Genesis<dark_gray>]",
"tera_toast_settings": {
"toast_title": "Tera Type: %pokemon.tera_type%",
"toast_description": "",
"use_shard_icon": true,
"display_seconds": 3.0
},
"messages": {
"reload_command": "%prefix% <green>Reloaded!",
"has_gmax_factor": "<green>%pokemon% can Gigantamax!",
"dynamax_level_changed": "<green>%pokemon%'s dynamax level is now %pokemon.dmax_level%!",
"gmax_factor_removed": "<red>%pokemon% can no longer Gigantamax!",
"give_command_received": "%prefix% <green>Received %item%!",
"give_command_feedback": "%prefix% <green>Gave %item% to %player%!",
"tera_type_changed": "<green>Set %pokemon%'s tera type to %pokemon.tera_type%!",
"cube_mode_feedback": "<gray>Cube Mode: <green>%cube_mode%",
"gmax_factor_applied": "<green>%pokemon% can now Gigantamax!",
"does_not_have_gmax_factor": "<red>%pokemon% can not Gigantamax!",
"reset_data_command": "%prefix% <green>Reset %player%'s Internal Form Data!"
}
}Every message is run through TextUtils.parse(...), which substitutes placeholders before the string is deserialized as MiniMessage. Not every placeholder is available in every message — see the per-key tables below for which ones actually get filled in for that message.
| Placeholder | Resolves to | Available in |
|---|---|---|
%prefix% |
The prefix field, below. |
Every message (substituted first, so prefix itself may not usefully reference other placeholders). |
%player% |
The target player's name (getNameForScoreboard()). |
Any message parsed with a player context. |
%player.uuid% |
The target player's UUID. | Any message parsed with a player context. |
%item% |
The item's display name, resolved from its translation key (item.genesisforms.<item_id>). |
give_command_received, give_command_feedback. |
%count% |
The quantity given. |
give_command_received, give_command_feedback (present in the parser but not used in either default string — safe to add manually, e.g. Received %count%x %item%!). |
%pokemon% |
The Pokémon's display name. | Any message parsed with a Pokémon context. |
%pokemon.uuid% |
The Pokémon's UUID. | Any message parsed with a Pokémon context. |
%pokemon.tera_type% |
The Pokémon's current Tera type display name. | Any message parsed with a Pokémon context (notably tera_type_changed and the Tera toast title). |
%pokemon.dmax_level% |
The Pokémon's Dynamax level. | Any message parsed with a Pokémon context (notably dynamax_level_changed). |
%cube_mode% |
Literal Ability or Form, hardcoded by the Zygarde Cube's own logic rather than TextUtils. |
cube_mode_feedback only. |
| Field | Type | Default | Description |
|---|---|---|---|
prefix |
string | "<dark_gray>[<#35DEC6>Genesis<dark_gray>]" |
Prepended anywhere a message string contains %prefix%. Not every message includes it — plain feedback lines like the Gigantamax/Tera messages omit it by default. |
Controls the advancement-style "toast" popup shown in the top-right corner when a Pokémon Terastallizes.
| Field | Type | Default | Description |
|---|---|---|---|
toast_title |
string | "Tera Type: %pokemon.tera_type%" |
Toast title line. Parsed with the Terastallizing Pokémon as context, so %pokemon%, %pokemon.tera_type%, etc. all work. |
toast_description |
string | "" |
Toast subtitle/description line. Same placeholder support as toast_title. Empty by default. |
use_shard_icon |
boolean | true |
Use the Tera Shard item matching the Pokémon's Tera type (genesisforms:<type>_tera_shard) as the toast's icon. When false, the toast is shown with no icon. |
display_seconds |
float | 3.0 |
How long the toast stays on screen. |
| Field | Type | Default | Triggered when... |
|---|---|---|---|
reload_command |
string | "%prefix% <green>Reloaded!" |
An admin runs /genesis reload. |
reset_data_command |
string | "%prefix% <green>Reset %player%'s Internal Form Data!" |
An admin resets a player's internal form/gimmick data via command. Parsed with that player as context (%player%). |
give_command_received |
string | "%prefix% <green>Received %item%!" |
Sent to the player who receives an item from a /genesis give-style command. Supports %item% and %count%. |
give_command_feedback |
string | "%prefix% <green>Gave %item% to %player%!" |
Sent back to the command sender confirming the give. Supports %item%, %count%, and %player% (the recipient). |
cube_mode_feedback |
string | "<gray>Cube Mode: <green>%cube_mode%" |
A player switches the Zygarde Cube's mode (Ability/Form). %cube_mode% is Ability or Form. |
gmax_factor_applied |
string | "<green>%pokemon% can now Gigantamax!" |
A Max Soup (or equivalent) grants a Pokémon the Gigantamax Factor. |
gmax_factor_removed |
string | "<red>%pokemon% can no longer Gigantamax!" |
A Max Soup (or equivalent) removes the Gigantamax Factor. |
has_gmax_factor |
string | "<green>%pokemon% can Gigantamax!" |
A Dynamax accessory is used to check a Pokémon that already has the Gigantamax Factor. |
does_not_have_gmax_factor |
string | "<red>%pokemon% can not Gigantamax!" |
Same check, but the Pokémon lacks the Gigantamax Factor. |
tera_type_changed |
string | "<green>Set %pokemon%'s tera type to %pokemon.tera_type%!" |
A Tera Shard is used to set/change a Pokémon's Tera type. |
dynamax_level_changed |
string | "<green>%pokemon%'s dynamax level is now %pokemon.dmax_level%!" |
Dynamax Candy is used to change a Pokémon's Dynamax level. |
Tip
These are plain feedback messages, not action bar/title effects — they're sent with sendMessage(..., true) in most cases (action bar) except the two command-feedback lines, which go to normal chat. If a message doesn't seem to appear where you expect, check whether it's an action-bar message that got overwritten by something else firing right after it.
- Config.json — gimmick toggles and general settings.
-
Commands — the
/genesis reload, give, and reset-data commands that trigger several of these messages.