Pozioni
Le pozioni sono oggetti consumabili che conferiscono un effetto a un'entità. Un giocatore può preparare delle pozioni usando l'Alambicco oppure ottenerle come oggetti attraverso varie meccaniche di gioco.
Pozioni Personalizzate
Proprio come gli oggetti e i blocchi, le pozioni devono essere registrate.
Creare la Pozione
Iniziamo dichiarando un attributo per conservare la tua istanza Potion. Useremo direttamente una classe che implementi ModInitializer per conservarla.
java
BuiltInRegistries.POTION,
ResourceLocation.fromNamespaceAndPath("example-mod", "tater"),
new Potion(
new MobEffectInstance(
ExampleModEffects.TATER,
3600,
0)));
@Override
public void onInitialize() {1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Passiamo una istanza di MobEffectInstance, che prende 3 parametri:
Holder<MobEffect> type- Un effetto. Qui usiamo il nostro effetto personalizzato. In alternativa puoi accedere agli effetti vanilla attraverso la classe vanillaMobEffects.int duration- Durata dell'effetto espressa in tick di gioco.int amplifier- Un amplificatore per l'effetto. Per esempio, Sollecitudine II avrebbe un amplificatore di 1.
INFO
Per creare il tuo effetto personalizzato per la pozione, per favore guarda la guida Effetti.
Registrare la Pozione
Nel nostro initializer, useremo l'evento FabricPotionBrewingBuilder.BUILD per registrare la nostra pozione usando il metodo PotionBrewing.addMix.
java
builder.addMix(
// Input potion.
Potions.WATER,
// Ingredient
Items.POTATO,
// Output potion.
BuiltInRegistries.POTION.wrapAsHolder(TATER_POTION)
);
});
}
}
// :::11
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
addMix prende 3 parametri:
Holder<Potion> input- La voce di registry della pozione iniziale. Solitamente questa può essere una Ampolla d'Acqua o una Pozione Strana.Item item- L'oggetto che rappresenta l'ingrediente principale della pozione.Holder<Potion> output- La voce di registry della pozione risultante.
Una volta registrato, puoi distillare una pozione Tater usando una patata.




