Mikstury, to materiały możliwe do spożycia, które przyznają istocie efekt. Gracz może warzyć mikstury używając statywu alchemicznego, lub otrzymując je jako przedmioty (itemy) z innych mechanik w grze.
Własne Mikstury
Tak samo jak przedmioty i bloki, mikstury muszą być zarejestrowane.
Tworzenie Własnej Mikstury
Zacznijmy od zdeklarowania pola do przechowania twojej instancji 'Potion'. Będziemy bezpośrednio używać klasy implementującej 'ModInitializer' do przechowywania owej mikstury.
java
public class FabricDocsReferencePotions implements ModInitializer {
public static final Potion TATER_POTION =
Registry.register(
Registries.POTION,
Identifier.of(FabricDocsReference.MOD_ID, "tater"),
new Potion("tater",
new StatusEffectInstance(
FabricDocsReferenceEffects.TATER,
3600,
0)));1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Instancja 'StatusEffectInstance' posiada 3 argumenty:
RegistryEntry<StatusEffect> type- Efekt. Używamy naszego własnego efektu tutaj. Alternatywnie, możesz użyć efektów gry niezmodyfikowanej za pomocą domyślnej klasy 'StatusEffects'.int duration- Czas trwania efektu w tickach.int amplifier- Mnożnik dla efektu. Na przykład, Pośpiech II będzie mieć mnożnik o wartości 1.
INFO
Aby stworzyć swój własny efekt, proszę zobacz poradnik o Efektach.
Rejestrowanie Mikstury
W naszym inicjalizatorze będziemy używać wydarzenia 'FabricBrewingRecipeRegistryBuilder.BUILD' aby zarejestrować nasza miksturę używając metody 'BrewingRecipeRegistry.registerPotionRecipe'.
java
@Override
public void onInitialize() {
FabricBrewingRecipeRegistryBuilder.BUILD.register(builder -> {
builder.registerPotionRecipe(
// Input potion.
Potions.WATER,
// Ingredient
Items.POTATO,
// Output potion.
Registries.POTION.getEntry(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' posiada 3 argumenty:
RegistryEntry<Potion> input- Wpis w rejestrze oryginalnej mikstury. Zazwyczaj może to być Butelka Wody (Water Bottle) albo Niezidentyfikowana Mikstura (Awkward Potion).Item item- Przedmiot, który jest głównym składnikiem mikstury.RegistryEntry<Potion> output- Wpis w rejestrze mikstury wyjściowej.
Z zarejestrowaniem, możesz wywarzyć Kartoflowa miksturę używając ziemniaka.




