CannonRTP 指令與權限
CannonRTP 將其指令註冊於 cannonrtp 命名空間之下。
- 根指令:
/cannonrtp - 別名:
/crtp、/wc
/wc 是大多數管理員會使用的簡短別名,但所有子指令的底層權限節點皆為 cannonrtp.admin。
管理員指令
| 指令 | 發送者 | 說明 |
|---|---|---|
/cannonrtp | 任意 | 顯示說明標頭,後接發送者可使用的每個已註冊子指令 |
/wc help | 任意 | 與 /cannonrtp 相同 —— 列印說明清單 |
/wc create <id> | 玩家 | 建立全新的大砲設定,並在你目前所在位置放置第一個實例 |
/wc create <id> <display_name> | 玩家 | 同上,但設定自訂顯示名稱(底線會轉為空格) |
/wc place <id> | 玩家 | 在你目前所在位置新增現有大砲的另一個放置點 |
/wc remove <id> | 玩家 | 移除你目前世界中最接近的 <id> 放置點(保留設定檔) |
/wc delete <id> | 任意 | 直接刪除大砲的設定檔 |
/wc target <id> <world> | 玩家 | 變更大砲的目標降落世界 |
/wc center <id> | 玩家 | 將大砲的搜尋中心設為你目前所在位置 |
/wc list | 任意 | 列出每個放置點的顯示名稱、狀態、佇列大小與最新狀態詳情 |
/wc status | 任意 | 輸出與 /wc list 相同 |
/wc probe | 玩家 | 測試你目前所在位置是否能通過所有啟用的保護檢查 |
/wc reload | 任意 | 重新載入全域設定、每個大砲設定、任務與保護介接器 |
/wc setup | 玩家 | 開啟 Nightbreak 風格的內容瀏覽器選單(列出已安裝與可下載的大砲內容包) |
/wc downloadall | 任意 | 從 Nightbreak 下載所有可用的 CannonRTP 內容包 |
/wc updatecontent | 任意 | 下載已過時的 CannonRTP 內容包更新(別名:/wc updateall) |
CannonRTP 並未提供獨立的首次設定 /wc initialize 選單 —— 它沒有預設模式。安裝後管理員首次登入時,Nightbreak 會在聊天中發出警告提示他們執行 /wc setup。
所有管理員指令皆需要 cannonrtp.admin。
關於 /wc setup、/wc downloadall 與 /wc updatecontent 實際管理的內容,請參閱內容包頁面。
create與place、remove、delete的區別一份大砲設定(
plugins/CannonRTP/cannons/<id>.yml)可驅動多個世界中的放置點。create建立設定並產生第一個放置點。place為現有設定新增另一個放置點。remove刪除一個放置點(你所在世界中距你最近的),但保留設定檔。delete則直接刪除設定檔,移除所有放置點。
玩家互動
沒有玩家指令可啟用大砲。玩家是透過走入大砲的觸發半徑(triggerRadius,預設 1.75 格)來使用 CannonRTP。
權限
plugin.yml 中僅註冊了兩個權限節點:
| 權限 | 預設 | 說明 |
|---|---|---|
cannonrtp.admin | op | 所有管理員子指令所需 |
cannonrtp.use | true | 玩家觸發任何大砲前所需 |
cannonrtp.use 的運作方式
若玩家缺少 cannonrtp.use,大砲會默默忽略該玩家。此基礎權限檢查不會發送任何拒絕訊息 —— 他們只是穿過大砲區域而不會被發射。
個別大砲的權限關卡
每份大砲設定也可以定義 requiredPermission 欄位。
- 若
requiredPermission為空(預設),大砲只檢查cannonrtp.use。 - 若
requiredPermission已設定,且玩家有cannonrtp.use但缺少此個別大砲的節點,CannonRTP 會發送包含大砲顯示名稱的noPermission訊息。該訊息對於每位玩家每座大砲節流為每 3 秒一次。
Tab 自動完成
接受大砲 <id> 參數的指令會從已知大砲設定 id 清單中進行 tab 補完。接受 <world> 參數的指令會從目前已載入的世界名稱清單中進行 tab 補完。