192 lines
6.2 KiB
Java
192 lines
6.2 KiB
Java
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 a Electrolytic Separator recipe.
|
|
* @param input - input ItemStack
|
|
* @param output - output ItemStack
|
|
*/
|
|
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 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());
|
|
}
|
|
}
|
|
}
|