CannonRTP 訊息與標題
所有面向玩家的字串位於 plugins/CannonRTP/messages.yml,並可完全覆寫。每個值皆支援 MagmaCore 漸層(<gradient:#start:#end>...</gradient>)、MiniMessage 標籤,以及舊式 & 顏色代碼。任何訊息中的 $prefix 預留位置會以已設定的 prefix 值取代。
Release 1 僅提供英文;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 | 當大砲仍在預載且玩家走入時發送。在此訊息中 $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(每 tick) | 在隨機座標閃過時顯示的標題池 |
titles.destinationPreviewSubtitle | $x、$y、$z | SEARCHING(每 tick) | 顯示閃爍隨機座標的單一副標題字串 |
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 | 視情境而定:於 queueCalibration 中為 chargedLocationsPerCannon,於 statusLine 中為 preloadedLocationsPerCannon。兩個鍵皆位於 landing.yml。 |
$attempts | 大砲耗盡前剩餘的搜尋嘗試次數 |
$status | Ready、Charging、Maintaining、Exhausted、Disabled、Invalid 之一 |
$reason | 狀態或失敗的人類可讀細節 |
$plugin | 阻擋位置的保護插件名稱 |
$x、$y、$z | 座標(一位小數) |
本地化備註
上述列出的每個鍵在顯示給玩家之前都會經過 MagmaCore 的顏色/漸層處理器。鎖定 config.yml 中 language 的翻譯包將透過相同的 translatable() 掛接接入(目前在 Release 1 中為直通)。