BetterFood 相容性
執行時目標
當前儲存庫目標:
- 外掛程式版本:
1.5.0 - Bukkit
api-version:1.21.4 - Spigot API 建置目標:
26.2-R0.1-SNAPSHOT - Java:
21
指令
外掛程式使用:
/betterfood/bf
面向玩家的子指令專注於切換:
- 自動進食(
toggleEating,或不帶參數直接執行/betterfood) - 動作欄上的進食回饋訊息(
toggleMessage)
管理員子指令(需要 betterfood.admin)會公開共用的 Nightbreak 工具:
setup— 開啟遊戲內設定選單recommendedplugins— 顯示與 BetterFood 搭配良好的外掛程式。BetterFood 目前在共用推薦目錄中沒有任何項目,因此這會開啟一個空選單,並告訴你目前沒有額外推薦(控制台發送者會在聊天中收到同樣的說明)downloadpluginupdate/downloadall— 若有可用更新則下載外掛程式更新downloadallcontent— 回報 BetterFood 沒有內容包
Tab 自動補全會依權限以及目前已輸入的內容進行過濾:toggleEating 和 toggleMessage 僅會提示給擁有 betterfood.user 的發送者,而 downloadpluginupdate、downloadallcontent、setup 和 recommendedplugins 僅會提示給擁有 betterfood.admin 的發送者。可接受的 downloadall 別名則刻意不會被提示。兩個玩家切換選項僅限玩家使用——明確的 toggleEating / toggleMessage 子指令會以「BetterFood settings can only be changed in-game.」拒絕非玩家發送者,而不帶參數的 /betterfood 指令則會將控制台發送者導向更新指令。沒有 betterfood.user 的玩家會被告知他沒有權限更改 BetterFood 設定。無法辨識的子指令,或超過一個參數,都會印出用法說明行,而該用法說明行本身也會依權限調整:管理員會看到完整清單,其他人只會看到那兩個切換選項。
共用的 MagmaCore 指令
由於隨附了共用的 MagmaCore 工具,BetterFood 也會在載入時註冊下列指令——但僅限尚未有其他外掛程式佔用它們時。因此在已經執行其他 MagmaGuy 外掛程式的伺服器上,最先載入的外掛程式會擁有這些指令,而 BetterFood 會記錄它跳過了註冊:
/nightbreak plugins— 瀏覽外掛程式目錄,在遊戲內以選單呈現,從控制台則以聊天清單呈現(nightbreak.plugins,預設op)。不帶參數的/nightbreak只會印出用法說明行。/nightbreaklogin <token>和/nightbreaklogout— 連結與解除連結共用的 Nightbreak 帳號權杖(nightbreak.login,預設op)/logify— 將當前伺服器日誌上傳至 mclo.gs(logify.*,預設op)/betterfoodchangelog [dismiss|disable]— 顯示未讀的 BetterFood 發行說明。此指令會依外掛程式加上命名空間,因此不會衝突;若/betterfoodchangelog不知何故已被佔用,它會退回使用betterfood:betterfoodchangelog形式的標籤。
更新日誌指令僅限管理員且僅限遊戲內使用:對於沒有管理員權限的發送者(或控制台),它會回覆「This command is only available to plugin administrators in-game.」。玩家若為 op,或擁有 betterfood.admin 或 betterfood.*,即視為管理員。除非管理員執行過 /betterfoodchangelog disable,否則他們在登入後不久也會收到未讀發行說明的提醒。已讀/已略過狀態會逐玩家儲存在 plugins/BetterFood/nightbreak-changelogs.yml 中。
共用流程請參見 Nightbreak 權杖、Nightbreak 設定 和 更新日誌通知。
權限
betterfood.user(預設true)——管控自動進食監聽器與玩家切換選項。betterfood.admin(預設op)——管控外掛程式更新下載、設定選單與推薦外掛程式指令。它同時也算是更新日誌指令的管理員權限。nightbreak.plugins、nightbreak.login和logify.*(皆預設op)——由隨附的 MagmaCore 工具為上述共用指令註冊,並未宣告在 BetterFood 的plugin.yml中。
其他整合
- 已啟用 bStats 統計資料(外掛程式 ID
4557)——若要選擇不參與,請透過 bStats 設定全域停用。 - BetterFood 現在隨附共用的 MagmaCore 工具。它會產生帶有
nightbreak.autoDownloadPluginUpdates切換選項(預設false)的config.yml——這是 BetterFood 自己唯一放進config.yml的鍵——並在啟動幾分鐘後向nightbreak.io檢查是否有更新版本(該延遲會逐外掛程式錯開,避免多個 MagmaGuy 外掛程式同時對外請求),之後大約每小時一次。只有在結果有變動時才會記錄,因此主控台不會每小時被洗版。BetterFood 未傳遞任何 SpigotMC 資源 ID,其目錄項目也沒有,因此沒有 SpigotMC 版本後備機制。 - 在有待處理更新期間登入的管理員(op),會在登入後幾秒收到附有下載頁面連結的聊天通知。只要已安裝的版本落後,每次登入都會發送。
- 帳號權杖存放在外掛程式資料夾之外的共用
plugins/MagmaCore/nightbreak.yml中,因此只要連結一次,就能涵蓋伺服器上每個 MagmaGuy 外掛程式。 - 沒有外部外掛程式相依性;食物邏輯僅監聽原版的
FoodLevelChangeEvent。