Сообщения и тайтлы CannonRTP
Все строки, видимые игрокам, находятся в plugins/CannonRTP/messages.yml и полностью переопределяемы. Каждое значение поддерживает градиенты MagmaCore (<gradient:#start:#end>...</gradient>), теги MiniMessage и устаревшие цветовые коды &. Плейсхолдер $prefix в любом сообщении заменяется на настроенное значение prefix.
Релиз 1 поставляется только на английском; ключ language в config.yml существует, чтобы будущие языковые пакеты могли его использовать.
Префикс и заголовок справки
| Ключ | Плейсхолдеры | По умолчанию | Описание |
|---|---|---|---|
prefix | — | <gradient:#ff9a3d:#ffd166>CannonRTP</gradient> &8| | Префикс, вставляемый в каждое сообщение через $prefix |
helpHeader | $prefix | $prefix &fCannonRTP commands: | Приветственная строка, выводимая в начале /cannonrtp, /wc help и /wc list / /wc status |
Сообщения чата
| Ключ | Плейсхолдеры | Описание |
|---|---|---|
createdCannon | $prefix, $cannon, $id, $path | Отправляется после успешного /wc create |
placedCannon | $prefix, $cannon | Отправляется после успешного /wc place |
removedCannon | $prefix, $cannon | Отправляется после успешного /wc remove |
deletedCannon | $prefix, $cannon | Отправляется после успешного /wc delete |
targetWorldUpdated | $prefix, $cannon, $world | Отправляется после успешного /wc target |
searchCenterUpdated | $prefix, $cannon | Отправляется после успешного /wc center |
reload | $prefix, $count | Отправляется после завершения /wc reload |
noPermission | $prefix, $cannon | Отправляется, когда игрок входит в пушку, для которой ему не хватает requiredPermission (ограничено одним отправлением в 3 секунды на игрока на пушку) |
cannonDisabled | $prefix, $cannon | Отправляется, когда игрок входит в отключённую пушку |
queueCalibration | $prefix, $cannon, $queued, $target, $attempts | Отправляется, когда пушка ещё выполняет предзагрузку, а игрок входит в неё. В этом сообщении $target — это chargedLocationsPerCannon; $attempts — оставшийся бюджет попыток поиска до истощения пушки |
noValidLocationYet | $prefix, $cannon | Отправляется, когда в очереди ещё нет безопасных точек |
noValidLocationFound | $prefix, $cannon, $reason | Отправляется, когда CannonRTP сдаётся после исчерпания searchTimeoutAttempts. $reason — сводка наиболее частых причин отклонения, разделённая запятыми |
invalidConfiguration | $prefix, $cannon, $reason | Отправляется при обнаружении ошибки конфигурации (например, незагруженный целевой мир) |
statusLine | $prefix, $cannon, $status, $queued, $target, $reason | Формат строки, используемый для каждой записи /wc list и /wc status. В этом сообщении $target — это preloadedLocationsPerCannon (полная цель резерва, а не порог зарядки) |
probeAllowed | $prefix | Отправляется командой /wc probe, когда точка корректна |
probeBlocked | $prefix, $plugin, $reason | Отправляется командой /wc probe, когда точка заблокирована |
unknownCommand | $prefix | Отправляется, когда администратор использует нераспознанную подкоманду |
Пулы тайтлов
Несколько слотов тайтлов в последовательности запуска настраиваются как список, а не как одна строка. При каждом запуске CannonRTP случайным образом выбирает одну запись из списка. Это не даёт повторяющимся запускам ощущаться одинаковыми.
| Ключ | Плейсхолдеры | Фаза | Описание |
|---|---|---|---|
titles.launchQueuedTitles | — | начало SEARCHING | Пул тайтлов, показываемых при начале запуска |
titles.launchQueuedSubtitles | $cannon | начало SEARCHING | Пул сабтайтлов, сопровождающих тайтл начала запуска |
titles.destinationPreviewTitles | — | SEARCHING (каждый тик) | Пул тайтлов, показываемых, пока мелькают случайные координаты |
titles.destinationPreviewSubtitle | $x, $y, $z | SEARCHING (каждый тик) | Одиночная строка сабтайтла, показывающая мелькающие случайные координаты |
titles.destinationConfirmedTitles | — | начало FIRING | Пул тайтлов, показываемых в момент фиксации настоящей точки назначения |
titles.destinationConfirmedSubtitle | $x, $y, $z, $world | начало FIRING | Одиночный сабтайтл, показывающий реальную точку назначения |
titles.arrivalTitles | — | TELEPORTING | Пул тайтлов, показываемых сразу после телепортации высадки |
titles.arrivalSubtitles | — | TELEPORTING | Пул сабтайтлов, показываемых вместе с тайтлом прибытия |
Одиночное значение против пула
destinationPreviewSubtitleиdestinationConfirmedSubtitle— это одиночные строки, потому что они содержат динамические координаты, которые всегда должны отображаться. Остальные слоты тайтлов и сабтайтлов — пулы и рандомизируются для каждого запуска.
Пулы тайтлов по умолчанию
Значения по умолчанию, поставляемые в messages.yml:
launchQueuedTitles — Launching, Ignition, Liftoff (оранжево-золотой градиент)
launchQueuedSubtitles — $cannon (тёплый золотой)
destinationPreviewTitles — Calibrating, Scanning, Targeting (оранжево-золотой)
destinationConfirmedTitles — Locked, Set, Engaged (зелёный)
arrivalTitles — Arrived, Touchdown, Airborne (холодный белый)
arrivalSubtitles — Good luck., Stick the landing., Eyes up. Ground soon., Wind check complete. Good luck., Drop zone acquired. Good luck.
Справочник плейсхолдеров
| Плейсхолдер | Значение |
|---|---|
$prefix | Значение messages.yml -> prefix |
$cannon | displayName пушки |
$id | Id конфигурации пушки (очищенный, в нижнем регистре) |
$path | Абсолютный путь к только что созданному файлу конфигурации пушки (только в createdCannon) |
$world | Имя целевого мира |
$count | Количество пушек, загруженных после перезагрузки |
$queued | Текущий размер очереди пушки |
$target | Зависит от контекста: chargedLocationsPerCannon в queueCalibration, preloadedLocationsPerCannon в statusLine. Оба ключа находятся в landing.yml. |
$attempts | Оставшиеся попытки поиска до истощения пушки |
$status | Одно из: Ready, Charging, Maintaining, Exhausted, Disabled, Invalid |
$reason | Детализация статуса или неудачи в читаемом виде |
$plugin | Имя плагина защиты, который заблокировал точку |
$x, $y, $z | Координаты (один знак после запятой) |
Примечание о локализации
Каждый ключ, перечисленный выше, проходит через процессор цветов/градиентов MagmaCore перед показом игроку. Языковые пакеты, ориентированные на language в config.yml, будут подключены через тот же хук translatable() (на момент Релиза 1 — это passthrough).