Zum Hauptinhalt springen

BetterFood Kompatibilität

Laufzeitanforderungen

Das aktuelle Repository zielt auf:

  • Plugin-Version: 1.5.0
  • Bukkit api-version: 1.21.4
  • Spigot API Build-Ziel: 26.2-R0.1-SNAPSHOT
  • Java: 21

Befehle

Das Plugin verwendet:

  • /betterfood
  • /bf

Spielerseitige Unterbefehle konzentrieren sich auf das Umschalten von:

  • automatischem Essen (toggleEating, oder einfach /betterfood ohne Argumente)
  • Rückmeldungsnachrichten zum Konsum in der Aktionsleiste (toggleMessage)

Admin-Unterbefehle (erfordern betterfood.admin) stellen die gemeinsam genutzten Nightbreak-Werkzeuge bereit:

  • setup — öffnet das In-Game-Einrichtungsmenü
  • recommendedplugins — zeigt Plugins an, die gut mit BetterFood zusammenpassen. BetterFood hat derzeit keine Einträge im gemeinsamen Empfehlungskatalog, daher öffnet sich ein leeres Menü mit dem Hinweis, dass es momentan keine zusätzlichen Empfehlungen gibt (Konsolen-Absender erhalten denselben Hinweis als Chat-Nachricht)
  • downloadpluginupdate / downloadall — lädt ein Plugin-Update herunter, falls eines verfügbar ist
  • downloadallcontent — meldet, dass BetterFood keine Inhaltspakete hat

Die Tab-Vervollständigung wird nach Berechtigung und nach dem bereits Getippten gefiltert: toggleEating und toggleMessage werden nur Absendern mit betterfood.user vorgeschlagen, und downloadpluginupdate, downloadallcontent, setup und recommendedplugins nur Absendern mit betterfood.admin. Der ebenfalls akzeptierte Alias downloadall wird bewusst nicht vorgeschlagen. Die beiden Spieler-Umschalter sind nur für Spieler – die expliziten Unterbefehle toggleEating / toggleMessage lehnen Nicht-Spieler-Absender mit "BetterFood settings can only be changed in-game." ab, während der bloße Befehl /betterfood Konsolen-Absender stattdessen auf den Update-Befehl verweist. Einem Spieler ohne betterfood.user wird mitgeteilt, dass er keine Berechtigung hat, BetterFood-Einstellungen zu ändern. Ein unbekannter Unterbefehl oder mehr als ein Argument gibt die Verwendungszeile aus, und diese Verwendungszeile ist selbst berechtigungsabhängig: Admins sehen die vollständige Liste, alle anderen nur die beiden Umschalter.

Gemeinsame MagmaCore-Befehle

Da die gemeinsam genutzten MagmaCore-Werkzeuge eingebunden sind, registriert BetterFood beim Laden auch diese Befehle — allerdings nur, wenn sie noch niemand beansprucht hat. Auf einem Server, auf dem bereits ein anderes MagmaGuy-Plugin läuft, besitzt sie also das zuerst geladene Plugin, und BetterFood protokolliert, dass es die Registrierung überspringt:

  • /nightbreak plugins — durchsucht den Plugin-Katalog, im Spiel als Menü und von der Konsole aus als Chat-Liste (nightbreak.plugins, Standard op). Das bloße /nightbreak gibt nur die Verwendungszeile aus.
  • /nightbreaklogin <token> und /nightbreaklogout — verbinden und trennen den gemeinsamen Nightbreak-Konto-Token (nightbreak.login, Standard op)
  • /logify — lädt das aktuelle Server-Log zu mclo.gs hoch (logify.*, Standard op)
  • /betterfoodchangelog [dismiss|disable] — zeigt ungelesene BetterFood-Versionshinweise. Dieser Befehl ist pro Plugin mit einem eigenen Namensraum versehen und kollidiert daher nicht; sollte /betterfoodchangelog dennoch belegt sein, weicht er auf eine Bezeichnung im Stil von betterfood:betterfoodchangelog aus.

Der Changelog-Befehl ist nur für Admins und nur im Spiel verfügbar: Absender ohne Admin-Berechtigung (oder von der Konsole) erhalten die Antwort "This command is only available to plugin administrators in-game." Als Admin gilt ein Spieler, der op ist oder betterfood.admin bzw. betterfood.* besitzt. Admins werden kurz nach dem Beitreten außerdem auf ungelesene Versionshinweise hingewiesen, sofern sie nicht /betterfoodchangelog disable ausgeführt haben. Der Gelesen-/Verworfen-Status wird pro Spieler in plugins/BetterFood/nightbreak-changelogs.yml gespeichert.

Siehe Nightbreak-Tokens, Nightbreak-Einrichtung und Changelog-Benachrichtigungen für den gemeinsamen Ablauf.

Berechtigungen

  • betterfood.user (Standard true) — steuert den Auto-Eat-Listener und die Spieler-Umschalter.
  • betterfood.admin (Standard op) — steuert den Download von Plugin-Updates, das Einrichtungsmenü und die Befehle für empfohlene Plugins. Sie gilt außerdem als Admin-Berechtigung für den Changelog-Befehl.
  • nightbreak.plugins, nightbreak.login und logify.* (alle Standard op) — werden von den mitgelieferten MagmaCore-Werkzeugen für die oben genannten gemeinsamen Befehle registriert und sind nicht in der plugin.yml von BetterFood deklariert.

Weitere Integrationen

  • bStats-Metriken sind aktiviert (Plugin-ID 4557) – über die bStats-Konfiguration global deaktivierbar, falls du dich abmelden möchtest.
  • BetterFood liefert jetzt die gemeinsam genutzten MagmaCore-Werkzeuge mit. Es erzeugt eine config.yml mit dem Umschalter nightbreak.autoDownloadPluginUpdates (Standard false) — das ist der einzige Schlüssel, den BetterFood selbst in die config.yml schreibt — und prüft wenige Minuten nach dem Start nightbreak.io auf eine neuere Version (die Verzögerung ist pro Plugin versetzt, damit nicht mehrere MagmaGuy-Plugins gleichzeitig anfragen), danach etwa einmal pro Stunde. Ergebnisse werden nur protokolliert, wenn sie sich ändern, damit die Konsole nicht stündlich erneut zugespammt wird. BetterFood übergibt keine SpigotMC-Ressourcen-ID, und der zugehörige Katalogeintrag hat ebenfalls keine, daher gibt es keinen SpigotMC-Versions-Fallback.
  • Operatoren, die beitreten, während ein Update aussteht, erhalten wenige Sekunden nach dem Anmelden eine Chat-Nachricht mit dem Link zur Downloadseite. Sie wird bei jedem Beitritt gesendet, solange die installierte Version veraltet ist.
  • Der Konto-Token liegt außerhalb des Plugin-Ordners in der gemeinsamen Datei plugins/MagmaCore/nightbreak.yml, sodass eine einmalige Verknüpfung für jedes MagmaGuy-Plugin auf dem Server gilt.
  • Keine externen Plugin-Abhängigkeiten; die Nahrungslogik hört ausschließlich auf das Vanilla-FoodLevelChangeEvent.