Сообщения и тайтлы 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 секунды на игрока на пушку) |
launchCooldown | $prefix, $cannon, $seconds, $unit | Отправляется, когда игрок входит в любую пушку до истечения задержки после принятого запуска. $seconds округляется вверх; $unit — это second или seconds. Уведомления ограничены одним отправлением в 3 секунды на игрока на пушку. |
cannonDisabled | $prefix, $cannon | Зарезервировано. Отключённые пушки полностью исключены из цикла тиков, поэтому текущая сборка никогда не отправляет это сообщение — ключ записывается в messages.yml, но его ничто не читает. |
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 | Зарезервировано. Нераспознанные подкоманды обрабатываются общим менеджером команд MagmaCore, поэтому текущая сборка никогда не отправляет это сообщение — ключ записывается в messages.yml, но его ничто не читает. |
invalidConfiguration служит также общей строкой ошибки для администраторов: именно оно отправляется командами /wc list / /wc status, когда не размещено ни одной пушки, и командами /wc create, /wc place, /wc remove, /wc delete, /wc target и /wc center, когда id или мир не удаётся определить.
Метки статуса
Слова статуса, используемые плавающей табличкой пушки, командой /wc list и плейсхолдером $status, настраиваются.
| Ключ | По умолчанию | Когда показывается |
|---|---|---|
statusLabels.ready | Ready | У пушки достаточно предзагруженных точек для запуска игроков |
statusLabels.charging | Charging | Пушка всё ещё ищет свою первую безопасную точку назначения |
statusLabels.maintaining | Maintaining | Пушка пополняет резерв точек назначения |
statusLabels.exhausted | Exhausted | Пушке не удалось найти безопасную точку назначения |
statusLabels.disabled | Disabled | Пушка отключена в своей конфигурации |
statusLabels.invalid | Invalid | Зарезервировано. Текущая сборка определяет любой статус через три внутренних состояния поиска (READY, SEARCHING, EXHAUSTED) плюс проверку отключения, поэтому эту метку ничто не отображает. Пушка с незагруженным targetWorld сохраняет свою метку состояния поиска и сообщает о проблеме через $reason. |
Это обычные строки, поэтому градиенты и цветовые коды работают и здесь. То, что вы зададите, становится значением $status в statusLine.
Пулы тайтлов
Несколько слотов тайтлов в последовательности запуска настраиваются как список, а не как одна строка. При каждом запуске CannonRTP случайным образом выбирает одну запись из списка. Это не даёт повторяющимся запускам ощущаться одинаковыми.
| Ключ | Плейсхолдеры | Фаза | Описание |
|---|---|---|---|
titles.launchQueuedTitles | $cannon | начало SEARCHING | Пул тайтлов, показываемых при начале запуска |
titles.launchQueuedSubtitles | $cannon | начало SEARCHING | Пул сабтайтлов, сопровождающих тайтл начала запуска |
titles.destinationPreviewTitles | — | SEARCHING | Пул тайтлов, показываемых, пока мелькают случайные координаты. Одна запись выбирается в начале фазы и удерживается всю фазу. |
titles.destinationPreviewSubtitle | $x, $y, $z | SEARCHING (каждый тик) | Одиночная строка сабтайтла, показывающая мелькающие случайные координаты |
titles.destinationConfirmedTitles | $x, $y, $z, $world | начало FIRING | Пул тайтлов, показываемых в момент фиксации настоящей точки назначения |
titles.destinationConfirmedSubtitle | $x, $y, $z, $world | начало FIRING | Одиночный сабтайтл, показывающий реальную точку назначения |
titles.arrivalTitles | $x, $y, $z, $world | TELEPORTING | Пул тайтлов, показываемых сразу после телепортации высадки |
titles.arrivalSubtitles | $x, $y, $z, $world | TELEPORTING | Пул сабтайтлов, показываемых вместе с тайтлом прибытия |
Плейсхолдеры подставляются в тайтл и его сабтайтл из одного и того же набора, поэтому любой плейсхолдер, указанный для одной половины пары, работает и в другой. $prefix разрешается везде, хотя внутри тайтла он нужен редко.
Одиночное значение против пула
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 | Оставшиеся попытки поиска до истощения пушки |
$seconds | Оставшаяся задержка запуска, округлённая вверх |
$unit | second или seconds — в соответствии с $seconds |
$status | Соответствующее значение statusLabels.* — по умолчанию Ready, Charging, Maintaining, Exhausted или Disabled |
$reason | Детализация статуса или неудачи в читаемом виде |
$plugin | Имя плагина защиты, который заблокировал точку |
$x, $y, $z | Координаты (один знак после запятой) |
Примечание о локализации
Каждый ключ, перечисленный выше, проходит через процессор цветов/градиентов MagmaCore перед показом игроку. Языковые пакеты, ориентированные на language в config.yml, будут подключены через тот же хук translatable() (на момент Релиза 1 — это passthrough).