Alimenti 1.21.1
Impara come aggiungere una FoodProperties ad un oggetto per renderlo edibile, e come configurarlo.
WARNING
Questa pagina si applica alla versione 1.21.1. La documentazione delle versioni meno recenti potrebbe essere incompleta.
Gli alimenti sono un aspetto cruciale di sopravvivenza in Minecraft, per cui quando si creano oggetti edibili devi considerare l'utilizzo del cibo con altri oggetti edibili.
A meno che tu non voglia creare una mod con oggetti troppo potenti, dovresti tenere in considerazione:
- Quanta fame aggiunge o toglie l'oggetto edibile?
- Quali effetti di pozione fornisce?
- È accessibile presto o tardi nel gioco?
Aggiungere la Componente Alimento
Per aggiungere la componente alimentare ad un oggetto, possiamo passarla all'istanza Item.Setttings:
java
new Item.Properties().food(new FoodProperties.Builder().build())1
Per ora questo rende l'oggetto edibile, e nulla di più.
La classe FoodProperties.Builder ha molti metodo che ti permettono di modificare cosa succede quando un giocatore mangia il tuo oggetto:
| Metodo | Descrizione |
|---|---|
nutrition | Imposta la quantità di punti fame che l'oggetto sazierà. |
saturationModifier | Imposta la quantita di punti di saturazione che l'oggetto aggiungerà. |
alwaysEdible | Permette al tuo oggetto di essere consumato indipendentemente dal livello di fame. |
fast | Dichiara il tuo oggetto come snack. |
effect | Aggiunge un effetto di stato quando si mangia l'oggetto. Di solito si passa a questo metodo un'istanza di un effetto di stato e una probabilità, come percentuale decimale (1f = 100%) |
Quando avrai modificato il costruttore come preferisci, puoi chiamare il metodo build() per ottenere la FoodProperties.
java
public static final FoodProperties POISON_FOOD_COMPONENT = new FoodProperties.Builder()
.alwaysEdible()
.fast()
// The duration is in ticks, 20 ticks = 1 second
.effect(new MobEffectInstance(MobEffects.POISON, 6 * 20, 1), 1.0f)
.build();1
2
3
4
5
6
2
3
4
5
6
Come nell'esempio della pagina Creare il Tuo Primo Oggetto, useremo la componente sopra:
java
public static final Item POISONOUS_APPLE = register(
new Item(new Item.Properties().food(POISON_FOOD_COMPONENT)),
"poisonous_apple"
);1
2
3
4
2
3
4
Questo rende l'oggetto:
- Sempre edibile, può essere mangiato indipendentemente dal livello di fame.
- Uno "snack".
- Fornisce sempre Avvelenamento II per 6 secondi appena consumato.

