Mensagens e Títulos do CannonRTP
Todas as strings voltadas ao jogador ficam em plugins/CannonRTP/messages.yml e podem ser totalmente sobrescritas. Todo valor suporta gradientes do MagmaCore (<gradient:#start:#end>...</gradient>), tags MiniMessage e códigos de cor legados com &. O placeholder $prefix em qualquer mensagem é substituído pelo valor configurado em prefix.
O Release 1 inclui apenas inglês; a chave language em config.yml existe para que futuros pacotes de tradução possam apontar para ela.
Prefix e Cabeçalho de Ajuda
| Chave | Placeholders | Padrão | Descrição |
|---|---|---|---|
prefix | -- | <gradient:#ff9a3d:#ffd166>CannonRTP</gradient> &8| | Prefixo injetado em todas as mensagens via $prefix |
helpHeader | $prefix | $prefix &fCannonRTP commands: | Linha de saudação impressa no topo de /cannonrtp, /wc help e /wc list / /wc status |
Mensagens de Chat
| Chave | Placeholders | Descrição |
|---|---|---|
createdCannon | $prefix, $cannon, $id, $path | Enviada após /wc create ser bem-sucedido |
placedCannon | $prefix, $cannon | Enviada após /wc place ser bem-sucedido |
removedCannon | $prefix, $cannon | Enviada após /wc remove ser bem-sucedido |
deletedCannon | $prefix, $cannon | Enviada após /wc delete ser bem-sucedido |
targetWorldUpdated | $prefix, $cannon, $world | Enviada após /wc target ser bem-sucedido |
searchCenterUpdated | $prefix, $cannon | Enviada após /wc center ser bem-sucedido |
reload | $prefix, $count | Enviada após /wc reload ser concluído |
noPermission | $prefix, $cannon | Enviada quando um jogador entra em um canhão para o qual não tem requiredPermission (limitada a uma vez a cada 3 segundos por jogador por canhão) |
cannonDisabled | $prefix, $cannon | Enviada quando um jogador entra em um canhão desativado |
queueCalibration | $prefix, $cannon, $queued, $target, $attempts | Enviada enquanto um canhão ainda está pré-carregando e um jogador entra. Nesta mensagem, $target é chargedLocationsPerCannon; $attempts é o orçamento restante de tentativas de busca antes do canhão se esgotar |
noValidLocationYet | $prefix, $cannon | Enviada quando nenhum local seguro foi enfileirado ainda |
noValidLocationFound | $prefix, $cannon, $reason | Enviada quando o CannonRTP desiste após esgotar searchTimeoutAttempts. $reason é um resumo separado por vírgulas dos motivos de rejeição mais comuns |
invalidConfiguration | $prefix, $cannon, $reason | Enviada quando um erro de configuração é detectado (ex.: mundo de destino não carregado) |
statusLine | $prefix, $cannon, $status, $queued, $target, $reason | Formato de linha usado em cada linha de /wc list e /wc status. Nesta mensagem, $target é preloadedLocationsPerCannon (o objetivo total da reserva, não o limite de "charged") |
probeAllowed | $prefix | Enviada por /wc probe quando o local é válido |
probeBlocked | $prefix, $plugin, $reason | Enviada por /wc probe quando o local é bloqueado |
unknownCommand | $prefix | Enviada quando um administrador usa um subcomando não reconhecido |
Conjuntos de Títulos
Vários slots de título na sequência de lançamento são configurados como uma lista em vez de uma string única. Em cada lançamento, o CannonRTP escolhe uma entrada aleatória da lista. Isso impede que lançamentos repetidos pareçam idênticos.
| Chave | Placeholders | Fase | Descrição |
|---|---|---|---|
titles.launchQueuedTitles | -- | início de SEARCHING | Conjunto de strings de título mostradas quando um lançamento começa |
titles.launchQueuedSubtitles | $cannon | início de SEARCHING | Conjunto de subtítulos pareados com o título de início de lançamento |
titles.destinationPreviewTitles | -- | SEARCHING (a cada tick) | Conjunto de títulos mostrados enquanto coordenadas aleatórias piscam na tela |
titles.destinationPreviewSubtitle | $x, $y, $z | SEARCHING (a cada tick) | Subtítulo único exibindo as coordenadas aleatórias que piscam |
titles.destinationConfirmedTitles | -- | início de FIRING | Conjunto de títulos mostrados no momento em que o destino real é confirmado |
titles.destinationConfirmedSubtitle | $x, $y, $z, $world | início de FIRING | Subtítulo único exibindo o destino real |
titles.arrivalTitles | -- | TELEPORTING | Conjunto de títulos mostrados logo após o teletransporte do airdrop |
titles.arrivalSubtitles | -- | TELEPORTING | Conjunto de subtítulos exibidos junto com o título de chegada |
Único vs. conjunto
destinationPreviewSubtitleedestinationConfirmedSubtitlesão strings únicas porque contêm coordenadas dinâmicas que precisam sempre ser renderizadas. Os demais slots de título e subtítulo são conjuntos e são aleatorizados a cada lançamento.
Conjuntos de Títulos Padrão
Os padrões enviados em messages.yml:
launchQueuedTitles -- Launching, Ignition, Liftoff (gradiente laranja-dourado)
launchQueuedSubtitles -- $cannon (dourado quente)
destinationPreviewTitles -- Calibrating, Scanning, Targeting (laranja-dourado)
destinationConfirmedTitles -- Locked, Set, Engaged (verde)
arrivalTitles -- Arrived, Touchdown, Airborne (branco frio)
arrivalSubtitles -- Good luck., Stick the landing., Eyes up. Ground soon., Wind check complete. Good luck., Drop zone acquired. Good luck.
Referência de Placeholders
| Placeholder | Resolvido para |
|---|---|
$prefix | O valor de messages.yml -> prefix |
$cannon | O displayName do canhão |
$id | O id de configuração do canhão (sanitizado em minúsculas) |
$path | Caminho absoluto para o arquivo de configuração do canhão recém-criado (apenas em createdCannon) |
$world | Nome do mundo de destino |
$count | Número de canhões carregados após um reload |
$queued | Tamanho atual da fila de um canhão |
$target | Depende do contexto: chargedLocationsPerCannon em queueCalibration, preloadedLocationsPerCannon em statusLine. Ambas as chaves ficam em landing.yml. |
$attempts | Tentativas de busca restantes antes do canhão se esgotar |
$status | Um de Ready, Charging, Maintaining, Exhausted, Disabled, Invalid |
$reason | Detalhe legível de um status ou falha |
$plugin | O nome do plugin de proteção que bloqueou o local |
$x, $y, $z | Coordenadas (uma casa decimal) |
Nota Sobre Localização
Toda chave listada acima passa pelo processador de cores/gradientes do MagmaCore antes de ser exibida ao jogador. Pacotes de tradução que apontem para language em config.yml serão conectados através do mesmo hook translatable() (atualmente um passthrough no Release 1).