messages.json
##Introducción
El archivo messages.json te permite personalizar todos los mensajes que envía Stella en Fabric — resultados de comandos, los paneles de info de equipo/jugador, el aviso de actualización y todos los errores. Es el equivalente en JSON del messages.yml de Paper: las mismas claves anidadas y los mismos códigos de color & / hex. Edita el texto y ejecuta /stella reload para aplicarlo.
##Color y formato
Stella procesa hex en línea #RRGGBB y códigos legacy & (&l, &m, &r, …) directamente en los textos — no hace falta &x para el hex. El token %prefix% al inicio de la mayoría de los mensajes inserta el prefijo definido al principio del archivo.
##El archivo messages.json
{
"prefix": "#A9C8FF&lsτellα#5B86D9∙&r",
"reload": {
"success": "%prefix% #9BE0A8Configuration reloaded."
},
"team": {
"list": {
"empty": "%prefix% #C8D0E6There are no teams yet.",
"header": " #A9C8FF&lsτellα #5B86D9∙ #7ea4ed&lᴛᴇᴀᴍs",
"divider": " #5B86D9&m &r",
"entry": " #5B86D9∙ #A9C8FF%team% #6B7280— #C8D0E6priority #E5E7EB%priority% #6B7280· #C8D0E6%members% #E5E7EBmember(s)"
},
"info": {
"usage": "%prefix% #FB7185Usage: #ff9caa/stella info <team|player> <name>",
"header": " #7ea4ed&lᴛᴇᴀᴍ #5B86D9∙ %color%%team%",
"divider": " #5B86D9&m &r",
"line": " #5B86D9∙ #C8D0E6%field%#6B7280: #E5E7EB%value%",
"member": " #5B86D9- #E5E7EB%member%",
"members_more": " #6B7280(+%count% more)"
},
"player": {
"header": " #7ea4ed&lᴘʟᴀʏᴇʀ #5B86D9∙ #A9C8FF%member%",
"divider": " #5B86D9&m &r",
"none": " #5B86D9∙ #C8D0E6%member% belongs to no team.",
"main": " #FFD98C⭐ %color%%team% #6B7280— #E5E7EB%priority%",
"entry": " #5B86D9∙ %color%%team% #6B7280— #E5E7EB%priority%"
},
"create": {
"success": "%prefix% #9BE0A8Team #c8f7d1%team% #9BE0A8created.",
"exists": "%prefix% #FB7185A team named #ff9caa%team% #FB7185already exists.",
"invalid": "%prefix% #FB7185'#ff9caa%team%#FB7185' is not a valid team id."
},
"delete": {
"success": "%prefix% #9BE0A8Team #c8f7d1%team% #9BE0A8deleted."
},
"add": {
"success": "%prefix% #9BE0A8Added #c8f7d1%member% #9BE0A8to #c8f7d1%team%#9BE0A8.",
"bulk": "%prefix% #9BE0A8Added #c8f7d1%count% #9BE0A8player(s) to #c8f7d1%team%#9BE0A8.",
"none": "%prefix% #FFD98CNo players were added to #7DA8FF%team%#FFD98C."
},
"remove": {
"success": "%prefix% #9BE0A8Removed #c8f7d1%member% #9BE0A8from #c8f7d1%team%#9BE0A8.",
"bulk": "%prefix% #9BE0A8Removed #c8f7d1%count% #9BE0A8player(s) from #c8f7d1%team%#9BE0A8.",
"none": "%prefix% #FFD98CNo matching members in &f%team%#FFD98C."
},
"target": {
"unknown": "%prefix% #FB7185'#ff9caa%target%#FB7185' did not match any player.",
"required": "%prefix% #FB7185From console you must specify a target."
},
"set": {
"name": "%prefix% #9BE0A8Display name of #c8f7d1%team% #9BE0A8set to #c8f7d1%value%#9BE0A8.",
"color": "%prefix% #9BE0A8Color of #c8f7d1%team% #9BE0A8set to #c8f7d1%value%#9BE0A8.",
"color_invalid": "%prefix% #FB7185'#ff9caa%value%#FB7185' is not a valid #hex color.",
"priority": "%prefix% #9BE0A8Priority of #c8f7d1%team% #9BE0A8set to #c8f7d1%value%#9BE0A8."
},
"error": {
"not_found": "%prefix% #FB7185Team #ff9caa%team% #FB7185does not exist."
}
},
"stella": {
"error": {
"syntax": "%prefix% #FB7185Usage: #ff9caa{command} {syntax}",
"no_permission": "%prefix% #FB7185You don't have permission to use this command.",
"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/stella help #FB7185for help."
}
}
}Las claves, los mensajes y las variables significan exactamente lo mismo que en el messages.yml de Paper — solo cambia el formato del archivo de YAML a JSON.
##Referencia de variables
| Token | Dónde | Significado |
|---|---|---|
%prefix% |
la mayoría de mensajes | El valor de prefix. |
%team% |
mensajes de equipo | Id del equipo. |
%color% |
info / list / player | Color del equipo (aplicado en línea). |
%priority% |
list / info / player | Prioridad del equipo. |
%members% |
entry de list | Número de miembros. |
%member% |
add/remove, miembros de info | Un nombre de jugador. |
%count% |
add/remove masivo, members_more | Número afectado / oculto. |
%target% |
target.unknown | El token de objetivo introducido. |
%field% / %value% |
line de info / set | Etiqueta / valor del campo. |
{command} {syntax} {num} {search} |
stella.error | Tokens del framework de comandos. |
El bloque stella.error.* usa tokens {…} (no %…%): {command}, {syntax}, {num}, {search}.
Si la Text Placeholder API está instalada también puedes usar variables %stella:…% dentro de estos mensajes. Mira la página de Variables.