| package mekanism.api; |
| |
| import java.lang.reflect.Method; |
| |
| import mekanism.api.gas.GasStack; |
| import mekanism.api.infuse.InfusionInput; |
| import net.minecraft.item.ItemStack; |
| import net.minecraftforge.fluids.FluidStack; |
| |
| /** |
| * Use this handy class to add recipes to Mekanism machinery. |
| * @author AidanBrady |
| * |
| */ |
| public final class RecipeHelper |
| { |
| /** |
| * Add an Enrichment Chamber recipe. |
| * @param input - input ItemStack |
| * @param output - output ItemStack |
| */ |
| public static void addEnrichmentChamberRecipe(ItemStack input, ItemStack output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addEnrichmentChamberRecipe", ItemStack.class, ItemStack.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add an Osmium Compressor recipe. |
| * @param input - input ItemStack |
| * @param output - output ItemStack |
| */ |
| public static void addOsmiumCompressorRecipe(ItemStack input, ItemStack output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addOsmiumCompressorRecipe", ItemStack.class, ItemStack.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add a Combiner recipe. |
| * @param input - input ItemStack |
| * @param output - output ItemStack |
| */ |
| public static void addCombinerRecipe(ItemStack input, ItemStack output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addCombinerRecipe", ItemStack.class, ItemStack.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add a Crusher recipe. |
| * @param input - input ItemStack |
| * @param output - output ItemStack |
| */ |
| public static void addCrusherRecipe(ItemStack input, ItemStack output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addCrusherRecipe", ItemStack.class, ItemStack.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add a Purification Chamber recipe. |
| * @param input - input ItemStack |
| * @param output - output ItemStack |
| */ |
| public static void addPurificationChamberRecipe(ItemStack input, ItemStack output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addPurificationChamberRecipe", ItemStack.class, ItemStack.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add a Chemical Oxidizer recipe. |
| * @param input - input ItemStack |
| * @param output - output GasStack |
| */ |
| public static void addChemicalOxidizerRecipe(ItemStack input, GasStack output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addChemicalOxidizerRecipe", ItemStack.class, GasStack.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add a Chemical Infuser recipe. |
| * @param input - input ChemicalInput |
| * @param output - output GasStack |
| */ |
| public static void addChemicalInfuserRecipe(ChemicalPair input, GasStack output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addChemicalInfuserRecipe", ChemicalPair.class, GasStack.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add a Precision Sawmill recipe. |
| * @param input - input ItemStack |
| * @param output - output ChanceOutput |
| */ |
| public static void addPrecisionSawmillRecipe(ItemStack input, ChanceOutput output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addPrecisionSawmillRecipe", ItemStack.class, ChanceOutput.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add a Chemical Injection Chamber recipe. |
| * @param input - input AdvancedInput |
| * @param output - output ItemStack |
| */ |
| public static void addChemicalInjectionChamberRecipe(AdvancedInput input, ItemStack output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addChemicalInjectionChamberRecipe", AdvancedInput.class, ItemStack.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add an Electrolytic Separator recipe. |
| * @param input - input FluidStack |
| * @param output - output ChemicalPair |
| */ |
| public static void addElectrolyticSeparatorRecipe(FluidStack input, ChemicalPair output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addElectrolyticSeparatorRecipe", FluidStack.class, ChemicalPair.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add a Chemical Dissolution Chamber recipe. |
| * @param input - input ItemStack |
| * @param output - output GasStack |
| */ |
| public static void addChemicalDissolutionChamberRecipe(ItemStack input, GasStack output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addChemicalDissolutionChamberRecipe", ItemStack.class, GasStack.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add a Chemical Washer recipe. |
| * @param input - input GasStack |
| * @param output - output GasStack |
| */ |
| public static void addChemicalWasherRecipe(GasStack input, GasStack output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addChemicalWasherRecipe", GasStack.class, GasStack.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add a Electrolytic Separator recipe. |
| * @param input - input GasStack |
| * @param output - output ItemStack |
| */ |
| public static void addChemicalCrystalizerRecipe(GasStack input, ItemStack output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addChemicalCrystalizerRecipe", GasStack.class, ItemStack.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| |
| /** |
| * Add a Metallurgic Infuser recipe. |
| * @param input - input Infusion |
| * @param output - output ItemStack |
| */ |
| public static void addMetallurgicInfuserRecipe(InfusionInput input, ItemStack output) |
| { |
| try { |
| Class recipeClass = Class.forName("mekanism.common.recipe.RecipeHandler"); |
| Method m = recipeClass.getMethod("addMetallurgicInfuserRecipe", InfusionInput.class, ItemStack.class); |
| m.invoke(null, input, output); |
| } catch(Exception e) { |
| System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); |
| } |
| } |
| } |