跳到主要内容

CannonRTP 消息与标题

所有面向玩家的字符串都位于 plugins/CannonRTP/messages.yml,可完全覆盖。每个值都支持 MagmaCore 渐变(<gradient:#start:#end>...</gradient>)、MiniMessage 标签和传统的 & 颜色代码。任何消息中的 $prefix 占位符都会被替换为已配置的 prefix 值。

第一版仅附带英文;config.yml 中的 language 键是为未来翻译包预留的目标。

前缀与帮助标题

占位符默认描述
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当炮台仍在预加载且玩家走入时发送。在此消息中 $targetchargedLocationsPerCannon$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 中每行使用的格式。在此消息中 $targetpreloadedLocationsPerCannon(完整储备目标,而非已充能阈值)
probeAllowed$prefix/wc probe 在该位置有效时发送
probeBlocked$prefix$plugin$reason/wc probe 在该位置被阻止时发送
unknownCommand$prefix当管理员使用未识别的子命令时发送

标题池

发射序列中的若干标题槽位被配置为列表而非单一字符串。每次发射时,CannonRTP 会从列表中随机选取一条。这使得重复发射不会显得千篇一律。

占位符阶段描述
titles.launchQueuedTitles--SEARCHING 开始发射开始时显示的标题字符串池
titles.launchQueuedSubtitles$cannonSEARCHING 开始与发射开始标题搭配的副标题池
titles.destinationPreviewTitles--SEARCHING(每 tick)随机坐标闪烁期间显示的标题池
titles.destinationPreviewSubtitle$x$y$zSEARCHING(每 tick)显示闪烁随机坐标的单个副标题字符串
titles.destinationConfirmedTitles--FIRING 开始真实目的地锁定瞬间显示的标题池
titles.destinationConfirmedSubtitle$x$y$z$worldFIRING 开始显示真实目的地的单个副标题
titles.arrivalTitles--TELEPORTING空投传送之后立即显示的标题池
titles.arrivalSubtitles--TELEPORTING与到达标题一同显示的副标题池

单一字符串 vs. 池

destinationPreviewSubtitledestinationConfirmedSubtitle 是单一字符串,因为它们包含必须始终渲染的动态坐标。其他标题与副标题槽位为池,且每次发射随机选取。

默认标题池

messages.yml 中默认提供的内容:

launchQueuedTitles —— LaunchingIgnitionLiftoff(橙金渐变)

launchQueuedSubtitles —— $cannon(暖金色)

destinationPreviewTitles —— CalibratingScanningTargeting(橙金色)

destinationConfirmedTitles —— LockedSetEngaged(绿色)

arrivalTitles —— ArrivedTouchdownAirborne(冷白色)

arrivalSubtitles —— Good luck.Stick the landing.Eyes up. Ground soon.Wind check complete. Good luck.Drop zone acquired. Good luck.

占位符参考

占位符解析为
$prefixmessages.yml -> prefix 的值
$cannon炮台的 displayName
$id炮台的配置 id(经过规范化的小写)
$path新创建炮台配置文件的绝对路径(仅在 createdCannon 中出现)
$world目标世界名称
$count重载后已加载的炮台数量
$queued某炮台当前的队列大小
$target视上下文而定:在 queueCalibration 中为 chargedLocationsPerCannon,在 statusLine 中为 preloadedLocationsPerCannon。两个键都位于 landing.yml
$attempts炮台耗尽前剩余的搜索尝试次数
$statusReadyChargingMaintainingExhaustedDisabledInvalid 之一
$reason关于状态或失败的可读详情
$plugin阻止该位置的保护插件名称
$x$y$z坐标(保留一位小数)

本地化说明

上述每个键在展示给玩家之前都会经过 MagmaCore 的颜色/渐变处理器。针对 config.ymllanguage 的翻译包将通过同一 translatable() 钩子接入(在第一版中目前为直通实现)。