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/betterfoodohne 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 istdownloadallcontent— 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, Standardop). Das bloße/nightbreakgibt nur die Verwendungszeile aus./nightbreaklogin <token>und/nightbreaklogout— verbinden und trennen den gemeinsamen Nightbreak-Konto-Token (nightbreak.login, Standardop)/logify— lädt das aktuelle Server-Log zu mclo.gs hoch (logify.*, Standardop)/betterfoodchangelog [dismiss|disable]— zeigt ungelesene BetterFood-Versionshinweise. Dieser Befehl ist pro Plugin mit einem eigenen Namensraum versehen und kollidiert daher nicht; sollte/betterfoodchangelogdennoch belegt sein, weicht er auf eine Bezeichnung im Stil vonbetterfood:betterfoodchangelogaus.
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(Standardtrue) — steuert den Auto-Eat-Listener und die Spieler-Umschalter.betterfood.admin(Standardop) — 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.loginundlogify.*(alle Standardop) — werden von den mitgelieferten MagmaCore-Werkzeugen für die oben genannten gemeinsamen Befehle registriert und sind nicht in derplugin.ymlvon 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.ymlmit dem Umschalternightbreak.autoDownloadPluginUpdates(Standardfalse) — das ist der einzige Schlüssel, den BetterFood selbst in dieconfig.ymlschreibt — und prüft wenige Minuten nach dem Startnightbreak.ioauf 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.