跳至主要內容

BetterFood 相容性

執行時目標

當前儲存庫目標:

  • 外掛程式版本:1.5.0
  • Bukkit api-version1.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 自動補全會依權限以及目前已輸入的內容進行過濾:toggleEatingtoggleMessage 僅會提示給擁有 betterfood.user 的發送者,而 downloadpluginupdatedownloadallcontentsetuprecommendedplugins 僅會提示給擁有 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.adminbetterfood.*,即視為管理員。除非管理員執行過 /betterfoodchangelog disable,否則他們在登入後不久也會收到未讀發行說明的提醒。已讀/已略過狀態會逐玩家儲存在 plugins/BetterFood/nightbreak-changelogs.yml 中。

共用流程請參見 Nightbreak 權杖Nightbreak 設定更新日誌通知

權限

  • betterfood.user(預設 true)——管控自動進食監聽器與玩家切換選項。
  • betterfood.admin(預設 op)——管控外掛程式更新下載、設定選單與推薦外掛程式指令。它同時也算是更新日誌指令的管理員權限。
  • nightbreak.pluginsnightbreak.loginlogify.*(皆預設 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