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 par CRCore. Au boot, deux couches sont chargées dans cet ordre (la deuxième écrase la première sur les mêmes clés) :
  1. 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.
  2. 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 Type
    Method
    Description
    get(String key, Object... placeholderPairs)
    Récupère un message formaté.
    Chemin du fichier user principal (informationnel).
    boolean
    has(String key)
    true si la clé existe (dans le fichier user ou dans les defaults).
    boolean
     
    void
    loadAdditional(String resourceName)
    Charge un fichier YAML supplémentaire en plus du fichier user principal.
    raw(String key)
    Template brut sans substitution ni traduction couleur.
    void
    Recharge le fichier utilisateur depuis le disque.
    void
    set(String key, String template)
    Définit / écrase un message ponctuellement en mémoire.
    void
    setApplyColorCodes(boolean enabled)
     
  • Method Details

    • get

      String get(String key, Object... placeholderPairs)
      Récupère un message formaté.
      Parameters:
      key - clé du message (ex. "team.create.success")
      placeholderPairs - paires (nom, valeur, nom, valeur, …). Le nombre d'éléments DOIT être pair.
    • raw

      String raw(String key)
      Template brut sans substitution ni traduction couleur.
    • has

      boolean has(String key)
      true si la clé existe (dans le fichier user ou dans les defaults).
    • set

      void set(String key, String template)
      Définit / écrase un message ponctuellement en mémoire. Utile pour des messages dynamiques ou injectés par un plugin de jeu. NON persisté dans le fichier user.
    • 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

      void loadAdditional(String resourceName)
      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).