Interface MessagesService
- All Known Implementing Classes:
YamlMessagesService
public interface MessagesService
Service de messages localisables / configurables pour CR-Core et les
plugins de jeu downstream.
Modèle de chargement
Une instance parCRCore. Au boot, deux couches sont chargées dans
cet ordre (la deuxième écrase la première sur les mêmes clés) :
- Defaults CR-Core — embarqués dans le jar
(
resources/crcore-messages.yml), toujours en mémoire en fallback. Une clé manquante dans le fichier user retombe ici automatiquement. - Fichier utilisateur — un seul fichier
<dataFolder>/<plugin-name-lowercase>-messages.yml. Auto-créé au premier démarrage à partir d'une copie des defaults (CR-Core OU du plugin de jeu s'il bundle son propre fichier sous le même nom dans ses ressources). C'est le fichier que l'admin du serveur édite.
Substitution de placeholders
Format{name}, substitution via varargs paire-par-paire :
core.messages().get("team.create.success",
"name", team.getName(),
"tag", team.getTag(),
"visibility", team.getVisibility());
Codes couleur
Les&a, &c, … sont traduits automatiquement en §a,
§c, … (toggle via setApplyColorCodes(boolean)).
Clés manquantes
Si une clé n'existe ni dans le fichier user ni dans les defaults,get(String, Object...) renvoie "[missing: key]" pour faciliter le debug.-
Method Summary
Modifier and TypeMethodDescriptionRécupère un message formaté.Chemin du fichier user principal (informationnel).booleantruesi la clé existe (dans le fichier user ou dans les defaults).booleanvoidloadAdditional(String resourceName) Charge un fichier YAML supplémentaire en plus du fichier user principal.Template brut sans substitution ni traduction couleur.voidreload()Recharge le fichier utilisateur depuis le disque.voidDéfinit / écrase un message ponctuellement en mémoire.voidsetApplyColorCodes(boolean enabled)
-
Method Details
-
get
-
raw
-
has
truesi la clé existe (dans le fichier user ou dans les defaults). -
set
-
reload
void reload()Recharge le fichier utilisateur depuis le disque. Les defaults CR-Core restent en mémoire (pas re-chargés depuis le jar — ils ne bougent pas). -
loadAdditional
Charge un fichier YAML supplémentaire en plus du fichier user principal. Cas d'usage : un plugin de jeu qui veut séparer ses messages en plusieurs fichiers (ex. un par module). Le fichier est résolu dans le dataFolder du plugin et copié depuis ses ressources s'il n'existe pas encore. -
setApplyColorCodes
void setApplyColorCodes(boolean enabled) -
isApplyColorCodes
boolean isApplyColorCodes() -
getUserFile
File getUserFile()Chemin du fichier user principal (informationnel).
-