Interface BroadcastService
- All Known Implementing Classes:
YamlBroadcastService
Routes vs templates
Le service ne stocke pas les textes — il ne lit que la config
des audiences (BroadcastAudience) par event. Le texte vient du
MessagesService (clé <eventKey>.broadcast, par exemple
team.create.broadcast).
Modèle de fichier
Un seul fichier par plugin :
<plugin-dataFolder>/<plugin-name-lowercase>-broadcasts.yml.
Defaults bundlés dans le jar à crcore-broadcasts.yml, copiés au
premier démarrage. Couche défaut + couche fichier user en mémoire ; le
fichier user écrase clé par clé.
Audiences
Chaque event mappe sur une liste de BroadcastAudience. L'union
des Players résolus de chaque audience est destinataire. [NONE] ou
liste vide → pas de broadcast.
Usage
core.broadcasts().broadcast("team.create",
BroadcastContext.of(team)
.with("name", team.getName())
.with("tag", team.getTag())
.with("color", team.getColor().getChatColor().toString()));
Le listener interne CRCoreBroadcastListener fait ça
automatiquement pour les 12 events Bukkit livrés avec CR-Core. Les game
plugins peuvent appeler broadcast(String, BroadcastContext) avec leurs propres clés.
-
Method Summary
Modifier and TypeMethodDescriptionvoidbroadcast(String eventKey, BroadcastContext context) Tire un broadcast pour l'eventeventKey, en résolvant les audiences configurées et en envoyant le template<eventKey>.broadcast(viaMessagesService) à chaque destinataire.getAudiences(String eventKey) Liste des audiences configurées pour cet event (vide si rien défini).voidreload()Recharge la config depuis le disque (fichier user uniquement).
-
Method Details
-
broadcast
Tire un broadcast pour l'eventeventKey, en résolvant les audiences configurées et en envoyant le template<eventKey>.broadcast(viaMessagesService) à chaque destinataire. -
getAudiences
Liste des audiences configurées pour cet event (vide si rien défini). -
reload
void reload()Recharge la config depuis le disque (fichier user uniquement).
-