Mensagens e títulos do CannonRTP
Todos os textos apresentados aos jogadores ficam em plugins/CannonRTP/messages.yml e podem ser substituídos. Cada valor aceita gradientes do MagmaCore, <gradient:#start:#end>...</gradient>, tags MiniMessage e códigos de cor antigos com &. O placeholder $prefix é substituído pelo valor configurado em prefix em qualquer mensagem.
A versão 1 inclui apenas inglês. A chave language em config.yml existe para permitir futuros pacotes de tradução.
Prefixo e cabeçalho de ajuda
| Chave | Placeholders | Valor predefinido | Descrição |
|---|---|---|---|
prefix | -- | <gradient:#ff9a3d:#ffd166>CannonRTP</gradient> &8| | Prefixo introduzido nas mensagens através de $prefix |
helpHeader | $prefix | $prefix &fCannonRTP commands: | Linha inicial de /cannonrtp, /wc help e /wc list / /wc status |
Mensagens de chat
| Chave | Placeholders | Descrição |
|---|---|---|
createdCannon | $prefix, $cannon, $id, $path | Enviada após o sucesso de /wc create |
placedCannon | $prefix, $cannon | Enviada após o sucesso de /wc place |
removedCannon | $prefix, $cannon | Enviada após o sucesso de /wc remove |
deletedCannon | $prefix, $cannon | Enviada após o sucesso de /wc delete |
targetWorldUpdated | $prefix, $cannon, $world | Enviada após o sucesso de /wc target |
searchCenterUpdated | $prefix, $cannon | Enviada após o sucesso de /wc center |
reload | $prefix, $count | Enviada quando os comandos de edição de canhões reconstruem as colocações. /wc reload recarrega todo o plugin e usa a mensagem de conclusão partilhada do MagmaCore. |
noPermission | $prefix, $cannon | Enviada quando um jogador entra num canhão sem a respetiva requiredPermission, no máximo uma vez a cada 3 segundos por jogador e por canhão |
launchCooldown | $prefix, $cannon, $seconds, $unit | Enviada quando um jogador entra em qualquer canhão antes de terminar o tempo de espera do lançamento aceite. $seconds é arredondado para cima e $unit é second ou seconds. As notificações têm um limite de uma vez a cada 3 segundos por jogador e por canhão. |
cannonDisabled | $prefix, $cannon | Reservada. Canhões desativados são excluídos do ciclo de ticks, pelo que a versão atual nunca envia esta mensagem. A chave é escrita em messages.yml, mas não é lida. |
queueCalibration | $prefix, $cannon, $queued, $target, $attempts | Enviada quando um jogador entra num canhão ainda em pré-carregamento. Aqui, $target é chargedLocationsPerCannon e $attempts é o número de tentativas de pesquisa restantes antes de esgotar. |
noValidLocationYet | $prefix, $cannon | Alternativa para um canhão cuja fila está vazia no momento do lançamento. A versão atual verifica primeiro a fila e envia queueCalibration ou noValidLocationFound, pelo que esta mensagem normalmente não é apresentada. |
noValidLocationFound | $prefix, $cannon, $reason | Enviada quando um jogador entra num canhão cuja fila está vazia depois de este ter desistido da pesquisa (esgotou searchTimeoutAttempts, ou uma integração de proteção não conseguiu carregar). $reason enumera as categorias de rejeição encontradas nessa janela de pesquisa, sem contagens nem ordem de frequência. |
invalidConfiguration | $prefix, $cannon, $reason | Enviada quando é detetado um erro de configuração, como um mundo de destino descarregado |
statusLine | $prefix, $cannon, $status, $queued, $target, $reason | Formato de cada linha de /wc list e /wc status. Aqui, $target é preloadedLocationsPerCannon, a reserva total pretendida, e não o limiar do estado carregado. |
probeAllowed | $prefix | Enviada por /wc probe quando as integrações de proteção permitem a posição. Este comando não verifica terreno nem listeners da API. |
probeBlocked | $prefix, $plugin, $reason | Enviada por /wc probe quando a posição é bloqueada |
unknownCommand | $prefix | Reservada. O gestor partilhado de comandos do MagmaCore trata os subcomandos desconhecidos, pelo que a versão atual nunca envia esta mensagem. A chave é escrita em messages.yml, mas não é lida. |
invalidConfiguration também funciona como mensagem genérica de erro para administradores. /wc list e /wc status usam-na quando não há canhões colocados. /wc create, /wc place, /wc remove, /wc delete, /wc target e /wc center usam-na quando não conseguem resolver um identificador ou mundo, quando /wc create recebe um identificador que já existe ou quando não é possível guardar ou eliminar um ficheiro de canhão.
Etiquetas de estado
As palavras de estado da etiqueta flutuante, de /wc list e do placeholder $status são configuráveis.
| Chave | Valor predefinido | Quando aparece |
|---|---|---|
statusLabels.ready | Ready | A fila atinge chargedLocationsPerCannon. Um lançamento pode usar um destino da fila mesmo abaixo deste limiar visual. |
statusLabels.charging | Charging | O canhão ainda procura o primeiro destino seguro |
statusLabels.maintaining | Maintaining | O canhão está a repor a reserva de destinos |
statusLabels.exhausted | Exhausted | O limite de falhas de pesquisa foi atingido antes de a fila alcançar o limiar carregado. Os destinos já na fila continuam utilizáveis. |
statusLabels.disabled | Disabled | O canhão está desativado na configuração. Só aparece em /wc list e /wc status, porque os canhões desativados não criam etiqueta flutuante. |
statusLabels.invalid | Invalid | Reservada; não é apresentada. Um mundo de destino indisponível repõe a pesquisa em SEARCHING e remove os destinos desse mundo. Uma fila vazia mostra Charging; $reason indica o mundo indisponível. |
Estes valores são strings normais e também aceitam gradientes e códigos de cor. O valor definido passa a ser usado em $status dentro de statusLine.
Conjuntos de títulos
Vários títulos da sequência de lançamento são configurados como uma lista. Em cada lançamento, o CannonRTP escolhe uma entrada aleatória de cada lista, para variar os lançamentos repetidos.
| Chave | Placeholders | Fase | Descrição |
|---|---|---|---|
titles.launchQueuedTitles | $cannon | início de SEARCHING | Conjunto de títulos apresentados no início do lançamento |
titles.launchQueuedSubtitles | $cannon | início de SEARCHING | Conjunto de subtítulos que acompanham o título inicial |
titles.destinationPreviewTitles | -- | SEARCHING | Conjunto de títulos apresentados enquanto as coordenadas aleatórias mudam rapidamente. Uma entrada é escolhida no início da fase e mantida até ao fim. |
titles.destinationPreviewSubtitle | $x, $y, $z | SEARCHING, a cada tick | Subtítulo único com as coordenadas aleatórias em mudança |
titles.destinationConfirmedTitles | $x, $y, $z, $world | início de FIRING | Conjunto de títulos apresentados quando o destino real é confirmado |
titles.destinationConfirmedSubtitle | $x, $y, $z, $world | início de FIRING | Subtítulo único com o destino real |
titles.arrivalTitles | $x, $y, $z, $world | TELEPORTING | Conjunto de títulos apresentados logo após o teletransporte para a descida |
titles.arrivalSubtitles | $x, $y, $z, $world | TELEPORTING | Conjunto de subtítulos que acompanham o título de chegada |
O título e o respetivo subtítulo usam o mesmo conjunto de placeholders. Qualquer placeholder indicado para uma metade do par também funciona na outra. A exceção é destinationPreviewTitles: a entrada escolhida é formatada uma única vez no início da fase, pelo que $x, $y e $z não são resolvidos aí. $prefix é resolvido em todo o lado, embora raramente seja desejável num título.
Se um conjunto for definido como uma lista vazia, o CannonRTP usa a primeira entrada do respetivo valor predefinido incluído.
Texto único ou conjunto
destinationPreviewSubtitleedestinationConfirmedSubtitlesão strings únicas porque contêm coordenadas dinâmicas que devem ser sempre apresentadas. Os restantes títulos e subtítulos são conjuntos dos quais é escolhida uma entrada aleatória por lançamento.
Conjuntos de títulos predefinidos
Valores incluídos em messages.yml:
launchQueuedTitles: Launching, Ignition, Liftoff, com gradiente laranja e dourado.
launchQueuedSubtitles: $cannon, em dourado quente.
destinationPreviewTitles: Calibrating, Scanning, Targeting, em laranja e dourado.
destinationConfirmedTitles: Locked, Set, Engaged, em verde.
arrivalTitles: Arrived, Touchdown, Airborne, em 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 | Valor resultante |
|---|---|
$prefix | O valor de messages.yml -> prefix |
$cannon | O displayName do canhão. Em deletedCannon e na maioria dos erros de comandos de administração enviados através de invalidConfiguration, é antes o identificador que escreveu. |
$id | O identificador de configuração do canhão, normalizado em minúsculas |
$path | Caminho absoluto do ficheiro de configuração acabado de criar, apenas em createdCannon |
$world | Nome do mundo de destino |
$count | Número de colocações de canhões carregadas após a reconstrução (uma por cada entrada de cannonLocations em todos os ficheiros de canhões, incluindo canhões desativados) |
$queued | Tamanho atual da fila de um canhão |
$target | Depende do contexto: chargedLocationsPerCannon em queueCalibration e preloadedLocationsPerCannon em statusLine. Ambas as chaves ficam em landing.yml. |
$attempts | Tentativas de pesquisa restantes antes de o canhão esgotar |
$seconds | Tempo de espera restante entre lançamentos, arredondado para cima |
$unit | second ou seconds, de acordo com $seconds |
$status | O valor correspondente de statusLabels.*, predefinido como Ready, Charging, Maintaining, Exhausted ou Disabled |
$reason | Descrição legível de um estado ou falha |
$plugin | Nome do plugin de proteção que bloqueou a posição |
$x, $y, $z | Coordenadas com uma casa decimal |
Nota sobre localização
Todas as chaves acima passam pelo processador de cores e gradientes do MagmaCore antes de serem apresentadas. Os pacotes de tradução associados a language em config.yml serão ligados através do mesmo hook translatable(), que na versão 1 apenas devolve o texto sem alterações.