Zum Hauptinhalt springen

BetterFood Verhalten

BetterFood verwendet eine hungerbewusste Nahrungsauswahl, anstatt einfach das nahrhafteste Item zuerst zu essen.

Wann es ausgelöst wird

BetterFood reagiert auf das Vanilla-FoodLevelChangeEvent mit der Priorität HIGHEST und ignoriert abgebrochene Events, sodass ein anderes Plugin, das die Hungeränderung abbricht oder umschreibt, das letzte Wort hat, bevor BetterFood sie betrachtet. Es wird nur aktiv, wenn der Hunger des Spielers sinkt. Der Spieler muss die Berechtigung betterfood.user besitzen und darf das automatische Essen nicht über /betterfood toggleEating deaktiviert haben.

Auswahlregeln

  1. Die Lebensmittel sind nach Hungerwert absteigend sortiert, bei Gleichstand nach Sättigung absteigend und Materialname aufsteigend. Eine vorberechnete Tabelle legt für jeden Hungerstand fest, an welcher Stelle die Suche beginnt.
  2. Ab dort wird zum schwächeren Essen gesucht. Das erste mitgeführte Lebensmittel ohne benutzerdefinierte Eigenschaften wird gegessen; bei mehreren gleichen Stapeln gewinnt der niedrigste Inventarplatz.

Dabei kann Hunger verschwendet werden: Bei Hunger 11 kann Kaninchenragout (10) vor gebratenem Rindfleisch (8) gewählt werden, obwohl nur 9 fehlen. Es gibt keinen zweiten Optimierungsschritt. Hunger wird auf 20 und Sättigung auf den neuen Hungerwert begrenzt.

Schüssel-Nahrung

Rote-Bete-Suppe, Pilzsuppe und Kanincheneintopf geben beim automatischen Essen eine leere Schüssel zurück, genau wie in Vanilla:

  • Wird der gegessene Stapel aufgebraucht, ersetzt die Schüssel ihn im selben Slot
  • Andernfalls wird die Schüssel dem Inventar hinzugefügt und zu Füßen des Spielers fallen gelassen, wenn kein Platz dafür vorhanden ist

Geschützte Items

BetterFood konsumiert automatisch nur ein Item, das Byte für Byte mit einem makellosen Vanilla-Stapel desselben Materials identisch ist. Alles, was zusätzliche Item-Daten trägt, wird übersprungen, darunter:

  • ein benutzerdefinierter Anzeigename
  • Lore
  • Verzauberungen, benutzerdefinierte Modelldaten und andere Item-Komponenten
  • persistente Daten, die von anderen Plugins geschrieben wurden

Die Prüfung vergleicht das gesamte Item mit einem frisch erzeugten Vanilla-Stapel statt mit einer von Hand gepflegten Feldliste, sodass Item-Daten, die künftige Minecraft-Versionen hinzufügen, automatisch übersprungen werden. Dies soll die Chance verringern, versehentlich Plugin-Items oder dekorative Items zu konsumieren.

Unterstützte Nahrung

BetterFood konsumiert automatisch die folgenden Nahrungsmittel:

NahrungHunger wiederhergestelltSättigung wiederhergestellt
Apfel42.4
Ofenkartoffel56.0
Rote Bete11.2
Rote-Bete-Suppe67.2
Brot56.0
Karotte33.6
Gebratenes Rindfleisch812.8
Gebratenes Hühnchen67.2
Gebratener Kabeljau56.0
Gebratenes Hammelfleisch69.6
Gebratenes Schweinefleisch812.8
Gebratenes Kaninchen56.0
Gebratener Lachs69.6
Keks20.4
Getrockneter Seetang10.6
Leuchtbeeren20.4
Goldene Karotte614.4
Melonenscheibe21.2
Pilzsuppe67.2
Kartoffel10.6
Kürbiskuchen84.8
Kanincheneintopf1012.0
Süßbeeren20.4

Ausgeschlossene Nahrung

Die folgenden essbaren Items sind absichtlich vom automatischen Essen ausgeschlossen. Dies sind rohes Fleisch, spezielle Items oder Nahrung mit negativen oder unberechenbaren Effekten:

  • Rindfleisch (roh)
  • Hühnchen (roh)
  • Chorusfrucht
  • Kabeljau (roh)
  • Verzauberter goldener Apfel
  • Goldener Apfel
  • Honigflasche
  • Hammelfleisch (roh)
  • Giftkartoffel
  • Schweinefleisch (roh)
  • Kugelfisch
  • Kaninchen (roh)
  • Verrottetes Fleisch
  • Lachs (roh)
  • Spinnenauge
  • Seltsame Suppe
  • Tropenfisch

Alle anderen essbaren Materialien, die von neueren Minecraft-Versionen hinzugefügt wurden und nicht in der obigen Liste der unterstützten Nahrung stehen, werden ebenfalls übersprungen, bis sie ausdrücklich in diese Liste aufgenommen werden.

Beim Start führt BetterFood eine Abdeckungsprüfung über jedes essbare Item durch, das deine Serverversion kennt, und protokolliert eine einzelne Konsolenzeile mit denjenigen, die es absichtlich nicht automatisch isst (BetterFood is intentionally not auto-eating these food items: ...), sodass du auf einen Blick genau siehst, welche Items auf deiner Serverversion übersprungen werden. Die Zeile wird nur ausgegeben, wenn es mindestens ein übersprungenes Item gibt — bleibt sie ganz aus, deckt die unterstützte Liste bereits jedes essbare Item dieser Version ab.