Перейти к основному содержимому

Сообщения и тайтлы 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 перезагружает весь плагин и использует общее сообщение MagmaCore о завершении.
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Запасное сообщение для пушки, у которой очередь пуста в момент запуска. Текущая сборка сначала проверяет очередь и вместо этого отправляет queueCalibration или noValidLocationFound, поэтому обычно это сообщение не показывается.
noValidLocationFound$prefix, $cannon, $reasonОтправляется, когда игрок входит в пушку, у которой очередь пуста после прекращения поиска (исчерпаны searchTimeoutAttempts или не загрузилась интеграция защиты). $reason перечисляет категории отказов за это окно поиска, без количеств и ранжирования по частоте.
invalidConfiguration$prefix, $cannon, $reasonОтправляется при обнаружении ошибки конфигурации (например, незагруженный целевой мир)
statusLine$prefix, $cannon, $status, $queued, $target, $reasonФормат строки, используемый для каждой записи /wc list и /wc status. В этом сообщении $target — это preloadedLocationsPerCannon (полная цель резерва, а не порог зарядки)
probeAllowed$prefixОтправляется командой /wc probe, если интеграции защиты разрешают точку; рельеф и слушатели API не проверяются.
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 create получает уже существующий id или когда файл пушки не удаётся сохранить или удалить.

Метки статуса​

Слова статуса, используемые плавающей табличкой пушки, командой /wc list и плейсхолдером $status, настраиваются.

КлючПо умолчаниюКогда показывается
statusLabels.readyReadyОчередь достигла chargedLocationsPerCannon; запуск может использовать точку из очереди и ниже этого порога отображения.
statusLabels.chargingChargingПушка всё ещё ищет свою первую безопасную точку назначения
statusLabels.maintainingMaintainingПушка пополняет резерв точек назначения
statusLabels.exhaustedExhaustedЛимит неудачных поисков достигнут до порога заряда очереди; уже накопленные точки остаются доступны.
statusLabels.disabledDisabledПушка отключена в своей конфигурации. Показывается только в /wc list и /wc status, поскольку отключённые пушки не создают плавающую табличку.
statusLabels.invalidInvalidЗарезервировано, не отображается. Недоступность целевого мира сбрасывает поиск в SEARCHING и удаляет точки этого мира. Пустая очередь показывает Charging, а $reason сообщает о недоступном мире.

Это обычные строки, поэтому градиенты и цветовые коды работают и здесь. То, что вы зададите, становится значением $status в statusLine.

Пулы тайтлов​

Несколько слотов тайтлов в последовательности запуска настраиваются как список, а не как одна строка. При каждом запуске CannonRTP случайным образом выбирает одну запись из списка. Это не даёт повторяющимся запускам ощущаться одинаковыми.

КлючПлейсхолдерыФазаОписание
titles.launchQueuedTitles$cannonначало SEARCHINGПул тайтлов, показываемых при начале запуска
titles.launchQueuedSubtitles$cannonначало SEARCHINGПул сабтайтлов, сопровождающих тайтл начала запуска
titles.destinationPreviewTitles—SEARCHINGПул тайтлов, показываемых, пока мелькают случайные координаты. Одна запись выбирается в начале фазы и удерживается всю фазу.
titles.destinationPreviewSubtitle$x, $y, $zSEARCHING (каждый тик)Одиночная строка сабтайтла, показывающая мелькающие случайные координаты
titles.destinationConfirmedTitles$x, $y, $z, $worldначало FIRINGПул тайтлов, показываемых в момент фиксации настоящей точки назначения
titles.destinationConfirmedSubtitle$x, $y, $z, $worldначало FIRINGОдиночный сабтайтл, показывающий реальную точку назначения
titles.arrivalTitles$x, $y, $z, $worldTELEPORTINGПул тайтлов, показываемых сразу после телепортации высадки
titles.arrivalSubtitles$x, $y, $z, $worldTELEPORTINGПул сабтайтлов, показываемых вместе с тайтлом прибытия

Плейсхолдеры подставляются в тайтл и его сабтайтл из одного и того же набора, поэтому любой плейсхолдер, указанный для одной половины пары, работает и в другой. Исключение — destinationPreviewTitles: выбранная запись форматируется один раз в начале фазы, поэтому $x, $y и $z там не подставляются. $prefix разрешается везде, хотя внутри тайтла он нужен редко.

Если пул задан пустым списком, CannonRTP вместо него использует первую запись встроенного значения по умолчанию.

Одиночное значение против пула

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
$cannondisplayName пушки. В deletedCannon и в большинстве ошибок админских команд, отправляемых через invalidConfiguration, вместо него подставляется введённый вами id.
$idId конфигурации пушки (очищенный, в нижнем регистре)
$pathАбсолютный путь к только что созданному файлу конфигурации пушки (только в createdCannon)
$worldИмя целевого мира
$countКоличество размещений пушек, загруженных после пересборки (по одному на каждую запись cannonLocations во всех файлах пушек, включая отключённые пушки)
$queuedТекущий размер очереди пушки
$targetЗависит от контекста: chargedLocationsPerCannon в queueCalibration, preloadedLocationsPerCannon в statusLine. Оба ключа находятся в landing.yml.
$attemptsОставшиеся попытки поиска до истощения пушки
$secondsОставшаяся задержка запуска, округлённая вверх
$unitsecond или seconds — в соответствии с $seconds
$statusСоответствующее значение statusLabels.* — по умолчанию Ready, Charging, Maintaining, Exhausted или Disabled
$reasonДетализация статуса или неудачи в читаемом виде
$pluginИмя плагина защиты, который заблокировал точку
$x, $y, $zКоординаты (один знак после запятой)

Примечание о локализации​

Каждый ключ, перечисленный выше, проходит через процессор цветов/градиентов MagmaCore перед показом игроку. Языковые пакеты, ориентированные на language в config.yml, будут подключены через тот же хук translatable() (на момент Релиза 1 — это passthrough).