🇩🇪 Deutsch (German)
🇩🇪 Deutsch (German)
Erscheinungsbild
🇩🇪 Deutsch (German)
🇩🇪 Deutsch (German)
Erscheinungsbild
Diese Seite ist für folgende Version geschrieben:
1.20.4
Diese Seite ist für folgende Version geschrieben:
1.20.4
Tränke sind Verbrauchsmaterialien, die Entitäten Statuseffekte geben können. Spieler können Tränke erlangen, indem sie diese mit einem Braustand brauen oder sie durch andere Spielmechaniken erhalten.
Das Hinzufügen eines Trankes ist vergleichbar mit dem Hinzufügen eines Items. Erstelle eine Instanz des Trankes und registriere ihn mit BrewingRecipeRegistry.registerPotionRecipe
.
INFO
Falls die Fabric API vorhanden ist, kann auf BrewingRecipeRegistry.registerPotionRecipe
durch einen "Access Widener" zugegriffen werden.
Als Erstes wird die Potion
Instanz in einer Variable deklariert. Dabei wird die Initialisierungsklasse benutzt, um die Variable zu belegen.
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)));
Es wird eine Instanz der StatusEffectInstance
benutzt, die drei Parameter besitzt:
StatusEffect type
- Ein Effekttyp. Hier verwenden wir unseren benutzerdefinierten Effekt. Alternativ kannst du auf Vanilla-Effekte über net.minecraft.entity.effect.StatusEffects
zugreifen.int duration
- Länge des Effekts in Spielticks.int amplifier
- Die Stärke des Effekts. Zum Beispiel hätte Eile II einen Verstärker-Wert von 1.INFO
Um deinen eigenen Effekt zu erstellen, schau bitte in den Leitfaden Effekte.
In unsere Klasse, die für das Initialisieren zuständig ist, wird dann die BrewingRecipeRegistry.registerPotionRecipe
Methode aufgerufen.
FabricBrewingRecipeRegistryBuilder.BUILD.register(builder -> {
Die registerPotionRecipe
Methode besitzt 3 Parameter:
Potion input
- Der Starttrank. In den meisten Fällen ist das eine Wasserflasche oder ein "Seltsamer Trank".Item item
- Der Gegenstand, der die Hauptzutat bildet.Potion output
- Der fertiggestellte Trank.Wenn die Fabric API benutzt wird, wird der Mixin Invoker nicht benötigt und die BrewingRecipeRegistry.registerPotionRecipe
Methode kann direkt aufgerufen werden.
Das vollständige Beispiel:
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)
);
});
}
}
Sobald der Trank registriert wurde, kannst du den Tater-Trank mit einer Kartoffel brauen.
Registrieren von Tränken mit Hilfe eines Ingredient
Mit der Hilfe der Fabric API kann beim Erstellen des Rezepts Ingredient
statt Item
, mithilfe der net.fabricmc.fabric.api.registry.FabricBrewingRecipeRegistry
Methode, benutzt werden.
Ohne de Fabric API ist die Methode BrewingRecipeRegistry.registerPotionRecipe
privat. Um auf diese Methode zuzugreifen, verwende den folgenden Mixin Invoker oder verwende einen "Access Widener".
Not Found: /home/runner/work/fabric-docs/fabric-docs/reference/latest/src/main/java/com/example/docs/mixin/potion/BrewingRecipeRegistryInvoker.java