aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java')
-rw-r--r--src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java83
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.");
+ }
+}