Aller au contenu principal

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 :

  1. 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).
  2. 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 :

AlimentFaim restauréeSaturation restaurée
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

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.