🇮🇹 Italiano (Italian)
🇮🇹 Italiano (Italian)
Aspetto
🇮🇹 Italiano (Italian)
🇮🇹 Italiano (Italian)
Aspetto
Questa pagina si applica alla versione:
1.21.4
Questa pagina si applica alla versione:
1.21.4
Gli alimenti sono un aspetto cruciale di sopravvivenza in Minecraft, per cui quando si creano oggetti edibili devi considerare l'uso del cibo con altri oggetti edibili.
A meno che tu non voglia creare una mod con oggetti troppo potenti, dovresti tenere in considerazione:
Per aggiungere la componente alimentare ad un oggetto, possiamo passarla all'istanza Item.Setttings
:
new Item.Settings().food(new FoodComponent.Builder().build())
Per ora questo rende l'oggetto edibile, e nulla di più.
La classe FoodComponent.Builder
ha qualche metodo che ti permette 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. |
Quando avrai modificato il costruttore come preferisci, puoi chiamare il metodo build()
per ottenere la FoodComponent
.
Se vuoi aggiungere effetti di stato al giocatore quando mangiano il tuo cibo, devi usare la classe ConsumableComponent
assieme a FoodComponent
, come noti nell'esempio seguente:
public static final ConsumableComponent POISON_FOOD_CONSUMABLE_COMPONENT = ConsumableComponents.food()
// The duration is in ticks, 20 ticks = 1 second
.consumeEffect(new ApplyEffectsConsumeEffect(new StatusEffectInstance(StatusEffects.POISON, 6 * 20, 1), 1.0f))
.build();
public static final FoodComponent POISON_FOOD_COMPONENT = new FoodComponent.Builder()
.alwaysEdible()
.build();
Come nell'esempio della pagina Creare il Tuo Primo Oggetto, useremo la componente sopra:
public static final RegistryKey<Item> POISONOUS_APPLE_KEY = RegistryKey.of(RegistryKeys.ITEM, Identifier.of(FabricDocsReference.MOD_ID, "poisonous_apple"));
public static final Item POISONOUS_APPLE = register(
new Item(new Item.Settings().registryKey(POISONOUS_APPLE_KEY).food(POISON_FOOD_COMPONENT, POISON_FOOD_CONSUMABLE_COMPONENT)),
POISONOUS_APPLE_KEY
);
Questo rende l'oggetto: