Messages et Titres de CannonRTP
Toutes les chaînes destinées aux joueurs résident dans plugins/CannonRTP/messages.yml et sont entièrement remplaçables. Chaque valeur prend en charge les dégradés MagmaCore (<gradient:#start:#end>...</gradient>), les balises MiniMessage et les codes couleur hérités &. Le placeholder $prefix dans tout message est remplacé par la valeur prefix configurée.
La Release 1 ne fournit que l'anglais ; la clé language dans config.yml existe pour que de futurs packs de traduction puissent la cibler.
Préfixe et En-tête d'Aide
| Clé | Placeholders | Défaut | Description |
|---|---|---|---|
prefix | -- | <gradient:#ff9a3d:#ffd166>CannonRTP</gradient> &8| | Préfixe injecté dans chaque message via $prefix |
helpHeader | $prefix | $prefix &fCannonRTP commands: | Ligne d'accueil affichée en haut de /cannonrtp, /wc help, et /wc list / /wc status |
Messages de Chat
| Clé | Placeholders | Description |
|---|---|---|
createdCannon | $prefix, $cannon, $id, $path | Envoyé après le succès de /wc create |
placedCannon | $prefix, $cannon | Envoyé après le succès de /wc place |
removedCannon | $prefix, $cannon | Envoyé après le succès de /wc remove |
deletedCannon | $prefix, $cannon | Envoyé après le succès de /wc delete |
targetWorldUpdated | $prefix, $cannon, $world | Envoyé après le succès de /wc target |
searchCenterUpdated | $prefix, $cannon | Envoyé après le succès de /wc center |
reload | $prefix, $count | Envoyé après la fin de /wc reload |
noPermission | $prefix, $cannon | Envoyé lorsqu'un joueur entre dans un canon pour lequel il n'a pas requiredPermission (limité à une fois toutes les 3 secondes par joueur et par canon) |
launchCooldown | $prefix, $cannon, $seconds, $unit | Envoyé lorsqu'un joueur entre dans un canon quelconque avant l'expiration du délai de récupération suivant un lancement accepté. $seconds est arrondi au supérieur ; $unit vaut second ou seconds. Les notifications sont limitées à une fois toutes les 3 secondes par joueur et par canon. |
cannonDisabled | $prefix, $cannon | Réservé. Les canons désactivés sont entièrement exclus de la boucle de tick, si bien que la version actuelle n'envoie jamais ce message -- la clé est écrite dans messages.yml mais rien ne la lit. |
queueCalibration | $prefix, $cannon, $queued, $target, $attempts | Envoyé lorsqu'un canon est encore en préchargement et qu'un joueur y entre. Dans ce message $target correspond à chargedLocationsPerCannon ; $attempts est le budget de tentatives de recherche restant avant que le canon ne s'épuise |
noValidLocationYet | $prefix, $cannon | Envoyé lorsqu'aucun emplacement sûr n'a encore été mis en file |
noValidLocationFound | $prefix, $cannon, $reason | Envoyé lorsque CannonRTP abandonne après avoir épuisé searchTimeoutAttempts. $reason est un résumé séparé par des virgules des raisons de rejet les plus fréquentes |
invalidConfiguration | $prefix, $cannon, $reason | Envoyé lorsqu'une erreur de configuration est détectée (par ex. monde cible non chargé) |
statusLine | $prefix, $cannon, $status, $queued, $target, $reason | Format de ligne utilisé pour chaque ligne de /wc list et /wc status. Dans ce message $target correspond à preloadedLocationsPerCannon (la cible complète de la réserve, pas le seuil chargé) |
probeAllowed | $prefix | Envoyé par /wc probe lorsque l'emplacement est valide |
probeBlocked | $prefix, $plugin, $reason | Envoyé par /wc probe lorsque l'emplacement est bloqué |
unknownCommand | $prefix | Réservé. Les sous-commandes non reconnues sont traitées par le gestionnaire de commandes partagé de MagmaCore, si bien que la version actuelle n'envoie jamais ce message -- la clé est écrite dans messages.yml mais rien ne la lit. |
invalidConfiguration fait aussi office de ligne d'erreur générique pour les administrateurs : c'est également ce que /wc list / /wc status envoient lorsqu'aucun canon n'est placé, et ce que /wc create, /wc place, /wc remove, /wc delete, /wc target et /wc center envoient lorsqu'un identifiant ou un monde ne peut pas être résolu.
Libellés de Statut
Les mots de statut utilisés par l'étiquette flottante du canon, /wc list et le placeholder $status sont configurables.
| Clé | Défaut | Affiché quand |
|---|---|---|
statusLabels.ready | Ready | Le canon dispose d'assez d'emplacements préchargés pour lancer les joueurs |
statusLabels.charging | Charging | Le canon cherche encore sa première destination sûre |
statusLabels.maintaining | Maintaining | Le canon reconstitue sa réserve de destinations |
statusLabels.exhausted | Exhausted | Le canon n'a pas réussi à trouver de destination sûre |
statusLabels.disabled | Disabled | Le canon est désactivé dans sa configuration |
statusLabels.invalid | Invalid | Réservé. La version actuelle résout chaque statut à travers les trois états de recherche internes (READY, SEARCHING, EXHAUSTED) plus la vérification de désactivation, donc rien n'affiche ce libellé. Un canon dont le targetWorld n'est pas chargé conserve le libellé de son état de recherche et signale le problème via $reason. |
Ce sont des chaînes brutes, donc les dégradés et les codes couleur fonctionnent ici aussi. Ce que vous définissez devient la valeur de $status dans statusLine.
Listes de Titres
Plusieurs emplacements de titres dans la séquence de lancement sont configurés comme une liste plutôt qu'une seule chaîne. À chaque lancement, CannonRTP choisit aléatoirement une entrée dans la liste. Cela évite que les lancements répétés ne semblent identiques.
| Clé | Placeholders | Phase | Description |
|---|---|---|---|
titles.launchQueuedTitles | $cannon | début de SEARCHING | Liste de chaînes de titres affichées lorsqu'un lancement commence |
titles.launchQueuedSubtitles | $cannon | début de SEARCHING | Liste de sous-titres associés au titre de début de lancement |
titles.destinationPreviewTitles | -- | SEARCHING | Liste de titres affichés pendant que des coordonnées aléatoires défilent. Une entrée est choisie au début de la phase et conservée pendant toute sa durée. |
titles.destinationPreviewSubtitle | $x, $y, $z | SEARCHING (chaque tick) | Chaîne de sous-titre unique affichant les coordonnées aléatoires qui défilent |
titles.destinationConfirmedTitles | $x, $y, $z, $world | début de FIRING | Liste de titres affichés au moment où la vraie destination est verrouillée |
titles.destinationConfirmedSubtitle | $x, $y, $z, $world | début de FIRING | Sous-titre unique affichant la véritable destination |
titles.arrivalTitles | $x, $y, $z, $world | TELEPORTING | Liste de titres affichés juste après la téléportation de largage |
titles.arrivalSubtitles | $x, $y, $z, $world | TELEPORTING | Liste de sous-titres affichés à côté du titre d'arrivée |
Les placeholders sont substitués dans le titre et son sous-titre à partir du même ensemble : tout placeholder listé pour une moitié d'une paire fonctionne donc aussi dans l'autre. $prefix se résout partout, même s'il est rarement souhaité à l'intérieur d'un titre.
Unique vs. liste
destinationPreviewSubtitleetdestinationConfirmedSubtitlesont des chaînes uniques car elles contiennent des coordonnées dynamiques qui doivent toujours être rendues. Les autres emplacements de titres et sous-titres sont des listes, et une entrée est choisie au hasard dans chacune à chaque lancement.
Listes de Titres par Défaut
Les valeurs par défaut fournies dans messages.yml :
launchQueuedTitles -- Launching, Ignition, Liftoff (dégradé orange-doré)
launchQueuedSubtitles -- $cannon (doré chaud)
destinationPreviewTitles -- Calibrating, Scanning, Targeting (orange-doré)
destinationConfirmedTitles -- Locked, Set, Engaged (vert)
arrivalTitles -- Arrived, Touchdown, Airborne (blanc froid)
arrivalSubtitles -- Good luck., Stick the landing., Eyes up. Ground soon., Wind check complete. Good luck., Drop zone acquired. Good luck.
Référence des Placeholders
| Placeholder | Résolu en |
|---|---|
$prefix | La valeur de messages.yml -> prefix |
$cannon | Le displayName du canon |
$id | L'identifiant de configuration du canon (en minuscules nettoyées) |
$path | Chemin absolu vers le fichier de configuration du canon nouvellement créé (uniquement dans createdCannon) |
$world | Nom du monde cible |
$count | Nombre de canons chargés après un rechargement |
$queued | Taille actuelle de la file pour un canon |
$target | Dépend du contexte : chargedLocationsPerCannon dans queueCalibration, preloadedLocationsPerCannon dans statusLine. Les deux clés résident dans landing.yml. |
$attempts | Tentatives de recherche restantes avant que le canon ne s'épuise |
$seconds | Délai de récupération de lancement restant, arrondi au supérieur |
$unit | second ou seconds, selon $seconds |
$status | La valeur statusLabels.* correspondante -- par défaut Ready, Charging, Maintaining, Exhausted ou Disabled |
$reason | Détail lisible d'un statut ou d'un échec |
$plugin | Le nom du plugin de protection ayant bloqué un emplacement |
$x, $y, $z | Coordonnées (une décimale) |
Note sur la Localisation
Chaque clé listée ci-dessus passe par le processeur de couleurs/dégradés de MagmaCore avant d'être affichée au joueur. Les packs de traduction ciblant language dans config.yml seront branchés via le même hook translatable() (actuellement un passthrough en Release 1).