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 höchsten Event-Priorität und nur dann, 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

Wenn das Plugin entscheidet, was gegessen werden soll, geht es in zwei Durchläufen vor:

  1. Idealer Kandidat – zunächst wird nach dem einzelnen besten Nahrungsmittel für den fehlenden Hunger gesucht:
    • Bevorzuge die Nahrung mit dem höchsten Hungerwert, die noch innerhalb des fehlenden Hungers liegt (Sättigung dient als Tiebreaker).
    • Wenn nichts sauber passt, falle auf die Nahrung mit dem kleinsten Überschuss zurück (Sättigung dient als Tiebreaker).
  2. Inventarabgleich – anschließend wird der Inventarspeicher des Spielers nach dieser idealen Nahrung durchsucht. Wenn der Spieler sie nicht tatsächlich mit sich führt, durchläuft das Plugin das gesamte Inventar und wendet denselben Passgenauigkeits-/Überschussvergleich auf jede unterstützte Nahrung an, die der Spieler besitzt, und wählt dann die beste verfügbare aus.

Das Ziel ist es, zu vermeiden, dass starke Nahrung für eine kleine Hungerlücke verbraucht wird, wenn ein schwächeres Item ausreichen würde.

Nach dem Essen wird der wiederhergestellte Hunger auf 20 begrenzt, und die Sättigung wird auf den resultierenden Hungerwert begrenzt, entsprechend den Vanilla-Grenzen.

Geschützte Items

Der aktuelle Code schützt weit mehr als nur umbenannte oder mit Lore versehene Nahrung. BetterFood vermeidet das automatische Konsumieren von Nahrung, wenn sie Custom-Item-Eigenschaften hat wie:

  • benutzerdefinierter Name oder Item-Name
  • Lore
  • benutzerdefinierte Modelldaten
  • Verzauberungen
  • Attribut-Modifikatoren
  • unzerstörbarer Zustand
  • Persistent Data Container Tags

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
Apple42.4
Baked Potato56.0
Beetroot11.2
Beetroot Soup67.2
Bread56.0
Carrot33.6
Cooked Beef812.8
Cooked Chicken67.2
Cooked Cod56.0
Cooked Mutton69.6
Cooked Porkchop812.8
Cooked Rabbit56.0
Cooked Salmon69.6
Cookie20.4
Dried Kelp10.6
Glow Berries20.4
Golden Carrot614.4
Melon Slice21.2
Mushroom Stew67.2
Potato10.6
Pumpkin Pie84.8
Rabbit Stew1012.0
Sweet Berries20.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:

  • Beef (roh)
  • Cake
  • Chicken (roh)
  • Chorus Fruit
  • Cod (roh)
  • Enchanted Golden Apple
  • Golden Apple
  • Honey Bottle
  • Mutton (roh)
  • Poisonous Potato
  • Porkchop (roh)
  • Pufferfish
  • Rabbit (roh)
  • Rotten Flesh
  • Salmon (roh)
  • Spider Eye
  • Suspicious Stew
  • Tropical Fish

Alle anderen essbaren Materialien, die von neueren Minecraft-Versionen hinzugefügt wurden und noch nicht klassifiziert sind, werden ebenfalls übersprungen. Das Plugin protokolliert beim Start eine Warnung, wenn es nicht klassifizierte essbare Materialien erkennt.

Behälter-Reste

Wenn konsumierte Nahrung ein Rest-Item hinterlässt, behält BetterFood es bei.

Beispiele sind Schüsseln oder andere Nahrung, die einen Behälter zurückgibt. Der Rest wird ins Inventar zurückgegeben oder beim Spieler fallen gelassen, wenn kein Inventarplatz verfügbar ist.