diff --git a/src/main/java/org/betterx/betterend/integration/emi/EMIBlastingRecipe.java b/src/main/java/org/betterx/betterend/integration/emi/EMIBlastingRecipe.java new file mode 100644 index 00000000..03b831a5 --- /dev/null +++ b/src/main/java/org/betterx/betterend/integration/emi/EMIBlastingRecipe.java @@ -0,0 +1,36 @@ +package org.betterx.betterend.integration.emi; + +import org.betterx.bclib.integration.emi.EMIAbstractAlloyingRecipe; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.Container; +import net.minecraft.world.item.crafting.BlastingRecipe; +import net.minecraft.world.item.crafting.RecipeManager; +import net.minecraft.world.item.crafting.RecipeType; + +import dev.emi.emi.api.EmiRegistry; + +public class EMIBlastingRecipe extends EMIAbstractAlloyingRecipe { + public EMIBlastingRecipe(BlastingRecipe recipe) { + super(recipe, new ResourceLocation( + "emi", + recipe.getId().getNamespace() + "/" + recipe.getId().getPath() + "/allloying" + ), 2, false); + } + + @Override + protected int getSmeltTime() { + return recipe.getCookingTime(); + } + + @Override + protected float getExperience() { + return recipe.getExperience(); + } + + static void addAllRecipes(EmiRegistry emiRegistry, RecipeManager manager) { + for (BlastingRecipe recipe : manager.getAllRecipesFor(RecipeType.BLASTING)) { + emiRegistry.addRecipe(new EMIBlastingRecipe(recipe)); + } + } +} diff --git a/src/main/java/org/betterx/betterend/integration/emi/EMIPlugin.java b/src/main/java/org/betterx/betterend/integration/emi/EMIPlugin.java index 581b27ca..0adabeca 100644 --- a/src/main/java/org/betterx/betterend/integration/emi/EMIPlugin.java +++ b/src/main/java/org/betterx/betterend/integration/emi/EMIPlugin.java @@ -23,6 +23,10 @@ public class EMIPlugin implements dev.emi.emi.api.EmiPlugin { final RecipeManager manager = emiRegistry.getRecipeManager(); emiRegistry.addCategory(INFUSION_CATEGORY); emiRegistry.addWorkstation(INFUSION_CATEGORY, INFUSION_WORKSTATION); + EMIInfusionRecipe.addAllRecipes(emiRegistry, manager); + if (org.betterx.bclib.integration.emi.EMIPlugin.END_ALLOYING_CATEGORY != null) { + EMIBlastingRecipe.addAllRecipes(emiRegistry, manager); + } } }