messages.yml
##Introduction
The messages.yml file lets you customize every message SulfurLab sends — command results, the list and info panels, and all errors. It's a single tree of keys; edit the text and run /sulfurlab reload to apply it.
##Color & formatting
SulfurLab parses inline hex #RRGGBB and legacy & codes (&l, &m, &r, …) directly in the strings — no &x needed for hex. A %prefix% token at the start of most messages inserts the prefix defined at the top of the file.
prefix: "#FFF580&lSulfur#E3FAFF&lLab#7C8A8F∙&r"prefix — the brand prefix prepended to most messages. (Placeholders: —)
##reload
reload:
success: "%prefix% #a0ff72Configuration reloaded."reload.success — shown after /sulfurlab reload. (%prefix%)
##sulfur.common
sulfur:
common:
not_found: "%prefix% #FB7185No Sulfur Cube named #ff9caa%name%#FB7185."
entity_lost: "%prefix% #FB7185The entity for #ff9caa%name% #FB7185is not loaded or no longer exists."not_found — no cube with that name. (%prefix%, %name%)
entity_lost — the cube exists but its entity isn't loaded. (%prefix%, %name%)
##sulfur.create
create:
success: "%prefix% #a0ff72Created Sulfur Cube #ffffff%name%#a0ff72."
exists: "%prefix% #FB7185A Sulfur Cube named #ff9caa%name% #FB7185already exists."
usage: "%prefix% #FB7185Usage: #ff9caa/sulfurlab new [name] [-b/-f/-a value] [-i blockId]"
missing_flag: "%prefix% #FB7185Missing value for flag #ff9caa%flag%#FB7185."
unknown_flag: "%prefix% #FB7185Unknown flag #ff9caa%flag%#FB7185."success — cube created. (%prefix%, %name%)
exists — name already taken. (%prefix%, %name%)
usage — malformed /sulfurlab new. (%prefix%)
missing_flag / unknown_flag — a flag has no value, or isn't recognized. (%prefix%, %flag%)
##sulfur.property
property:
set: "%prefix% #a0ff72Set #ffffff%property% #a0ff72of #ffffff%name% #a0ff72to #ffffff%value%#a0ff72."
unset: "%prefix% #a0ff72Reset #ffffff%property% #a0ff72of #ffffff%name% #a0ff72to default (#ffffff%value%#a0ff72)."
invalid: "%prefix% #FB7185Unknown property #ff9caa%property%#FB7185. Use: bounciness, friction, airdrag."
out_of_range: "%prefix% #FB7185%property% #ff9caamust be between #FB7185%min% #ff9caaand #FB7185%max% #ff9caa(got #FB7185%value%#ff9caa)."set / unset — a property was changed or reset. (%prefix%, %name%, %property%, %value%)
invalid — property name not recognized. (%prefix%, %property%)
out_of_range — value outside the allowed range. (%prefix%, %property%, %value%, %min%, %max%)
##sulfur.block
block:
set: "%prefix% #a0ff72Set block of #ffffff%name% #a0ff72to #ffffff%block%#a0ff72."
invalid: "%prefix% #FB7185'#ff9caa%block%#FB7185' is not a valid block."set — the displayed block was changed. (%prefix%, %name%, %block%)
invalid — the id isn't a valid block. (%prefix%, %block%)
##sulfur.kill
kill:
one: "%prefix% #a0ff72Killed Sulfur Cube #ffffff%name%#a0ff72."
all: "%prefix% #a0ff72Killed #ffffff%count% #a0ff72Sulfur Cube(s)."one — a single cube removed. (%prefix%, %name%)
all — @all removed several cubes. (%prefix%, %count%)
##sulfur.teleport
teleport:
to: "%prefix% #a0ff72Teleported to #ffffff%name%#a0ff72."
to_last: "%prefix% #a0ff72Teleported to #ffffff%name%#a0ff72's last known location #7C8A8F(entity not loaded)."
here: "%prefix% #a0ff72Teleported #ffffff%name% #a0ff72to you."to — you teleported to the cube. (%prefix%, %name%)
to_last — the cube wasn't loaded, so you went to its last location. (%prefix%, %name%)
here — the cube was teleported to you. (%prefix%, %name%)
##sulfur.glow
glow:
on: "%prefix% #ffffff%name% #a0ff72is glowing for #ffffff%seconds%s#a0ff72."
off: "%prefix% #a0ff72Stopped glowing #ffffff%name%#a0ff72."on — glow enabled for a duration. (%prefix%, %name%, %seconds%)
off — glow turned off. (%prefix%, %name%)
##sulfur.rename
rename:
success: "%prefix% #a0ff72Renamed #ffffff%name% #a0ff72to #ffffff%new%#a0ff72."success — cube renamed. (%prefix%, %name%, %new%)
##sulfur.list
list:
empty: "%prefix% #fffcdbNo Sulfur Cubes registered."
header: "%prefix% #a0ff72Sulfur Cubes (#ffffff%count%#a0ff72)#7C8A8F:"
entry: " #7C8A8F∙ #ffffff%name% #8a9ba1(%status%#8a9ba1) #7C8A8F- #fffcdb%world% %x%, %y%, %z% #7C8A8F| #fffcdbb:%bounciness% f:%friction% a:%airdrag% #7C8A8F| #fffcdb%block%"empty — no cubes exist. (%prefix%)
header — top of the /sulfurlab list panel. (%prefix%, %count%)
entry — one clickable row per cube (click to teleport). (%name%, %status%, %world%, %x%, %y%, %z%, %bounciness%, %friction%, %airdrag%, %block%)
##sulfur.info
info:
header: "%prefix% #a0ff72%name% #7C8A8F(%status%#7C8A8F)"
line: " #7C8A8F∙ #8a9ba1%label%#7C8A8F: #fffcdb%value%"header — title of the /sulfurlab info panel. (%prefix%, %name%, %status%)
line — one field row (Location, Bounciness, Friction, Air drag, Block, Entity). (%label%, %value%)
##sulfur.editor
editor:
soon: "%prefix% #7ea4edThe editor is not implemented yet."soon — shown by /sulfurlab editor, which isn't implemented yet. (%prefix%)
##error
error:
syntax: "%prefix% #FB7185Usage: #ff9caa{command} {syntax}"
no_permission: "%prefix% #FB7185You don't have permission."
not_in_game: "%prefix% #FB7185This command can only be used in-game."
invalid_number: "%prefix% #FB7185'#ff9caa{num}#FB7185' is not a valid number."
player_not_online: "%prefix% #FB7185Player #ff9caa{search} #FB7185is not online."
unknown_command: "%prefix% #FB7185Unknown command. Type #ff9caa/sulfurlab help #FB7185for help."The command-framework errors. Unlike the %…% tokens above, these use {…} tokens: {command}, {syntax}, {num}, {search}.
- syntax — wrong usage of a command.
- no_permission — the sender lacks the permission.
- not_in_game — a player-only command (like
newortp) was run from console. - invalid_number — a flag value wasn't a number.
- player_not_online — a targeted player isn't online.
- unknown_command — no matching subcommand.
##Placeholder reference
| Token | Where | Meaning |
|---|---|---|
%prefix% |
most messages | The prefix value. |
%name% |
most cube messages | The cube name. |
%new% |
rename | The new name. |
%property% |
property messages | bounciness, friction or airdrag. |
%value% |
property / info | The value set or shown. |
%min% / %max% |
out_of_range | The property's allowed range. |
%block% |
block messages | A block id. |
%flag% |
create errors | The offending flag. |
%count% |
kill all / list header | Number affected / total. |
%status% |
list / info | online or not loaded. |
%world% %x% %y% %z% |
list entry | The cube's location. |
%bounciness% %friction% %airdrag% |
list entry | The cube's physics. |
%seconds% |
glow.on | Glow duration. |
%label% |
info line | A field label. |
{command} {syntax} {num} {search} |
error block | Command-framework tokens. |