Skip to content

Instantly share code, notes, and snippets.

@Kaupenjoe
Created March 9, 2022 20:56
Show Gist options
  • Save Kaupenjoe/160f6464bcd028dbf562edde2a7b2c65 to your computer and use it in GitHub Desktop.
Save Kaupenjoe/160f6464bcd028dbf562edde2a7b2c65 to your computer and use it in GitHub Desktop.
YT262 - Fabric 118 - Custom Brewing Recipes
"BrewingRecipeRegistryMixin"
import net.minecraft.item.Item;
import net.minecraft.potion.Potion;
import net.minecraft.recipe.BrewingRecipeRegistry;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(BrewingRecipeRegistry.class)
public interface BrewingRecipeRegistryMixin {
@Invoker("registerPotionRecipe")
static void invokeRegisterPotionRecipe(Potion input, Item item, Potion output) {
throw new AssertionError();
}
}
import net.kaupenjoe.tutorialmod.TutorialMod;
import net.kaupenjoe.tutorialmod.effect.ModEffects;
import net.kaupenjoe.tutorialmod.item.ModItems;
import net.kaupenjoe.tutorialmod.mixin.BrewingRecipeRegistryMixin;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.potion.Potion;
import net.minecraft.potion.Potions;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
public class ModPotions {
public static Potion FREEZE_POTION;
public static Potion registerPotion(String name) {
return Registry.register(Registry.POTION, new Identifier(TutorialMod.MOD_ID, name),
new Potion(new StatusEffectInstance(ModEffects.FREEZE, 200, 0)));
}
public static void registerPotions() {
FREEZE_POTION = registerPotion("freeze_potion");
registerPotionRecipes();
}
private static void registerPotionRecipes() {
BrewingRecipeRegistryMixin.invokeRegisterPotionRecipe(Potions.AWKWARD, ModItems.MYTHRIL_INGOT,
ModPotions.FREEZE_POTION);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment