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にはコンテンツパックがないことを通知します
タブ補完は権限と、そこまでに入力された内容によってフィルタされます。toggleEatingとtoggleMessageはbetterfood.userを持つ送信者にのみ、downloadpluginupdate、downloadallcontent、setup、recommendedpluginsはbetterfood.adminを持つ送信者にのみ提示されます。受け付けられるエイリアスdownloadallは、意図的に候補に表示されません。2つのプレイヤートグルはプレイヤー専用です。明示的なtoggleEating / toggleMessageサブコマンドは、プレイヤー以外の送信者を「BetterFood settings can only be changed in-game.」というメッセージとともに拒否します。一方、引数なしの/betterfoodコマンドは、コンソール送信者を代わりに更新コマンドへ案内します。betterfood.userを持たないプレイヤーには、BetterFoodの設定を変更する権限がない旨が伝えられます。認識できないサブコマンド、または引数が2つ以上の場合は、使い方の行が出力されます。その使い方の行自体も権限に応じて変化し、管理者には全リストが、それ以外の送信者には2つのトグルのみが表示されます。
共有 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プラグインが同時に外部へ問い合わせることはありません)、その後は約1時間ごとに確認します。結果は変化があったときにのみログへ出力されるため、コンソールが毎時間再び埋め尽くされることはありません。BetterFoodはSpigotMCのリソースIDを渡さず、カタログエントリーにも登録がないため、SpigotMCバージョンへのフォールバックはありません。 - 更新が保留中の状態で参加したオペレーターには、ログイン数秒後にダウンロードページのリンク付きのチャット通知が送られます。インストール済みバージョンが古いままである限り、参加のたびに毎回送信されます。
- アカウントトークンはプラグインフォルダの外、共有の
plugins/MagmaCore/nightbreak.ymlに保存されるため、一度リンクすればサーバー上のすべてのMagmaGuyプラグインでそれが有効になります。 - 外部プラグインの依存関係はありません。食料ロジックはバニラの
FoodLevelChangeEventのみをリッスンします。