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:
- 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).
- 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:
| Nahrung | Hunger wiederhergestellt | Sättigung wiederhergestellt |
|---|---|---|
| Apple | 4 | 2.4 |
| Baked Potato | 5 | 6.0 |
| Beetroot | 1 | 1.2 |
| Beetroot Soup | 6 | 7.2 |
| Bread | 5 | 6.0 |
| Carrot | 3 | 3.6 |
| Cooked Beef | 8 | 12.8 |
| Cooked Chicken | 6 | 7.2 |
| Cooked Cod | 5 | 6.0 |
| Cooked Mutton | 6 | 9.6 |
| Cooked Porkchop | 8 | 12.8 |
| Cooked Rabbit | 5 | 6.0 |
| Cooked Salmon | 6 | 9.6 |
| Cookie | 2 | 0.4 |
| Dried Kelp | 1 | 0.6 |
| Glow Berries | 2 | 0.4 |
| Golden Carrot | 6 | 14.4 |
| Melon Slice | 2 | 1.2 |
| Mushroom Stew | 6 | 7.2 |
| Potato | 1 | 0.6 |
| Pumpkin Pie | 8 | 4.8 |
| Rabbit Stew | 10 | 12.0 |
| Sweet Berries | 2 | 0.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.