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 che conterrà la tua istanza Potion. Useremo direttamente una classe che implementi ModInitializer per conservarla. Nota che abbiamo usato Registry.registerForHolder perché, come per gli effetti dei mob, la maggior parte dei metodi vanilla legati alle pozioni le richiedono in holder.
java
// :::1
public class ExampleModPotions implements ModInitializer {
public static final Holder<Potion> TATER_POTION =
Registry.registerForHolder(
BuiltInRegistries.POTION,
Identifier.fromNamespaceAndPath(ExampleMod.MOD_ID, "tater"),
new Potion("tater",
new MobEffectInstance(
ExampleModEffects.TATER,
3600,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 accetta 3 parametri:
Holder<MobEffect> type- Un effetto, rappresentato come holder. 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 FabricBrewingRecipeRegistryBuilder.BUILD per registrare la nostra pozione usando il metodo BrewingRecipeRegistry.registerPotionRecipe.
java
@Override
public void onInitialize() {
FabricBrewingRecipeRegistryBuilder.BUILD.register(builder -> {
builder.addMix(
// Input potion.
Potions.WATER,
// Ingredient
Items.POTATO,
// Output potion.
TATER_POTION
);1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
registerPotionRecipe accetta 3 parametri:
Holder<Potion> input- La pozione iniziale, rappresentata come holder. 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 pozione risultante, rappresentata come holder.
Una volta registrato, puoi distillare una pozione Tater usando una patata.





