Comportement de BetterFood
BetterFood utilise une sélection d'aliments tenant compte de la faim au lieu de simplement manger l'objet le plus nutritif en premier.
Quand il se déclenche
BetterFood réagit à l'événement vanilla FoodLevelChangeEvent à la priorité d'événement la plus élevée et uniquement lorsque la faim du joueur diminue. Le joueur doit posséder la permission betterfood.user et ne doit pas avoir désactivé l'alimentation automatique via /betterfood toggleEating.
Règles de Sélection
Lorsque le plugin décide quoi manger, il procède en deux passes :
- Candidat idéal – il demande d'abord le meilleur aliment unique pour la faim manquante :
- Préférer l'aliment avec la valeur de faim la plus élevée qui reste dans la limite de la faim manquante (la saturation départage les égalités).
- Si rien ne s'adapte proprement, se rabattre sur l'aliment avec le plus petit excédent (la saturation départage les égalités).
- Correspondance d'inventaire – il analyse ensuite le stockage d'inventaire du joueur à la recherche de cet aliment idéal. Si le joueur ne le possède pas réellement, le plugin parcourt l'inventaire complet et applique la même comparaison d'adéquation/excédent à chaque aliment pris en charge que le joueur possède, puis choisit le meilleur disponible.
L'intention est d'éviter de gaspiller un aliment puissant sur un petit écart de faim quand un objet plus faible suffirait.
Après avoir mangé, la faim restaurée est plafonnée à 20, et la saturation est plafonnée à la valeur de faim résultante, conformément aux limites vanilla.
Objets Protégés
Le code actuel protège bien plus que les aliments renommés ou portant une description. BetterFood évitera de consommer automatiquement un aliment s'il possède des caractéristiques d'objet personnalisé telles que :
- nom personnalisé ou nom d'objet
- description (lore)
- données de modèle personnalisé
- enchantements
- modificateurs d'attributs
- état incassable
- tags de conteneur de données persistantes
Ceci vise à réduire le risque de consommer par erreur des objets de plugins ou des objets décoratifs.
Aliments pris en charge
BetterFood consommera automatiquement les aliments suivants :
| Aliment | Faim restaurée | Saturation restaurée |
|---|---|---|
| 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 |
Aliments exclus
Les objets comestibles suivants sont intentionnellement exclus de la consommation automatique. Il s'agit de viandes crues, d'objets spéciaux ou d'aliments aux effets négatifs ou imprévisibles :
- Beef (cru)
- Cake
- Chicken (cru)
- Chorus Fruit
- Cod (cru)
- Enchanted Golden Apple
- Golden Apple
- Honey Bottle
- Mutton (cru)
- Poisonous Potato
- Porkchop (cru)
- Pufferfish
- Rabbit (cru)
- Rotten Flesh
- Salmon (cru)
- Spider Eye
- Suspicious Stew
- Tropical Fish
Tout autre matériau comestible ajouté par des versions plus récentes de Minecraft qui n'a pas encore été classé sera également ignoré. Le plugin journalise un avertissement au démarrage s'il détecte des matériaux comestibles non classés.
Restes de Conteneur
Si un aliment consommé laisse un objet restant, BetterFood le préserve.
Les exemples incluent les bols ou autres aliments renvoyant des conteneurs. Le reste est renvoyé dans l'inventaire ou lâché au sol près du joueur si l'inventaire est plein.