Tränke sind Verbrauchsmaterialien, die Entitäten Statuseffekte geben können. Spieler können Tränke mit einem Braustand brauen oder durch andere Spielmechaniken erhalten.
Benutzerdefinierte Tränke
Genauso wie Items und Blöcke, müssen auch Tränke registriert werden.
Den Trank erstellen
Lasst uns mit der Deklaration eines Feldes, welches eine Instanz von Potion hält. Wir werden hierfür die ModInitializer implementierende Klasse nutzen. Beachte die Verwendung von Registry.registerForHolder, da die meisten Vanilla-Methoden, die Tränke verwenden, diese wie Mob-Effekte als Halter bevorzugen.
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
Es wird eine Instanz der MobEffectInstance benutzt, die drei Parameter besitzt:
Holder<MobEffect> type- Ein Effekt, repräsentiert als ein Halter. Hier verwenden wir unseren benutzerdefinierten Effekt. Alternativ kannst du durch die Vanilla KlasseMobEffectsauf die Vanilla Effekte zugreifen.int duration- Länge des Effekts in Spielticks.int amplifier- Die Stärke des Effekts. Eile II hätte zum Beispiel einen amplifier-Wert von 1.
INFO
Um deinen eigenen Effekt zu erstellen, schau bitte in den Leitfaden Effekte.
Den Trank registrieren
In unserer Initialisierungsmethode benutzen wir das FabricBrewingRecipeRegistryBuilder.BUILD Event um unseren Trank mithilfe der BrewingRecipeRegistry.registerPotionRecipe Methode zu registrieren.
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
Die registerPotionRecipe Methode besitzt 3 Parameter:
Holder<Potion> input- Der Starttrank, repräsentiert durch einen Halter. In den meisten Fällen ist das eine Wasserflasche oder ein "Seltsamer Trank".Item item- Der Gegenstand, der die Hauptzutat bildet.Holder<Potion> output- Der Endtrank, repräsentiert durch einen Halter.
Sobald der Trank registriert wurde, kannst du den Tater-Trank mit einer Kartoffel brauen.





