🇮🇹 Italiano (Italian)
🇮🇹 Italiano (Italian)
Aspetto
🇮🇹 Italiano (Italian)
🇮🇹 Italiano (Italian)
Aspetto
Questa pagina si applica alla versione:
1.20.4
Questa pagina si applica alla versione:
1.20.4
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.
Aggiungere una pozione segue un percorso simile a quello per aggiungere un oggetto. Dovrai creare un'istanza della tua pozione e registrarla chiamando BrewingRecipeRegistry.registerPotionRecipe
.
INFO
Quando l'API di Fabric è presente, BrewingRecipeRegistry.registerPotionRecipe
è reso disponibile attraverso un Access Widener.
Iniziamo dichiarando un attributo per conservare la tua istanza Potion
. Useremo direttamente la classe dell'initializer per conservarla.
public static final Potion TATER_POTION =
Registry.register(
Registries.POTION,
Identifier.of("fabric-docs-reference", "tater"),
new Potion(
new StatusEffectInstance(
Registries.STATUS_EFFECT.getEntry(FabricDocsReferenceEffects.TATER_EFFECT),
3600,
0)));
Passiamo una istanza di StatusEffectInstance
, che prende 3 parametri:
StatusEffect type
- Un effetto. Qui usiamo il nostro effetto personalizzato. In alternativa puoi accedere agli effetti vanilla attraverso net.minecraft.entity.effect.StatusEffects
.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 favore guarda la guida Effetti.
Nel nostro initializer, chiamiamo BrewingRecipeRegistry.registerPotionRecipe
.
FabricBrewingRecipeRegistryBuilder.BUILD.register(builder -> {
registerPotionRecipe
prende 3 parametri:
Potion input
- La 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.Potion output
- La pozione risultante.Se utilizzi l'API di Fabric, l'invoker mixin non è necessario e si può effettuare una chiamata diretta a BrewingRecipeRegistry.registerPotionRecipe
.
L'esempio per intero:
public class FabricDocsReferencePotions implements ModInitializer {
public static final Potion TATER_POTION =
Registry.register(
Registries.POTION,
Identifier.of("fabric-docs-reference", "tater"),
new Potion(
new StatusEffectInstance(
Registries.STATUS_EFFECT.getEntry(FabricDocsReferenceEffects.TATER_EFFECT),
3600,
0)));
@Override
public void onInitialize() {
FabricBrewingRecipeRegistryBuilder.BUILD.register(builder -> {
builder.registerPotionRecipe(
// Input potion.
Potions.WATER,
// Ingredient
Items.POTATO,
// Output potion.
Registries.POTION.getEntry(TATER_POTION)
);
});
}
}
Una volta registrato, puoi distillare una pozione Tater usando una patata.
Registrare Pozioni Usando un Ingredient
Con l'aiuto dell'API di Fabric, è possibile registrare una pozione usando un Ingredient
anziché un Item
usando net.fabricmc.fabric.api.registry.FabricBrewingRecipeRegistry
.
Senza l'API di Fabric, BrewingRecipeRegistry.registerPotionRecipe
sarà privato. Per accedere a questo metodo usa il seguente invoker mixin o usa un Access Widener.
Not Found: /home/runner/work/fabric-docs/fabric-docs/reference/latest/src/main/java/com/example/docs/mixin/potion/BrewingRecipeRegistryInvoker.java