diff options
Diffstat (limited to 'src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java')
-rw-r--r-- | src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java b/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java new file mode 100644 index 0000000000..32d4ab55cf --- /dev/null +++ b/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java @@ -0,0 +1,83 @@ +package gtPlusPlus.recipes; + +import static gregtech.api.recipe.RecipeMaps.pyrolyseRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.cokeOvenRecipes; + +import java.util.ArrayList; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.recipe.RecipeMaps; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.util.minecraft.FluidUtils; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.core.util.reflect.AddGregtechRecipe; + +public class CokeAndPyrolyseOven { + + public static void onLoadComplete() { + convertPyroToCokeOven(); + } + + public static void postInit() { + Logger.INFO("Loading Recipes for Industrial Coking Oven."); + // Wood to Charcoal + // Try use all woods found + ArrayList<ItemStack> aLogData = OreDictionary.getOres("logWood"); + for (ItemStack stack : aLogData) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(20), ItemUtils.getSimpleStack(stack, 20)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 24L)) + .fluidInputs(GT_ModHandler.getSteam(1000)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coalgas", 1440)) + .duration(72 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(pyrolyseRecipes); + } + + // Coal to Coke + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(22), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 16L)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 10)) + .fluidInputs(GT_ModHandler.getSteam(1000)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coalgas", 2880)) + .duration(36 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(pyrolyseRecipes); + + // Coke & Coal + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 12L), + ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 6)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 14)) + .fluidInputs(GT_ModHandler.getSteam(2000)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coalgas", 5040)) + .eut(240) + .duration(1 * MINUTES) + .addTo(cokeOvenRecipes); + } + + private static void convertPyroToCokeOven() { + int aCount = 0; + for (GT_Recipe g : RecipeMaps.pyrolyseRecipes.getAllRecipes()) { + if (AddGregtechRecipe.importPyroRecipe(g.copy())) { + aCount++; + } + } + Logger.INFO("Converted " + aCount + " Pyrolyse recipes into Industrial Coke Oven recipes."); + } +} |