diff options
Diffstat (limited to 'src/main/java/gregtech/loaders/postload/recipes')
51 files changed, 27200 insertions, 0 deletions
diff --git a/src/main/java/gregtech/loaders/postload/recipes/AlloySmelterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AlloySmelterRecipes.java new file mode 100644 index 0000000000..a9e587a145 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/AlloySmelterRecipes.java @@ -0,0 +1,116 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.objects.MaterialStack; +import gregtech.api.util.GT_OreDictUnificator; + +public class AlloySmelterRecipes implements Runnable { + + private final MaterialStack[][] mAlloySmelterList = { + { new MaterialStack(Materials.Tetrahedrite, 3L), new MaterialStack(Materials.Tin, 1L), + new MaterialStack(Materials.Bronze, 3L) }, + { new MaterialStack(Materials.Tetrahedrite, 3L), new MaterialStack(Materials.Zinc, 1L), + new MaterialStack(Materials.Brass, 3L) }, + { new MaterialStack(Materials.Copper, 3L), new MaterialStack(Materials.Tin, 1L), + new MaterialStack(Materials.Bronze, 4L) }, + { new MaterialStack(Materials.Copper, 3L), new MaterialStack(Materials.Zinc, 1L), + new MaterialStack(Materials.Brass, 4L) }, + { new MaterialStack(Materials.Copper, 1L), new MaterialStack(Materials.Nickel, 1L), + new MaterialStack(Materials.Cupronickel, 2L) }, + { new MaterialStack(Materials.Copper, 1L), new MaterialStack(Materials.Redstone, 4L), + new MaterialStack(Materials.RedAlloy, 1L) }, + { new MaterialStack(Materials.AnnealedCopper, 3L), new MaterialStack(Materials.Tin, 1L), + new MaterialStack(Materials.Bronze, 4L) }, + { new MaterialStack(Materials.AnnealedCopper, 3L), new MaterialStack(Materials.Zinc, 1L), + new MaterialStack(Materials.Brass, 4L) }, + { new MaterialStack(Materials.AnnealedCopper, 1L), new MaterialStack(Materials.Nickel, 1L), + new MaterialStack(Materials.Cupronickel, 2L) }, + { new MaterialStack(Materials.AnnealedCopper, 1L), new MaterialStack(Materials.Redstone, 4L), + new MaterialStack(Materials.RedAlloy, 1L) }, + { new MaterialStack(Materials.Iron, 1L), new MaterialStack(Materials.Tin, 1L), + new MaterialStack(Materials.TinAlloy, 2L) }, + { new MaterialStack(Materials.WroughtIron, 1L), new MaterialStack(Materials.Tin, 1L), + new MaterialStack(Materials.TinAlloy, 2L) }, + { new MaterialStack(Materials.Iron, 2L), new MaterialStack(Materials.Nickel, 1L), + new MaterialStack(Materials.Invar, 3L) }, + { new MaterialStack(Materials.WroughtIron, 2L), new MaterialStack(Materials.Nickel, 1L), + new MaterialStack(Materials.Invar, 3L) }, + { new MaterialStack(Materials.Tin, 9L), new MaterialStack(Materials.Antimony, 1L), + new MaterialStack(Materials.SolderingAlloy, 10L) }, + { new MaterialStack(Materials.Lead, 4L), new MaterialStack(Materials.Antimony, 1L), + new MaterialStack(Materials.BatteryAlloy, 5L) }, + { new MaterialStack(Materials.Gold, 1L), new MaterialStack(Materials.Silver, 1L), + new MaterialStack(Materials.Electrum, 2L) }, + { new MaterialStack(Materials.Magnesium, 1L), new MaterialStack(Materials.Aluminium, 2L), + new MaterialStack(Materials.Magnalium, 3L) }, + { new MaterialStack(Materials.Silver, 1L), new MaterialStack(Materials.Electrotine, 4L), + new MaterialStack(Materials.BlueAlloy, 1L) }, + { new MaterialStack(Materials.Boron, 1L), new MaterialStack(Materials.Glass, 7L), + new MaterialStack(Materials.BorosilicateGlass, 8L) } }; + + @Override + public void run() { + for (MaterialStack[] materials : mAlloySmelterList) { + ItemStack dust1 = GT_OreDictUnificator.get(OrePrefixes.dust, materials[0].mMaterial, materials[0].mAmount); + ItemStack dust2 = GT_OreDictUnificator.get(OrePrefixes.dust, materials[1].mMaterial, materials[1].mAmount); + ItemStack ingot1 = GT_OreDictUnificator + .get(OrePrefixes.ingot, materials[0].mMaterial, materials[0].mAmount); + ItemStack ingot2 = GT_OreDictUnificator + .get(OrePrefixes.ingot, materials[1].mMaterial, materials[1].mAmount); + ItemStack outputIngot = GT_OreDictUnificator + .get(OrePrefixes.ingot, materials[2].mMaterial, materials[2].mAmount); + if (outputIngot != GT_Values.NI) { + if (ingot1 != null) { + GT_Values.RA.stdBuilder() + .itemInputs(ingot1, dust2) + .itemOutputs(outputIngot) + .duration((int) materials[2].mAmount * 50) + .eut(16) + .addTo(alloySmelterRecipes); + if (ingot2 != null) { + GT_Values.RA.stdBuilder() + .itemInputs(ingot1, ingot2) + .itemOutputs(outputIngot) + .duration((int) materials[2].mAmount * 50) + .eut(16) + .addTo(alloySmelterRecipes); + } + } + + if (ingot2 != null) { + GT_Values.RA.stdBuilder() + .itemInputs(dust1, ingot2) + .itemOutputs(outputIngot) + .duration((int) materials[2].mAmount * 50) + .eut(16) + .addTo(alloySmelterRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs(dust1, dust2) + .itemOutputs(outputIngot) + .duration((int) materials[2].mAmount * 50) + .eut(16) + .addTo(alloySmelterRecipes); + + } + } + + // We use rubber + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RawRubber, 3L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 1L)) + .duration(10 * SECONDS) + .eut(8) + .addTo(alloySmelterRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java new file mode 100644 index 0000000000..755e5ab885 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java @@ -0,0 +1,477 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.recipe.RecipeMaps.arcFurnaceRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.RECYCLE; +import static gregtech.api.util.GT_RecipeConstants.UniversalArcFurnace; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_OreDictUnificator; + +public class ArcFurnaceRecipes implements Runnable { + + @Override + public void run() { + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Block_TungstenSteelReinforced.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Concrete, 1)) + .duration(8 * SECONDS) + .eut(96) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Long_Distance_Pipeline_Fluid.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 19L)) + .duration(9 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Long_Distance_Pipeline_Item.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 12L), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 7L)) + .duration(9 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Long_Distance_Pipeline_Fluid_Pipe.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Steel, 2L)) + .duration(10 * TICKS) + .eut((int) TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Long_Distance_Pipeline_Item_Pipe.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Tin, 1L), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Steel, 1L)) + .duration(10 * TICKS) + .eut((int) TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_Cupronickel.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Cupronickel, 8), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 2)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_Kanthal.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Kanthal, 8), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Cupronickel, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 3)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_Nichrome.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Nichrome, 8), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Kanthal, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 4)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_TungstenSteel.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TPV, 8), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Nichrome, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 5)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_HSSG.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.HSSG, 8), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TPV, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 6)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_HSSS.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.HSSS, 8), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.HSSG, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 7)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_Naquadah.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Naquadah, 8), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.HSSS, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 8)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_NaquadahAlloy.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.NaquadahAlloy, 8), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Naquadah, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 9)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_Trinium.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Trinium, 8), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.NaquadahAlloy, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 10)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_ElectrumFlux.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.ElectrumFlux, 8), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Trinium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 11)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_AwakenedDraconium.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.DraconiumAwakened, 8), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.ElectrumFlux, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 12)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 0)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 2L)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(90) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(90) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 12L), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Iron, 6)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(90) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 13)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 2L)) + .duration(9 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 14)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(9 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 15)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 12L), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Steel, 6L)) + .duration(9 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 0)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Aluminium, 2L)) + .duration(10 * SECONDS + 10 * TICKS) + .eut(150) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Aluminium, 3)) + .duration(10 * SECONDS + 10 * TICKS) + .eut(150) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 12L), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Aluminium, 6L)) + .duration(10 * SECONDS + 10 * TICKS) + .eut(150) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 3)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.StainlessSteel, 2L)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.StainlessSteel, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 5)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.StainlessSteel, 12L), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.StainlessSteel, 6L)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 6)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Titanium, 2L)) + .duration(13 * SECONDS + 10 * TICKS) + .eut(210) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 7)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Titanium, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(13 * SECONDS + 10 * TICKS) + .eut(210) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 8)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Titanium, 12L), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Titanium, 6L)) + .duration(13 * SECONDS + 10 * TICKS) + .eut(210) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 2L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 10)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 11)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 12L), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.TungstenSteel, 6L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 12)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Palladium, 2L)) + .duration(16 * SECONDS + 10 * TICKS) + .eut(270) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 13)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Palladium, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(16 * SECONDS + 10 * TICKS) + .eut(270) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 14)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.NiobiumTitanium, 12L), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Chrome, 6L)) + .duration(16 * SECONDS + 10 * TICKS) + .eut(270) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 0)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iridium, 2L)) + .duration(18 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iridium, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(18 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Enderium, 12L), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Iridium, 6L)) + .duration(18 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 3)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Osmium, 2L)) + .duration(18 * SECONDS) + .eut(330) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Osmium, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(18 * SECONDS) + .eut(330) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 5)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Naquadah, 12L), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Osmium, 6L)) + .duration(18 * SECONDS) + .eut(330) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 6)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Neutronium, 2L)) + .duration(18 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 7)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Neutronium, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(18 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 8)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Neutronium, 12L), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Neutronium, 6L)) + .duration(18 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(RECYCLE, true) + .addTo(UniversalArcFurnace); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 3)) + .fluidInputs(Materials.Oxygen.getGas(2000L)) + .duration(60 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(arcFurnaceRecipes); + + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java new file mode 100644 index 0000000000..76fcbfe346 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java @@ -0,0 +1,6786 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.AppliedEnergistics2; +import static gregtech.api.enums.Mods.AvaritiaAddons; +import static gregtech.api.enums.Mods.BartWorks; +import static gregtech.api.enums.Mods.BuildCraftFactory; +import static gregtech.api.enums.Mods.ExtraUtilities; +import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.enums.Mods.GTNHLanthanides; +import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.enums.Mods.GalacticraftCore; +import static gregtech.api.enums.Mods.GalacticraftMars; +import static gregtech.api.enums.Mods.GalaxySpace; +import static gregtech.api.enums.Mods.IC2NuclearControl; +import static gregtech.api.enums.Mods.IronChests; +import static gregtech.api.enums.Mods.IronTanks; +import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.enums.Mods.OpenComputers; +import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.enums.Mods.TinkerConstruct; +import static gregtech.api.enums.Mods.TwilightForest; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.EIGHTH_INGOT; +import static gregtech.api.util.GT_RecipeBuilder.HALF_INGOT; +import static gregtech.api.util.GT_RecipeBuilder.INGOTS; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.QUARTER_INGOT; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.loaders.postload.GT_MachineRecipeLoader.solderingMats; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.GT_Mod; +import gregtech.api.enums.Dyes; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; +import gregtech.api.enums.TierEU; +import gregtech.api.util.ExternalMaterials; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class AssemblerRecipes implements Runnable { + + @Override + public void run() { + + this.withBartWorks(); + this.withGalacticraftMars(); + this.withRailcraft(); + this.withGalaxySpace(); + this.withGTNHLanthAndGTPP(); + this.loadInputBusesRecipes(); + this.loadInputHatchesRecipes(); + this.loadOutputBusesRecipes(); + this.loadOutputHatchesRecipes(); + this.withIC2NuclearControl(); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.FR_Stick.get(1L)) + .fluidInputs(Materials.SeedOil.getFluid(50L)) + .duration(16 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.BlackSteel, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 1)) + .itemOutputs(ItemList.Block_Plascrete.get(1)) + .fluidInputs(Materials.Concrete.getMolten(144)) + .duration(10 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.BlackSteel, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 1)) + .itemOutputs(ItemList.Block_Plascrete.get(1)) + .fluidInputs(Materials.Concrete.getMolten(144)) + .duration(10 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TungstenSteel, 16), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Data), 4), + ItemList.Electric_Motor_IV.get(16), + ItemList.Emitter_EV.get(4), + ItemList.Duct_Tape.get(64), + ItemList.Energy_LapotronicOrb.get(1), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.TierdDrone0.get(4)) + .fluidInputs(Materials.AdvancedGlue.getFluid(144)) + .duration(10 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + for (byte i = 0; i < 16; i = (byte) (i + 1)) { + for (int j = 0; j < Dyes.VALUES[i].getSizeOfFluidList(); j++) { + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.string, 3), GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(new ItemStack(Blocks.carpet, 2, 15 - i)) + .fluidInputs(Dyes.VALUES[i].getFluidDye(j, 24)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(assemblerRecipes); + } + } + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyvinylChloride, 1), + ItemList.Paper_Printed_Pages.get(1)) + .itemOutputs(new ItemStack(Items.written_book, 1, 0)) + .fluidInputs(Materials.Glue.getFluid(20)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyvinylChloride, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 3)) + .itemOutputs(new ItemStack(Items.book, 1, 0)) + .fluidInputs(Materials.Glue.getFluid(20)) + .duration(20 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getIC2Item("carbonMesh", 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Zinc, 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Component_Filter.get(1)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Zinc, 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Component_Filter.get(1)) + .fluidInputs(Materials.Plastic.getMolten(144)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 64), + ItemList.Circuit_Silicon_Wafer2.get(32), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphene, 64)) + .fluidInputs(Materials.AdvancedGlue.getFluid(500)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 64), + ItemList.Circuit_Silicon_Wafer3.get(8), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphene, 64)) + .fluidInputs(Materials.AdvancedGlue.getFluid(250)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_LV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Basic), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.FluidRegulator_LV.get(1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_MV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Good), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.FluidRegulator_MV.get(1)) + .duration(17 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_HV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Advanced), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.FluidRegulator_HV.get(1)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_EV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Data), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.FluidRegulator_EV.get(1)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Elite), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.FluidRegulator_IV.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Master), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.FluidRegulator_LuV.get(1)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Ultimate), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.FluidRegulator_ZPM.get(1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.SuperconductorUHV), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.FluidRegulator_UV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(500000) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Steam_Valve_LV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Basic), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Steam_Regulator_LV.get(1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Steam_Valve_MV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Good), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Steam_Regulator_MV.get(1)) + .duration(17 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Steam_Valve_HV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Advanced), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Steam_Regulator_HV.get(1)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Steam_Valve_EV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Data), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Steam_Regulator_EV.get(1)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Steam_Valve_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Elite), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Steam_Regulator_IV.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_LV.get(1), + ItemList.Electric_Motor_LV.get(1), + GT_OreDictUnificator.get(OrePrefixes.gear.get(Materials.Steel), 2), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(ItemList.Steam_Valve_LV.get(1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_MV.get(1), + ItemList.Electric_Motor_MV.get(1), + GT_OreDictUnificator.get(OrePrefixes.gear.get(Materials.Aluminium), 2), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(ItemList.Steam_Valve_MV.get(1)) + .duration(17 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_HV.get(1), + ItemList.Electric_Motor_HV.get(1), + GT_OreDictUnificator.get(OrePrefixes.gear.get(Materials.StainlessSteel), 2), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(ItemList.Steam_Valve_HV.get(1)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_EV.get(1), + ItemList.Electric_Motor_EV.get(1), + GT_OreDictUnificator.get(OrePrefixes.gear.get(Materials.Titanium), 2), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(ItemList.Steam_Valve_EV.get(1)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_IV.get(1), + ItemList.Electric_Motor_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.gear.get(Materials.TungstenSteel), 2), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(ItemList.Steam_Valve_IV.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate.get(Materials.Steel), 4), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Basic), 4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Schematic.get(1L)) + .duration(30 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate.get(Materials.Aluminium), 3), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Good), 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Schematic.get(1L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate.get(Materials.StainlessSteel), 2), + GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Advanced), 1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Schematic.get(1L)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Gold, 1L), + ItemList.Circuit_Chip_LPIC.get(2L), + ItemList.HV_Coil.get(2L), + ItemList.Reactor_Coolant_He_1.get(1L), + ItemList.Electric_Pump_HV.get(1L)) + .itemOutputs(ItemList.Hatch_Energy_HV.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Aluminium, 1L), + ItemList.Circuit_Chip_PIC.get(2L), + ItemList.EV_Coil.get(2L), + ItemList.Reactor_Coolant_He_1.get(1L), + ItemList.Electric_Pump_EV.get(1L)) + .itemOutputs(ItemList.Hatch_Energy_EV.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorIV, 1L), + ItemList.Circuit_Chip_HPIC.get(2L), + ItemList.IV_Coil.get(2L), + ItemList.Reactor_Coolant_He_3.get(1L), + ItemList.Electric_Pump_IV.get(1L)) + .itemOutputs(ItemList.Hatch_Energy_IV.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Gold, 1L), + ItemList.Circuit_Chip_LPIC.get(2L), + ItemList.HV_Coil.get(2L), + ItemList.Reactor_Coolant_NaK_1.get(1L), + ItemList.Electric_Pump_HV.get(1L)) + .itemOutputs(ItemList.Hatch_Energy_HV.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Aluminium, 1L), + ItemList.Circuit_Chip_PIC.get(2L), + ItemList.EV_Coil.get(2L), + ItemList.Reactor_Coolant_NaK_1.get(1L), + ItemList.Electric_Pump_EV.get(1L)) + .itemOutputs(ItemList.Hatch_Energy_EV.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorIV, 1L), + ItemList.Circuit_Chip_HPIC.get(2L), + ItemList.IV_Coil.get(2L), + ItemList.Reactor_Coolant_NaK_3.get(1L), + ItemList.Electric_Pump_IV.get(1L)) + .itemOutputs(ItemList.Hatch_Energy_IV.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Gold, 1L), + ItemList.Circuit_Chip_LPIC.get(2L), + ItemList.HV_Coil.get(2L), + ItemList.Reactor_Coolant_He_1.get(1L), + ItemList.Electric_Pump_HV.get(1L)) + .itemOutputs(ItemList.Hatch_Dynamo_HV.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Aluminium, 1L), + ItemList.Circuit_Chip_PIC.get(2L), + ItemList.EV_Coil.get(2L), + ItemList.Reactor_Coolant_He_1.get(1L), + ItemList.Electric_Pump_EV.get(1L)) + .itemOutputs(ItemList.Hatch_Dynamo_EV.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Vanadiumtriindinid, 1L), + ItemList.Circuit_Chip_HPIC.get(2L), + ItemList.IV_Coil.get(2L), + ItemList.Reactor_Coolant_He_3.get(1L), + ItemList.Electric_Pump_IV.get(1L)) + .itemOutputs(ItemList.Hatch_Dynamo_IV.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Gold, 1L), + ItemList.Circuit_Chip_LPIC.get(2L), + ItemList.HV_Coil.get(2L), + ItemList.Reactor_Coolant_NaK_1.get(1L), + ItemList.Electric_Pump_HV.get(1L)) + .itemOutputs(ItemList.Hatch_Dynamo_HV.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Aluminium, 1L), + ItemList.Circuit_Chip_PIC.get(2L), + ItemList.EV_Coil.get(2L), + ItemList.Reactor_Coolant_NaK_1.get(1L), + ItemList.Electric_Pump_EV.get(1L)) + .itemOutputs(ItemList.Hatch_Dynamo_EV.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Vanadiumtriindinid, 1L), + ItemList.Circuit_Chip_HPIC.get(2L), + ItemList.IV_Coil.get(2L), + ItemList.Reactor_Coolant_NaK_3.get(1L), + ItemList.Electric_Pump_IV.get(1L)) + .itemOutputs(ItemList.Hatch_Dynamo_IV.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Steel, 2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 6L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Steel, 2L), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Long_Distance_Pipeline_Fluid.get(2L)) + .fluidInputs(Materials.Tin.getMolten(144L)) + .duration(15 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Tin, 2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 6L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Steel, 2L), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Long_Distance_Pipeline_Item.get(2L)) + .fluidInputs(Materials.Tin.getMolten(144L)) + .duration(15 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Steel, 2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 9L), + GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(ItemList.Long_Distance_Pipeline_Fluid_Pipe.get(64L)) + .fluidInputs(Materials.Tin.getMolten(144L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Tin, 2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 9L), + GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(ItemList.Long_Distance_Pipeline_Item_Pipe.get(64L)) + .fluidInputs(Materials.Tin.getMolten(144L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeQuadruple, Materials.StainlessSteel, 1L), + ItemList.Hull_EV.get(1L), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.Hatch_Input_Multi_2x2_EV.get(1L)) + .fluidInputs(Materials.Glass.getMolten(2304L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeQuadruple, Materials.Titanium, 1L), + ItemList.Hull_IV.get(1L), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.Hatch_Input_Multi_2x2_IV.get(1L)) + .fluidInputs(Materials.Glass.getMolten(2304L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeQuadruple, Materials.TungstenSteel, 1L), + ItemList.Hull_LuV.get(1L), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.Hatch_Input_Multi_2x2_LuV.get(1L)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2304L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeQuadruple, Materials.NiobiumTitanium, 1L), + ItemList.Hull_ZPM.get(1L), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.Hatch_Input_Multi_2x2_ZPM.get(1L)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2304L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeQuadruple, Materials.MysteriousCrystal, 1L), + ItemList.Hull_UV.get(1L), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.Hatch_Input_Multi_2x2_UV.get(1L)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(2304L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeQuadruple, Materials.Neutronium, 1L), + ItemList.Hull_MAX.get(1L), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.Hatch_Input_Multi_2x2_UHV.get(1L)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(2304L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 4L), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1L), + ItemList.Robot_Arm_IV.get(2L), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Casing_Gearbox_TungstenSteel.get(1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + { // limiting lifetime of the variables + ItemStack flask = ItemList.VOLUMETRIC_FLASK.get(1); + NBTTagCompound nbtFlask = new NBTTagCompound(); + int[] capacities = new int[] { 144, 288, 576, 720, 864, 72, 648, 936, 250, 500, 1000 }; + int[] circuitConfigurations = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 24 }; + for (int i = 0; i < capacities.length; i++) { + nbtFlask.setInteger("Capacity", capacities[i]); + flask.setTagCompound(nbtFlask); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.VOLUMETRIC_FLASK.get(1), + GT_Utility.getIntegratedCircuit(circuitConfigurations[i])) + .itemOutputs(flask) + .duration(10 * TICKS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + } + } + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Bronze, 1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Bronze, 1), + ItemList.Electric_Motor_LV.get(1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Hatch_Muffler_LV.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Steel, 1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Steel, 1), + ItemList.Electric_Motor_MV.get(1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Hatch_Muffler_MV.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.StainlessSteel, 1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_HV.get(1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Hatch_Muffler_HV.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Titanium, 1), + ItemList.Electric_Motor_EV.get(1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Hatch_Muffler_EV.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.TungstenSteel, 1), + ItemList.Electric_Motor_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Hatch_Muffler_IV.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Enderium, 1), + ItemList.Electric_Motor_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Enderium, 1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Hatch_Muffler_LuV.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 1), + ItemList.Electric_Motor_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.NaquadahAlloy, 1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Hatch_Muffler_ZPM.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.NetherStar, 1), + ItemList.Electric_Motor_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Neutronium, 1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Hatch_Muffler_UV.get(1)) + .duration(10 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.MysteriousCrystal, 1), + ItemList.Electric_Motor_UHV.get(1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.CosmicNeutronium, 1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Hatch_Muffler_MAX.get(1)) + .duration(10 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.redstone_torch, 2, 32767), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1)) + .itemOutputs(new ItemStack(Items.repeater, 1, 0)) + .fluidInputs(Materials.Concrete.getMolten(144)) + .duration(4 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.leather, 1, 32767), new ItemStack(Items.lead, 1, 32767)) + .itemOutputs(new ItemStack(Items.name_tag, 1, 0)) + .fluidInputs(Materials.Glue.getFluid(72)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(NewHorizonsCoreMod.ID, "item.ArtificialLeather", 1L, 0), + new ItemStack(Items.lead, 1, 32767)) + .itemOutputs(new ItemStack(Items.name_tag, 1, 0)) + .fluidInputs(Materials.Glue.getFluid(72)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 8), + new ItemStack(Items.compass, 1, 32767)) + .itemOutputs(new ItemStack(Items.map, 1, 0)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tantalum, 1), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Manganese, 1)) + .itemOutputs(ItemList.Battery_RE_ULV_Tantalum.get(8)) + .fluidInputs(Materials.Plastic.getMolten(144)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(TwilightForest.ID, "item.charmOfLife1", 4L, 0), GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(getModItem(TwilightForest.ID, "item.charmOfLife2", 1L, 0)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(TwilightForest.ID, "item.charmOfKeeping1", 4L, 0), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(getModItem(TwilightForest.ID, "item.charmOfKeeping2", 1L, 0)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(TwilightForest.ID, "item.charmOfKeeping2", 4L, 0), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(getModItem(TwilightForest.ID, "item.charmOfKeeping3", 1L, 0)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(TwilightForest.ID, "item.charmOfLife2", 1L, 0), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(TwilightForest.ID, "item.charmOfLife1", 4L, 0)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(TwilightForest.ID, "item.charmOfKeeping2", 1L, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(TwilightForest.ID, "item.charmOfKeeping1", 4L, 0)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(TwilightForest.ID, "item.charmOfKeeping3", 1L, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(TwilightForest.ID, "item.charmOfKeeping2", 4L, 0)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 16), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 20)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 23)) + .fluidInputs(Materials.Redstone.getMolten(144)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 17), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 20)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 24)) + .fluidInputs(Materials.Redstone.getMolten(144)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 18), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 20)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 22)) + .fluidInputs(Materials.Redstone.getMolten(144)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CertusQuartz, 1), + new ItemStack(Blocks.sand, 1, 32767)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 2L, 0)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NetherQuartz, 1), + new ItemStack(Blocks.sand, 1, 32767)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 2L, 600)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Fluix, 1), + new ItemStack(Blocks.sand, 1, 32767)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 2L, 1200)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Wax.get(6), new ItemStack(Items.string, 1, 32767)) + .itemOutputs(getModItem(Forestry.ID, "candle", 24L, 0)) + .fluidInputs(Materials.Water.getFluid(600)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Wax.get(2), ItemList.FR_Silk.get(1)) + .itemOutputs(getModItem(Forestry.ID, "candle", 8L, 0)) + .fluidInputs(Materials.Water.getFluid(200)) + .duration(16 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Silk.get(9), GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(getModItem(Forestry.ID, "craftingMaterial", 1L, 3)) + .fluidInputs(Materials.Water.getFluid(500)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Forestry.ID, "propolis", 5L, 2), GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(getModItem(Forestry.ID, "craftingMaterial", 1L, 1)) + .duration(16 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), + new ItemStack(Blocks.wool, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.torch, 6, 0)) + .fluidInputs(Materials.Creosote.getFluid(1000)) + .duration(2 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Forestry.ID, "craftingMaterial", 5L, 1), GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.EnderPearl, 1)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.piston, 1, 32767), new ItemStack(Items.slime_ball, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.sticky_piston, 1, 0)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.piston, 1, 32767), ItemList.IC2_Resin.get(1)) + .itemOutputs(new ItemStack(Blocks.sticky_piston, 1, 0)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.piston, 1, 32767), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(Blocks.sticky_piston, 1, 0)) + .fluidInputs(Materials.Glue.getFluid(100)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Rubber, 3), + GT_ModHandler.getIC2Item("carbonMesh", 3), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Duct_Tape.get(1)) + .fluidInputs(Materials.Glue.getFluid(300)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StyreneButadieneRubber, 2), + GT_ModHandler.getIC2Item("carbonMesh", 2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Duct_Tape.get(1)) + .fluidInputs(Materials.Glue.getFluid(200)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Silicone, 1), + GT_ModHandler.getIC2Item("carbonMesh", 1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Duct_Tape.get(1)) + .fluidInputs(Materials.Glue.getFluid(100)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + // Maintenance Hatch Recipes Using BrainTech + Refined Glue. Info: One BrainTech Recipe Is In GT+ü Originally. + // The Maintenance Hatch Recipe using SuperGlue is there. + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_LV.get(1), ItemList.Duct_Tape.get(2), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Maintenance.get(1)) + .fluidInputs(Materials.Glue.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 3), + new ItemStack(Items.leather, 1, 32767)) + .itemOutputs(new ItemStack(Items.book, 1, 0)) + .fluidInputs(Materials.Glue.getFluid(20)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 3), + getModItem(NewHorizonsCoreMod.ID, "item.ArtificialLeather", 1L, 0)) + .itemOutputs(new ItemStack(Items.book, 1, 0)) + .fluidInputs(Materials.Glue.getFluid(20)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 3), + GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Paper, 1)) + .itemOutputs(new ItemStack(Items.book, 1, 0)) + .fluidInputs(Materials.Glue.getFluid(20)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Paper_Printed_Pages.get(1), new ItemStack(Items.leather, 1, 32767)) + .itemOutputs(new ItemStack(Items.written_book, 1, 0)) + .fluidInputs(Materials.Glue.getFluid(20)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Paper_Printed_Pages.get(1), + getModItem(NewHorizonsCoreMod.ID, "item.ArtificialLeather", 1L, 0)) + .itemOutputs(new ItemStack(Items.written_book, 1, 0)) + .fluidInputs(Materials.Glue.getFluid(20)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Tin, 4)) + .itemOutputs(ItemList.Cell_Universal_Fluid.get(1)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Baked_Cake.get(1), new ItemStack(Items.egg, 1, 0)) + .itemOutputs(new ItemStack(Items.cake, 1, 0)) + .fluidInputs(Materials.Milk.getFluid(3000)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Sliced_Bun.get(2), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Food_Sliced_Buns.get(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Sliced_Bread.get(2), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Food_Sliced_Breads.get(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Sliced_Baguette.get(2), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Food_Sliced_Baguettes.get(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Sliced_Buns.get(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Food_Sliced_Bun.get(2)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Sliced_Breads.get(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Food_Sliced_Bread.get(2)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Sliced_Baguettes.get(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Food_Sliced_Baguette.get(2)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Food_Sliced_Bun.get(2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatCooked, 1)) + .itemOutputs(ItemList.Food_Burger_Meat.get(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Food_Sliced_Buns.get(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatCooked, 1)) + .itemOutputs(ItemList.Food_Burger_Meat.get(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Sliced_Bun.get(2), ItemList.Food_Chum.get(1)) + .itemOutputs(ItemList.Food_Burger_Chum.get(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Sliced_Buns.get(1), ItemList.Food_Chum.get(1)) + .itemOutputs(ItemList.Food_Burger_Chum.get(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Sliced_Bun.get(2), ItemList.Food_Sliced_Cheese.get(3)) + .itemOutputs(ItemList.Food_Burger_Cheese.get(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Sliced_Buns.get(1), ItemList.Food_Sliced_Cheese.get(3)) + .itemOutputs(ItemList.Food_Burger_Cheese.get(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Food_Flat_Dough.get(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatCooked, 1)) + .itemOutputs(ItemList.Food_Raw_Pizza_Meat.get(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Flat_Dough.get(1), ItemList.Food_Sliced_Cheese.get(3)) + .itemOutputs(ItemList.Food_Raw_Pizza_Cheese.get(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + // SC craft + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Pentacadmiummagnesiumhexaoxid, 3), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.StainlessSteel, 2), + ItemList.Electric_Pump_MV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorMV, 3)) + .fluidInputs(Materials.Helium.getGas(2000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Titaniumonabariumdecacoppereikosaoxid, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Titanium, 4), + ItemList.Electric_Pump_HV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorHV, 6)) + .fluidInputs(Materials.Helium.getGas(4000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Uraniumtriplatinid, 9), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.TungstenSteel, 6), + ItemList.Electric_Pump_EV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorEV, 9)) + .fluidInputs(Materials.Helium.getGas(6000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Vanadiumtriindinid, 12), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.NiobiumTitanium, 8), + ItemList.Electric_Pump_IV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorIV, 12)) + .fluidInputs(Materials.Helium.getGas(8000)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get( + OrePrefixes.wireGt01, + Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, + 15), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Enderium, 10), + ItemList.Electric_Pump_LuV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 15)) + .fluidInputs(Materials.Helium.getGas(12000)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 18), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Naquadah, 12), + ItemList.Electric_Pump_ZPM.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 18)) + .fluidInputs(Materials.Helium.getGas(16000)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Longasssuperconductornameforuvwire, 21), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Neutronium, 14), + ItemList.Electric_Pump_UV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUV, 21)) + .fluidInputs(Materials.Helium.getGas(20000)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Longasssuperconductornameforuhvwire, 24), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Bedrockium, 16), + ItemList.Electric_Pump_UHV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 24)) + .fluidInputs(Materials.Helium.getGas(24000)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Pentacadmiummagnesiumhexaoxid, 3), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.StainlessSteel, 2), + ItemList.Electric_Pump_MV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorMV, 3)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(4)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Titaniumonabariumdecacoppereikosaoxid, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Titanium, 4), + ItemList.Electric_Pump_HV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorHV, 6)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(8)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Uraniumtriplatinid, 9), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.TungstenSteel, 6), + ItemList.Electric_Pump_EV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorEV, 9)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(12)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Vanadiumtriindinid, 12), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.NiobiumTitanium, 8), + ItemList.Electric_Pump_IV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorIV, 12)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(16)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get( + OrePrefixes.wireGt01, + Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, + 15), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Enderium, 10), + ItemList.Electric_Pump_LuV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 15)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(24)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 18), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Naquadah, 12), + ItemList.Electric_Pump_ZPM.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 18)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(32)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Longasssuperconductornameforuvwire, 21), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Neutronium, 14), + ItemList.Electric_Pump_UV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUV, 21)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(40)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Longasssuperconductornameforuhvwire, 24), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Bedrockium, 16), + ItemList.Electric_Pump_UHV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 24)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(48)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUEVBase, 27), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Infinity, 18), + ItemList.Electric_Pump_UEV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUEV, 27)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(56)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUIVBase, 30L), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, MaterialsUEVplus.TranscendentMetal, 20L), + ItemList.Electric_Pump_UIV.get(1L), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUIV, 30L)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(68)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUMVBase, 33), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, MaterialsUEVplus.SpaceTime, 22), + ItemList.Electric_Pump_UMV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUMV, 33)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(72)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.IronMagnetic, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lead, 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.ULV_Coil.get(1)) + .duration(10 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.IronMagnetic, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.LV_Coil.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SteelMagnetic, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Aluminium, 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MV_Coil.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SteelMagnetic, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.EnergeticAlloy, 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.HV_Coil.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NeodymiumMagnetic, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.TungstenSteel, 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.EV_Coil.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NeodymiumMagnetic, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Iridium, 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.IV_Coil.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, ExternalMaterials.getRuridit(), 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.LuV_Coil.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.ZPM_Coil.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.ElectrumFlux, 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.UV_Coil.get(1)) + .duration(10 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 1), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.UHV_Coil.get(1)) + .duration(10 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Wood, 6), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Wood, 2)) + .fluidInputs(Materials.Glue.getFluid(10)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Wood, 3), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Wood, 4)) + .fluidInputs(Materials.Glue.getFluid(20)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Wood, 1), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeSmall, Materials.Wood, 6)) + .fluidInputs(Materials.Glue.getFluid(60)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4), + GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Advanced, 4), + GT_OreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Diamond, 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Ingot_IridiumAlloy.get(1)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Steel, 1), + ItemList.Electric_Motor_MV.get(1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Steel, 1), + new ItemStack(Blocks.iron_bars, 6), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Casing_Grate.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + ItemList.Electric_Motor_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Iridium, 1), + ItemList.Component_Filter.get(8), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Iridium, 8)) + .itemOutputs(ItemList.Casing_Vent_T2.get(1)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), + new ItemStack(Items.coal, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.torch, 4)) + .duration(2 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Gold, 2), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Steel, 1)) + .itemOutputs(new ItemStack(Blocks.light_weighted_pressure_plate, 1)) + .duration(10 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 2), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Steel, 1)) + .itemOutputs(new ItemStack(Blocks.heavy_weighted_pressure_plate, 1)) + .duration(10 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 7), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(new ItemStack(Items.cauldron, 1)) + .duration(35 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Iron, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("ironFence", 1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Iron, 3), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(new ItemStack(Blocks.iron_bars, 4)) + .duration(15 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 7), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(new ItemStack(Items.cauldron, 1)) + .duration(35 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.WroughtIron, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("ironFence", 1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.WroughtIron, 3), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(new ItemStack(Blocks.iron_bars, 4)) + .duration(15 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 3), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(new ItemStack(Blocks.fence, 1)) + .duration(15 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Iron, 2)) + .itemOutputs(new ItemStack(Blocks.tripwire_hook, 1)) + .duration(20 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.WroughtIron, 2)) + .itemOutputs(new ItemStack(Blocks.tripwire_hook, 1)) + .duration(20 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 3), + new ItemStack(Items.string, 3, 32767)) + .itemOutputs(new ItemStack(Items.bow, 1)) + .duration(20 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 3), + ItemList.Component_Minecart_Wheels_Iron.get(2)) + .itemOutputs(new ItemStack(Items.minecart, 1)) + .duration(5 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 3), + ItemList.Component_Minecart_Wheels_Iron.get(2)) + .itemOutputs(new ItemStack(Items.minecart, 1)) + .duration(4 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 3), + ItemList.Component_Minecart_Wheels_Steel.get(2)) + .itemOutputs(new ItemStack(Items.minecart, 1)) + .duration(5 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Iron, 2)) + .itemOutputs(ItemList.Component_Minecart_Wheels_Iron.get(1)) + .duration(5 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.WroughtIron, 1), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.WroughtIron, 2)) + .itemOutputs(ItemList.Component_Minecart_Wheels_Iron.get(1)) + .duration(4 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 1), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Steel, 2)) + .itemOutputs(ItemList.Component_Minecart_Wheels_Steel.get(1)) + .duration(3 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.minecart, 1), new ItemStack(Blocks.hopper, 1, 32767)) + .itemOutputs(new ItemStack(Items.hopper_minecart, 1)) + .duration(20 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.minecart, 1), new ItemStack(Blocks.tnt, 1, 32767)) + .itemOutputs(new ItemStack(Items.tnt_minecart, 1)) + .duration(20 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.minecart, 1), new ItemStack(Blocks.chest, 1, 32767)) + .itemOutputs(new ItemStack(Items.chest_minecart, 1)) + .duration(20 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.minecart, 1), new ItemStack(Blocks.trapped_chest, 1, 32767)) + .itemOutputs(new ItemStack(Items.chest_minecart, 1)) + .duration(20 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.minecart, 1), new ItemStack(Blocks.furnace, 1, 32767)) + .itemOutputs(new ItemStack(Items.furnace_minecart, 1)) + .duration(20 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.tripwire_hook, 1), new ItemStack(Blocks.chest, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.trapped_chest, 1)) + .duration(10 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.stone, 1, 0), GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(new ItemStack(Blocks.stonebrick, 1, 0)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.sandstone, 1, 0), GT_Utility.getIntegratedCircuit(23)) + .itemOutputs(new ItemStack(Blocks.sandstone, 1, 2)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.sandstone, 1, 1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(Blocks.sandstone, 1, 0)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.sandstone, 1, 2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(Blocks.sandstone, 1, 0)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 8), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(GT_ModHandler.getIC2Item("machine", 1)) + .duration(1 * SECONDS + 5 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 8), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.Casing_ULV.get(1)) + .duration(1 * SECONDS + 5 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 8), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.Casing_LV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 8), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.Casing_MV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.Casing_HV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 8), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.Casing_EV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 8), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.Casing_IV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, ExternalMaterials.getRhodiumPlatedPalladium(), 8), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.Casing_LuV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 8), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.Casing_ZPM.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 8), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.Casing_UV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.Casing_MAX.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Invar, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Invar, 1)) + .itemOutputs(ItemList.Casing_HeatProof.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Steel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Casing_SolidSteel.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1)) + .itemOutputs(ItemList.Casing_FrostProof.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1)) + .itemOutputs(ItemList.Casing_RobustTungstenSteel.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1)) + .itemOutputs(ItemList.Casing_CleanStainlessSteel.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1)) + .itemOutputs(ItemList.Casing_StableTitanium.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Osmiridium, 1)) + .itemOutputs(ItemList.Casing_MiningOsmiridium.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 1)) + .itemOutputs(ItemList.Casing_MiningNeutronium.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.BlackPlutonium, 1)) + .itemOutputs(ItemList.Casing_MiningBlackPlutonium.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.HSSS, 4), ItemList.Casing_LuV.get(1)) + .itemOutputs(ItemList.Casing_Fusion.get(1)) + .fluidInputs(Materials.HSSG.getMolten(288)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 4), + ItemList.Casing_Fusion.get(1)) + .itemOutputs(ItemList.Casing_Fusion2.get(1)) + .fluidInputs(Materials.NaquadahAlloy.getMolten(288)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Magnalium, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.BlueSteel, 1)) + .itemOutputs(ItemList.Casing_Turbine.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 6), + ItemList.Casing_Turbine.get(1)) + .itemOutputs(ItemList.Casing_Turbine1.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 6), + ItemList.Casing_Turbine.get(1)) + .itemOutputs(ItemList.Casing_Turbine2.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6), + ItemList.Casing_Turbine.get(1)) + .itemOutputs(ItemList.Casing_Turbine3.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.HSSS, 6), ItemList.Casing_Turbine.get(1)) + .itemOutputs(ItemList.Casing_TurbineGasAdvanced.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_SolidSteel.get(1), GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(ItemList.Casing_Chemically_Inert.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(216)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1)) + .itemOutputs(ItemList.Casing_Advanced_Iridium.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + if (GT_Mod.gregtechproxy.mHardMachineCasings) { + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Lead, 2), + ItemList.Casing_ULV.get(1)) + .itemOutputs(ItemList.Hull_ULV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(288)) + .duration(1 * SECONDS + 5 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 2), + ItemList.Casing_LV.get(1)) + .itemOutputs(ItemList.Hull_LV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(288)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Copper, 2), + ItemList.Casing_MV.get(1)) + .itemOutputs(ItemList.Hull_MV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(288)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.AnnealedCopper, 2), + ItemList.Casing_MV.get(1)) + .itemOutputs(ItemList.Hull_MV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(288)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Gold, 2), + ItemList.Casing_HV.get(1)) + .itemOutputs(ItemList.Hull_HV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(288)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Aluminium, 2), + ItemList.Casing_EV.get(1)) + .itemOutputs(ItemList.Hull_EV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(288)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tungsten, 2), + ItemList.Casing_IV.get(1)) + .itemOutputs(ItemList.Hull_IV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(288)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.VanadiumGallium, 2), + ItemList.Casing_LuV.get(1)) + .itemOutputs(ItemList.Hull_LuV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(288)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 2), + ItemList.Casing_ZPM.get(1)) + .itemOutputs(ItemList.Hull_ZPM.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(288)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2), + ItemList.Casing_UV.get(1)) + .itemOutputs(ItemList.Hull_UV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(288)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 2), + ItemList.Casing_MAX.get(1)) + .itemOutputs(ItemList.Hull_MAX.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(288)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + } else { + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Lead, 2), + ItemList.Casing_ULV.get(1)) + .itemOutputs(ItemList.Hull_ULV.get(1)) + .duration(1 * SECONDS + 5 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 2), + ItemList.Casing_LV.get(1)) + .itemOutputs(ItemList.Hull_LV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Copper, 2), + ItemList.Casing_MV.get(1)) + .itemOutputs(ItemList.Hull_MV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.AnnealedCopper, 2), + ItemList.Casing_MV.get(1)) + .itemOutputs(ItemList.Hull_MV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Gold, 2), + ItemList.Casing_HV.get(1)) + .itemOutputs(ItemList.Hull_HV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Aluminium, 2), + ItemList.Casing_EV.get(1)) + .itemOutputs(ItemList.Hull_EV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tungsten, 2), + ItemList.Casing_IV.get(1)) + .itemOutputs(ItemList.Hull_IV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.VanadiumGallium, 2), + ItemList.Casing_LuV.get(1)) + .itemOutputs(ItemList.Hull_LuV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 2), + ItemList.Casing_ZPM.get(1)) + .itemOutputs(ItemList.Hull_ZPM.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2), + ItemList.Casing_UV.get(1)) + .itemOutputs(ItemList.Hull_UV.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 2), + ItemList.Casing_MAX.get(1)) + .itemOutputs(ItemList.Hull_MAX.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 1)) + .itemOutputs(ItemList.Battery_Hull_LV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(144)) + .duration(4 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Copper, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 3)) + .itemOutputs(ItemList.Battery_Hull_MV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(432)) + .duration(16 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.AnnealedCopper, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 3)) + .itemOutputs(ItemList.Battery_Hull_MV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(432)) + .duration(16 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Gold, 4), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BatteryAlloy, 9)) + .itemOutputs(ItemList.Battery_Hull_HV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(1296)) + .duration(1 * MINUTES + 4 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.string, 4, 32767), new ItemStack(Items.slime_ball, 1, 32767)) + .itemOutputs(new ItemStack(Items.lead, 2)) + .duration(2 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("batPack", 1L, 32767), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.IC2_ReBattery.get(6)) + .duration(40 * SECONDS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("carbonFiber", 2), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(GT_ModHandler.getIC2Item("carbonMesh", 1)) + .duration(8 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 5), + new ItemStack(Blocks.chest, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.hopper)) + .duration(8 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 5), + new ItemStack(Blocks.trapped_chest, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.hopper)) + .duration(8 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 5), + new ItemStack(Blocks.chest, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.hopper)) + .duration(8 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 5), + new ItemStack(Blocks.trapped_chest, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.hopper)) + .duration(8 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.CobaltBrass, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1)) + .itemOutputs(ItemList.Component_Sawblade_Diamond.get(1)) + .duration(16 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1)) + .itemOutputs(new ItemStack(Blocks.redstone_torch, 1)) + .duration(1 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1)) + .itemOutputs(new ItemStack(Blocks.torch, 2)) + .duration(2 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TricalciumPhosphate, 1)) + .itemOutputs(new ItemStack(Blocks.torch, 6)) + .duration(2 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), ItemList.IC2_Resin.get(1)) + .itemOutputs(new ItemStack(Blocks.torch, 6)) + .duration(2 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + if (!GT_Mod.gregtechproxy.mDisableIC2Cables) { + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getIC2Item("tinCableItem", 1), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 1)) + .itemOutputs(GT_ModHandler.getIC2Item("insulatedTinCableItem", 1)) + .duration(1 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getIC2Item("copperCableItem", 1), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 1)) + .itemOutputs(GT_ModHandler.getIC2Item("insulatedCopperCableItem", 1)) + .duration(1 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getIC2Item("goldCableItem", 1), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 2)) + .itemOutputs(GT_ModHandler.getIC2Item("insulatedGoldCableItem", 1)) + .duration(2 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getIC2Item("ironCableItem", 1), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 3)) + .itemOutputs(GT_ModHandler.getIC2Item("insulatedIronCableItem", 1)) + .duration(3 * SECONDS) + .eut(20) + .addTo(assemblerRecipes); + } + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Wood, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1)) + .itemOutputs(new ItemStack(Items.wooden_sword, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Stone, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1)) + .itemOutputs(new ItemStack(Items.stone_sword, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1)) + .itemOutputs(new ItemStack(Items.iron_sword, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1)) + .itemOutputs(new ItemStack(Items.golden_sword, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Diamond, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1)) + .itemOutputs(new ItemStack(Items.diamond_sword, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Bronze, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1)) + .itemOutputs(ItemList.Tool_Sword_Bronze.getUndamaged(1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Steel, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1)) + .itemOutputs(ItemList.Tool_Sword_Steel.getUndamaged(1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Wood, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.wooden_pickaxe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Stone, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.stone_pickaxe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.iron_pickaxe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.golden_pickaxe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Diamond, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.diamond_pickaxe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Bronze, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(ItemList.Tool_Pickaxe_Bronze.getUndamaged(1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.Steel, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(ItemList.Tool_Pickaxe_Steel.getUndamaged(1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Wood, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.wooden_shovel, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Stone, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.stone_shovel, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.iron_shovel, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.golden_shovel, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Diamond, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.diamond_shovel, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Bronze, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(ItemList.Tool_Shovel_Bronze.getUndamaged(1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.Steel, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(ItemList.Tool_Shovel_Steel.getUndamaged(1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Wood, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.wooden_axe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Stone, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.stone_axe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.iron_axe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.golden_axe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Diamond, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.diamond_axe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Bronze, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(ItemList.Tool_Axe_Bronze.getUndamaged(1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.Steel, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(ItemList.Tool_Axe_Steel.getUndamaged(1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Wood, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.wooden_hoe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Stone, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.stone_hoe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.iron_hoe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.golden_hoe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Diamond, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(new ItemStack(Items.diamond_hoe, 1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Bronze, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(ItemList.Tool_Hoe_Bronze.getUndamaged(1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, Materials.Steel, 1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2)) + .itemOutputs(ItemList.Tool_Hoe_Steel.getUndamaged(1)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + // fuel rod assembler recipes + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.ThoriumCell_1.get(2), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.ThoriumCell_2.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.ThoriumCell_1.get(4), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Steel, 6), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.ThoriumCell_4.get(1)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.ThoriumCell_2.get(2), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(ItemList.ThoriumCell_4.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Uraniumcell_1.get(2), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Uraniumcell_2.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Uraniumcell_1.get(4), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Steel, 6), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.Uraniumcell_4.get(1)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Uraniumcell_2.get(2), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(ItemList.Uraniumcell_4.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Moxcell_1.get(2), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Moxcell_2.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Moxcell_1.get(4), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Steel, 6), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.Moxcell_4.get(1)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Moxcell_2.get(2), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(ItemList.Moxcell_4.get(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.NaquadahCell_1.get(2), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TungstenSteel, 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.NaquadahCell_2.get(1)) + .duration(5 * SECONDS) + .eut(400) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.NaquadahCell_1.get(4), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TungstenSteel, 6), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.NaquadahCell_4.get(1)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(400) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.NaquadahCell_2.get(2), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TungstenSteel, 4), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(ItemList.NaquadahCell_4.get(1)) + .duration(5 * SECONDS) + .eut(400) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.MNqCell_1.get(2), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TungstenSteel, 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.MNqCell_2.get(1)) + .duration(5 * SECONDS) + .eut(400) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.MNqCell_1.get(4), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TungstenSteel, 6), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.MNqCell_4.get(1)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(400) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.MNqCell_2.get(2), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TungstenSteel, 4), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(ItemList.MNqCell_4.get(1)) + .duration(5 * SECONDS) + .eut(400) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 8), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Iridium, 4)) + .itemOutputs(ItemList.neutroniumHeatCapacitor.get(1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.NaquadahAlloy.getPlates(8), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1)) + .itemOutputs(ItemList.RadiantNaquadahAlloyCasing.get(1)) + .duration(10 * TICKS) + .eut(400000) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.KevlarFiber.get(8), GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.WovenKevlar.get(1)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 1), + ItemList.NC_SensorKit.get(1), + ItemList.Emitter_EV.get(1), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1, 28), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Cover_Metrics_Transmitter.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(INGOTS)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + ItemStack[] plates = new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L) }; + + for (Materials tMat : solderingMats) { + int tMultiplier = tMat.contains(SubTag.SOLDERING_MATERIAL_GOOD) ? 1 + : tMat.contains(SubTag.SOLDERING_MATERIAL_BAD) ? 4 : 2; + + for (ItemStack tPlate : plates) { + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.lever, 1, 32767), tPlate, GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cover_Controller.get(1)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(40 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.redstone_torch, 1, 32767), + tPlate, + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cover_ActivityDetector.get(1)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(40 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.heavy_weighted_pressure_plate, 1, 32767), + tPlate, + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cover_FluidDetector.get(1)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(40 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.light_weighted_pressure_plate, 1, 32767), + tPlate, + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cover_ItemDetector.get(1)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(40 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("ecMeter", 1), tPlate, GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cover_EnergyDetector.get(1)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(40 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + } + + } + } + + /** + * Adds recipes for input buses from ULV to UHV + */ + public void loadInputBusesRecipes() { + // ULV input bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + getModItem(NewHorizonsCoreMod.ID, "BabyChest", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_ULV.get(1)) + .fluidInputs(Materials.Glue.getFluid(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + getModItem(NewHorizonsCoreMod.ID, "BabyChest", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_ULV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(1 * HALF_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + getModItem(NewHorizonsCoreMod.ID, "BabyChest", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_ULV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * EIGHTH_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + getModItem(NewHorizonsCoreMod.ID, "BabyChest", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_ULV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(4)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + } + + // LV input bus + { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_LV.get(1)) + .fluidInputs(Materials.Glue.getFluid(5 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_LV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_LV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * HALF_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_LV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(9)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + } + + // MV input bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 3), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_MV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(2 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 3), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_MV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 3), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_MV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * EIGHTH_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + } + + // HV input bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_HV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(3 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_HV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_HV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * QUARTER_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + + // EV input bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_EV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(4 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_EV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * HALF_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + } + + // IV input bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_IV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(8 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_IV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + } + + // LuV input bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_LuV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(16 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_LuV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(2 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + } + + // ZPM input bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + getModItem(IronChests.ID, "BlockIronChest", 2, 5), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_ZPM.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(4 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + } + + // UV input bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 2, 6), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_UV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(8 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(assemblerRecipes); + } + + // UHV input bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + getModItem(AvaritiaAddons.ID, "CompressedChest", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_Bus_MAX.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(16 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + } + } + + /** + * Adds recipes for output buses from ULV to UHV + */ + public void loadOutputBusesRecipes() { + + /* + * those early exits prevents further hatches recipes from being registered, but it's probably fine, as that + * means we aren't in full pack + */ + + if (!NewHorizonsCoreMod.isModLoaded()) { + return; + } + + // ULV output bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + getModItem(NewHorizonsCoreMod.ID, "BabyChest", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_ULV.get(1)) + .fluidInputs(Materials.Glue.getFluid(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + getModItem(NewHorizonsCoreMod.ID, "BabyChest", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_ULV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(1 * HALF_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + getModItem(NewHorizonsCoreMod.ID, "BabyChest", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_ULV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * EIGHTH_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + getModItem(NewHorizonsCoreMod.ID, "BabyChest", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_ULV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(4)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + } + + // LV output bus + { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_LV.get(1)) + .fluidInputs(Materials.Glue.getFluid(5 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_LV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_LV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * HALF_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_LV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(9)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + } + + if (!IronChests.isModLoaded()) { + return; + } + + // MV output bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 3), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_MV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(2 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 3), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_MV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 3), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_MV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * EIGHTH_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + } + + // HV output bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 0), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_HV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(3 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 0), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_HV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 0), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_HV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * QUARTER_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + + // EV output bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_EV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(4 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_EV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * HALF_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + } + + // IV output bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_IV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(8 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_IV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + } + + // LuV output bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_LuV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(16 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 1, 2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_LuV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(2 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + } + + // ZPM output bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + getModItem(IronChests.ID, "BlockIronChest", 2, 5), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_ZPM.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(4 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + } + + // UV output bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + getModItem(IronChests.ID, "BlockIronChest", 2, 6), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_UV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(8 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(assemblerRecipes); + } + + if (!AvaritiaAddons.isModLoaded()) { + return; + } + + // UHV output bus + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + getModItem(AvaritiaAddons.ID, "CompressedChest", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_Bus_MAX.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(16 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + } + } + + /** + * Adds recipes for input hatches from ULV to UHV + */ + public void loadInputHatchesRecipes() { + // ULV input hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_ULV.get(1)) + .fluidInputs(Materials.Glue.getFluid(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_ULV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(1 * HALF_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_ULV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * EIGHTH_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_ULV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(4)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + } + + /* + * those early exits prevents further hatches recipes from being registered, but it's probably fine, as that + * means we aren't in full pack + */ + + if (!BuildCraftFactory.isModLoaded()) { + return; + } + + // LV input hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LV.get(1), + getModItem(BuildCraftFactory.ID, "tankBlock", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_LV.get(1)) + .fluidInputs(Materials.Glue.getFluid(5 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LV.get(1), + getModItem(BuildCraftFactory.ID, "tankBlock", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_LV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LV.get(1), + getModItem(BuildCraftFactory.ID, "tankBlock", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_LV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * HALF_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LV.get(1), + getModItem(BuildCraftFactory.ID, "tankBlock", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_LV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(9)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + } + + if (!IronTanks.isModLoaded()) { + return; + } + + // MV input hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + getModItem(IronTanks.ID, "copperTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_MV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(2 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + getModItem(IronTanks.ID, "copperTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_MV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + getModItem(IronTanks.ID, "copperTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_MV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * EIGHTH_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + } + + // HV input hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + getModItem(IronTanks.ID, "ironTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_HV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(3 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + getModItem(IronTanks.ID, "ironTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_HV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + getModItem(IronTanks.ID, "ironTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_HV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * QUARTER_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + + // EV input hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1), + getModItem(IronTanks.ID, "silverTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_EV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(4 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1), + getModItem(IronTanks.ID, "silverTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_EV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * HALF_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + } + + // IV input hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + getModItem(IronTanks.ID, "goldTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_IV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(8 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + getModItem(IronTanks.ID, "goldTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_IV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + } + + // LuV input hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + getModItem(IronTanks.ID, "diamondTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_LuV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(16 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + getModItem(IronTanks.ID, "diamondTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_LuV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(2 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + } + + // ZPM input hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + getModItem(IronTanks.ID, "obsidianTank", 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_ZPM.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(4 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + } + + // UV input hatch + { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_UV.get(1), ItemList.Super_Tank_LV.get(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_UV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(8 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(assemblerRecipes); + } + + // UHV input hatch + { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_MAX.get(1), ItemList.Super_Tank_MV.get(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Input_MAX.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(16 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + } + } + + /** + * Adds recipes for output hatches from ULV to UHV + */ + public void loadOutputHatchesRecipes() { + // ULV output hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_ULV.get(1)) + .fluidInputs(Materials.Glue.getFluid(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_ULV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(1 * HALF_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_ULV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * EIGHTH_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ULV.get(1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_ULV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(4)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ULV) + .addTo(assemblerRecipes); + } + + /* + * those early exits prevents further hatches recipes from being registered, but it's probably fine, as that + * means we aren't in full pack + */ + + if (!BuildCraftFactory.isModLoaded()) { + return; + } + + // LV output hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LV.get(1), + getModItem(BuildCraftFactory.ID, "tankBlock", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_LV.get(1)) + .fluidInputs(Materials.Glue.getFluid(5 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LV.get(1), + getModItem(BuildCraftFactory.ID, "tankBlock", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_LV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LV.get(1), + getModItem(BuildCraftFactory.ID, "tankBlock", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_LV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * HALF_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LV.get(1), + getModItem(BuildCraftFactory.ID, "tankBlock", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_LV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(9)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + } + + if (!IronTanks.isModLoaded()) { + return; + } + + // MV output hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + getModItem(IronTanks.ID, "copperTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_MV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(2 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + getModItem(IronTanks.ID, "copperTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_MV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MV.get(1), + getModItem(IronTanks.ID, "copperTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_MV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * EIGHTH_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + } + + // HV output hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + getModItem(IronTanks.ID, "ironTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_HV.get(1)) + .fluidInputs(Materials.Plastic.getMolten(3 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + getModItem(IronTanks.ID, "ironTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_HV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + getModItem(IronTanks.ID, "ironTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_HV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * QUARTER_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + + // EV output hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1), + getModItem(IronTanks.ID, "silverTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_EV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(4 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1), + getModItem(IronTanks.ID, "silverTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_EV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * HALF_INGOT)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + } + + // IV output hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + getModItem(IronTanks.ID, "goldTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_IV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(8 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + getModItem(IronTanks.ID, "goldTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_IV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(1 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + } + + // LuV output hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + getModItem(IronTanks.ID, "diamondTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_LuV.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(16 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + getModItem(IronTanks.ID, "diamondTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_LuV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(2 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + } + + // ZPM output hatch + { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + getModItem(IronTanks.ID, "obsidianTank", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_ZPM.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(4 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + } + + // UV output hatch + { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_UV.get(1), ItemList.Super_Tank_LV.get(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_UV.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(8 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(assemblerRecipes); + } + + // UHV output hatch + { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_MAX.get(1), ItemList.Super_Tank_MV.get(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Hatch_Output_MAX.get(1)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(16 * INGOTS)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + } + } + + /** + * Load all Railcraft recipes for GT Machines + */ + private void withRailcraft() { + if (!Railcraft.isModLoaded()) return; + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.stone_slab, 1, 0), + ItemList.RC_Rebar.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_Tie_Stone.get(1)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.stone_slab, 1, 7), + ItemList.RC_Rebar.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_Tie_Stone.get(1)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 3), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Electrum, 3), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.RC_Rail_HS.get(16)) + .fluidInputs(Materials.Blaze.getMolten(216)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 3), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Electrum, 3), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(ItemList.RC_Rail_HS.get(8)) + .fluidInputs(Materials.ConductiveIron.getMolten(432)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 3), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Electrum, 3), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(ItemList.RC_Rail_HS.get(32)) + .fluidInputs(Materials.VibrantAlloy.getMolten(216)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 3), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Electrum, 3), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(ItemList.RC_Rail_HS.get(64)) + .fluidInputs(Materials.CrystallineAlloy.getMolten(216)) + .duration(5 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Rail_Standard.get(3), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Electrum, 3), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.RC_Rail_Adv.get(8)) + .fluidInputs(Materials.Redstone.getMolten(216)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Rail_Standard.get(3), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Electrum, 3), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.RC_Rail_Adv.get(16)) + .fluidInputs(Materials.RedAlloy.getMolten(216)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Rail_Standard.get(3), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Electrum, 3), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.RC_Rail_Adv.get(32)) + .fluidInputs(Materials.ConductiveIron.getMolten(216)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Rail_Standard.get(3), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Electrum, 3), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemList.RC_Rail_Adv.get(64)) + .fluidInputs(Materials.VibrantAlloy.getMolten(216)) + .duration(5 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Rail_Standard.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Copper, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_Rail_Electric.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Rail_Standard.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.AnnealedCopper, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_Rail_Electric.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Rail_Standard.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Gold, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_Rail_Electric.get(2)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Rail_Standard.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Electrum, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_Rail_Electric.get(4)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Rail_Standard.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_Rail_Electric.get(8)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Rail_Standard.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_Rail_Electric.get(16)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Rail_Standard.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.HSSG, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_Rail_Electric.get(32)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Rail_Standard.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Naquadah, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_Rail_Electric.get(64)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(96) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Tie_Wood.get(1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Iron, 1), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.RC_Rail_Wooden.get(8)) + .duration(6 * SECONDS + 13 * TICKS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Tie_Wood.get(1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.WroughtIron, 1), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(ItemList.RC_Rail_Wooden.get(8)) + .duration(6 * SECONDS + 13 * TICKS) + .eut(4) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Tie_Wood.get(1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 1), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(ItemList.RC_Rail_Wooden.get(16)) + .duration(6 * SECONDS + 13 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Tie_Wood.get(1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.StainlessSteel, 1), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(ItemList.RC_Rail_Wooden.get(32)) + .duration(6 * SECONDS + 13 * TICKS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Tie_Wood.get(1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(ItemList.RC_Rail_Wooden.get(64)) + .duration(6 * SECONDS + 13 * TICKS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.RC_Tie_Wood.get(32), GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(ItemList.RC_Bed_Wood.get(24)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.RC_Tie_Wood.get(64), GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(ItemList.RC_Bed_Wood.get(48)) + .duration(10 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.RC_Tie_Stone.get(32), GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(ItemList.RC_Bed_Stone.get(24)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.RC_Tie_Stone.get(64), GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(ItemList.RC_Bed_Stone.get(48)) + .duration(10 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + ItemStack tRailWood = getModItem(Railcraft.ID, "track", 64, 736); + if (tRailWood != null) { + NBTTagCompound tTagWood = new NBTTagCompound(); + tTagWood.setString("track", "railcraft:track.slow"); + tRailWood.stackTagCompound = tTagWood; + + ItemStack tRailWoodB = getModItem(Railcraft.ID, "track.slow", 16); + NBTTagCompound tTagWoodB = new NBTTagCompound(); + tTagWoodB.setString("track", "railcraft:track.slow.boost"); + tRailWoodB.stackTagCompound = tTagWoodB; + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Bed_Wood.get(1), + ItemList.RC_Rail_Wooden.get(6), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(tRailWood) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedAlloy, 1), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(tRailWoodB) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + } + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 1, 0), + ItemList.RC_Rail_Adv.get(2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedAlloy, 1), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(new ItemStack(Blocks.golden_rail, 16, 0)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Bed_Wood.get(1), + ItemList.RC_Rail_Standard.get(6), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(new ItemStack(Blocks.rail, 64, 0)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + ItemStack tRailRe = getModItem(Railcraft.ID, "track", 64); + NBTTagCompound tTagRe = new NBTTagCompound(); + tTagRe.setString("track", "railcraft:track.reinforced"); + tRailRe.stackTagCompound = tTagRe; + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Bed_Stone.get(1), + ItemList.RC_Rail_Reinforced.get(6), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(tRailRe) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + ItemStack tRailReB = getModItem(Railcraft.ID, "track.reinforced", 16); + NBTTagCompound tTagReB = new NBTTagCompound(); + tTagReB.setString("track", "railcraft:track.reinforced.boost"); + tRailReB.stackTagCompound = tTagReB; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedAlloy, 1), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(tRailReB) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + ItemStack tRailEl = getModItem(Railcraft.ID, "track", 64); + NBTTagCompound tTagEl = new NBTTagCompound(); + tTagEl.setString("track", "railcraft:track.electric"); + tRailEl.stackTagCompound = tTagEl; + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Bed_Stone.get(1), + ItemList.RC_Rail_Electric.get(6), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(tRailEl) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + ItemStack tRailHs = getModItem(Railcraft.ID, "track", 64, 816); + if (tRailHs != null) { + NBTTagCompound tTagHs = new NBTTagCompound(); + tTagHs.setString("track", "railcraft:track.speed"); + tRailHs.stackTagCompound = tTagHs; + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.RC_Bed_Stone.get(1), + ItemList.RC_Rail_HS.get(6), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(tRailHs) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + } + ItemStack tRailHsB = getModItem(Railcraft.ID, "track.speed", 16); + NBTTagCompound tTagHsB = new NBTTagCompound(); + tTagHsB.setString("track", "railcraft:track.speed.boost"); + tRailHsB.stackTagCompound = tTagHsB; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedAlloy, 1), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(tRailHsB) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + // --- Wooden Switch Track --- + ItemStack tRailSS = getModItem(Railcraft.ID, "track.slow", 1, 19986); + if (tRailSS != null) { + NBTTagCompound tTagSS = new NBTTagCompound(); + tTagSS.setString("track", "railcraft:track.slow.switch"); + tRailSS.stackTagCompound = tTagSS; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.AnyIron, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailSS) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Steel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailSS)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.StainlessSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailSS)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailSS)) + .duration(5 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailSS)) + .duration(5 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Iridium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailSS)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Osmium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailSS)) + .duration(5 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + } + // --- Wooden Wye Track --- + ItemStack tRailSW = getModItem(Railcraft.ID, "track.slow", 1); + if (tRailSW != null) { + NBTTagCompound tTagSW = new NBTTagCompound(); + tTagSW.setString("track", "railcraft:track.slow.wye"); + tRailSW.stackTagCompound = tTagSW; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.AnyIron, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailSW) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Steel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailSW)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.StainlessSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailSW)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailSW)) + .duration(5 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailSW)) + .duration(5 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Iridium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailSW)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Osmium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailSW)) + .duration(5 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + } + // --- Wooden Junction Tack --- + ItemStack tRailSJ = getModItem(Railcraft.ID, "track.slow", 1); + if (tRailSJ != null) { + NBTTagCompound tTagSJ = new NBTTagCompound(); + tTagSJ.setString("track", "railcraft:track.slow.junction"); + tRailSJ.stackTagCompound = tTagSJ; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.AnyIron, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailSJ) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Steel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailSJ)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.StainlessSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailSJ)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailSJ)) + .duration(5 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailSJ)) + .duration(5 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Iridium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailSJ)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailWood), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Osmium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailSJ)) + .duration(5 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + } + // --- Switch Tack --- + ItemStack tRailNS = getModItem(Railcraft.ID, "track", 1, 4767); + if (tRailNS != null) { + NBTTagCompound tTagNS = new NBTTagCompound(); + tTagNS.setString("track", "railcraft:track.switch"); + tRailNS.stackTagCompound = tTagNS; + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailNS) + .duration(10 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.StainlessSteel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailNS)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailNS)) + .duration(10 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailNS)) + .duration(10 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Iridium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailNS)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Osmium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailNS)) + .duration(10 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Neutronium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailNS)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + } + // --- Wye Tack --- + ItemStack tRailNW = getModItem(Railcraft.ID, "track", 1, 2144); + if (tRailNW != null) { + NBTTagCompound tTagNW = new NBTTagCompound(); + tTagNW.setString("track", "railcraft:track.wye"); + tRailNW.stackTagCompound = tTagNW; + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailNW) + .duration(10 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.StainlessSteel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailNW)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailNW)) + .duration(10 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailNW)) + .duration(10 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Iridium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailNW)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Osmium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailNW)) + .duration(10 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Neutronium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailNW)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + // --- Junction Tack --- + ItemStack tRailNJ = getModItem(Railcraft.ID, "track", 1); + if (tRailNJ != null) { + NBTTagCompound tTagNJ = new NBTTagCompound(); + tTagNJ.setString("track", "railcraft:track.junction"); + tRailNJ.stackTagCompound = tTagNJ; + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailNJ) + .duration(10 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.StainlessSteel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailNJ)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailNJ)) + .duration(10 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailNJ)) + .duration(10 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Iridium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailNJ)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Osmium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailNJ)) + .duration(10 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.rail, 2, 0), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailNJ)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + // --- Reinforced Switch Track --- + ItemStack tRailRS = getModItem(Railcraft.ID, "track.reinforced", 1); + if (tRailRS != null) { + NBTTagCompound tTagRS = new NBTTagCompound(); + tTagRS.setString("track", "railcraft:track.reinforced.switch"); + tRailRS.stackTagCompound = tTagRS; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailRS) + .duration(15 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.StainlessSteel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailRS)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailRS)) + .duration(15 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailRS)) + .duration(15 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Iridium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailRS)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Osmium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailRS)) + .duration(15 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Neutronium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailRS)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + // --- Reinforced Wye Track --- + ItemStack tRailRW = getModItem(Railcraft.ID, "track.reinforced", 1); + if (tRailRW != null) { + NBTTagCompound tTagRW = new NBTTagCompound(); + tTagRW.setString("track", "railcraft:track.reinforced.wye"); + tRailRW.stackTagCompound = tTagRW; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailRW) + .duration(15 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.StainlessSteel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailRW)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailRW)) + .duration(15 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailRW)) + .duration(15 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Iridium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailRW)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Osmium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailRW)) + .duration(15 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Neutronium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailRW)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + // --- Reinforced Junction Track --- + ItemStack tRailRJ = getModItem(Railcraft.ID, "track.reinforced", 1, 764); + if (tRailRJ != null) { + NBTTagCompound tTagRJ = new NBTTagCompound(); + tTagRJ.setString("track", "railcraft:track.reinforced.junction"); + tRailRJ.stackTagCompound = tTagRJ; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailRJ) + .duration(15 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.StainlessSteel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailRJ)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailRJ)) + .duration(15 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailRJ)) + .duration(15 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Iridium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailRJ)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Osmium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailRJ)) + .duration(15 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailRe), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailRJ)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + // --- H.S. Switch Track --- + ItemStack tRailSSw = getModItem(Railcraft.ID, "track.speed", 1, 7916); + if (tRailSSw != null) { + NBTTagCompound tTagRSSw = new NBTTagCompound(); + tTagRSSw.setString("track", "railcraft:track.speed.switch"); + tRailSSw.stackTagCompound = tTagRSSw; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailSSw) + .duration(20 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.StainlessSteel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailSSw)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailSSw)) + .duration(20 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailSSw)) + .duration(20 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Iridium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailSSw)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Osmium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailSSw)) + .duration(20 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Neutronium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailSSw)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + // --- H.S. Wye Track --- + ItemStack tRailSWy = getModItem(Railcraft.ID, "track.speed", 1); + if (tRailSWy != null) { + NBTTagCompound tTagRSWy = new NBTTagCompound(); + tTagRSWy.setString("track", "railcraft:track.speed.wye"); + tRailSWy.stackTagCompound = tTagRSWy; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Steel, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailSWy) + .duration(20 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.StainlessSteel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailSWy)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailSWy)) + .duration(20 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.TungstenSteel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailSWy)) + .duration(20 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Iridium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailSWy)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Osmium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailSWy)) + .duration(20 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Neutronium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailSWy)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + // --- H.S. Transition Track --- + ItemStack tRailSTt = getModItem(Railcraft.ID, "track.speed", 1, 26865); + if (tRailSTt != null) { + NBTTagCompound tTagRSTt = new NBTTagCompound(); + tTagRSTt.setString("track", "railcraft:track.speed.transition"); + tRailSTt.stackTagCompound = tTagRSTt; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + ItemList.RC_Bed_Stone.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedAlloy, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailSTt)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + ItemList.RC_Bed_Stone.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.ConductiveIron, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailSTt)) + .duration(20 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + ItemList.RC_Bed_Stone.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VibrantAlloy, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailSTt)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + ItemList.RC_Bed_Stone.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CrystallineAlloy, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailSTt)) + .duration(20 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailHs), + ItemList.RC_Bed_Stone.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.MelodicAlloy, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailSTt)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + // --- Electric Switch Track --- + ItemStack tRailES = getModItem(Railcraft.ID, "track.electric", 1, 10488); + if (tRailES != null) { + NBTTagCompound tTagES = new NBTTagCompound(); + tTagES.setString("track", "railcraft:track.electric.switch"); + tRailES.stackTagCompound = tTagES; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Copper, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailES) + .duration(20 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Gold, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailES)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Electrum, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailES)) + .duration(20 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailES)) + .duration(20 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Platinum, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailES)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.VanadiumGallium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailES)) + .duration(20 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.springSmall, Materials.Naquadah, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailES)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + // --- Electric Wye Track --- + ItemStack tRailEw = getModItem(Railcraft.ID, "track.electric", 1); + if (tRailEw != null) { + NBTTagCompound tTagEw = new NBTTagCompound(); + tTagEw.setString("track", "railcraft:track.electric.wye"); + tRailEw.stackTagCompound = tTagEw; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Copper, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailEw) + .duration(20 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Gold, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailEw)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Electrum, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailEw)) + .duration(20 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailEw)) + .duration(20 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Platinum, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailEw)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.VanadiumGallium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailEw)) + .duration(20 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Naquadah, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailEw)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + // --- Electric Junction Track --- + ItemStack tRailEJ = getModItem(Railcraft.ID, "track.electric", 1); + if (tRailEJ != null) { + NBTTagCompound tTagREJ = new NBTTagCompound(); + tTagREJ.setString("track", "railcraft:track.electric.junction"); + tRailEJ.stackTagCompound = tTagREJ; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Copper, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(tRailEJ) + .duration(20 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Gold, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(2, tRailEJ)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Electrum, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(4, tRailEJ)) + .duration(20 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(8, tRailEJ)) + .duration(20 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Platinum, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(16, tRailEJ)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.VanadiumGallium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(32, tRailEJ)) + .duration(20 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(2, tRailEl), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Naquadah, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_Utility.copyAmount(64, tRailEJ)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } + // Shunting Wire + for (Materials tMat : solderingMats) { + int tMultiplier = tMat.contains(SubTag.SOLDERING_MATERIAL_GOOD) ? 1 + : tMat.contains(SubTag.SOLDERING_MATERIAL_BAD) ? 4 : 2; + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Copper, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Lead, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_ShuntingWire.get(1)) + .fluidInputs(tMat.getMolten(16L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.AnnealedCopper, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Lead, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_ShuntingWire.get(1)) + .fluidInputs(tMat.getMolten(16L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Lead, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_ShuntingWire.get(4)) + .fluidInputs(tMat.getMolten(16L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut(24) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Electrum, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Gold, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_ShuntingWire.get(8)) + .fluidInputs(tMat.getMolten(16L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Titanium, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Electrum, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_ShuntingWire.get(16)) + .fluidInputs(tMat.getMolten(16L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut(48) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Platinum, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_ShuntingWire.get(32)) + .fluidInputs(tMat.getMolten(16L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.VanadiumGallium, 1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Platinum, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.RC_ShuntingWire.get(64)) + .fluidInputs(tMat.getMolten(16L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + // chunkloader upgrade OC + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Plastic_Advanced.get(1), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Aluminium, 2), + getModItem(Railcraft.ID, "machine.alpha", 1L, 0), + getModItem(OpenComputers.ID, "item", 1L, 26), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(OpenComputers.ID, "item", 1L, 62)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(256) + .addTo(assemblerRecipes); + + } + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.piston, 1, 0), + ItemList.FR_Casing_Sturdy.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lapis, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(NewHorizonsCoreMod.ID, "item.EngineCore", 1L, 0)) + .fluidInputs(Materials.SeedOil.getFluid(250)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.piston, 1, 0), + ItemList.FR_Casing_Sturdy.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lapis, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(NewHorizonsCoreMod.ID, "item.EngineCore", 1L, 0)) + .fluidInputs(Materials.Lubricant.getFluid(125)) + .duration(5 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(ExtraUtilities.ID, "trashcan", 1L, 0), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Obsidian, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 11)) + .duration(10 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(NewHorizonsCoreMod.ID, "item.EngineCore", 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.AnyCopper, 10), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 7)) + .duration(10 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(NewHorizonsCoreMod.ID, "item.EngineCore", 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 10), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 8)) + .duration(10 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(NewHorizonsCoreMod.ID, "item.EngineCore", 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 10), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 9)) + .duration(10 * SECONDS) + .eut(16) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Gold, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 4), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.EnderPearl, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Obsidian, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Railcraft.ID, "machine.alpha", 1, 0)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.AnyIron, 2), + GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 0)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.AnyIron, 2), + new ItemStack(Blocks.glass_pane, 2, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 2L, 1)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.AnyIron, 2), + getModItem(TinkerConstruct.ID, "GlassPane", 2L, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 2L, 1)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Bronze, 2), + new ItemStack(Blocks.iron_bars, 2, 0), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 2)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 2), + GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 13)) + .duration(10 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 2), + new ItemStack(Blocks.glass_pane, 2, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 2L, 14)) + .duration(20 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 2), + getModItem(TinkerConstruct.ID, "GlassPane", 2L, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 2L, 14)) + .duration(20 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Steel, 2), + getModItem(NewHorizonsCoreMod.ID, "item.SteelBars", 2), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 15)) + .duration(20 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2), + GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 0)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2), + new ItemStack(Blocks.glass_pane, 2, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 1)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2), + getModItem(TinkerConstruct.ID, "GlassPane", 2L, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 1)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Plastic, 2), + getModItem(NewHorizonsCoreMod.ID, "item.AluminiumBars", 2), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 2)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 2), + GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 3)) + .duration(10 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 2), + new ItemStack(Blocks.glass_pane, 2, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 4)) + .duration(20 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 2), + getModItem(TinkerConstruct.ID, "GlassPane", 2L, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 4)) + .duration(20 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.StainlessSteel, 2), + getModItem(NewHorizonsCoreMod.ID, "item.StainlessSteelBars", 2), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 5)) + .duration(20 * SECONDS) + .eut(256) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 2), + GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 6)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 2), + new ItemStack(Blocks.glass_pane, 2, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 7)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 2), + getModItem(TinkerConstruct.ID, "GlassPane", 2L, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 7)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Titanium, 2), + getModItem(NewHorizonsCoreMod.ID, "item.TitaniumBars", 2), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 8)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2), + GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 9)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2), + new ItemStack(Blocks.glass_pane, 2, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 10)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2), + getModItem(TinkerConstruct.ID, "GlassPane", 2L, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 10)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.TungstenSteel, 2), + getModItem(NewHorizonsCoreMod.ID, "item.TungstenSteelBars", 2), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 11)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Palladium, 2), + GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 12)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Palladium, 2), + new ItemStack(Blocks.glass_pane, 2, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 13)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Palladium, 2), + getModItem(TinkerConstruct.ID, "GlassPane", 2L, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 13)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.NiobiumTitanium, 2), + getModItem(NewHorizonsCoreMod.ID, "item.ChromeBars", 2), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 14)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2), + GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(getModItem(Railcraft.ID, "machine.eta", 1L, 0)) + .duration(10 * SECONDS) + .eut(4096) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2), + new ItemStack(Blocks.glass_pane, 2, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.eta", 2L, 1)) + .duration(20 * SECONDS) + .eut(4096) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2), + getModItem(TinkerConstruct.ID, "GlassPane", 2L, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.eta", 2L, 1)) + .duration(20 * SECONDS) + .eut(4096) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Enderium, 2), + getModItem(NewHorizonsCoreMod.ID, "item.IridiumBars", 2), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(getModItem(Railcraft.ID, "machine.eta", 1L, 2)) + .duration(20 * SECONDS) + .eut(4096) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2), + GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(getModItem(Railcraft.ID, "machine.eta", 1L, 3)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2), + new ItemStack(Blocks.glass_pane, 2, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.eta", 2L, 4)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2), + getModItem(TinkerConstruct.ID, "GlassPane", 2L, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.eta", 2L, 4)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 2), + getModItem(NewHorizonsCoreMod.ID, "item.OsmiumBars", 2), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(getModItem(Railcraft.ID, "machine.eta", 1L, 5)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), + GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(getModItem(Railcraft.ID, "machine.eta", 1L, 6)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), + new ItemStack(Blocks.glass_pane, 2, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.eta", 2L, 7)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), + getModItem(TinkerConstruct.ID, "GlassPane", 2L, 0), + GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(getModItem(Railcraft.ID, "machine.eta", 2L, 7)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Neutronium, 2), + getModItem(NewHorizonsCoreMod.ID, "item.NeutroniumBars", 2), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(getModItem(Railcraft.ID, "machine.eta", 1L, 8)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + // Water Tank + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Wood, 2)) + .itemOutputs(getModItem(Railcraft.ID, "machine.alpha", 1L, 14)) + .fluidInputs(Materials.Glue.getFluid(36)) + .duration(10 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.IronMagnetic, 1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Wood, 2)) + .itemOutputs(getModItem(Railcraft.ID, "machine.alpha", 1L, 14)) + .fluidInputs(Materials.Glue.getFluid(36)) + .duration(10 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.WroughtIron, 1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Wood, 2)) + .itemOutputs(getModItem(Railcraft.ID, "machine.alpha", 1L, 14)) + .fluidInputs(Materials.Glue.getFluid(36)) + .duration(10 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Steel, 4), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Wood, 4)) + .itemOutputs(getModItem(Railcraft.ID, "machine.alpha", 3L, 14)) + .fluidInputs(Materials.Glue.getFluid(72)) + .duration(20 * SECONDS) + .eut(30) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Steel, 2), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.WoodSealed, 1)) + .itemOutputs(getModItem(Railcraft.ID, "machine.alpha", 3L, 14)) + .fluidInputs(Materials.Plastic.getMolten(36)) + .duration(20 * SECONDS) + .eut(30) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.StainlessSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.WoodSealed, 4)) + .itemOutputs(getModItem(Railcraft.ID, "machine.alpha", 9L, 14)) + .fluidInputs(Materials.Plastic.getMolten(72)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + // Steam Boilers + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Item_Casing_Iron.get(6), GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 3)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Item_Casing_Steel.get(6), GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 4)) + .duration(20 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + } + + public void withBartWorks() { + if (!BartWorks.isModLoaded()) { + return; + } + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, ExternalMaterials.getRhodiumPlatedPalladium(), 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Chrome, 1)) + .itemOutputs(ItemList.Casing_Advanced_Rhodium_Palladium.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + + } + + public void withGalacticraftMars() { + if (!GalacticraftMars.isModLoaded()) { + return; + } + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.compressed, Materials.Bronze, 1), + GT_OreDictUnificator.get(OrePrefixes.compressed, Materials.Aluminium, 1), + GT_OreDictUnificator.get(OrePrefixes.compressed, Materials.Steel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Ingot_Heavy1.get(1)) + .fluidInputs(Materials.StainlessSteel.getMolten(72)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(GalacticraftCore.ID, "item.heavyPlating", 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.MeteoricIron, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Ingot_Heavy2.get(1)) + .fluidInputs(Materials.TungstenSteel.getMolten(72)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(GalacticraftMars.ID, "item.null", 1L, 3), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Desh, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Ingot_Heavy3.get(1)) + .fluidInputs(Materials.Platinum.getMolten(72)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + } + + public void withGalaxySpace() { + if (!GalaxySpace.isModLoaded()) { + return; + } + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Pentacadmiummagnesiumhexaoxid, 3), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.StainlessSteel, 2), + ItemList.Electric_Pump_MV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorMV, 3)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 2000)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Titaniumonabariumdecacoppereikosaoxid, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Titanium, 4), + ItemList.Electric_Pump_HV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorHV, 6)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 4000)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Uraniumtriplatinid, 9), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.TungstenSteel, 6), + ItemList.Electric_Pump_EV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorEV, 9)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 6000)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Vanadiumtriindinid, 12), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.NiobiumTitanium, 8), + ItemList.Electric_Pump_IV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorIV, 12)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 8000)) + .duration(32 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get( + OrePrefixes.wireGt01, + Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, + 15), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Enderium, 10), + ItemList.Electric_Pump_LuV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 15)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 12000)) + .duration(32 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 18), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Naquadah, 12), + ItemList.Electric_Pump_ZPM.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 18)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 16000)) + .duration(1 * MINUTES + 4 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Longasssuperconductornameforuvwire, 21), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Neutronium, 14), + ItemList.Electric_Pump_UV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUV, 21)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 20000)) + .duration(1 * MINUTES + 4 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Longasssuperconductornameforuhvwire, 24), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Bedrockium, 16), + ItemList.Electric_Pump_UHV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 24)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 24000)) + .duration(2 * MINUTES + 8 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUEVBase, 27), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Infinity, 18), + ItemList.Electric_Pump_UEV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUEV, 27)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 28000)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUMVBase, 33), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, MaterialsUEVplus.SpaceTime, 22), + ItemList.Electric_Pump_UMV.get(1), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUMV, 33)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 36000)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(assemblerRecipes); + } + + public void withGTNHLanthAndGTPP() { + if (!(GTNHLanthanides.isModLoaded() && GTPlusPlus.isModLoaded())) { + return; + } + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Electric_Pump_EV.get(4), + ItemList.Field_Generator_EV.get(4), + getModItem(GTPlusPlus.ID, "itemPlateInconel690", 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Titanium, 16), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.BorosilicateGlass, 16), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Aluminium, 2), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Polytetrafluoroethylene, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 4), + ItemList.Shape_Extruder_Wire.get(16)) + .itemOutputs(ItemList.Spinneret.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + } + + public void withIC2NuclearControl() { + if (!IC2NuclearControl.isModLoaded()) { // Card recycling recipes + return; + } + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(IC2NuclearControl.ID, "ItemVanillaMachineCard", 1L, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(IC2NuclearControl.ID, "ItemInventoryScannerCard", 1L, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(IC2NuclearControl.ID, "ItemEnergySensorLocationCard", 1L, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(IC2NuclearControl.ID, "RFSensorCard", 1L, 0), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(IC2NuclearControl.ID, "ItemMultipleSensorLocationCard", 1L, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + // counter + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(IC2NuclearControl.ID, "ItemMultipleSensorLocationCard", 1L, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + // liquid + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(IC2NuclearControl.ID, "ItemMultipleSensorLocationCard", 1L, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + // generator + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(IC2NuclearControl.ID, "ItemLiquidArrayLocationCard", 1L, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + // 2-6 liquid + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(IC2NuclearControl.ID, "ItemEnergyArrayLocationCard", 1L, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + // 2-6 energy + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(IC2NuclearControl.ID, "ItemSensorLocationCard", 1L, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Good), 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + // non-fluid nuke + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(IC2NuclearControl.ID, "Item55ReactorCard", 1L, 0), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Good), 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(IC2NuclearControl.ID, "CardAppeng", 1L, 0), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.NC_SensorCard.get(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 3)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java new file mode 100644 index 0000000000..8748c96654 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java @@ -0,0 +1,894 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.enums.Mods.GregTech; +import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.enums.Mods.TecTech; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.ExternalMaterials; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class AssemblyLineRecipes implements Runnable { + + private final Fluid solderIndalloy; + private final Materials LuVMat; + + public AssemblyLineRecipes() { + solderIndalloy = GTPlusPlus.isModLoaded() ? FluidRegistry.getFluid("molten.indalloy140") + : FluidRegistry.getFluid("molten.solderingalloy"); + + LuVMat = ExternalMaterials.getRuridit(); + } + + @Override + public void run() { + // recipe len: + // LUV 6 72000 600 32k + // ZPM 9 144000 1200 125k + // UV- 12 288000 1800 500k + // UV+/UHV- 14 360000 2100 2000k + // UHV+ 16 576000 2400 4000k + + // addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, FluidStack[] + // aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt); + + // indalloy and ruridit are from gt++ and bartworks which are not dependencies + + // Motors + { + // LuV motor + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Electric_Motor_IV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 1), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.HSSS, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, LuVMat, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, LuVMat, 64), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.YttriumBariumCuprate, 2)) + .fluidInputs(new FluidStack(solderIndalloy, 144), Materials.Lubricant.getFluid(250)) + .itemOutputs(ItemList.Electric_Motor_LuV.get(1)) + .eut(TierEU.RECIPE_IV) + .duration(30 * SECONDS) + .addTo(AssemblyLine); + + // ZPM motor + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Electric_Motor_LuV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 2), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahAlloy, 4), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NaquadahAlloy, 4), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.NaquadahAlloy, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 2)) + .fluidInputs(new FluidStack(solderIndalloy, 288), Materials.Lubricant.getFluid(750)) + .itemOutputs(ItemList.Electric_Motor_ZPM.get(1)) + .eut(TierEU.RECIPE_LuV) + .duration(30 * SECONDS) + .addTo(AssemblyLine); + + // UV motor + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Electric_Motor_ZPM.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 2), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Neutronium, 4), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Neutronium, 4), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.Neutronium, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NaquadahAlloy, 2)) + .fluidInputs( + Materials.Naquadria.getMolten(1296), + new FluidStack(solderIndalloy, 1296), + Materials.Lubricant.getFluid(2000)) + .itemOutputs(ItemList.Electric_Motor_UV.get(1)) + .eut(TierEU.RECIPE_ZPM) + .duration(30 * SECONDS) + .addTo(AssemblyLine); + } + + // Pumps + { + // LuV Pump + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Electric_Pump_IV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + ItemList.Electric_Motor_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeSmall, Materials.NiobiumTitanium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.HSSS, 2), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.HSSS, 8), + new Object[] { OrePrefixes.ring.get(Materials.AnySyntheticRubber), 4 }, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.HSSS, 2), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.YttriumBariumCuprate, 2)) + .fluidInputs(new FluidStack(solderIndalloy, 144), Materials.Lubricant.getFluid(250)) + .itemOutputs(ItemList.Electric_Pump_LuV.get(1)) + .eut(TierEU.RECIPE_IV) + .duration(600) + .addTo(AssemblyLine); + + // ZPM Pump + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Electric_Pump_LuV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + ItemList.Electric_Motor_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Enderium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 2), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NaquadahAlloy, 8), + new Object[] { OrePrefixes.ring.get(Materials.AnySyntheticRubber), 8 }, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.NaquadahAlloy, 2), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 2)) + .fluidInputs(new FluidStack(solderIndalloy, 288), Materials.Lubricant.getFluid(750)) + .itemOutputs(ItemList.Electric_Pump_ZPM.get(1)) + .eut(TierEU.RECIPE_LuV) + .duration(30 * SECONDS) + .addTo(AssemblyLine); + + // UV Pump + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Electric_Pump_ZPM.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + ItemList.Electric_Motor_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Naquadah, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 8), + new Object[] { OrePrefixes.ring.get(Materials.AnySyntheticRubber), 16 }, + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Neutronium, 2), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NaquadahAlloy, 2)) + .itemOutputs(ItemList.Electric_Pump_UV.get(1)) + .fluidInputs( + Materials.Naquadria.getMolten(1296), + new FluidStack(solderIndalloy, 1296), + Materials.Lubricant.getFluid(2000)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + } + + // Conveyors + { + // LuV Conveyor + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Conveyor_Module_IV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + ItemList.Electric_Motor_LuV.get(2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.HSSS, 2), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.HSSS, 4), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.HSSS, 32), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.YttriumBariumCuprate, 2), + new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 10 }) + .itemOutputs(ItemList.Conveyor_Module_LuV.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 144), Materials.Lubricant.getFluid(250)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_IV) + .addTo(AssemblyLine); + + // ZPM Conveyor + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Conveyor_Module_LuV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + ItemList.Electric_Motor_ZPM.get(2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 2), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NaquadahAlloy, 4), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.NaquadahAlloy, 32), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 2), + new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 20 }) + .itemOutputs(ItemList.Conveyor_Module_ZPM.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 288), Materials.Lubricant.getFluid(750)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // UV Conveyor + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Conveyor_Module_ZPM.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + ItemList.Electric_Motor_UV.get(2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Neutronium, 4), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.Neutronium, 32), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NaquadahAlloy, 2), + new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 40 }) + .itemOutputs(ItemList.Conveyor_Module_UV.get(1)) + .fluidInputs( + Materials.Naquadria.getMolten(1296), + new FluidStack(solderIndalloy, 1296), + Materials.Lubricant.getFluid(2000)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + } + + // Pistons + { + // LuV Piston + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Electric_Piston_IV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + ItemList.Electric_Motor_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.HSSS, 6), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.HSSS, 4), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.HSSS, 32), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.HSSS, 4), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.HSSS, 1), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.HSSS, 2), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.YttriumBariumCuprate, 4)) + .itemOutputs(ItemList.Electric_Piston_LuV.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 144), Materials.Lubricant.getFluid(250)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_IV) + .addTo(AssemblyLine); + + // ZPM Pistons + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Electric_Piston_LuV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + ItemList.Electric_Motor_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 6), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NaquadahAlloy, 4), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.NaquadahAlloy, 32), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahAlloy, 4), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.NaquadahAlloy, 1), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.NaquadahAlloy, 2), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 4)) + .itemOutputs(ItemList.Electric_Piston_ZPM.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 288), Materials.Lubricant.getFluid(750)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // UV Piston + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Electric_Piston_ZPM.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + ItemList.Electric_Motor_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Neutronium, 4), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.Neutronium, 32), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Neutronium, 4), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Neutronium, 1), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Neutronium, 2), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NaquadahAlloy, 4)) + .itemOutputs(ItemList.Electric_Piston_UV.get(1)) + .fluidInputs( + Materials.Naquadria.getMolten(1296), + new FluidStack(solderIndalloy, 1296), + Materials.Lubricant.getFluid(2000)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + } + + // RobotArms + { + // LuV Robot Arm + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Robot_Arm_IV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.HSSS, 4), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.HSSS, 1), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.HSSS, 3), + ItemList.Electric_Motor_LuV.get(2), + ItemList.Electric_Piston_LuV.get(1), + new Object[] { OrePrefixes.circuit.get(Materials.Master), 2 }, + new Object[] { OrePrefixes.circuit.get(Materials.Elite), 4 }, + new Object[] { OrePrefixes.circuit.get(Materials.Data), 8 }, + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.YttriumBariumCuprate, 6)) + .itemOutputs(ItemList.Robot_Arm_LuV.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 576), Materials.Lubricant.getFluid(250)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_IV) + .addTo(AssemblyLine); + + // ZPM Robot Arm + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Robot_Arm_LuV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahAlloy, 4), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.NaquadahAlloy, 1), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.NaquadahAlloy, 3), + ItemList.Electric_Motor_ZPM.get(2), + ItemList.Electric_Piston_ZPM.get(1), + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 2 }, + new Object[] { OrePrefixes.circuit.get(Materials.Master), 4 }, + new Object[] { OrePrefixes.circuit.get(Materials.Elite), 8 }, + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 6)) + .itemOutputs(ItemList.Robot_Arm_ZPM.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 1152), Materials.Lubricant.getFluid(750)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // UV Robot Arm + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Robot_Arm_ZPM.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Neutronium, 4), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Neutronium, 1), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Neutronium, 3), + ItemList.Electric_Motor_UV.get(2), + ItemList.Electric_Piston_UV.get(1), + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 2 }, + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 4 }, + new Object[] { OrePrefixes.circuit.get(Materials.Master), 8 }, + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NaquadahAlloy, 6)) + .itemOutputs(ItemList.Robot_Arm_UV.get(1)) + .fluidInputs( + Materials.Naquadria.getMolten(1296), + new FluidStack(solderIndalloy, 2304), + Materials.Lubricant.getFluid(2000)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + } + + // Emitters + { + // LuV Emitter + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Emitter_IV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.HSSS, 1), + ItemList.Electric_Motor_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.stick, LuVMat, 8), + ItemList.QuantumStar.get(1), + new Object[] { OrePrefixes.circuit.get(Materials.Master), 4 }, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gallium, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gallium, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gallium, 64), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.YttriumBariumCuprate, 7)) + .itemOutputs(ItemList.Emitter_LuV.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 576)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_IV) + .addTo(AssemblyLine); + + // ZPM Emitter + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Emitter_LuV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1), + ItemList.Electric_Motor_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Osmiridium, 8), + ItemList.QuantumStar.get(2), + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 4 }, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Trinium, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Trinium, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Trinium, 64), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 7)) + .itemOutputs(ItemList.Emitter_ZPM.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 1152)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // UV Emitter + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Emitter_ZPM.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 1), + ItemList.Electric_Motor_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Neutronium, 8), + ItemList.Gravistar.get(4), + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4 }, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadria, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadria, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadria, 64), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NaquadahAlloy, 7)) + .itemOutputs(ItemList.Emitter_UV.get(1)) + .fluidInputs(Materials.Naquadria.getMolten(1296), new FluidStack(solderIndalloy, 2304)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + } + + // Sensors + { + // LuV Sensor + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Sensor_IV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.HSSS, 1), + ItemList.Electric_Motor_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, LuVMat, 8), + ItemList.QuantumStar.get(1), + new Object[] { OrePrefixes.circuit.get(Materials.Master), 4 }, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gallium, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gallium, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gallium, 64), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.YttriumBariumCuprate, 7)) + .itemOutputs(ItemList.Sensor_LuV.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 576)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_IV) + .addTo(AssemblyLine); + + // ZPM Sensor + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Sensor_LuV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1), + ItemList.Electric_Motor_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 8), + ItemList.QuantumStar.get(2), + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 4 }, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Trinium, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Trinium, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Trinium, 64), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 7)) + .itemOutputs(ItemList.Sensor_ZPM.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 1152)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // UV Sensor + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Sensor_ZPM.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 1), + ItemList.Electric_Motor_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), + ItemList.Gravistar.get(4), + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4 }, + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadria, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadria, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadria, 64), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NaquadahAlloy, 7)) + .itemOutputs(ItemList.Sensor_UV.get(1)) + .fluidInputs(Materials.Naquadria.getMolten(1296), new FluidStack(solderIndalloy, 2304)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + } + + // Field Generators + { + // LuV Field Generator + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Field_Generator_IV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.HSSS, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.HSSS, 6), + ItemList.QuantumStar.get(2), + ItemList.Emitter_LuV.get(4), + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 4 }, + GT_OreDictUnificator.get(OrePrefixes.wireFine, LuVMat, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, LuVMat, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, LuVMat, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, LuVMat, 64), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.YttriumBariumCuprate, 8)) + .itemOutputs(ItemList.Field_Generator_LuV.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 576)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_IV) + .addTo(AssemblyLine); + + // ZPM Field Generator + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Field_Generator_LuV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 6), + ItemList.QuantumStar.get(2), + ItemList.Emitter_ZPM.get(4), + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4 }, + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 8)) + .itemOutputs(ItemList.Field_Generator_ZPM.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 1152)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // UV Field Generator + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Field_Generator_ZPM.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6), + ItemList.Gravistar.get(2), + ItemList.Emitter_UV.get(4), + new Object[] { OrePrefixes.circuit.get(Materials.Infinite), 4 }, + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NaquadahAlloy, 8)) + .itemOutputs(ItemList.Field_Generator_UV.get(1)) + .fluidInputs(Materials.Naquadria.getMolten(1296), new FluidStack(solderIndalloy, 2304)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + } + + // Energy Hatches + { + // LuV Energy Hatch + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Hatch_Energy_IV.get(1)) + .metadata(RESEARCH_TIME, 60 * MINUTES) + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 2), + ItemList.Circuit_Chip_UHPIC.get(2), + new Object[] { OrePrefixes.circuit.get(Materials.Master), 2 }, + ItemList.LuV_Coil.get(2), + new ItemStack[] { ItemList.Reactor_Coolant_He_3.get(1), ItemList.Reactor_Coolant_NaK_3.get(1), + ItemList.Reactor_Coolant_Sp_1.get(1) }, + new ItemStack[] { ItemList.Reactor_Coolant_He_3.get(1), ItemList.Reactor_Coolant_NaK_3.get(1), + ItemList.Reactor_Coolant_Sp_1.get(1) }, + ItemList.Electric_Pump_LuV.get(1)) + .itemOutputs(ItemList.Hatch_Energy_LuV.get(1)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + new FluidStack(solderIndalloy, 720)) + .duration(20 * SECONDS) + .eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // ZPM Energy Hatch + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Hatch_Energy_LuV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 2), + ItemList.Circuit_Chip_NPIC.get(2), + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 2 }, + ItemList.ZPM_Coil.get(2), + new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1), ItemList.Reactor_Coolant_NaK_6.get(1), + ItemList.Reactor_Coolant_Sp_2.get(1) }, + new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1), ItemList.Reactor_Coolant_NaK_6.get(1), + ItemList.Reactor_Coolant_Sp_2.get(1) }, + ItemList.Electric_Pump_ZPM.get(1)) + .itemOutputs(ItemList.Hatch_Energy_ZPM.get(1)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + new FluidStack(solderIndalloy, 1440)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + + // UV Energy Hatch + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Hatch_Energy_ZPM.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUV, 2), + ItemList.Circuit_Chip_PPIC.get(2), + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 2 }, + ItemList.UV_Coil.get(2), + new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1), ItemList.Reactor_Coolant_NaK_6.get(1), + ItemList.Reactor_Coolant_Sp_2.get(1) }, + new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1), ItemList.Reactor_Coolant_NaK_6.get(1), + ItemList.Reactor_Coolant_Sp_2.get(1) }, + new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1), ItemList.Reactor_Coolant_NaK_6.get(1), + ItemList.Reactor_Coolant_Sp_2.get(1) }, + new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1), ItemList.Reactor_Coolant_NaK_6.get(1), + ItemList.Reactor_Coolant_Sp_2.get(1) }, + ItemList.Electric_Pump_UV.get(1)) + .itemOutputs(ItemList.Hatch_Energy_UV.get(1)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 8000), + new FluidStack(solderIndalloy, 2880)) + .duration(40 * SECONDS) + .eut((int) TierEU.RECIPE_UV) + .addTo(AssemblyLine); + } + + // Dynamo Hatches + { + // LuV Dynamo Hatch + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Hatch_Dynamo_IV.get(1)) + .metadata(RESEARCH_TIME, 60 * MINUTES) + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get( + OrePrefixes.spring, + Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, + 2), + ItemList.Circuit_Chip_UHPIC.get(2), + new Object[] { OrePrefixes.circuit.get(Materials.Master), 2 }, + ItemList.LuV_Coil.get(2), + new ItemStack[] { ItemList.Reactor_Coolant_He_3.get(1), ItemList.Reactor_Coolant_NaK_3.get(1), + ItemList.Reactor_Coolant_Sp_1.get(1) }, + new ItemStack[] { ItemList.Reactor_Coolant_He_3.get(1), ItemList.Reactor_Coolant_NaK_3.get(1), + ItemList.Reactor_Coolant_Sp_1.get(1) }, + ItemList.Electric_Pump_LuV.get(1)) + .itemOutputs(ItemList.Hatch_Dynamo_LuV.get(1)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + new FluidStack(solderIndalloy, 720)) + .duration(20 * SECONDS) + .eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // ZPM Dynamo Hatch + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Hatch_Dynamo_LuV.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 4), + ItemList.Circuit_Chip_NPIC.get(2), + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 2 }, + ItemList.ZPM_Coil.get(2), + new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1), ItemList.Reactor_Coolant_NaK_6.get(1), + ItemList.Reactor_Coolant_Sp_2.get(1) }, + new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1), ItemList.Reactor_Coolant_NaK_6.get(1), + ItemList.Reactor_Coolant_Sp_2.get(1) }, + ItemList.Electric_Pump_ZPM.get(1)) + .itemOutputs(ItemList.Hatch_Dynamo_ZPM.get(1)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + new FluidStack(solderIndalloy, 1440)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + + // UV Dynamo Hatch + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Hatch_Dynamo_ZPM.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Longasssuperconductornameforuvwire, 4), + ItemList.Circuit_Chip_PPIC.get(2), + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 2 }, + ItemList.UV_Coil.get(2), + new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1), ItemList.Reactor_Coolant_NaK_6.get(1), + ItemList.Reactor_Coolant_Sp_2.get(1) }, + new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1), ItemList.Reactor_Coolant_NaK_6.get(1), + ItemList.Reactor_Coolant_Sp_2.get(1) }, + new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1), ItemList.Reactor_Coolant_NaK_6.get(1), + ItemList.Reactor_Coolant_Sp_2.get(1) }, + new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1), ItemList.Reactor_Coolant_NaK_6.get(1), + ItemList.Reactor_Coolant_Sp_2.get(1) }, + ItemList.Electric_Pump_UV.get(1)) + .itemOutputs(ItemList.Hatch_Dynamo_UV.get(1)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 8000), + new FluidStack(solderIndalloy, 2880)) + .duration(40 * SECONDS) + .eut((int) TierEU.RECIPE_UV) + .addTo(AssemblyLine); + } + + // Fusion Controller + { + // mkI + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + ItemList.Casing_Fusion_Coil.get(1), + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.NaquadahAlloy, 4), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 4), + ItemList.Field_Generator_LuV.get(2), + ItemList.Circuit_Wafer_UHPIC.get(32), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 32)) + .itemOutputs(ItemList.FusionComputer_LuV.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 2880), Materials.VanadiumGallium.getMolten(1152)) + .duration(50 * SECONDS) + .eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // mkII + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Europium, 1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + ItemList.Casing_Fusion_Coil.get(1), + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Europium, 4), + ItemList.Field_Generator_ZPM.get(2), + ItemList.Circuit_Wafer_PPIC.get(48), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 32)) + .itemOutputs(ItemList.FusionComputer_ZPMV.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 2880), Materials.NiobiumTitanium.getMolten(1152)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // mkIII + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Americium, 1)) + .metadata(RESEARCH_TIME, 6 * HOURS) + .itemInputs( + ItemList.Casing_Fusion_Coil.get(1), + new Object[] { OrePrefixes.circuit.get(Materials.Infinite), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Infinite), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Infinite), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Infinite), 1 }, + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Americium, 4), + ItemList.Field_Generator_UV.get(2), + ItemList.Circuit_Wafer_QPIC.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 32)) + .itemOutputs(ItemList.FusionComputer_UV.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 2880), Materials.ElectrumFlux.getMolten(1152)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + } + // Energy Module + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Energy_LapotronicOrb2.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 16), + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, + ItemList.Energy_LapotronicOrb2.get(8), + ItemList.Field_Generator_LuV.get(2), + ItemList.Circuit_Wafer_SoC2.get(64), + ItemList.Circuit_Wafer_SoC2.get(64), + ItemList.Circuit_Parts_DiodeASMD.get(8), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 32)) + .itemOutputs(ItemList.Energy_Module.get(1)) + .fluidInputs( + new FluidStack(solderIndalloy, 2880), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + + // Energy Cluster + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Energy_Module.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 32), + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, + ItemList.Energy_Module.get(8), + ItemList.Field_Generator_ZPM.get(2), + ItemList.Circuit_Wafer_HPIC.get(64), + ItemList.Circuit_Wafer_HPIC.get(64), + ItemList.Circuit_Parts_DiodeASMD.get(16), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 32)) + .itemOutputs(ItemList.Energy_Cluster.get(1)) + .fluidInputs( + new FluidStack(solderIndalloy, 2880), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(200000) + .addTo(AssemblyLine); + + // Integrated Ore Factory + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Machine_IV_OreWasher.get(1)) + .metadata(RESEARCH_TIME, 6 * HOURS) + .itemInputs( + ItemList.Hull_MAX.get(1), + ItemList.Electric_Motor_UHV.get(32), + ItemList.Electric_Piston_UHV.get(8), + ItemList.Electric_Pump_UHV.get(16), + ItemList.Conveyor_Module_UHV.get(8), + ItemList.Robot_Arm_UHV.get(8), + new Object[] { OrePrefixes.circuit.get(Materials.Bio), 4 }, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Duranium, 32), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 32) }, + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Polybenzimidazole, 64), + new ItemStack[] { ItemList.Component_Grinder_Tungsten.get(64), + ItemList.Component_Grinder_Diamond.get(64) }, + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.StainlessSteel, 32), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Chrome, 16)) + .itemOutputs(ItemList.Ore_Processor.get(1)) + .fluidInputs(new FluidStack(solderIndalloy, 2880), Materials.Naquadria.getMolten(1440)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(AssemblyLine); + + // Drone T2 + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.TierdDrone0.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.NaquadahAlloy, 16), + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4 }, + NewHorizonsCoreMod.isModLoaded() + ? GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.HeavyDutyRocketEngineTier3", 4) + : ItemList.Casing_Firebox_TungstenSteel.get(16), + ItemList.Large_Fluid_Cell_Osmium.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeQuadruple, Materials.MysteriousCrystal, 1), + ItemList.Emitter_ZPM.get(4), + ItemList.Energy_Module.get(1), + ItemList.Cover_WirelessNeedsMaintainance.get(1)) + .itemOutputs(ItemList.TierdDrone1.get(4)) + .fluidInputs( + new FluidStack(solderIndalloy, 576), + FluidRegistry.getFluidStack(GTPlusPlus.isModLoaded() ? "fluid.rocketfuelmixc" : "nitrofuel", 4000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(AssemblyLine); + + // Drone T3 + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.TierdDrone1.get(1)) + .metadata(RESEARCH_TIME, 8 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16), + new Object[] { OrePrefixes.circuit.get(Materials.Bio), 4 }, + ItemList.Field_Generator_UV.get(16), + ItemList.Gravistar.get(8), + ItemList.Emitter_UV.get(4), + TecTech.isModLoaded() ? GT_ModHandler.getModItem(GregTech.ID, "gt.blockmachines", 16, 15497) + : ItemList.Hatch_AutoMaintenance.get(64), + ItemList.Energy_Cluster.get(8), + ItemList.Cover_WirelessNeedsMaintainance.get(1)) + .itemOutputs(ItemList.TierdDrone2.get(1)) + .fluidInputs( + new FluidStack(solderIndalloy, 144000), + GTPlusPlus.isModLoaded() ? FluidRegistry.getFluidStack("molten.ethylcyanoacrylatesuperglue", 2000) + : Materials.AdvancedGlue.getFluid(256000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(AssemblyLine); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java new file mode 100644 index 0000000000..519d584136 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java @@ -0,0 +1,234 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.AppliedEnergistics2; +import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class AutoclaveRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Energium_Dust.get(9L)) + .itemOutputs(ItemList.IC2_EnergyCrystal.get(1L)) + .outputChances(10000) + .fluidInputs(Materials.EnergeticAlloy.getMolten(288)) + .duration(30 * SECONDS) + .eut(256) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Energium_Dust.get(9L)) + .itemOutputs(ItemList.IC2_EnergyCrystal.get(1L)) + .outputChances(10000) + .fluidInputs(Materials.ConductiveIron.getMolten(576)) + .duration(60 * SECONDS) + .eut(256) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 0)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 10)) + .outputChances(8000) + .fluidInputs(Materials.Water.getFluid(200L)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(24) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 600)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 11)) + .outputChances(8000) + .fluidInputs(Materials.Water.getFluid(200L)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(24) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 1200)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 12)) + .outputChances(8000) + .fluidInputs(Materials.Water.getFluid(200L)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(24) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 0)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 10)) + .outputChances(9000) + .fluidInputs(GT_ModHandler.getDistilledWater(100L)) + .duration(50 * SECONDS) + .eut(24) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 600)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 11)) + .outputChances(9000) + .fluidInputs(GT_ModHandler.getDistilledWater(100L)) + .duration(50 * SECONDS) + .eut(24) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 1200)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 12)) + .outputChances(9000) + .fluidInputs(GT_ModHandler.getDistilledWater(100L)) + .duration(50 * SECONDS) + .eut(24) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 0)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 10)) + .outputChances(10000) + .fluidInputs(Materials.Void.getMolten(36L)) + .duration(25 * SECONDS) + .eut(24) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 600)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 11)) + .outputChances(10000) + .fluidInputs(Materials.Void.getMolten(36L)) + .duration(25 * SECONDS) + .eut(24) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 1200)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 12)) + .outputChances(10000) + .fluidInputs(Materials.Void.getMolten(36L)) + .duration(25 * SECONDS) + .eut(24) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 32)) + .itemOutputs(GT_ModHandler.getIC2Item("carbonFiber", 64L)) + .outputChances(10000) + .fluidInputs(Materials.Polybenzimidazole.getMolten(36L)) + .duration(7 * SECONDS + 10 * TICKS) + .eut((int) TierEU.RECIPE_EV) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 64)) + .itemOutputs(GT_ModHandler.getIC2Item("carbonFiber", 64L)) + .outputChances(10000) + .fluidInputs(Materials.Epoxid.getMolten(144L)) + .duration(15 * SECONDS) + .eut((int) TierEU.RECIPE_HV) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 64)) + .itemOutputs(GT_ModHandler.getIC2Item("carbonFiber", 32L)) + .outputChances(10000) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(288L)) + .duration(20 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 64)) + .itemOutputs(GT_ModHandler.getIC2Item("carbonFiber", 16L)) + .outputChances(10000) + .fluidInputs(Materials.Plastic.getMolten(576L)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NetherStar, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherStar, 1)) + .outputChances(3333) + .fluidInputs(Materials.UUMatter.getFluid(576L)) + .duration(60 * MINUTES) + .eut((int) TierEU.RECIPE_HV) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(ItemList.QuantumStar.get(1L))) + .itemOutputs(ItemList.Gravistar.get(1L)) + .outputChances(10000) + .fluidInputs(Materials.Neutronium.getMolten(288)) + .duration(24 * SECONDS) + .eut((int) TierEU.RECIPE_IV) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(ItemList.Gravistar.get(16L))) + .itemOutputs(ItemList.NuclearStar.get(1L)) + .outputChances(10000) + .fluidInputs(Materials.Infinity.getMolten(288)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SiliconDioxide.getDust(1)) + .itemOutputs(Materials.Quartzite.getGems(1)) + .outputChances(750) + .fluidInputs(Materials.Water.getFluid(200L)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(24) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SiliconDioxide.getDust(1)) + .itemOutputs(Materials.Quartzite.getGems(1)) + .outputChances(1000) + .fluidInputs(GT_ModHandler.getDistilledWater(100L)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(24) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SiliconDioxide.getDust(1)) + .itemOutputs(Materials.Quartzite.getGems(1)) + .outputChances(10000) + .fluidInputs(Materials.Void.getMolten(36L)) + .duration(50 * SECONDS) + .eut(24) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 3)) + .outputChances(7500) + .fluidInputs(Materials.Water.getFluid(1000L)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(autoclaveRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 3)) + .outputChances(9000) + .fluidInputs(GT_ModHandler.getDistilledWater(1000L)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(autoclaveRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java new file mode 100644 index 0000000000..192422437a --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java @@ -0,0 +1,330 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.benderRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class BenderRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Aluminium, 20L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.RC_Rail_Standard.get(64L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Iron, 48L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.RC_Rail_Standard.get(64L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.WroughtIron, 32L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.RC_Rail_Standard.get(64L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Bronze, 32L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.RC_Rail_Standard.get(64L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 24L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.RC_Rail_Standard.get(64L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.StainlessSteel, 16L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.RC_Rail_Standard.get(64L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Titanium, 12L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.RC_Rail_Standard.get(64L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TungstenSteel, 9L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.RC_Rail_Standard.get(64L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Iridium, 6L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.RC_Rail_Standard.get(64L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Osmium, 3L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.RC_Rail_Standard.get(64L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Osmiridium, 2L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.RC_Rail_Standard.get(64L)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Obsidian, 24L), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(ItemList.RC_Rail_Reinforced.get(64L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.StainlessSteel, 12L), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(ItemList.RC_Rail_Reinforced.get(64L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TungstenSteel, 6L), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(ItemList.RC_Rail_Reinforced.get(64L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Iridium, 3L), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(ItemList.RC_Rail_Reinforced.get(64L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Osmium, 1L), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(ItemList.RC_Rail_Reinforced.get(64L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Aluminium, 20L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.RC_Rebar.get(64L)) + .duration(10 * SECONDS) + .eut(200) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Iron, 48L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.RC_Rebar.get(64L)) + .duration(10 * SECONDS) + .eut(200) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.WroughtIron, 24L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.RC_Rebar.get(64L)) + .duration(10 * SECONDS) + .eut(200) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Bronze, 32L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.RC_Rebar.get(64L)) + .duration(10 * SECONDS) + .eut(200) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Steel, 16L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.RC_Rebar.get(64L)) + .duration(10 * SECONDS) + .eut(200) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.StainlessSteel, 12L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.RC_Rebar.get(64L)) + .duration(10 * SECONDS) + .eut(200) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Titanium, 8), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.RC_Rebar.get(64L)) + .duration(10 * SECONDS) + .eut(200) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.TungstenSteel, 6L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.RC_Rebar.get(64L)) + .duration(10 * SECONDS) + .eut(200) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Iridium, 4L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.RC_Rebar.get(64L)) + .duration(10 * SECONDS) + .eut(200) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Osmium, 2L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.RC_Rebar.get(64L)) + .duration(10 * SECONDS) + .eut(200) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Mixed_Metal_Ingot.get(1L), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Advanced, 1L)) + .duration(5 * SECONDS) + .eut(8) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tin, 2L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.Cell_Empty.get(1L)) + .duration(10 * SECONDS) + .eut(8) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 1L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.Cell_Empty.get(1L)) + .duration(5 * SECONDS) + .eut(8) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Polytetrafluoroethylene, 1L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(ItemList.Cell_Empty.get(4L)) + .duration(5 * SECONDS) + .eut(8) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 3L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(new ItemStack(Items.bucket, 1, 0)) + .duration(10 * SECONDS) + .eut(4) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 3L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(new ItemStack(Items.bucket, 1, 0)) + .duration(10 * SECONDS) + .eut(4) + .addTo(benderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Iron, 2L), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(GT_ModHandler.getIC2Item("fuelRod", 1L)) + .duration(5 * SECONDS) + .eut(8) + .addTo(benderRecipes); + + if (GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Tin, 1L) != null) { + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Tin, 1L), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.IC2_Food_Can_Empty.get(1L)) + .duration(20 * TICKS) + .eut((int) TierEU.RECIPE_HV) + .addTo(benderRecipes); + } + + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java new file mode 100644 index 0000000000..b05f585950 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java @@ -0,0 +1,690 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.BartWorks; +import static gregtech.api.enums.Mods.GTNHLanthanides; +import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; +import static gregtech.api.recipe.RecipeMaps.primitiveBlastRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.ADDITIVE_AMOUNT; +import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.GT_Mod; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsKevlar; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class BlastFurnaceRecipes implements Runnable { + + @Override + public void run() { + this.registerBlastFurnaceRecipes(); + this.registerPrimitiveBlastFurnaceRecipes(); + } + + public void registerBlastFurnaceRecipes() { + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Gypsum.getDust(8)) + .itemOutputs(Materials.Quicklime.getDust(1)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1500)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 3200) + .addTo(blastFurnaceRecipes); + + // Carbothermic Reduction + // Depend on real amount except real ores + int outputIngotAmount = GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre ? 2 : 3; + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.RoastedCopper.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Copper.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.RoastedAntimony.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Antimony.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.RoastedIron.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.RoastedNickel.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Nickel.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.RoastedZinc.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Zinc.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.RoastedCobalt.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Cobalt.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.RoastedArsenic.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Arsenic.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.RoastedLead.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Lead.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Malachite.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Copper.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(3000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.BandedIron.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDustTiny(2)) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Magnetite.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.YellowLimonite.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.BrownLimonite.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.BasalticMineralSand.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.GraniticMineralSand.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Cassiterite.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Tin.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.CassiteriteSand.getDust(2), Materials.Carbon.getDust(1)) + .itemOutputs(Materials.Tin.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SiliconDioxide.getDust(3), Materials.Carbon.getDust(2)) + .itemOutputs(Materials.Silicon.getIngots(1), Materials.Ash.getDust(1)) + .outputChances(10000, 1111) + .fluidOutputs(Materials.CarbonMonoxide.getGas(2000)) + .duration(4 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + if (GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre) { + GT_Values.RA.stdBuilder() + .itemInputs(Materials.CupricOxide.getDust(2), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Copper.getIngots(1), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Malachite.getDust(2), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Copper.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(3000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.AntimonyTrioxide.getDust(5), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Antimony.getIngots(2), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(3000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.BandedIron.getDust(5), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Iron.getIngots(2), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Magnetite.getDust(2), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.YellowLimonite.getDust(2), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.BrownLimonite.getDust(2), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.BasalticMineralSand.getDust(2), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.GraniticMineralSand.getDust(2), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Iron.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Cassiterite.getDust(2), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Tin.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.CassiteriteSand.getDust(2), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Tin.getIngots(outputIngotAmount), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Garnierite.getDust(2), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Nickel.getIngots(1), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.CobaltOxide.getDust(2), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Cobalt.getIngots(1), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.ArsenicTrioxide.getDust(5), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Arsenic.getIngots(2), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Massicot.getDust(2), Materials.Carbon.getDustSmall(4)) + .itemOutputs(Materials.Lead.getIngots(1), Materials.Ash.getDust(1)) + .outputChances(10000, 2222) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 32), + ItemList.GalliumArsenideCrystalSmallPart.get(1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Circuit_Silicon_Ingot.get(1)) + .duration(7 * MINUTES + 30 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1784) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 64), + ItemList.GalliumArsenideCrystalSmallPart.get(2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphorus, 8), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Circuit_Silicon_Ingot2.get(1)) + .fluidInputs(Materials.Nitrogen.getGas(8000)) + .duration(10 * MINUTES) + .eut((int) TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 2484) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.SiliconSG, 16), + ItemList.GalliumArsenideCrystal.get(1), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Naquadah, 1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Circuit_Silicon_Ingot3.get(1)) + .fluidInputs(Materials.Argon.getGas(8000)) + .duration(12 * MINUTES + 30 * SECONDS) + .eut((int) TierEU.RECIPE_EV) + .metadata(COIL_HEAT, 4484) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.SiliconSG, 32), + ItemList.GalliumArsenideCrystal.get(2), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Europium, 2), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Circuit_Silicon_Ingot4.get(1)) + .fluidInputs(Materials.Radon.getGas(8000)) + .duration(15 * MINUTES) + .eut((int) TierEU.RECIPE_IV) + .metadata(COIL_HEAT, 6484) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.SiliconSG, 64), + ItemList.GalliumArsenideCrystal.get(4), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Americium, 4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.Circuit_Silicon_Ingot5.get(1)) + .fluidInputs(Materials.Radon.getGas(16000)) + .duration(17 * MINUTES + 30 * SECONDS) + .eut((int) TierEU.RECIPE_LuV) + .metadata(COIL_HEAT, 9000) + .addTo(blastFurnaceRecipes); + + // CaH2 + 2Si = CaSi2 + 2H + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calciumhydride, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 2)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CalciumDisilicide, 3)) + .fluidOutputs(Materials.Hydrogen.getGas(2000)) + .duration(15 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1273) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SuperconductorUEVBase, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.SuperconductorUEVBase, 1)) + .duration(16 * MINUTES + 23 * SECONDS) + .eut((int) TierEU.RECIPE_UV) + .metadata(COIL_HEAT, 11800) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SuperconductorUEVBase, 1), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.SuperconductorUEVBase, 1)) + .fluidInputs(Materials.Radon.getGas(1000)) + .duration(7 * MINUTES + 22 * SECONDS + 7 * TICKS) + .eut((int) TierEU.RECIPE_UV) + .metadata(COIL_HEAT, 11800) + .addTo(blastFurnaceRecipes); + + // 0.45 * 19660 = 8847 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SuperconductorUIVBase, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.SuperconductorUIVBase, 1)) + .duration(16 * MINUTES + 23 * SECONDS) + .eut((int) TierEU.RECIPE_UHV) + .metadata(COIL_HEAT, 12700) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SuperconductorUIVBase, 1), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.SuperconductorUIVBase, 1)) + .fluidInputs(Materials.Radon.getGas(1000)) + .duration(7 * MINUTES + 22 * SECONDS + 7 * TICKS) + .eut((int) TierEU.RECIPE_UHV) + .metadata(COIL_HEAT, 12700) + .addTo(blastFurnaceRecipes); + + // 0.45 * 19660 = 8847 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SuperconductorUMVBase, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.SuperconductorUMVBase, 1)) + .duration(16 * MINUTES + 23 * SECONDS) + .eut((int) TierEU.RECIPE_UEV) + .metadata(COIL_HEAT, 13600) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SuperconductorUMVBase, 1), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.SuperconductorUMVBase, 1)) + .fluidInputs(Materials.Radon.getGas(1000)) + .duration(7 * MINUTES + 22 * SECONDS + 7 * TICKS) + .eut((int) TierEU.RECIPE_UEV) + .metadata(COIL_HEAT, 13600) + .addTo(blastFurnaceRecipes); + + // 0.45 * 19660 = 8847 + // CaO + 3C = CaC2 + CO + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Quicklime.getDust(2), Materials.Carbon.getDust(3)) + .itemOutputs(MaterialsKevlar.CalciumCarbide.getDust(3)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(1000)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 2573) + .addTo(blastFurnaceRecipes); + + // Ni + 3Al = NiAl3 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Nickel.getDust(1), Materials.Aluminium.getDust(3)) + .itemOutputs(MaterialsKevlar.NickelAluminide.getIngots(4)) + .duration(45 * SECONDS) + .eut((int) TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 1688) + .addTo(blastFurnaceRecipes); + + ItemStack[] tSiliconDioxide = new ItemStack[] { Materials.SiliconDioxide.getDust(3), + Materials.NetherQuartz.getDust(3), Materials.CertusQuartz.getDust(3), Materials.Quartzite.getDust(6) }; + + // Roasting + + for (ItemStack silicon : tSiliconDioxide) { + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chalcopyrite.getDust(1), silicon) + .itemOutputs(Materials.RoastedCopper.getDust(1), Materials.Ferrosilite.getDust(5)) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(2000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Tetrahedrite.getDust(1)) + .itemOutputs(Materials.RoastedCopper.getDust(1), Materials.RoastedAntimony.getDustTiny(3)) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(2000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Pyrite.getDust(1)) + .itemOutputs(Materials.RoastedIron.getDust(1), Materials.Ash.getDust(1)) + .outputChances(10000, 1111) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(2000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Pentlandite.getDust(1)) + .itemOutputs(Materials.RoastedNickel.getDust(1), Materials.Ash.getDust(1)) + .outputChances(10000, 1111) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(2000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Sphalerite.getDust(1)) + .itemOutputs(Materials.RoastedZinc.getDust(1), Materials.Ash.getDust(1)) + .outputChances(10000, 1111) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Cobaltite.getDust(1)) + .itemOutputs(Materials.RoastedCobalt.getDust(1), Materials.RoastedArsenic.getDust(1)) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Stibnite.getDust(1)) + .itemOutputs(Materials.RoastedAntimony.getDust(1), Materials.Ash.getDust(1)) + .outputChances(10000, 1111) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(1500)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Galena.getDust(1)) + .itemOutputs(Materials.RoastedLead.getDust(1), Materials.Ash.getDust(1)) + .outputChances(10000, 1111) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + if (GTNHLanthanides.isModLoaded() && GTPlusPlus.isModLoaded()) { + + GT_Values.RA.stdBuilder() + .itemInputs(MaterialsUEVplus.TranscendentMetal.getDust(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, MaterialsUEVplus.TranscendentMetal, 1)) + .fluidInputs(Materials.Tungsten.getMolten(144)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("molten.celestialtungsten"), 72)) + .duration(3 * MINUTES) + .eut(32000000) + .metadata(COIL_HEAT, 11701) + .addTo(blastFurnaceRecipes); + + // Rh + 3Cl = RhCl3 + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 1L, 78), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(MaterialsKevlar.RhodiumChloride.getDust(4)) + .fluidInputs(Materials.Chlorine.getGas(3000)) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 573) + .addTo(blastFurnaceRecipes); + } + } + + public void registerPrimitiveBlastFurnaceRecipes() { + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Iron.getIngots(1)) + .itemOutputs(Materials.Steel.getIngots(1)) + .duration(6 * MINUTES) + .metadata(ADDITIVE_AMOUNT, 4) + .addTo(primitiveBlastRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Iron.getDust(1)) + .itemOutputs(Materials.Steel.getIngots(1)) + .duration(6 * MINUTES) + .metadata(ADDITIVE_AMOUNT, 4) + .addTo(primitiveBlastRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Iron.getBlocks(1)) + .itemOutputs(Materials.Steel.getIngots(9)) + .duration(54 * MINUTES) + .metadata(ADDITIVE_AMOUNT, 36) + .addTo(primitiveBlastRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Steel.getDust(1)) + .itemOutputs(Materials.Steel.getIngots(1)) + .duration(6 * MINUTES) + .metadata(ADDITIVE_AMOUNT, 2) + .addTo(primitiveBlastRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java new file mode 100644 index 0000000000..7538b50c6c --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java @@ -0,0 +1,562 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.enums.Mods.IndustrialCraft2; +import static gregtech.api.recipe.RecipeMaps.brewingRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static net.minecraftforge.fluids.FluidRegistry.getFluidStack; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class BreweryRecipes implements Runnable { + + @Override + public void run() { + ItemStack[] brewingItems = new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Talc, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Soapstone, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L) }; + + for (ItemStack item : brewingItems) { + // creosote to lubricant recipes + GT_Values.RA.stdBuilder() + .itemInputs(item) + .fluidInputs(getFluidStack("creosote", 750)) + .fluidOutputs(getFluidStack("lubricant", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + // seed oil to lubricant recipes + GT_Values.RA.stdBuilder() + .itemInputs(item) + .fluidInputs(getFluidStack("seedoil", 750)) + .fluidOutputs(getFluidStack("lubricant", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + // lubricant recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(item) + .fluidInputs(getFluidStack("oil", 750)) + .fluidOutputs(getFluidStack("lubricant", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(item) + .fluidInputs(getFluidStack("liquid_light_oil", 750)) + .fluidOutputs(getFluidStack("lubricant", 500)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(item) + .fluidInputs(getFluidStack("liquid_medium_oil", 750)) + .fluidOutputs(getFluidStack("lubricant", 500)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(item) + .fluidInputs(getFluidStack("liquid_heavy_oil", 500)) + .fluidOutputs(getFluidStack("lubricant", 750)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(4) + .addTo(brewingRecipes); + } + } + + // water based recipe input + { + Fluid[] waterArray; + + /* + * if IC2 isn't loaded, getDistilledWater returns the base minecraft water, so no need to do the recipe + * loading twice. + */ + if (IndustrialCraft2.isModLoaded()) { + waterArray = new Fluid[] { FluidRegistry.WATER, GT_ModHandler.getDistilledWater(1L) + .getFluid() }; + } else { + waterArray = new Fluid[] { FluidRegistry.WATER }; + } + for (Fluid tFluid : waterArray) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Milk, 1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("milk", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.wheatyjuice", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Potassium, 1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.mineralwater", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.mineralwater", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.mineralwater", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.mineralwater", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.thick", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.mundane", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.mundane", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.mundane", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.magma_cream, 1, 0)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.mundane", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.fermented_spider_eye, 1, 0)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.mundane", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.spider_eye, 1, 0)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.mundane", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.speckled_melon, 1, 0)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.mundane", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.ghast_tear, 1, 0)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.mundane", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.nether_wart, 1, 0)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.awkward", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_mushroom, 1, 0)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.poison", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.fish, 1, 3)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.poison.strong", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Grin_Powder.get(1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.poison.strong", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.reeds, 1, 0)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.reedwater", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.apple, 1, 0)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.applejuice", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.golden_apple, 1, 0)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.goldenapplejuice", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.golden_apple, 1, 1)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.idunsapplejuice", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Hops.get(1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.hopsjuice", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coffee, 1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.darkcoffee", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chili, 1L)) + .fluidInputs(new FluidStack(tFluid, 750)) + .fluidOutputs(getFluidStack("potion.chillysauce", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + } + } + + // potion brewing 1 + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chili, 1L)) + .fluidInputs(getFluidStack("potion.chillysauce", 750)) + .fluidOutputs(getFluidStack("potion.hotsauce", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chili, 1L)) + .fluidInputs(getFluidStack("potion.hotsauce", 750)) + .fluidOutputs(getFluidStack("potion.diabolosauce", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chili, 1L)) + .fluidInputs(getFluidStack("potion.diabolosauce", 750)) + .fluidOutputs(getFluidStack("potion.diablosauce", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coffee, 1L)) + .fluidInputs(getFluidStack("milk", 750)) + .fluidOutputs(getFluidStack("potion.coffee", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L)) + .fluidInputs(getFluidStack("milk", 750)) + .fluidOutputs(getFluidStack("potion.darkchocolatemilk", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Hops.get(1L)) + .fluidInputs(getFluidStack("potion.wheatyjuice", 750)) + .fluidOutputs(getFluidStack("potion.wheatyhopsjuice", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 1L)) + .fluidInputs(getFluidStack("potion.hopsjuice", 750)) + .fluidOutputs(getFluidStack("potion.wheatyhopsjuice", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L)) + .fluidInputs(getFluidStack("potion.tea", 750)) + .fluidOutputs(getFluidStack("potion.sweettea", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L)) + .fluidInputs(getFluidStack("potion.coffee", 750)) + .fluidOutputs(getFluidStack("potion.cafeaulait", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L)) + .fluidInputs(getFluidStack("potion.cafeaulait", 750)) + .fluidOutputs(getFluidStack("potion.laitaucafe", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L)) + .fluidInputs(getFluidStack("potion.lemonjuice", 750)) + .fluidOutputs(getFluidStack("potion.lemonade", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L)) + .fluidInputs(getFluidStack("potion.darkcoffee", 750)) + .fluidOutputs(getFluidStack("potion.darkcafeaulait", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L)) + .fluidInputs(getFluidStack("potion.darkchocolatemilk", 750)) + .fluidOutputs(getFluidStack("potion.chocolatemilk", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ice, 1L)) + .fluidInputs(getFluidStack("potion.tea", 750)) + .fluidOutputs(getFluidStack("potion.icetea", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gunpowder, 1L)) + .fluidInputs(getFluidStack("potion.lemonade", 750)) + .fluidOutputs(getFluidStack("potion.cavejohnsonsgrenadejuice", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L)) + .fluidInputs(getFluidStack("potion.mundane", 750)) + .fluidOutputs(getFluidStack("potion.purpledrink", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.fermented_spider_eye, 1, 0)) + .fluidInputs(getFluidStack("potion.mundane", 750)) + .fluidOutputs(getFluidStack("potion.weakness", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.fermented_spider_eye, 1, 0)) + .fluidInputs(getFluidStack("potion.thick", 750)) + .fluidOutputs(getFluidStack("potion.weakness", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + } + + // biomass recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Forestry.ID, "fertilizerBio", 4L, 0)) + .fluidInputs(GT_ModHandler.getWater(750L)) + .fluidOutputs(getFluidStack("biomass", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Forestry.ID, "mulch", 16L, 0)) + .fluidInputs(GT_ModHandler.getDistilledWater(750L)) + .fluidOutputs(getFluidStack("biomass", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Forestry.ID, "mulch", 8L, 0)) + .fluidInputs(getFluidStack("juice", 500)) + .fluidOutputs(getFluidStack("biomass", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + } + + // ic2 biomass recipes + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("biochaff", 1)) + .fluidInputs(GT_ModHandler.getWater(1000L)) + .fluidOutputs(getFluidStack("ic2biomass", 1000)) + .duration(8 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + // Would add 2 different amount of water input if IC2 isn't loaded + if (IndustrialCraft2.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("biochaff", 1)) + .fluidInputs(GT_ModHandler.getDistilledWater(500L)) + .fluidOutputs(getFluidStack("ic2biomass", 1000)) + .duration(10 * TICKS) + .eut((int) TierEU.RECIPE_LV) + .addTo(brewingRecipes); + } + } + + // potion brewing 2 + { + this.addPotionRecipes("waterbreathing", new ItemStack(Items.fish, 1, 3)); + this.addPotionRecipes("fireresistance", new ItemStack(Items.magma_cream, 1, 0)); + this.addPotionRecipes("nightvision", new ItemStack(Items.golden_carrot, 1, 0)); + this.addPotionRecipes("weakness", new ItemStack(Items.fermented_spider_eye, 1, 0)); + this.addPotionRecipes("poison", new ItemStack(Items.spider_eye, 1, 0)); + this.addPotionRecipes("health", new ItemStack(Items.speckled_melon, 1, 0)); + this.addPotionRecipes("regen", new ItemStack(Items.ghast_tear, 1, 0)); + this.addPotionRecipes("speed", GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L)); + this.addPotionRecipes("strength", GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1L)); + } + } + + public void addPotionRecipes(String aName, ItemStack aItem) { + // normal + GT_Values.RA.stdBuilder() + .itemInputs(aItem) + .fluidInputs(getFluidStack("potion.awkward", 750)) + .fluidOutputs(getFluidStack("potion." + aName, 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + + // strong + if (aName.equals("regen") || aName.equals("speed") + || aName.equals("health") + || aName.equals("strength") + || aName.equals("poison")) { + GT_Values.RA.stdBuilder() + .itemInputs(aItem) + .fluidInputs(getFluidStack("potion.thick", 750)) + .fluidOutputs(getFluidStack("potion." + aName + ".strong", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + } + + // long + if (!aName.equals("health")) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L)) + .fluidInputs(getFluidStack("potion." + aName, 750)) + .fluidOutputs(getFluidStack("potion." + aName + ".long", 750)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(brewingRecipes); + } + + MixerRecipes.addMixerPotionRecipes(aName); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/CannerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CannerRecipes.java new file mode 100644 index 0000000000..aef837a6b3 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/CannerRecipes.java @@ -0,0 +1,74 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.IndustrialCraft2; +import static gregtech.api.recipe.RecipeMaps.cannerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class CannerRecipes implements Runnable { + + @Override + public void run() { + // fuel rod canner recipes + + if (IndustrialCraft2.isModLoaded()) { + // todo: remove tiny dust in this recipe + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getIC2Item("fuelRod", 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lithium, 1L)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorLithiumCell", 1, 1)) + .duration(16 * TICKS) + .eut(64) + .addTo(cannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getIC2Item("fuelRod", 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thorium, 3)) + .itemOutputs(ItemList.ThoriumCell_1.get(1L)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(cannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("fuelRod", 1), GT_ModHandler.getIC2Item("UranFuel", 1)) + .itemOutputs(ItemList.Uraniumcell_1.get(1)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(cannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("fuelRod", 1), GT_ModHandler.getIC2Item("MOXFuel", 1)) + .itemOutputs(ItemList.Moxcell_1.get(1)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(cannerRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Large_Fluid_Cell_TungstenSteel.get(1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NaquadahEnriched, 3)) + .itemOutputs(ItemList.NaquadahCell_1.get(1L)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(cannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Large_Fluid_Cell_TungstenSteel.get(1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadria, 3)) + .itemOutputs(ItemList.MNqCell_1.get(1L)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(cannerRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java new file mode 100644 index 0000000000..b9375ebb1d --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java @@ -0,0 +1,823 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.AppliedEnergistics2; +import static gregtech.api.enums.Mods.ExtraUtilities; +import static gregtech.api.enums.Mods.GregTech; +import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.enums.Mods.ThaumicTinkerer; +import static gregtech.api.enums.Mods.TwilightForest; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static net.minecraftforge.fluids.FluidRegistry.getFluidStack; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsOreAlum; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class CentrifugeRecipes implements Runnable { + + @Override + public void run() { + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedGold, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1), + getModItem(Thaumcraft.ID, "ItemResource", 2L, 14)) + .outputChances(10000, 10000, 9000) + .fluidInputs(Materials.Mercury.getFluid(200)) + .duration(20 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Cell_Empty.get(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1)) + .fluidInputs(Materials.Air.getGas(10000)) + .fluidOutputs(Materials.Nitrogen.getGas(3900)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(8) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PlatinumGroupSludge, 9)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Palladium, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Osmium, 3)) + .outputChances(10000, 10000, 10000, 9500, 9000, 8500) + .duration(6 * MINUTES + 45 * SECONDS) + .eut(30) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemOutputs( + Materials.Stone.getDust(1), + Materials.Iron.getDust(1), + Materials.Copper.getDust(1), + Materials.Tin.getDust(1), + Materials.Nickel.getDust(1), + Materials.Antimony.getDust(1)) + .outputChances(10000, 4000, 2000, 2000, 2000, 2000) + .fluidInputs(MaterialsOreAlum.SluiceJuice.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(500)) + .duration(2 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .addTo(centrifugeRecipes); + + // food ->CH4 + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.golden_apple, 1, 1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(Items.gold_ingot, 64)) + .fluidOutputs(Materials.Methane.getGas(4608)) + .duration(7 * MINUTES + 40 * SECONDS + 16 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.golden_apple, 1, 0), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(Items.gold_ingot, 7)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(7 * MINUTES + 40 * SECONDS + 16 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.golden_carrot, 1, 0), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(Items.gold_nugget, 6)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(7 * MINUTES + 40 * SECONDS + 16 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.speckled_melon, 1, 0), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(Items.gold_nugget, 6)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(7 * MINUTES + 40 * SECONDS + 16 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.mushroom_stew, 16, 0), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(Items.bowl, 16, 0)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.apple, 32, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.bread, 64, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.porkchop, 12, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.cooked_porkchop, 16, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.beef, 12, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.cooked_beef, 16, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.fish, 12, 32767), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.cooked_fished, 16, 32767), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.chicken, 12, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.cooked_chicken, 16, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.melon, 64, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.pumpkin, 16, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.rotten_flesh, 16, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.spider_eye, 32, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.carrot, 16, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Raw_Potato.get(16), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Poisonous_Potato.get(12), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Baked_Potato.get(24), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.cookie, 64, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.cake, 8, 0), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.brown_mushroom_block, 12, 32767), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_mushroom_block, 12, 32767), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.brown_mushroom, 32, 32767), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_mushroom, 32, 32767), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.nether_wart, 32, 32767), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("terraWart", 16), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(TwilightForest.ID, "item.meefRaw", 12L, 32767), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(TwilightForest.ID, "item.meefSteak", 16L, 32767), GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(TwilightForest.ID, "item.venisonRaw", 12L, 32767), + GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(TwilightForest.ID, "item.venisonCooked", 16L, 32767), + GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(576)) + .duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1), + GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.Methane.getGas(60)) + .duration(10 * SECONDS) + .eut(20) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.sand, 1, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Diamond, 1), + new ItemStack(Blocks.sand, 1)) + .outputChances(5000, 100, 5000) + .duration(30 * SECONDS) + .eut((int) TierEU.RECIPE_MV) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.dirt, 1, 32767)) + .itemOutputs( + ItemList.IC2_Plantball.get(1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Clay, 1), + new ItemStack(Blocks.sand, 1)) + .outputChances(1250, 5000, 5000) + .duration(12 * SECONDS + 10 * TICKS) + .eut(30) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.grass, 1, 32767)) + .itemOutputs( + ItemList.IC2_Plantball.get(1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Clay, 1), + new ItemStack(Blocks.sand, 1)) + .outputChances(2500, 5000, 5000) + .duration(12 * SECONDS + 10 * TICKS) + .eut(30) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.mycelium, 1, 32767)) + .itemOutputs( + new ItemStack(Blocks.brown_mushroom, 1), + new ItemStack(Blocks.red_mushroom, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Clay, 1), + new ItemStack(Blocks.sand, 1)) + .outputChances(2500, 2500, 5000, 5000) + .duration(32 * SECONDS + 10 * TICKS) + .eut(30) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Resin.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RawRubber, 3), + ItemList.IC2_Plantball.get(1)) + .outputChances(10000, 1000) + .fluidOutputs(Materials.Glue.getFluid(100)) + .duration(15 * SECONDS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium, 1), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium235, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plutonium, 1)) + .outputChances(1000, 500) + .duration(1 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_HV) + .addTo(centrifugeRecipes); + + // Uranium Enrichment in Centrifuge by adding Fluorine (Uranium Hexafluoride) + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium235, 1)) + .outputChances(10000) + .fluidInputs(Materials.Fluorine.getGas(4000)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut((int) TierEU.RECIPE_EV) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plutonium, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Plutonium241, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Uranium, 1)) + .outputChances(2000, 3000) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(320) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 9)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NaquadahEnriched, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadria, 1)) + .outputChances(5000, 1000) + .duration(24 * MINUTES) + .eut(320) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NaquadahEnriched, 4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadria, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 1)) + .outputChances(2000, 3000) + .duration(21 * MINUTES + 20 * SECONDS) + .eut(640) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Hydrogen.getGas(160)) + .fluidOutputs(Materials.Deuterium.getGas(40)) + .duration(8 * SECONDS) + .eut(20) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Deuterium.getGas(160)) + .fluidOutputs(Materials.Tritium.getGas(40)) + .duration(8 * SECONDS) + .eut(80) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Helium.getGas(80)) + .fluidOutputs(Materials.Helium_3.getGas(5)) + .duration(8 * SECONDS) + .eut(80) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1)) + .duration(48 * SECONDS + 16 * TICKS) + .eut(80) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Endstone, 36)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungstate, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 1), + new ItemStack(Blocks.sand, 36)) + .outputChances(3750, 2500, 9000) + .fluidOutputs(Materials.Helium.getGas(4320)) + .duration(9 * MINUTES + 36 * SECONDS) + .eut(20) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 36)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 4), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 4), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1)) + .outputChances(5625, 9900, 5625, 2500) + .duration(4 * MINUTES + 48 * SECONDS) + .eut(20) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(10)) + .itemOutputs( + Materials.SiliconDioxide.getDust(1), + Materials.Magnesia.getDust(1), + Materials.Quicklime.getDust(1), + Materials.Gold.getNuggets(4), + Materials.Sapphire.getDust(1), + Materials.Tantalite.getDust(1)) + .outputChances(5000, 1000, 1000, 250, 1250, 500) + .fluidInputs(Materials.Lava.getFluid(400)) + .duration(16 * SECONDS) + .eut(80) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(20)) + .itemOutputs( + Materials.SiliconDioxide.getDust(5), + Materials.Magnesia.getDust(1), + Materials.Quicklime.getDust(1), + Materials.Gold.getIngots(1), + Materials.Sapphire.getDust(3), + Materials.Tantalite.getDust(1)) + .outputChances(9000, 9000, 9000, 1000, 3750, 4500) + .fluidInputs(Materials.Lava.getFluid(3600)) + .duration(2 * MINUTES + 24 * SECONDS) + .eut(80) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.soul_sand, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1), + new ItemStack(Blocks.sand, 1)) + .outputChances(1000, 700, 9000) + .fluidOutputs(Materials.Oil.getFluid(200)) + .duration(10 * SECONDS) + .eut(12) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(10)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Copper, 1), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Tin, 1), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Silver, 1), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Phosphorus, 1), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Scheelite, 1), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Bauxite, 1)) + .outputChances(2000, 1000, 250, 50, 250, 500) + .fluidInputs(getFluidStack("ic2pahoehoelava", 100)) + .duration(2 * SECONDS) + .eut(1024) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(20)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Silver, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphorus, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Scheelite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bauxite, 1)) + .outputChances(8000, 4000, 1000, 450, 2250, 4500) + .fluidInputs(getFluidStack("ic2pahoehoelava", 3600)) + .duration(16 * SECONDS + 8 * TICKS) + .eut(4096) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 45), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.BasalticMineralSand, 1), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Olivine, 1), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Obsidian, 1), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Basalt, 1), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Flint, 1), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.RareEarth, 1)) + .outputChances(2000, 2000, 2000, 2000, 2000, 2000) + .duration(3 * SECONDS + 4 * TICKS) + .eut(20) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 36L, 45), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BasalticMineralSand, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Olivine, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Obsidian, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Basalt, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Flint, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 2)) + .outputChances(9000, 9000, 9000, 9000, 9000, 9000) + .duration(25 * SECONDS + 18 * TICKS) + .eut(80) + .addTo(centrifugeRecipes); + + // Ash centrifuge recipes + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ash.getDust(36)) + .itemOutputs( + Materials.Quicklime.getDust(18), + Materials.Potash.getDust(9), + Materials.Magnesia.getDust(1), + Materials.PhosphorousPentoxide.getDust(2), + Materials.SodaAsh.getDust(1), + Materials.BandedIron.getDust(4)) + .outputChances(6400, 6000, 4500, 10000, 10000, 10000) + .duration(5 * MINUTES) + .eut(30) + .addTo(centrifugeRecipes); + + // Stone Dust and Metal Mixture centrifuge recipes + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Stone.getDust(36)) + .itemOutputs( + Materials.Quartzite.getDust(9), + Materials.PotassiumFeldspar.getDust(9), + Materials.Marble.getDust(8), + Materials.Biotite.getDust(4), + Materials.MetalMixture.getDust(3), + Materials.Sodalite.getDust(2)) + .outputChances(10000, 10000, 10000, 10000, 10000, 10000) + .duration(7 * MINUTES + 12 * SECONDS) + .eut(30) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.MetalMixture.getDust(36)) + .itemOutputs( + Materials.BandedIron.getDust(9), + Materials.Bauxite.getDust(9), + Materials.Pyrolusite.getDust(8), + Materials.Barite.getDust(4), + Materials.Chromite.getDust(3), + Materials.Ilmenite.getDust(2)) + .outputChances(10000, 10000, 10000, 10000, 10000, 10000) + .duration(10 * MINUTES + 56 * SECONDS + 5 * TICKS) + .eut((int) TierEU.RECIPE_EV) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Propane.getGas(320)) + .fluidOutputs(Materials.LPG.getFluid(290)) + .duration(20 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Butane.getGas(320)) + .fluidOutputs(Materials.LPG.getFluid(370)) + .duration(20 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.ElectrumFlux, 8)) + .outputChances(10000, 10000) + .fluidInputs(Materials.EnrichedNaquadria.getFluid(9216)) + .fluidOutputs(Materials.FluidNaquadahFuel.getFluid(4806)) + .duration(30 * SECONDS) + .eut(2000000) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.magma_cream, 1)) + .itemOutputs(new ItemStack(Items.blaze_powder, 1), new ItemStack(Items.slime_ball, 1)) + .duration(25 * SECONDS) + .eut(5) + .addTo(centrifugeRecipes); + + if (Thaumcraft.isModLoaded()) { + // air + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 144), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedAir, 1)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(12) + .addTo(centrifugeRecipes); + + // fire + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 146), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedFire, 1)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(12) + .addTo(centrifugeRecipes); + + // aqua + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 147), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedWater, 1)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(12) + .addTo(centrifugeRecipes); + + // terra + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 145), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedEarth, 1)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(12) + .addTo(centrifugeRecipes); + + // ordo + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 148), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedOrder, 1)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(12) + .addTo(centrifugeRecipes); + + // perditio + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 149), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedEntropy, 1)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(12) + .addTo(centrifugeRecipes); + + // Nethershard + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 152), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(ThaumicTinkerer.ID, "kamiResource", 1L, 6)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(512) + .addTo(centrifugeRecipes); + + // Endshard + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 153), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(ThaumicTinkerer.ID, "kamiResource", 1L, 7)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(512) + .addTo(centrifugeRecipes); + } + + if (ExtraUtilities.isModLoaded()) { + // Caelestis red + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 154), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 2), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 10), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 14), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 1), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 12), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 6)) + .duration(25 * SECONDS + 12 * TICKS) + .eut(12) + .addTo(centrifugeRecipes); + + // Caelestis green + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 155), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 13), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 5), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 4), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 8), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 0)) + .duration(25 * SECONDS + 12 * TICKS) + .eut(12) + .addTo(centrifugeRecipes); + + // Caelestis blue + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 156), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 3), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 9), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 11), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 7), + getModItem(ExtraUtilities.ID, "greenscreen", 1L, 15)) + .duration(25 * SECONDS + 12 * TICKS) + .eut(12) + .addTo(centrifugeRecipes); + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java new file mode 100644 index 0000000000..8ca67db192 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java @@ -0,0 +1,404 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.BuildCraftTransport; +import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.Dyes; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsKevlar; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class ChemicalBathRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Raw_Fries.get(1)) + .itemOutputs(ItemList.Food_Fries.get(1)) + .fluidInputs(Materials.FryingOilHot.getFluid(10)) + .duration(16 * TICKS) + .eut(4) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("dynamite", 1)) + .itemOutputs(GT_ModHandler.getIC2Item("stickyDynamite", 1)) + .fluidInputs(Materials.Glue.getFluid(10)) + .duration(16 * TICKS) + .eut(4) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Steel, 1)) + .itemOutputs(GT_ModHandler.getIC2Item("reinforcedStone", 1)) + .fluidInputs(Materials.Concrete.getMolten(144)) + .duration(10 * SECONDS) + .eut(4) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HydratedCoal, 1)) + .fluidInputs(Materials.Water.getFluid(125)) + .duration(12 * TICKS) + .eut(4) + .addTo(chemicalBathRecipes); + + // paper creation recipes + ItemStack[] paperSources = new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Paper, 1L), new ItemStack(Items.reeds, 1, 32767) }; + for (ItemStack paperSource : paperSources) { + GT_Values.RA.stdBuilder() + .itemInputs(paperSource) + .itemOutputs(new ItemStack(Items.paper, 1, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(4) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(paperSource) + .itemOutputs(new ItemStack(Items.paper, 1, 0)) + .fluidInputs(GT_ModHandler.getDistilledWater(100)) + .duration(10 * SECONDS) + .eut(4) + .addTo(chemicalBathRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HydratedCoal, 1)) + .fluidInputs(GT_ModHandler.getDistilledWater(125)) + .duration(12 * TICKS) + .eut(4) + .addTo(chemicalBathRecipes); + + for (int i = 1; i < 16; i++) { + // wool cleaning recipes + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.wool, 1, i)) + .itemOutputs(new ItemStack(Blocks.wool, 1, 0)) + .fluidInputs(Materials.Chlorine.getGas(50)) + .duration(20 * SECONDS) + .eut(2) + .addTo(chemicalBathRecipes); + + // carpet cleaning recipes + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.carpet, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.carpet, 1, 0)) + .fluidInputs(Materials.Chlorine.getGas(25)) + .duration(20 * SECONDS) + .eut(2) + .addTo(chemicalBathRecipes); + } + + // stained hardened clay cleaning + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.stained_hardened_clay, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.hardened_clay, 1, 0)) + .fluidInputs(Materials.Chlorine.getGas(50)) + .duration(20 * SECONDS) + .eut(2) + .addTo(chemicalBathRecipes); + + // stained glass cleaning + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.stained_glass, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.glass, 1, 0)) + .fluidInputs(Materials.Chlorine.getGas(50)) + .duration(20 * SECONDS) + .eut(2) + .addTo(chemicalBathRecipes); + + // stained glass pane cleaning + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.stained_glass_pane, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.glass_pane, 1, 0)) + .fluidInputs(Materials.Chlorine.getGas(20)) + .duration(20 * SECONDS) + .eut(2) + .addTo(chemicalBathRecipes); + + // light -> dark concrete recipes + for (int i = 0; i < 8; i++) { + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(GregTech_API.sBlockConcretes, 1, i + 8)) + .itemOutputs(new ItemStack(GregTech_API.sBlockConcretes, 1, i)) + .fluidInputs(Materials.Water.getFluid(250)) + .duration(10 * SECONDS) + .eut(4) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(GregTech_API.sBlockConcretes, 1, i + 8)) + .itemOutputs(new ItemStack(GregTech_API.sBlockConcretes, 1, i)) + .fluidInputs(GT_ModHandler.getDistilledWater(250)) + .duration(10 * SECONDS) + .eut(4) + .addTo(chemicalBathRecipes); + } + + // reinforced blocks + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Bronze, 1)) + .itemOutputs(ItemList.Block_BronzePlate.get(1)) + .fluidInputs(Materials.Concrete.getMolten(144)) + .duration(10 * SECONDS) + .eut(4) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Steel, 1)) + .itemOutputs(ItemList.Block_SteelPlate.get(1)) + .fluidInputs(Materials.Steel.getMolten(288)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1)) + .itemOutputs(ItemList.Block_TitaniumPlate.get(1)) + .fluidInputs(Materials.Titanium.getMolten(144)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1)) + .itemOutputs(ItemList.Block_TungstenSteelReinforced.get(1)) + .fluidInputs(Materials.TungstenSteel.getMolten(144)) + .duration(17 * SECONDS + 10 * TICKS) + .eut(64) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1)) + .itemOutputs(ItemList.Block_IridiumTungstensteel.get(1)) + .fluidInputs(Materials.Iridium.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Naquadah, 1)) + .itemOutputs(ItemList.Block_NaquadahPlate.get(1)) + .fluidInputs(Materials.Osmium.getMolten(144)) + .duration(22 * SECONDS + 10 * TICKS) + .eut(256) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 1)) + .itemOutputs(ItemList.Block_NeutroniumPlate.get(1)) + .fluidInputs(Materials.Naquadria.getMolten(144)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1)) + .itemOutputs(ItemList.Block_TungstenSteelReinforced.get(1)) + .fluidInputs(Materials.Concrete.getMolten(144)) + .duration(10 * SECONDS) + .eut(4) + .addTo(chemicalBathRecipes); + } + + for (int j = 0; j < Dyes.dyeRed.getSizeOfFluidList(); j++) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.RedAlloy, 1)) + .itemOutputs(getModItem(BuildCraftTransport.ID, "pipeWire", 4L, 0)) + .fluidInputs(Dyes.dyeRed.getFluidDye(j, 72)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(16) + .addTo(chemicalBathRecipes); + } + for (int j = 0; j < Dyes.dyeBlue.getSizeOfFluidList(); j++) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.RedAlloy, 1)) + .itemOutputs(getModItem(BuildCraftTransport.ID, "pipeWire", 4L, 1)) + .fluidInputs(Dyes.dyeBlue.getFluidDye(j, 72)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(16) + .addTo(chemicalBathRecipes); + } + for (int j = 0; j < Dyes.dyeGreen.getSizeOfFluidList(); j++) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.RedAlloy, 1)) + .itemOutputs(getModItem(BuildCraftTransport.ID, "pipeWire", 4L, 2)) + .fluidInputs(Dyes.dyeGreen.getFluidDye(j, 72)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(16) + .addTo(chemicalBathRecipes); + } + for (int j = 0; j < Dyes.dyeYellow.getSizeOfFluidList(); j++) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.RedAlloy, 1)) + .itemOutputs(getModItem(BuildCraftTransport.ID, "pipeWire", 4L, 3)) + .fluidInputs(Dyes.dyeYellow.getFluidDye(j, 72)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(16) + .addTo(chemicalBathRecipes); + } + for (byte i = 0; i < 16; i = (byte) (i + 1)) { + for (int j = 0; j < Dyes.VALUES[i].getSizeOfFluidList(); j++) { + if (i != 15) { + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.wool, 1, 0)) + .itemOutputs(new ItemStack(Blocks.wool, 1, 15 - i)) + .fluidInputs(Dyes.VALUES[i].getFluidDye(j, 72)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(chemicalBathRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.glass, 1, 0)) + .itemOutputs(new ItemStack(Blocks.stained_glass, 1, 15 - i)) + .fluidInputs(Dyes.VALUES[i].getFluidDye(j, 18)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.hardened_clay, 1, 0)) + .itemOutputs(new ItemStack(Blocks.stained_hardened_clay, 1, 15 - i)) + .fluidInputs(Dyes.VALUES[i].getFluidDye(j, 18)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(chemicalBathRecipes); + } + } + + // Rn relate quantum recipe + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.EnderEye, 1)) + .itemOutputs(ItemList.QuantumEye.get(1)) + .fluidInputs(Materials.Radon.getGas(250)) + .duration(24 * SECONDS) + .eut(384) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherStar, 1)) + .itemOutputs(ItemList.QuantumStar.get(1)) + .fluidInputs(Materials.Radon.getGas(1250)) + .duration(1 * MINUTES + 36 * SECONDS) + .eut(384) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.WovenKevlar.get(1)) + .itemOutputs(MaterialsKevlar.Kevlar.getPlates(1)) + .fluidInputs(MaterialsKevlar.PolyurethaneResin.getFluid(1000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalBathRecipes); + + // Na + H2O = NaOH + H + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Sodium.getDust(1)) + .itemOutputs(Materials.SodiumHydroxide.getDust(3)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(1000)) + .duration(5 * SECONDS) + .eut(4) + .addTo(chemicalBathRecipes); + + // Custom Sodium Persulfate Ore Processing Recipes + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Tantalite, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Tantalite, 1), + Materials.Tantalum.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1)) + .outputChances(10000, 3000, 4000) + .fluidInputs(Materials.SodiumPersulfate.getFluid(100)) + .duration(40 * SECONDS) + .eut(8) + .addTo(chemicalBathRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Pyrolusite, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Pyrolusite, 1), + Materials.Manganese.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1)) + .outputChances(10000, 7000, 4000) + .fluidInputs(Materials.SodiumPersulfate.getFluid(100)) + .duration(40 * SECONDS) + .eut(8) + .addTo(chemicalBathRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Quartzite, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Quartzite, 1), + Materials.CertusQuartz.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1)) + .outputChances(10000, 3000, 4000) + .fluidInputs(Materials.SodiumPersulfate.getFluid(100)) + .duration(40 * SECONDS) + .eut(8) + .addTo(chemicalBathRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.CertusQuartz, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.CertusQuartz, 1), + Materials.Barium.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1)) + .outputChances(10000, 7000, 4000) + .fluidInputs(Materials.SodiumPersulfate.getFluid(100)) + .duration(40 * SECONDS) + .eut(8) + .addTo(chemicalBathRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Bauxite, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Bauxite, 1), + Materials.Rutile.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1)) + .outputChances(10000, 5000, 4000) + .fluidInputs(Materials.SodiumPersulfate.getFluid(100)) + .duration(40 * SECONDS) + .eut(8) + .addTo(chemicalBathRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Thorium, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Thorium, 1), + Materials.Uranium.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1)) + .outputChances(10000, 3000, 4000) + .fluidInputs(Materials.SodiumPersulfate.getFluid(100)) + .duration(40 * SECONDS) + .eut(8) + .addTo(chemicalBathRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Stibnite, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Stibnite, 1), + Materials.Antimony.getDust(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1)) + .outputChances(10000, 5000, 4000) + .fluidInputs(Materials.SodiumPersulfate.getFluid(100)) + .duration(40 * SECONDS) + .eut(8) + .addTo(chemicalBathRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java new file mode 100644 index 0000000000..d099157c1c --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java @@ -0,0 +1,5973 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.BartWorks; +import static gregtech.api.enums.Mods.GTNHLanthanides; +import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.enums.Mods.GalaxySpace; +import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.recipe.RecipeMaps.chemicalReactorRecipes; +import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; +import static net.minecraftforge.fluids.FluidRegistry.getFluidStack; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsKevlar; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class ChemicalRecipes implements Runnable { + + @Override + public void run() { + singleBlockOnly(); + multiblockOnly(); + registerBoth(); + + polymerizationRecipes(); + } + + public void registerBoth() { + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.paper, 1), new ItemStack(Items.string, 1)) + .itemOutputs(GT_ModHandler.getIC2Item("dynamite", 1)) + .fluidInputs(Materials.Glyceryl.getFluid(500)) + .duration(8 * SECONDS) + .eut(4) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Indium, 1)) + .fluidInputs(new FluidStack(ItemList.sIndiumConcentrate, 8000)) + .fluidOutputs(new FluidStack(ItemList.sLeadZincSolution, 8000)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 36), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Indium, 1)) + .fluidInputs(new FluidStack(ItemList.sIndiumConcentrate, 72000)) + .fluidOutputs(new FluidStack(ItemList.sLeadZincSolution, 72000)) + .duration(22 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // Platinum Group Sludge chain + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Pentlandite, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.PlatinumGroupSludge, 1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(new FluidStack(ItemList.sNickelSulfate, 2000)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(30) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Chalcopyrite, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.PlatinumGroupSludge, 1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(new FluidStack(ItemList.sBlueVitriol, 2000)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(30) + .addTo(UniversalChemical); + + // Fe + 3HCl = FeCl3 + 3H + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), ItemList.Cell_Empty.get(3)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 3)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(3000)) + .fluidOutputs(Materials.IronIIIChloride.getFluid(1000)) + .duration(20 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedGold, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 8)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thaumium, 16)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GalaxySpace.ID, "item.UnknowCrystal", 4), Materials.Osmiridium.getDust(2)) + .itemOutputs(ItemList.Circuit_Chip_Stemcell.get(64)) + .fluidInputs(Materials.GrowthMediumSterilized.getFluid(1000)) + .fluidOutputs(getFluidStack("bacterialsludge", 1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Chip_Stemcell.get(32), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CosmicNeutronium, 4)) + .itemOutputs(ItemList.Circuit_Chip_Biocell.get(32)) + .fluidInputs(Materials.BioMediumSterilized.getFluid(2000)) + .fluidOutputs(getFluidStack("mutagen", 2000)) + .duration(60 * SECONDS) + .eut(500000) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Items.sugar), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Plastic, 1)) + .itemOutputs(ItemList.GelledToluene.get(2)) + .fluidInputs(new FluidStack(ItemList.sToluene, 133)) + .duration(7 * SECONDS) + .eut(192) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.sugar, 9), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 1)) + .itemOutputs(ItemList.GelledToluene.get(18)) + .fluidInputs(new FluidStack(ItemList.sToluene, 1197)) + .duration(1 * MINUTES + 3 * SECONDS) + .eut(192) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.GelledToluene.get(4), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(Blocks.tnt, 1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(250)) + .duration(10 * SECONDS) + .eut(24) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.GelledToluene.get(4), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_ModHandler.getIC2Item("industrialTnt", 1)) + .fluidInputs(new FluidStack(ItemList.sNitrationMixture, 200)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(150)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1), + Materials.Empty.getCells(1)) + .fluidInputs(Materials.NatruralGas.getGas(16000)) + .fluidOutputs(Materials.Gas.getGas(16000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NatruralGas, 2), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Gas, 2)) + .fluidInputs(Materials.Hydrogen.getGas(250)) + .fluidOutputs(Materials.HydricSulfide.getGas(125)) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1), + Materials.Empty.getCells(1)) + .fluidInputs(Materials.SulfuricGas.getGas(16000)) + .fluidOutputs(Materials.Gas.getGas(16000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricGas, 2), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Gas, 2)) + .fluidInputs(Materials.Hydrogen.getGas(250)) + .fluidOutputs(Materials.HydricSulfide.getGas(125)) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1), + Materials.Empty.getCells(1)) + .fluidInputs(Materials.SulfuricNaphtha.getFluid(12000)) + .fluidOutputs(Materials.Naphtha.getFluid(12000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricNaphtha, 3), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naphtha, 3)) + .fluidInputs(Materials.Hydrogen.getGas(500)) + .fluidOutputs(Materials.HydricSulfide.getGas(250)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1), + Materials.Empty.getCells(1)) + .fluidInputs(Materials.SulfuricLightFuel.getFluid(12000)) + .fluidOutputs(Materials.LightFuel.getFluid(12000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricLightFuel, 3), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 3)) + .fluidInputs(Materials.Hydrogen.getGas(500)) + .fluidOutputs(Materials.HydricSulfide.getGas(250)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1), + Materials.Empty.getCells(1)) + .fluidInputs(Materials.SulfuricHeavyFuel.getFluid(8000)) + .fluidOutputs(Materials.HeavyFuel.getFluid(8000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricHeavyFuel, 1), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 1)) + .fluidInputs(Materials.Hydrogen.getGas(250)) + .fluidOutputs(Materials.HydricSulfide.getGas(125)) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Potassium, 1)) + .fluidInputs(Materials.Naphtha.getFluid(576)) + .fluidOutputs(Materials.Polycaprolactam.getMolten(1296)) + .duration(32 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 9), + GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Potassium, 1)) + .fluidInputs(Materials.Naphtha.getFluid(5184)) + .fluidOutputs(Materials.Polycaprolactam.getMolten(11664)) + .duration(4 * MINUTES + 48 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + for (Fluid tFluid : new Fluid[] { FluidRegistry.WATER, GT_ModHandler.getDistilledWater(1L) + .getFluid() }) { + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(2)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TricalciumPhosphate, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(3)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphate, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(2)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 3)) + .itemOutputs(ItemList.IC2_Fertilizer.get(1)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(1)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(3)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TricalciumPhosphate, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(4)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphate, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(3)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 3)) + .itemOutputs(ItemList.IC2_Fertilizer.get(2)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(2)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Apatite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(3)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Apatite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TricalciumPhosphate, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(4)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Apatite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphate, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(3)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Apatite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 3)) + .itemOutputs(ItemList.IC2_Fertilizer.get(2)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Apatite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(2)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glauconite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(3)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glauconite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TricalciumPhosphate, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(4)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glauconite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphate, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(3)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glauconite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 3)) + .itemOutputs(ItemList.IC2_Fertilizer.get(2)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glauconite, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(2)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GlauconiteSand, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(3)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GlauconiteSand, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TricalciumPhosphate, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(4)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GlauconiteSand, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphate, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(3)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GlauconiteSand, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 3)) + .itemOutputs(ItemList.IC2_Fertilizer.get(2)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GlauconiteSand, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(2)) + .fluidInputs(new FluidStack(tFluid, 1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + } + + // 3quartz dust + Na + H2O = 3quartz gem (Na loss + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NetherQuartz, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherQuartz, 3)) + .fluidInputs(Materials.Water.getFluid(1000)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CertusQuartz, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.CertusQuartz, 3)) + .fluidInputs(Materials.Water.getFluid(1000)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quartzite, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Quartzite, 3)) + .fluidInputs(Materials.Water.getFluid(1000)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NetherQuartz, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherQuartz, 3)) + .fluidInputs(GT_ModHandler.getDistilledWater(1000)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CertusQuartz, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.CertusQuartz, 3)) + .fluidInputs(GT_ModHandler.getDistilledWater(1000)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quartzite, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Quartzite, 3)) + .fluidInputs(GT_ModHandler.getDistilledWater(1000)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // 3UO2 + 4Al = 3U + 2Al2O3 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uraninite, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminiumoxide, 10)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // UO2 + 2Mg = U + 2MgO + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uraninite, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesia, 4)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // Ca + C + 3O = CaCO3 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 5)) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // C + 4H = CH4 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Carbon.getDust(1), GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Hydrogen.getGas(4000)) + .fluidOutputs(Materials.Methane.getGas(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // TiO2 + 2C + 4Cl = TiCl4 + 2CO + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Rutile, 3), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Carbon, 2)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.CarbonMonoxide, 2)) + .fluidInputs(Materials.Chlorine.getGas(4000)) + .fluidOutputs(Materials.Titaniumtetrachloride.getFluid(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Rutile, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 2)) + .fluidInputs(Materials.Chlorine.getGas(4000)) + .fluidOutputs(Materials.Titaniumtetrachloride.getFluid(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Rutile, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 2)) + .fluidInputs(Materials.Chlorine.getGas(4000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(2000), Materials.Titaniumtetrachloride.getFluid(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + // 4Na + 2MgCl2 = 2Mg + 4NaCl + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 4), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesiumchloride, 6)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 8)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // rubber + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RawRubber, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1)) + .fluidOutputs(Materials.Rubber.getMolten(1296)) + .duration(30 * SECONDS) + .eut(16) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RawRubber, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Sulfur, 1)) + .fluidOutputs(Materials.Rubber.getMolten(144)) + .duration(5 * SECONDS) + .eut(16) + .addTo(UniversalChemical); + + // vanilla recipe + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 8), + new ItemStack(Items.melon, 1, 32767)) + .itemOutputs(new ItemStack(Items.speckled_melon, 1, 0)) + .duration(50) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 8), + new ItemStack(Items.carrot, 1, 32767)) + .itemOutputs(new ItemStack(Items.golden_carrot, 1, 0)) + .duration(50) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Gold, 8), + new ItemStack(Items.apple, 1, 32767)) + .itemOutputs(new ItemStack(Items.golden_apple, 1, 0)) + .duration(50) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Gold, 8), + new ItemStack(Items.apple, 1, 32767)) + .itemOutputs(new ItemStack(Items.golden_apple, 1, 1)) + .duration(50) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.EnderPearl, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.EnderEye, 1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1), + new ItemStack(Items.slime_ball, 1, 32767)) + .itemOutputs(new ItemStack(Items.magma_cream, 1, 0)) + .duration(50) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // 1/9U +Air ==Pu== 0.1Rn + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Plutonium, 8), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Uranium, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plutonium, 8)) + .fluidInputs(Materials.Air.getGas(1000)) + .fluidOutputs(Materials.Radon.getGas(100)) + .duration(10 * MINUTES) + .eut(8) + .addTo(UniversalChemical); + + // Silicon Line + // SiO2 + 2Mg = 2MgO + Si + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesia, 4)) + .duration(5 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NetherQuartz, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesia, 4)) + .duration(5 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quartzite, 6), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesia, 4)) + .duration(5 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CertusQuartz, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesia, 4)) + .duration(5 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + // 3SiF4 + 4Al = 3Si + 4AlF3 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.AluminiumFluoride, 16)) + .fluidInputs(Materials.SiliconTetrafluoride.getGas(3000)) + .duration(30 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // SiO2 + 4HF = SiF4 + 2H2O + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 3), + GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.HydrofluoricAcid.getFluid(4000)) + .fluidOutputs(Materials.SiliconTetrafluoride.getGas(1000)) + .duration(15 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NetherQuartz, 3), + GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.HydrofluoricAcid.getFluid(4000)) + .fluidOutputs(Materials.SiliconTetrafluoride.getGas(1000)) + .duration(15 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CertusQuartz, 3), + GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.HydrofluoricAcid.getFluid(4000)) + .fluidOutputs(Materials.SiliconTetrafluoride.getGas(1000)) + .duration(15 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quartzite, 6), + GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.HydrofluoricAcid.getFluid(4000)) + .fluidOutputs(Materials.SiliconTetrafluoride.getGas(1000)) + .duration(15 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // 4Na + SiCl4 = 4NaCl + Si + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 8)) + .fluidInputs(Materials.SiliconTetrachloride.getFluid(1000)) + .duration(5 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // HSiCl3 + 2H = 3HCl + Si + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 1), ItemList.Cell_Empty.get(2)) + .fluidInputs(Materials.Trichlorosilane.getFluid(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(3000)) + .duration(15 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Trichlorosilane, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 1), ItemList.Cell_Empty.get(1)) + .fluidInputs(Materials.Hydrogen.getGas(2000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(3000)) + .duration(15 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // 4HSiCl3 = 3SiCl4 + SiH4 + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Cell_Empty.get(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Silane, 1)) + .fluidInputs(Materials.Trichlorosilane.getFluid(4000)) + .fluidOutputs(Materials.SiliconTetrachloride.getFluid(3000)) + .duration(12 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // SiH4 = Si + 4H + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 1)) + .fluidInputs(Materials.Silane.getGas(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(4000)) + .duration(15 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // Ca + 2H = CaH2 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calciumhydride, 3)) + .fluidInputs(Materials.Hydrogen.getGas(2000)) + .duration(20 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // Si + 4Cl = SiCl4 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1), + GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.Chlorine.getGas(4000)) + .fluidOutputs(Materials.SiliconTetrachloride.getFluid(1000)) + .duration(20 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // 2Na + S = Na2S + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Sodium.getDust(2), Materials.Sulfur.getDust(1)) + .itemOutputs(Materials.SodiumSulfide.getDust(3)) + .duration(60) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // H2S + H2O + (O2) = 0.5H2SO4(Diluted) ( S loss + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydricSulfide.getCells(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(750)) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.HydricSulfide.getGas(1000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(750)) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // Ni + 4CO = Ni(CO)4 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.CarbonMonoxide, 4)) + .itemOutputs(ItemList.Cell_Empty.get(4)) + .fluidOutputs(MaterialsKevlar.NickelTetracarbonyl.getFluid(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1), + GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.CarbonMonoxide.getGas(4000)) + .fluidOutputs(MaterialsKevlar.NickelTetracarbonyl.getFluid(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1), ItemList.Cell_Empty.get(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.NickelTetracarbonyl, 1)) + .fluidInputs(Materials.CarbonMonoxide.getGas(4000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + // C2H4O + H2O = C2H6O2 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.EthyleneOxide, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cell_Empty.get(1)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(MaterialsKevlar.Ethyleneglycol.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // C2H4 + O = C2H4O + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Ethylene, 2), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.Cell_Empty.get(2)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(MaterialsKevlar.Acetaldehyde.getGas(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(ItemList.Cell_Empty.get(1)) + .fluidInputs(Materials.Ethylene.getGas(2000)) + .fluidOutputs(MaterialsKevlar.Acetaldehyde.getGas(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // NiAl3 + 2NaOH + 2H2O = NiAl + 2NaAlO2 + 6H + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, MaterialsKevlar.NickelAluminide, 4), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 6)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.RaneyNickelActivated, 2), + Materials.SodiumAluminate.getDust(8)) + .fluidInputs(Materials.Water.getFluid(2000)) + .fluidOutputs(Materials.Hydrogen.getGas(6000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + // Cu + O = CuO + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CupricOxide, 2), + ItemList.Cell_Empty.get(1)) + .duration(5 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CupricOxide, 2)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .duration(5 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // 2Bi + 3O = Bi2O3 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bismuth, 4), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 6)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.BismuthIIIOxide, 10), + ItemList.Cell_Empty.get(6)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bismuth, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.BismuthIIIOxide, 10)) + .fluidInputs(Materials.Oxygen.getGas(6000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // C4H6O2 + CNH5 = C5H9NO + H2O + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.Methylamine, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.GammaButyrolactone, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.NMethylIIPyrrolidone, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Water, 1)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 8), + GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.Chlorine.getGas(16000)) + .fluidOutputs(MaterialsKevlar.SulfurDichloride.getFluid(8000)) + .duration(40 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // SCl2 + SO3 = SO2 + SOCl2 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfurTrioxide, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.SulfurDichloride, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.ThionylChloride, 1), + ItemList.Cell_Empty.get(1)) + .fluidOutputs(Materials.SulfurDioxide.getGas(1000)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // C8H10 + 6O =CoC22H14O4= C8H6O4 + 2H2O + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.IVDimethylbenzene, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.CobaltIINaphthenate, 41)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.TerephthalicAcid, 1)) + .fluidInputs(Materials.Oxygen.getGas(6000)) + .fluidOutputs(Materials.Water.getFluid(2000)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // 2CH4 + C6H6 = C8H10 + 4H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methane.getCells(2), GT_Utility.getIntegratedCircuit(13)) + .itemOutputs(MaterialsKevlar.IIIDimethylbenzene.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Benzene.getFluid(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(4000)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Benzene.getCells(1), GT_Utility.getIntegratedCircuit(14)) + .itemOutputs(MaterialsKevlar.IIIDimethylbenzene.getCells(1)) + .fluidInputs(Materials.Methane.getGas(2000)) + .fluidOutputs(Materials.Hydrogen.getGas(4000)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // 2CH4 + C6H6 = C8H10 + 4H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methane.getCells(2), GT_Utility.getIntegratedCircuit(15)) + .itemOutputs(MaterialsKevlar.IVDimethylbenzene.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Benzene.getFluid(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(4000)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Benzene.getCells(1), GT_Utility.getIntegratedCircuit(16)) + .itemOutputs(MaterialsKevlar.IVDimethylbenzene.getCells(1)) + .fluidInputs(Materials.Methane.getGas(2000)) + .fluidOutputs(Materials.Hydrogen.getGas(4000)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(MaterialsKevlar.CobaltIIHydroxide.getDust(5), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(MaterialsKevlar.CobaltIINaphthenate.getDust(41)) + .fluidInputs(MaterialsKevlar.NaphthenicAcid.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(MaterialsKevlar.CobaltIIAcetate.getDust(15), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(MaterialsKevlar.CobaltIINaphthenate.getDust(41)) + .fluidInputs(MaterialsKevlar.NaphthenicAcid.getFluid(1000)) + .fluidOutputs(Materials.AceticAcid.getFluid(1500)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // Co + 2HNO3 = Co(NO3)2 + 2H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Cobalt.getDust(1), Materials.NitricAcid.getCells(2)) + .itemOutputs( + MaterialsKevlar.CobaltIINitrate.getDust(9), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // Co(NO3)2 + 2KOH = CoH2O2 + 2KNO3 + + GT_Values.RA.stdBuilder() + .itemInputs( + MaterialsKevlar.CobaltIINitrate.getDust(9), + getModItem(NewHorizonsCoreMod.ID, "item.PotassiumHydroxideDust", 6L, 0)) + .itemOutputs(MaterialsKevlar.CobaltIIHydroxide.getDust(5), Materials.Saltpeter.getDust(10)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // CoO + 2C2H4O2 = CoC4H6O4 + 2H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.CobaltOxide.getDust(2), Materials.AceticAcid.getCells(2)) + .itemOutputs(MaterialsKevlar.CobaltIIAcetate.getDust(15), ItemList.Cell_Empty.get(2)) + .fluidOutputs(Materials.Water.getFluid(2000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Phosphorus.getDust(1), GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Chlorine.getGas(3000)) + .fluidOutputs(MaterialsKevlar.PhosphorusTrichloride.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Phosphorus.getDust(9), GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.Chlorine.getGas(27000)) + .fluidOutputs(MaterialsKevlar.PhosphorusTrichloride.getFluid(9000)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // Na + H = NaH + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Sodium.getDust(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(MaterialsKevlar.SodiumHydride.getDust(2)) + .fluidInputs(Materials.Hydrogen.getGas(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // CH3ONa + H2O = CH4O + NaOH + + GT_Values.RA.stdBuilder() + .itemInputs(MaterialsKevlar.SodiumMethoxide.getDust(6), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.SodiumHydroxide.getDust(3)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.Methanol.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // K + HNO3 = KNO3 + H (not real, but gameplay + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Potassium.getDust(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Saltpeter.getDust(5)) + .fluidInputs(Materials.NitricAcid.getFluid(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(1000)) + .duration(5 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // CH3COOH + CH3OH = CH3COOCH3 + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.AceticAcid.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(1)) + .fluidInputs(Materials.Methanol.getFluid(1000)) + .fluidOutputs(Materials.MethylAcetate.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(1000)) + .fluidOutputs(Materials.MethylAcetate.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.AceticAcid.getCells(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Methanol.getFluid(1000)) + .fluidOutputs(Materials.MethylAcetate.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(1000)) + .fluidOutputs(Materials.MethylAcetate.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.AceticAcid.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.MethylAcetate.getCells(1)) + .fluidInputs(Materials.Methanol.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.MethylAcetate.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.AceticAcid.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.MethylAcetate.getCells(1)) + .fluidInputs(Materials.Methanol.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.MethylAcetate.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // CO and CO2 recipes + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Carbon.getDust(1), GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(1000)) + .duration(2 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Coal.getGems(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Ash.getDustTiny(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(1000)) + .duration(4 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Coal.getDust(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Ash.getDustTiny(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(1000)) + .duration(4 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Charcoal.getGems(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Ash.getDustTiny(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(1000)) + .duration(4 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Charcoal.getDust(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Ash.getDustTiny(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(1000)) + .duration(4 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Carbon.getDust(1), GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.Oxygen.getGas(2000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(2 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Coal.getGems(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Ash.getDustTiny(1)) + .fluidInputs(Materials.Oxygen.getGas(2000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(2 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Coal.getDust(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Ash.getDustTiny(1)) + .fluidInputs(Materials.Oxygen.getGas(2000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(2 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Charcoal.getGems(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Ash.getDustTiny(1)) + .fluidInputs(Materials.Oxygen.getGas(2000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(2 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Charcoal.getDust(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Ash.getDustTiny(1)) + .fluidInputs(Materials.Oxygen.getGas(2000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(2 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Carbon.getDust(1)) + .fluidInputs(Materials.CarbonDioxide.getGas(1000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(2000)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Coal.getGems(9), GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(Materials.Ash.getDust(1)) + .fluidInputs(Materials.Oxygen.getGas(9000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(9000)) + .duration(36 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Coal.getDust(9), GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(Materials.Ash.getDust(1)) + .fluidInputs(Materials.Oxygen.getGas(9000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(9000)) + .duration(36 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Charcoal.getGems(9), GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(Materials.Ash.getDust(1)) + .fluidInputs(Materials.Oxygen.getGas(9000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(9000)) + .duration(36 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Charcoal.getDust(9), GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(Materials.Ash.getDust(1)) + .fluidInputs(Materials.Oxygen.getGas(9000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(9000)) + .duration(36 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Coal.getGems(9), GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(Materials.Ash.getDust(1)) + .fluidInputs(Materials.Oxygen.getGas(18000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(9000)) + .duration(18 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Coal.getDust(9), GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(Materials.Ash.getDust(1)) + .fluidInputs(Materials.Oxygen.getGas(18000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(9000)) + .duration(18 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Charcoal.getGems(9), GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(Materials.Ash.getDust(1)) + .fluidInputs(Materials.Oxygen.getGas(18000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(9000)) + .duration(18 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Charcoal.getDust(9), GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(Materials.Ash.getDust(1)) + .fluidInputs(Materials.Oxygen.getGas(18000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(9000)) + .duration(18 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + // CO + 4H = CH3OH + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.CarbonMonoxide.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(4000)) + .fluidOutputs(Materials.Methanol.getFluid(1000)) + .duration(6 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Hydrogen.getCells(4), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(4)) + .fluidInputs(Materials.CarbonMonoxide.getGas(1000)) + .fluidOutputs(Materials.Methanol.getFluid(1000)) + .duration(6 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.CarbonMonoxide.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Methanol.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(4000)) + .duration(6 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Hydrogen.getCells(4), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Methanol.getCells(1), Materials.Empty.getCells(3)) + .fluidInputs(Materials.CarbonMonoxide.getGas(1000)) + .duration(6 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + // CO2 + 6H = CH3OH + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.CarbonDioxide.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(6000)) + .fluidOutputs(Materials.Methanol.getFluid(1000)) + .duration(6 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Hydrogen.getCells(6), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(1), Materials.Empty.getCells(5)) + .fluidInputs(Materials.CarbonDioxide.getGas(1000)) + .fluidOutputs(Materials.Methanol.getFluid(1000)) + .duration(6 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.CarbonDioxide.getCells(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(6000)) + .fluidOutputs(Materials.Methanol.getFluid(1000)) + .duration(6 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Hydrogen.getCells(6), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(6)) + .fluidInputs(Materials.CarbonDioxide.getGas(1000)) + .fluidOutputs(Materials.Methanol.getFluid(1000)) + .duration(6 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.CarbonDioxide.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Methanol.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(6000)) + .duration(6 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Hydrogen.getCells(6), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Methanol.getCells(1), Materials.Empty.getCells(5)) + .fluidInputs(Materials.CarbonDioxide.getGas(1000)) + .duration(6 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + // CH3OH + CO = CH3COOH + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.CarbonMonoxide.getGas(1000)) + .fluidOutputs(Materials.AceticAcid.getFluid(1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.CarbonMonoxide.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Methanol.getFluid(1000)) + .fluidOutputs(Materials.AceticAcid.getFluid(1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.AceticAcid.getCells(1)) + .fluidInputs(Materials.CarbonMonoxide.getGas(1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.CarbonMonoxide.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.AceticAcid.getCells(1)) + .fluidInputs(Materials.Methanol.getFluid(1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // CH2CH2 + 2O = CH3COOH + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethylene.getCells(1), GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(2000)) + .fluidOutputs(Materials.AceticAcid.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(2), GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(Materials.Empty.getCells(2)) + .fluidInputs(Materials.Ethylene.getGas(1000)) + .fluidOutputs(Materials.AceticAcid.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethylene.getCells(1), GT_Utility.getIntegratedCircuit(19)) + .itemOutputs(Materials.AceticAcid.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(2000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(2), GT_Utility.getIntegratedCircuit(19)) + .itemOutputs(Materials.AceticAcid.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Ethylene.getGas(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // O + C2H4O2 + C2H4 = C4H6O2 + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethylene.getCells(1), Materials.AceticAcid.getCells(1)) + .itemOutputs(Materials.Water.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.VinylAcetate.getFluid(1000)) + .duration(9 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.AceticAcid.getCells(1), Materials.Oxygen.getCells(1)) + .itemOutputs(Materials.Water.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Ethylene.getGas(1000)) + .fluidOutputs(Materials.VinylAcetate.getFluid(1000)) + .duration(9 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(1), Materials.Ethylene.getCells(1)) + .itemOutputs(Materials.Water.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(1000)) + .fluidOutputs(Materials.VinylAcetate.getFluid(1000)) + .duration(9 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // Ethanol -> Ethylene (Intended loss for Sulfuric Acid) + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethanol.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Ethylene.getCells(1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SulfuricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Ethylene.getCells(1)) + .fluidInputs(Materials.Ethanol.getFluid(1000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethanol.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.DilutedSulfuricAcid.getCells(1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(Materials.Ethylene.getGas(1000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SulfuricAcid.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.DilutedSulfuricAcid.getCells(1)) + .fluidInputs(Materials.Ethanol.getFluid(1000)) + .fluidOutputs(Materials.Ethylene.getGas(1000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // H2O + Na = NaOH + H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Sodium.getDust(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.SodiumHydroxide.getDust(3)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(1000)) + .duration(10 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // H + Cl = HCl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(3 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Hydrogen.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(3 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.HydrochloricAcid.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(1000)) + .duration(3 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Hydrogen.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.HydrochloricAcid.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(1000)) + .duration(3 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + // C3H6 + 2Cl = HCl + C3H5Cl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.HydrochloricAcid.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Propene.getGas(1000)) + .fluidOutputs(Materials.AllylChloride.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Propene.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.HydrochloricAcid.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(2000)) + .fluidOutputs(Materials.AllylChloride.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(2), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.AllylChloride.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Propene.getGas(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Propene.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.AllylChloride.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(2000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // 2Cl + H2O = HCl + HClO (Intended loss) + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.DilutedHydrochloricAcid.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.HypochlorousAcid.getFluid(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.DilutedHydrochloricAcid.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(2000)) + .fluidOutputs(Materials.HypochlorousAcid.getFluid(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(2), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.HypochlorousAcid.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.DilutedHydrochloricAcid.getFluid(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.HypochlorousAcid.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(2000)) + .fluidOutputs(Materials.DilutedHydrochloricAcid.getFluid(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // HClO + NaOH + C3H5Cl = C3H5ClO + NaCl·H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HypochlorousAcid.getCells(1), Materials.SodiumHydroxide.getDust(3)) + .itemOutputs(Materials.SaltWater.getCells(1)) + .fluidInputs(Materials.AllylChloride.getFluid(1000)) + .fluidOutputs(Materials.Epichlorohydrin.getFluid(1000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(3), Materials.AllylChloride.getCells(1)) + .itemOutputs(Materials.SaltWater.getCells(1)) + .fluidInputs(Materials.HypochlorousAcid.getFluid(1000)) + .fluidOutputs(Materials.Epichlorohydrin.getFluid(1000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), Materials.Empty.getCells(1)) + .itemOutputs(Materials.Water.getCells(2)) + .fluidInputs(Materials.Glycerol.getFluid(1000)) + .fluidOutputs(Materials.Epichlorohydrin.getFluid(1000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Glycerol.getCells(1), Materials.Empty.getCells(1)) + .itemOutputs(Materials.Water.getCells(2)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(Materials.Epichlorohydrin.getFluid(1000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Epichlorohydrin.getCells(1)) + .fluidInputs(Materials.Glycerol.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(2000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Glycerol.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Epichlorohydrin.getCells(1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(2000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Glycerol.getFluid(1000)) + .fluidOutputs(Materials.Epichlorohydrin.getFluid(1000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Glycerol.getCells(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(Materials.Epichlorohydrin.getFluid(1000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Epichlorohydrin.getCells(1)) + .fluidInputs(Materials.Glycerol.getFluid(1000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Glycerol.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Epichlorohydrin.getCells(1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // P4O10 + 6H2O = 4H3PO4 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.PhosphorousPentoxide.getDust(14)) + .fluidInputs(Materials.Water.getFluid(6000)) + .fluidOutputs(Materials.PhosphoricAcid.getFluid(4000)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // C9H12 + 2O = C6H6O + C3H6O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Cumene.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Phenol.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(2000)) + .fluidOutputs(Materials.Acetone.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Phenol.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Cumene.getFluid(1000)) + .fluidOutputs(Materials.Acetone.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Cumene.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Acetone.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(2000)) + .fluidOutputs(Materials.Phenol.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(2), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Acetone.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Cumene.getFluid(1000)) + .fluidOutputs(Materials.Phenol.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // C15H16O2 + 2C3H5ClO + 2NaOH = C15H14O2(C3H5O)2 + 2NaCl·H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(6), Materials.Epichlorohydrin.getCells(2)) + .itemOutputs(Materials.SaltWater.getCells(2)) + .fluidInputs(Materials.BisphenolA.getFluid(1000)) + .fluidOutputs(Materials.Epoxid.getMolten(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // CH4O + HCl = CH3Cl + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(Materials.Chloromethane.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(1)) + .fluidInputs(Materials.Methanol.getFluid(1000)) + .fluidOutputs(Materials.Chloromethane.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Chloromethane.getCells(1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Chloromethane.getCells(1)) + .fluidInputs(Materials.Methanol.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(Materials.Chloromethane.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Methanol.getFluid(1000)) + .fluidOutputs(Materials.Chloromethane.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Chloromethane.getCells(1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Chloromethane.getCells(1)) + .fluidInputs(Materials.Methanol.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.HydrochloricAcid.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Methane.getGas(1000)) + .fluidOutputs(Materials.Chloromethane.getGas(1000)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methane.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.HydrochloricAcid.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(2000)) + .fluidOutputs(Materials.Chloromethane.getGas(1000)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(2), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Chloromethane.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Methane.getGas(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methane.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Chloromethane.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(2000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // Cl6 + CH4 = CHCl3 + 3HCl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(6), GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(Materials.HydrochloricAcid.getCells(3), Materials.Empty.getCells(3)) + .fluidInputs(Materials.Methane.getGas(1000)) + .fluidOutputs(Materials.Chloroform.getFluid(1000)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(6), GT_Utility.getIntegratedCircuit(13)) + .itemOutputs(Materials.Chloroform.getCells(1), Materials.Empty.getCells(5)) + .fluidInputs(Materials.Methane.getGas(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(3000)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methane.getCells(1), GT_Utility.getIntegratedCircuit(13)) + .itemOutputs(Materials.Chloroform.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(6000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(3000)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // H + F = HF + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Fluorine.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(1000)) + .fluidOutputs(Materials.HydrofluoricAcid.getFluid(1000)) + .duration(3 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Hydrogen.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Fluorine.getGas(1000)) + .fluidOutputs(Materials.HydrofluoricAcid.getFluid(1000)) + .duration(3 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Fluorine.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.HydrofluoricAcid.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(1000)) + .duration(3 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Hydrogen.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.HydrofluoricAcid.getCells(1)) + .fluidInputs(Materials.Fluorine.getGas(1000)) + .duration(3 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + // 4HF + 2CHCl3 = C2F4 + 6HCl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chloroform.getCells(2), Materials.HydrofluoricAcid.getCells(4)) + .itemOutputs(Materials.HydrochloricAcid.getCells(6)) + .fluidOutputs(Materials.Tetrafluoroethylene.getGas(1000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chloroform.getCells(2), Materials.Empty.getCells(4)) + .itemOutputs(Materials.HydrochloricAcid.getCells(6)) + .fluidInputs(Materials.HydrofluoricAcid.getFluid(4000)) + .fluidOutputs(Materials.Tetrafluoroethylene.getGas(1000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrofluoricAcid.getCells(4), Materials.Empty.getCells(2)) + .itemOutputs(Materials.HydrochloricAcid.getCells(6)) + .fluidInputs(Materials.Chloroform.getFluid(2000)) + .fluidOutputs(Materials.Tetrafluoroethylene.getGas(1000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrofluoricAcid.getCells(4), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Tetrafluoroethylene.getCells(1), Materials.Empty.getCells(3)) + .fluidInputs(Materials.Chloroform.getFluid(2000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(6000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chloroform.getCells(2), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Tetrafluoroethylene.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.HydrofluoricAcid.getFluid(4000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(6000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // Si + 2CH3Cl = C2H6Cl2Si + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Silicon.getDust(1), GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Chloromethane.getGas(2000)) + .fluidOutputs(Materials.Dimethyldichlorosilane.getFluid(1000)) + .duration(12 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Dimethyldichlorosilane.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Polydimethylsiloxane.getDust(3), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.DilutedHydrochloricAcid.getFluid(1000)) + .duration(12 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Polydimethylsiloxane.getDust(3), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Dimethyldichlorosilane.getFluid(1000)) + .fluidOutputs(Materials.DilutedHydrochloricAcid.getFluid(1000)) + .duration(12 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Dimethyldichlorosilane.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Polydimethylsiloxane.getDust(3), Materials.DilutedHydrochloricAcid.getCells(1)) + .fluidInputs(Materials.Water.getFluid(1000)) + .duration(12 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Polydimethylsiloxane.getDust(3), Materials.DilutedHydrochloricAcid.getCells(1)) + .fluidInputs(Materials.Dimethyldichlorosilane.getFluid(1000)) + .duration(12 * SECONDS) + .eut(96) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Polydimethylsiloxane.getDust(9), Materials.Sulfur.getDust(1)) + .fluidOutputs(Materials.Silicone.getMolten(1296)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // Potassium Nitride + // K + HNO3 = KNO3 + H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Potassium.getDust(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.PotassiumNitrade.getDust(5)) + .fluidInputs(Materials.NitricAcid.getFluid(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(1000)) + .duration(5 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // Chromium Trioxide + // CrO2 + O = CrO3 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.ChromiumDioxide.getDust(3), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.ChromiumTrioxide.getDust(4)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // Nitrochlorobenzene + // C6H5Cl + HNO3 = C6H4ClNO2 + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorobenzene.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Nitrochlorobenzene.getCells(1)) + .fluidInputs(Materials.NitrationMixture.getFluid(2000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorobenzene.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.DilutedSulfuricAcid.getCells(1)) + .fluidInputs(Materials.NitrationMixture.getFluid(2000)) + .fluidOutputs(Materials.Nitrochlorobenzene.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitrationMixture.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Nitrochlorobenzene.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Chlorobenzene.getFluid(1000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitrationMixture.getCells(2), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.DilutedSulfuricAcid.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Chlorobenzene.getFluid(1000)) + .fluidOutputs(Materials.Nitrochlorobenzene.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // C6H6 + 2CH4 = C8H10 + 4H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methane.getCells(2), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Dimethylbenzene.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Benzene.getFluid(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(4000)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Benzene.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Dimethylbenzene.getCells(1)) + .fluidInputs(Materials.Methane.getGas(2000)) + .fluidOutputs(Materials.Hydrogen.getGas(4000)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // Phthalic Acid + // C8H10 + 6O =K2Cr2O7= C8H6O4 + 2H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Dimethylbenzene.getCells(1), Materials.Potassiumdichromate.getDustTiny(1)) + .itemOutputs(Materials.PhthalicAcid.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(6000)) + .fluidOutputs(Materials.Water.getFluid(2000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(6), Materials.Potassiumdichromate.getDustTiny(1)) + .itemOutputs(Materials.PhthalicAcid.getCells(1), ItemList.Cell_Empty.get(5)) + .fluidInputs(Materials.Dimethylbenzene.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(2000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Dimethylbenzene.getCells(9), Materials.Potassiumdichromate.getDust(1)) + .itemOutputs(Materials.PhthalicAcid.getCells(9)) + .fluidInputs(Materials.Oxygen.getGas(54000)) + .fluidOutputs(Materials.Water.getFluid(18000)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(54), Materials.Potassiumdichromate.getDust(1)) + .itemOutputs(Materials.PhthalicAcid.getCells(9), ItemList.Cell_Empty.get(45)) + .fluidInputs(Materials.Dimethylbenzene.getFluid(9000)) + .fluidOutputs(Materials.Water.getFluid(18000)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + // These following recipes are broken in element term. + // But they are kept in gamewise, too much existed setup will be broken. + // Dichlorobenzidine + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Copper.getDustTiny(1), GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Nitrochlorobenzene.getFluid(2000)) + .fluidOutputs(Materials.Dichlorobenzidine.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Copper.getDust(1), GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.Nitrochlorobenzene.getFluid(18000)) + .fluidOutputs(Materials.Dichlorobenzidine.getFluid(9000)) + .duration(1 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + // Diphenyl Isophthalate + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.PhthalicAcid.getCells(1), Materials.SulfuricAcid.getCells(1)) + .itemOutputs(Materials.Diphenylisophthalate.getCells(1), ItemList.Cell_Empty.get(1)) + .fluidInputs(Materials.Phenol.getFluid(2000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.PhthalicAcid.getCells(1), Materials.Phenol.getCells(2)) + .itemOutputs(Materials.Diphenylisophthalate.getCells(1), ItemList.Cell_Empty.get(2)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SulfuricAcid.getCells(1), Materials.Phenol.getCells(2)) + .itemOutputs(Materials.Diphenylisophthalate.getCells(1), ItemList.Cell_Empty.get(2)) + .fluidInputs(Materials.PhthalicAcid.getFluid(1000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(UniversalChemical); + + // Diaminobenzidin + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ammonia.getCells(2), Materials.Zinc.getDust(1)) + .itemOutputs(Materials.Diaminobenzidin.getCells(1), ItemList.Cell_Empty.get(1)) + .fluidInputs(Materials.Dichlorobenzidine.getFluid(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(2000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(UniversalChemical); + + // Polybenzimidazole + // C12H14N4 + C20H14O4 = C20H12N4 + 2C6H6O + 2H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Diphenylisophthalate.getCells(1), Materials.Diaminobenzidin.getCells(1)) + .itemOutputs(Materials.Phenol.getCells(2)) + .fluidOutputs(Materials.Polybenzimidazole.getMolten(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tin, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 1)) + .itemOutputs(getModItem(Railcraft.ID, "glass", 6)) + .fluidInputs(Materials.Glass.getMolten(864)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // NH3 + 2CH4O = C2H7N + 2H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(2)) + .fluidInputs(Materials.Ammonia.getGas(1000)) + .fluidOutputs(Materials.Dimethylamine.getGas(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(2), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Dimethylamine.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Ammonia.getGas(1000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ammonia.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Dimethylamine.getCells(1)) + .fluidInputs(Materials.Methanol.getFluid(2000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(2), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(2)) + .fluidInputs(Materials.Ammonia.getGas(1000)) + .fluidOutputs(Materials.Dimethylamine.getGas(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(2), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Dimethylamine.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Ammonia.getGas(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ammonia.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Dimethylamine.getCells(1)) + .fluidInputs(Materials.Methanol.getFluid(2000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // NH3 + HClO = NH2Cl + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ammonia.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(1)) + .fluidInputs(Materials.HypochlorousAcid.getFluid(1000)) + .fluidOutputs(Materials.Chloramine.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HypochlorousAcid.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(1)) + .fluidInputs(Materials.Ammonia.getGas(1000)) + .fluidOutputs(Materials.Chloramine.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ammonia.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Chloramine.getCells(1)) + .fluidInputs(Materials.HypochlorousAcid.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HypochlorousAcid.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Chloramine.getCells(1)) + .fluidInputs(Materials.Ammonia.getGas(1000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ammonia.getCells(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.HypochlorousAcid.getFluid(1000)) + .fluidOutputs(Materials.Chloramine.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HypochlorousAcid.getCells(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Ammonia.getGas(1000)) + .fluidOutputs(Materials.Chloramine.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ammonia.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Chloramine.getCells(1)) + .fluidInputs(Materials.HypochlorousAcid.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HypochlorousAcid.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Chloramine.getCells(1)) + .fluidInputs(Materials.Ammonia.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // 2NO2 = N2O4 + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.NitrogenDioxide.getGas(2000)) + .fluidOutputs(Materials.DinitrogenTetroxide.getGas(1000)) + .duration(32 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitrogenDioxide.getCells(2), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(2)) + .fluidOutputs(Materials.DinitrogenTetroxide.getGas(1000)) + .duration(32 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitrogenDioxide.getCells(2), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.DinitrogenTetroxide.getCells(1), Materials.Empty.getCells(1)) + .duration(32 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // 2NH3 + 5O = 2NO + 3H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ammonia.getCells(4), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.NitricOxide.getCells(4)) + .fluidInputs(Materials.Oxygen.getGas(10000)) + .fluidOutputs(Materials.Water.getFluid(6000)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(10), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.NitricOxide.getCells(4), Materials.Empty.getCells(6)) + .fluidInputs(Materials.Ammonia.getGas(4000)) + .fluidOutputs(Materials.Water.getFluid(6000)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(10), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Water.getCells(6), Materials.Empty.getCells(4)) + .fluidInputs(Materials.Ammonia.getGas(4000)) + .fluidOutputs(Materials.NitricOxide.getGas(4000)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ammonia.getCells(4), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.NitricOxide.getCells(4)) + .fluidInputs(Materials.Oxygen.getGas(10000)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(10), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.NitricOxide.getCells(4), Materials.Empty.getCells(6)) + .fluidInputs(Materials.Ammonia.getGas(4000)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(10), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Empty.getCells(10)) + .fluidInputs(Materials.Ammonia.getGas(4000)) + .fluidOutputs(Materials.NitricOxide.getGas(4000)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // NO + O = NO2 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitricOxide.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.NitrogenDioxide.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.NitricOxide.getGas(1000)) + .fluidOutputs(Materials.NitrogenDioxide.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitricOxide.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.NitrogenDioxide.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.NitrogenDioxide.getCells(1)) + .fluidInputs(Materials.NitricOxide.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // H2O + 3NO2 = 2HNO3 + NO + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.NitricOxide.getCells(1)) + .fluidInputs(Materials.NitrogenDioxide.getGas(3000)) + .fluidOutputs(Materials.NitricAcid.getFluid(2000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitrogenDioxide.getCells(3), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.NitricOxide.getCells(1), Materials.Empty.getCells(2)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.NitricAcid.getFluid(2000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitrogenDioxide.getCells(3), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.NitricAcid.getCells(2), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.NitricOxide.getGas(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // S + 2H = H2S + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Sulfur.getDust(1), GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Hydrogen.getGas(2000)) + .fluidOutputs(Materials.HydricSulfide.getGas(1000)) + .duration(3 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + // S + 2O = SO2 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Sulfur.getDust(1), GT_Utility.getIntegratedCircuit(3)) + .fluidInputs(Materials.Oxygen.getGas(2000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(1000)) + .duration(3 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + // H2S + 3O = SO2 + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydricSulfide.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(3), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(1), Materials.Empty.getCells(2)) + .fluidInputs(Materials.HydricSulfide.getGas(1000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydricSulfide.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.SulfurDioxide.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(3), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.SulfurDioxide.getCells(1), Materials.Empty.getCells(2)) + .fluidInputs(Materials.HydricSulfide.getGas(1000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydricSulfide.getCells(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(3), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Empty.getCells(3)) + .fluidInputs(Materials.HydricSulfide.getGas(1000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydricSulfide.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.SulfurDioxide.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(3), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.SulfurDioxide.getCells(1), Materials.Empty.getCells(2)) + .fluidInputs(Materials.HydricSulfide.getGas(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // 2H2S + SO2 = 3S + 2H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SulfurDioxide.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Sulfur.getDust(3), Materials.Empty.getCells(1)) + .fluidInputs(Materials.HydricSulfide.getGas(2000)) + .fluidOutputs(Materials.Water.getFluid(2000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydricSulfide.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Sulfur.getDust(3), Materials.Empty.getCells(2)) + .fluidInputs(Materials.SulfurDioxide.getGas(1000)) + .fluidOutputs(Materials.Water.getFluid(2000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SulfurDioxide.getCells(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Sulfur.getDust(3), Materials.Empty.getCells(1)) + .fluidInputs(Materials.HydricSulfide.getGas(2000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydricSulfide.getCells(2), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Sulfur.getDust(3), Materials.Empty.getCells(2)) + .fluidInputs(Materials.SulfurDioxide.getGas(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // SO2 + O = SO3 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.SulfurDioxide.getGas(1000)) + .fluidOutputs(Materials.SulfurTrioxide.getGas(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SulfurDioxide.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.SulfurTrioxide.getGas(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.SulfurTrioxide.getCells(1)) + .fluidInputs(Materials.SulfurDioxide.getGas(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SulfurDioxide.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.SulfurTrioxide.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // SO3 + H2O = H2SO4 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.SulfurTrioxide.getGas(1000)) + .fluidOutputs(Materials.SulfuricAcid.getFluid(1000)) + .duration(16 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SulfurTrioxide.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.SulfuricAcid.getFluid(1000)) + .duration(16 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.SulfuricAcid.getCells(1)) + .fluidInputs(Materials.SulfurTrioxide.getGas(1000)) + .duration(16 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SulfurTrioxide.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.SulfuricAcid.getCells(1)) + .fluidInputs(Materials.Water.getFluid(1000)) + .duration(16 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + // C2H4 + 2Cl = C2H3Cl + HCl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.HydrochloricAcid.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Ethylene.getGas(1000)) + .fluidOutputs(Materials.VinylChloride.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethylene.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.HydrochloricAcid.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(2000)) + .fluidOutputs(Materials.VinylChloride.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(2), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.VinylChloride.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Ethylene.getGas(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethylene.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.VinylChloride.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(2000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // C2H4O2 =H2SO4= C2H2O + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.AceticAcid.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Ethenone.getCells(1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SulfuricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Ethenone.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(1000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.AceticAcid.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.DilutedSulfuricAcid.getCells(1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(Materials.Ethenone.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SulfuricAcid.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.DilutedSulfuricAcid.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(1000)) + .fluidOutputs(Materials.Ethenone.getGas(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // C2H2O + 8HNO3 = 2CN4O8 + 9H2O + // Chemically this recipe is wrong, but kept for minimizing breaking change. + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethenone.getCells(1), Materials.Empty.getCells(1)) + .itemOutputs(Materials.Tetranitromethane.getCells(2)) + .fluidInputs(Materials.NitricAcid.getFluid(8000)) + .fluidOutputs(Materials.Water.getFluid(9000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethenone.getCells(1), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.NitricAcid.getFluid(8000)) + .fluidOutputs(Materials.Tetranitromethane.getFluid(2000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitricAcid.getCells(8), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Tetranitromethane.getCells(2), Materials.Empty.getCells(6)) + .fluidInputs(Materials.Ethenone.getGas(1000)) + .fluidOutputs(Materials.Water.getFluid(9000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitricAcid.getCells(8), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Tetranitromethane.getCells(2), Materials.Empty.getCells(6)) + .fluidInputs(Materials.Ethenone.getGas(1000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitricAcid.getCells(8), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.Empty.getCells(8)) + .fluidInputs(Materials.Ethenone.getGas(1000)) + .fluidOutputs(Materials.Tetranitromethane.getFluid(2000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitricAcid.getCells(8), Materials.Empty.getCells(1)) + .itemOutputs(Materials.Water.getCells(9)) + .fluidInputs(Materials.Ethenone.getGas(1000)) + .fluidOutputs(Materials.Tetranitromethane.getFluid(2000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethenone.getCells(1), Materials.NitricAcid.getCells(8)) + .itemOutputs(Materials.Water.getCells(9)) + .fluidOutputs(Materials.Tetranitromethane.getFluid(2000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + // C3H6 + C2H4 = C5H8 + 2H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Propene.getCells(1), Materials.Empty.getCells(1)) + .itemOutputs(Materials.Hydrogen.getCells(2)) + .fluidInputs(Materials.Ethylene.getGas(1000)) + .fluidOutputs(Materials.Isoprene.getFluid(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethylene.getCells(1), Materials.Empty.getCells(1)) + .itemOutputs(Materials.Hydrogen.getCells(2)) + .fluidInputs(Materials.Propene.getGas(1000)) + .fluidOutputs(Materials.Isoprene.getFluid(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Propene.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Isoprene.getCells(1)) + .fluidInputs(Materials.Ethylene.getGas(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(2000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethylene.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Isoprene.getCells(1)) + .fluidInputs(Materials.Propene.getGas(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(2000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(Materials.Methane.getCells(1)) + .fluidInputs(Materials.Propene.getGas(2000)) + .fluidOutputs(Materials.Isoprene.getFluid(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Propene.getCells(2), GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(Materials.Methane.getCells(1), Materials.Empty.getCells(1)) + .fluidOutputs(Materials.Isoprene.getFluid(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(15)) + .itemOutputs(Materials.Isoprene.getCells(1)) + .fluidInputs(Materials.Propene.getGas(2000)) + .fluidOutputs(Materials.Methane.getGas(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Propene.getCells(2), GT_Utility.getIntegratedCircuit(15)) + .itemOutputs(Materials.Isoprene.getCells(1), Materials.Empty.getCells(1)) + .fluidOutputs(Materials.Methane.getGas(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Cell_Air.get(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.RawRubber.getDust(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Isoprene.getFluid(144)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.RawRubber.getDust(3), Materials.Empty.getCells(2)) + .fluidInputs(Materials.Isoprene.getFluid(288)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Isoprene.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.RawRubber.getDust(7), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Air.getGas(14000)) + .duration(56 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Isoprene.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.RawRubber.getDust(21), Materials.Empty.getCells(2)) + .fluidInputs(Materials.Oxygen.getGas(14000)) + .duration(1 * MINUTES + 52 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Benzene.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Styrene.getCells(1)) + .fluidInputs(Materials.Ethylene.getGas(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(2000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethylene.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Styrene.getCells(1)) + .fluidInputs(Materials.Benzene.getFluid(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(2000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.RawStyreneButadieneRubber.getDust(9), Materials.Sulfur.getDust(1)) + .fluidOutputs(Materials.StyreneButadieneRubber.getMolten(1296)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // C6H6 + 4Cl = C6H4Cl2 + 2HCl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Benzene.getCells(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Dichlorobenzene.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(4000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(2000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(4), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Dichlorobenzene.getCells(1), Materials.Empty.getCells(3)) + .fluidInputs(Materials.Benzene.getFluid(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(2000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(4), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(Materials.HydrochloricAcid.getCells(2), Materials.Empty.getCells(2)) + .fluidInputs(Materials.Benzene.getFluid(1000)) + .fluidOutputs(Materials.Dichlorobenzene.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumSulfide.getDust(3), ItemList.Cell_Air.get(8)) + .itemOutputs(Materials.Salt.getDust(4), Materials.Empty.getCells(8)) + .fluidInputs(Materials.Dichlorobenzene.getFluid(1000)) + .fluidOutputs(Materials.PolyphenyleneSulfide.getMolten(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumSulfide.getDust(3), Materials.Oxygen.getCells(8)) + .itemOutputs(Materials.Salt.getDust(4), Materials.Empty.getCells(8)) + .fluidInputs(Materials.Dichlorobenzene.getFluid(1000)) + .fluidOutputs(Materials.PolyphenyleneSulfide.getMolten(1500)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // NaCl + H2SO4 = NaHSO4 + HCl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Salt.getDust(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.SodiumBisulfate.getDust(7)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // NaOH + H2SO4 = NaHSO4 + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(3), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.SodiumBisulfate.getDust(7)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // Biodiesel recipes + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDustTiny(1), Materials.Methanol.getCells(1)) + .itemOutputs(Materials.Glycerol.getCells(1)) + .fluidInputs(Materials.SeedOil.getFluid(6000)) + .fluidOutputs(Materials.BioDiesel.getFluid(6000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDustTiny(1), Materials.SeedOil.getCells(6)) + .itemOutputs(Materials.BioDiesel.getCells(6)) + .fluidInputs(Materials.Methanol.getFluid(1000)) + .fluidOutputs(Materials.Glycerol.getFluid(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDustTiny(1), Materials.Methanol.getCells(1)) + .itemOutputs(Materials.Glycerol.getCells(1)) + .fluidInputs(Materials.FishOil.getFluid(6000)) + .fluidOutputs(Materials.BioDiesel.getFluid(6000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDustTiny(1), Materials.FishOil.getCells(6)) + .itemOutputs(Materials.BioDiesel.getCells(6)) + .fluidInputs(Materials.Methanol.getFluid(1000)) + .fluidOutputs(Materials.Glycerol.getFluid(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDustTiny(1), Materials.Ethanol.getCells(1)) + .itemOutputs(Materials.Glycerol.getCells(1)) + .fluidInputs(Materials.SeedOil.getFluid(6000)) + .fluidOutputs(Materials.BioDiesel.getFluid(6000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDustTiny(1), Materials.SeedOil.getCells(6)) + .itemOutputs(Materials.BioDiesel.getCells(6)) + .fluidInputs(Materials.Ethanol.getFluid(1000)) + .fluidOutputs(Materials.Glycerol.getFluid(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDustTiny(1), Materials.Ethanol.getCells(1)) + .itemOutputs(Materials.Glycerol.getCells(1)) + .fluidInputs(Materials.FishOil.getFluid(6000)) + .fluidOutputs(Materials.BioDiesel.getFluid(6000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDustTiny(1), Materials.FishOil.getCells(6)) + .itemOutputs(Materials.BioDiesel.getCells(6)) + .fluidInputs(Materials.Ethanol.getFluid(1000)) + .fluidOutputs(Materials.Glycerol.getFluid(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(1), Materials.Methanol.getCells(9)) + .itemOutputs(Materials.Glycerol.getCells(9)) + .fluidInputs(Materials.SeedOil.getFluid(54000)) + .fluidOutputs(Materials.BioDiesel.getFluid(54000)) + .duration(4 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(1), Materials.SeedOil.getCells(54)) + .itemOutputs(Materials.BioDiesel.getCells(54)) + .fluidInputs(Materials.Methanol.getFluid(9000)) + .fluidOutputs(Materials.Glycerol.getFluid(9000)) + .duration(4 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(1), Materials.Methanol.getCells(9)) + .itemOutputs(Materials.Glycerol.getCells(9)) + .fluidInputs(Materials.FishOil.getFluid(54000)) + .fluidOutputs(Materials.BioDiesel.getFluid(54000)) + .duration(4 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(1), Materials.FishOil.getCells(54)) + .itemOutputs(Materials.BioDiesel.getCells(54)) + .fluidInputs(Materials.Methanol.getFluid(9000)) + .fluidOutputs(Materials.Glycerol.getFluid(9000)) + .duration(4 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(1), Materials.Ethanol.getCells(9)) + .itemOutputs(Materials.Glycerol.getCells(9)) + .fluidInputs(Materials.SeedOil.getFluid(54000)) + .fluidOutputs(Materials.BioDiesel.getFluid(54000)) + .duration(4 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(1), Materials.SeedOil.getCells(54)) + .itemOutputs(Materials.BioDiesel.getCells(54)) + .fluidInputs(Materials.Ethanol.getFluid(9000)) + .fluidOutputs(Materials.Glycerol.getFluid(9000)) + .duration(4 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(1), Materials.Ethanol.getCells(9)) + .itemOutputs(Materials.Glycerol.getCells(9)) + .fluidInputs(Materials.FishOil.getFluid(54000)) + .fluidOutputs(Materials.BioDiesel.getFluid(54000)) + .duration(4 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(1), Materials.FishOil.getCells(54)) + .itemOutputs(Materials.BioDiesel.getCells(54)) + .fluidInputs(Materials.Ethanol.getFluid(9000)) + .fluidOutputs(Materials.Glycerol.getFluid(9000)) + .duration(4 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // C3H8O3 + 3HNO3 =H2SO4= C3H5N3O9 + 3H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Glycerol.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Glyceryl.getCells(1)) + .fluidInputs(Materials.NitrationMixture.getFluid(6000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(3000)) + .duration(9 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitrationMixture.getCells(6), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Glyceryl.getCells(1), Materials.Empty.getCells(5)) + .fluidInputs(Materials.Glycerol.getFluid(1000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(3000)) + .duration(9 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitrationMixture.getCells(6), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.DilutedSulfuricAcid.getCells(3), Materials.Empty.getCells(3)) + .fluidInputs(Materials.Glycerol.getFluid(1000)) + .fluidOutputs(Materials.Glyceryl.getFluid(1000)) + .duration(9 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // CaO + CO2 = CaCO3 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Quicklime.getDust(2)) + .itemOutputs(Materials.Calcite.getDust(5)) + .fluidInputs(Materials.CarbonDioxide.getGas(1000)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Calcite.getDust(5), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Quicklime.getDust(2)) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // MgO + CO2 = MgCO3 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Magnesia.getDust(2)) + .itemOutputs(Materials.Magnesite.getDust(5)) + .fluidInputs(Materials.CarbonDioxide.getGas(1000)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Magnesite.getDust(5), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Magnesia.getDust(2)) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // C6H6 + 2Cl = C6H5Cl + HCl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Benzene.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Chlorobenzene.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(2000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Chlorobenzene.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Benzene.getFluid(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(2), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.HydrochloricAcid.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Benzene.getFluid(1000)) + .fluidOutputs(Materials.Chlorobenzene.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // C6H5Cl + H2O = C6H6O + HCl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.DilutedHydrochloricAcid.getCells(1)) + .fluidInputs(Materials.Chlorobenzene.getFluid(1000)) + .fluidOutputs(Materials.Phenol.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorobenzene.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.DilutedHydrochloricAcid.getCells(1)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.Phenol.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Phenol.getCells(1)) + .fluidInputs(Materials.Chlorobenzene.getFluid(1000)) + .fluidOutputs(Materials.DilutedHydrochloricAcid.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorobenzene.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Phenol.getCells(1)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.DilutedHydrochloricAcid.getFluid(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // C6H5Cl + NaOH = C6H6O + NaCl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(12), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Salt.getDust(8)) + .fluidInputs(Materials.Chlorobenzene.getFluid(4000)) + .fluidOutputs(Materials.Phenol.getFluid(4000)) + .duration(48 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // Oxide Recipe + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2), Materials.Antimony.getDust(2)) + .itemOutputs(Materials.AntimonyTrioxide.getDust(5)) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .duration(20 * TICKS) + .eut(30) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2), Materials.Lead.getDust(1)) + .itemOutputs(Materials.Massicot.getDust(2)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .duration(20 * TICKS) + .eut(30) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2), Materials.Arsenic.getDust(2)) + .itemOutputs(Materials.ArsenicTrioxide.getDust(5)) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .duration(20 * TICKS) + .eut(30) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2), Materials.Cobalt.getDust(1)) + .itemOutputs(Materials.CobaltOxide.getDust(2)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .duration(20 * TICKS) + .eut(30) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2), Materials.Zinc.getDust(1)) + .itemOutputs(Materials.Zincite.getDust(2)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .duration(20 * TICKS) + .eut(30) + .addTo(UniversalChemical); + + if (BartWorks.isModLoaded()) { + // CaSi2 + 2HCl = 2Si + CaCl2 + 2H + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CalciumDisilicide, 3), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 2), + getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 3L, 63)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(2000)) + .fluidOutputs(Materials.Hydrogen.getGas(2000)) + .duration(45 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // SiCl4 + 2Zn = 2ZnCl2 + Si + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 1), + getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 6L, 10052)) + .fluidInputs(Materials.SiliconTetrachloride.getFluid(1000)) + .duration(20 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + } + + if (GTNHLanthanides.isModLoaded() && GTPlusPlus.isModLoaded()) { + + // C4H8O + 2H =Pd= C4H10O + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.Butyraldehyde, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Palladium, 1)) + .itemOutputs(ItemList.Cell_Empty.get(1)) + .fluidInputs(Materials.Hydrogen.getGas(2000)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("butanol"), 1000)) + .duration(10 * SECONDS) + .eut(30) + .addTo(UniversalChemical); + + // 4CH2O + C2H4O =NaOH= C5H12O4 + CO + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(GTPlusPlus.ID, "Formaldehyde", 4), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.Pentaerythritol, 21), + Materials.Empty.getCells(4)) + .fluidInputs(MaterialsKevlar.Acetaldehyde.getGas(1000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // 4CH2O + C2H4O =NaOH= C5H12O4 + CO + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.Acetaldehyde, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.Pentaerythritol, 21), + Materials.Empty.getCells(1)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("fluid.formaldehyde"), 4000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // CaC2 + 2H2O = Ca(OH)2 + C2H2 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.CalciumCarbide, 3), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(GTPlusPlus.ID, "itemDustCalciumHydroxide", 5)) + .fluidInputs(Materials.Water.getFluid(2000)) + .fluidOutputs(MaterialsKevlar.Acetylene.getGas(1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + // Co(NO3)2 + 2NaOH = Co(OH)2 + 2NaNO3 + + GT_Values.RA.stdBuilder() + .itemInputs( + MaterialsKevlar.CobaltIINitrate.getDust(9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 6)) + .itemOutputs( + MaterialsKevlar.CobaltIIHydroxide.getDust(5), + getModItem(GTPlusPlus.ID, "itemDustSodiumNitrate", 10)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + } + } + + public void addDefaultPolymerizationRecipes(Fluid aBasicMaterial, ItemStack aBasicMaterialCell, Fluid aPolymer) { + // Oxygen/Titaniumtetrafluoride -> +50% Output each + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Cell_Air.get(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(new FluidStack(aBasicMaterial, 144)) + .fluidOutputs(new FluidStack(aPolymer, 144)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(new FluidStack(aBasicMaterial, 144)) + .fluidOutputs(new FluidStack(aPolymer, 216)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(aBasicMaterialCell, GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Air.getGas(14000)) + .fluidOutputs(new FluidStack(aPolymer, 1000)) + .duration(56 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(aBasicMaterialCell, GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(7000)) + .fluidOutputs(new FluidStack(aPolymer, 1500)) + .duration(56 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs( + new FluidStack(aBasicMaterial, 2160), + Materials.Air.getGas(7500), + Materials.Titaniumtetrachloride.getFluid(100)) + .fluidOutputs(new FluidStack(aPolymer, 3240)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs( + new FluidStack(aBasicMaterial, 2160), + Materials.Oxygen.getGas(7500), + Materials.Titaniumtetrachloride.getFluid(100)) + .fluidOutputs(new FluidStack(aPolymer, 4320)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(multiblockChemicalReactorRecipes); + + } + + public void polymerizationRecipes() { + addDefaultPolymerizationRecipes( + Materials.VinylAcetate.mFluid, + Materials.VinylAcetate.getCells(1), + Materials.PolyvinylAcetate.mFluid); + + addDefaultPolymerizationRecipes( + Materials.Ethylene.mGas, + Materials.Ethylene.getCells(1), + Materials.Plastic.mStandardMoltenFluid); + + addDefaultPolymerizationRecipes( + Materials.Tetrafluoroethylene.mGas, + Materials.Tetrafluoroethylene.getCells(1), + Materials.Polytetrafluoroethylene.mStandardMoltenFluid); + + addDefaultPolymerizationRecipes( + Materials.VinylChloride.mGas, + Materials.VinylChloride.getCells(1), + Materials.PolyvinylChloride.mStandardMoltenFluid); + + addDefaultPolymerizationRecipes( + Materials.Styrene.mFluid, + Materials.Styrene.getCells(1), + Materials.Polystyrene.mStandardMoltenFluid); + } + + public void singleBlockOnly() { + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.GasolineRaw.getCells(10), Materials.Toluene.getCells(1)) + .itemOutputs(Materials.GasolineRegular.getCells(11)) + .duration(10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Benzene.getCells(1), Materials.Empty.getCells(1)) + .itemOutputs(Materials.Hydrogen.getCells(2)) + .fluidInputs(Materials.Ethylene.getGas(1000)) + .fluidOutputs(Materials.Styrene.getFluid(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethylene.getCells(1), Materials.Empty.getCells(1)) + .itemOutputs(Materials.Hydrogen.getCells(2)) + .fluidInputs(Materials.Benzene.getFluid(1000)) + .fluidOutputs(Materials.Styrene.getFluid(1000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methane.getCells(1), Materials.Empty.getCells(2)) + .itemOutputs(Materials.HydrochloricAcid.getCells(3)) + .fluidInputs(Materials.Chlorine.getGas(6000)) + .fluidOutputs(Materials.Chloroform.getFluid(1000)) + .duration(4 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Silicon.getDust(1), Materials.Chloromethane.getCells(2)) + .itemOutputs(Materials.Empty.getCells(2)) + .fluidOutputs(Materials.Dimethyldichlorosilane.getFluid(1000)) + .duration(12 * SECONDS) + .eut(96) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Dimethyldichlorosilane.getCells(1), Materials.Water.getCells(1)) + .itemOutputs(Materials.Polydimethylsiloxane.getDust(3), Materials.Empty.getCells(2)) + .fluidOutputs(Materials.DilutedHydrochloricAcid.getFluid(1000)) + .duration(12 * SECONDS) + .eut(96) + .addTo(chemicalReactorRecipes); + + // Ca5(PO4)3Cl + 5H2SO4 + 10H2O = 5CaSO4(H2O)2 + HCl + 3H3PO4 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Apatite.getDust(9), Materials.SulfuricAcid.getCells(5)) + .itemOutputs(Materials.HydrochloricAcid.getCells(1), Materials.Empty.getCells(4)) + .fluidInputs(Materials.Water.getFluid(10000)) + .fluidOutputs(Materials.PhosphoricAcid.getFluid(3000)) + .duration(16 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + // 10O + 4P = P4O10 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Phosphorus.getDust(4)) + .itemOutputs(Materials.PhosphorousPentoxide.getDust(14)) + .fluidInputs(Materials.Oxygen.getGas(10000)) + .duration(2 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + // HCl + C3H8O3 = C3H5ClO + 2H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), Materials.Glycerol.getCells(1)) + .itemOutputs(Materials.Water.getCells(2)) + .fluidOutputs(Materials.Epichlorohydrin.getFluid(1000)) + .duration(24 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + // H2O + Cl =Hg= HClO + H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(10), Materials.Mercury.getCells(1)) + .itemOutputs(Materials.Hydrogen.getCells(10), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Water.getFluid(10000)) + .fluidOutputs(Materials.HypochlorousAcid.getFluid(10000)) + .duration(30 * SECONDS) + .eut(8) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(10), Materials.Mercury.getCells(1)) + .itemOutputs(Materials.Hydrogen.getCells(10), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Chlorine.getGas(10000)) + .fluidOutputs(Materials.HypochlorousAcid.getFluid(10000)) + .duration(30 * SECONDS) + .eut(8) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Chlorine.getCells(1), Materials.Water.getCells(1)) + .itemOutputs(Materials.Hydrogen.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Mercury.getFluid(100)) + .fluidOutputs(Materials.HypochlorousAcid.getFluid(1000)) + .duration(3 * SECONDS) + .eut(8) + .addTo(chemicalReactorRecipes); + + // P + 3Cl = PCl3 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Phosphorus.getDust(1), Materials.Chlorine.getCells(3)) + .itemOutputs(ItemList.Cell_Empty.get(3)) + .fluidOutputs(MaterialsKevlar.PhosphorusTrichloride.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.EthyleneOxide, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Water, 5)) + .itemOutputs(ItemList.Cell_Empty.get(6)) + .fluidInputs(Materials.Dimethyldichlorosilane.getFluid(4000)) + .fluidOutputs(MaterialsKevlar.SiliconOil.getFluid(5000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.EthyleneOxide, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Dimethyldichlorosilane, 4)) + .itemOutputs(ItemList.Cell_Empty.get(5)) + .fluidInputs(Materials.Water.getFluid(5000)) + .fluidOutputs(MaterialsKevlar.SiliconOil.getFluid(5000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Water, 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.Cell_Empty.get(1)) + .fluidInputs(MaterialsKevlar.EthyleneOxide.getGas(1000)) + .fluidOutputs(MaterialsKevlar.Ethyleneglycol.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(MaterialsKevlar.CobaltIIHydroxide.getDust(5), MaterialsKevlar.NaphthenicAcid.getCells(1)) + .itemOutputs(MaterialsKevlar.CobaltIINaphthenate.getDust(41), ItemList.Cell_Empty.get(1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(MaterialsKevlar.CobaltIIAcetate.getDust(15), MaterialsKevlar.NaphthenicAcid.getCells(1)) + .itemOutputs(MaterialsKevlar.CobaltIINaphthenate.getDust(41), ItemList.Cell_Empty.get(1)) + .fluidOutputs(Materials.AceticAcid.getFluid(1500)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Chlorine, 4)) + .itemOutputs(ItemList.Cell_Empty.get(4)) + .fluidOutputs(Materials.SiliconTetrachloride.getFluid(1000)) + .duration(20 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Galena, 3), + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Sphalerite, 1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(4000)) + .fluidOutputs(new FluidStack(ItemList.sIndiumConcentrate, 8000)) + .duration(3 * SECONDS) + .eut(150) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Carbon.getDust(1), Materials.Empty.getCells(1)) + .itemOutputs(Materials.Methane.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(4000)) + .duration(10 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + // O + 2H = H2O + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(ItemList.Cell_Empty.get(1)) + .fluidInputs(Materials.Hydrogen.getGas(2000)) + .fluidOutputs(GT_ModHandler.getDistilledWater(1000)) + .duration(10 * TICKS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1), + GT_Utility.getIntegratedCircuit(22)) + .itemOutputs(ItemList.Cell_Empty.get(1)) + .fluidInputs(Materials.Oxygen.getGas(500)) + .fluidOutputs(GT_ModHandler.getDistilledWater(500)) + .duration(5 * TICKS) + .eut(30) + .addTo(chemicalReactorRecipes); + + // Si + 4Cl = SiCl4 + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1), ItemList.Cell_Empty.get(2)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(3000)) + .fluidOutputs(Materials.Trichlorosilane.getFluid(1000)) + .duration(15 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Silane, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 1), ItemList.Cell_Empty.get(1)) + .fluidOutputs(Materials.Hydrogen.getGas(4000)) + .duration(15 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Silane, 1), ItemList.Cell_Empty.get(3)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 4)) + .duration(15 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + // S + 2Cl = SCl2 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 8), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Chlorine, 16)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.SulfurDichloride, 8), + ItemList.Cell_Empty.get(8)) + .duration(40 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 8), ItemList.Cell_Empty.get(8)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, MaterialsKevlar.SulfurDichloride, 8)) + .fluidInputs(Materials.Chlorine.getGas(16000)) + .duration(40 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + // C6H6 + C3H6 = C9H12 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Propene.getCells(8), Materials.PhosphoricAcid.getCells(1)) + .itemOutputs(Materials.Empty.getCells(9)) + .fluidInputs(Materials.Benzene.getFluid(8000)) + .fluidOutputs(Materials.Cumene.getFluid(8000)) + .duration(1 * MINUTES + 36 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.PhosphoricAcid.getCells(1), Materials.Benzene.getCells(8)) + .itemOutputs(Materials.Empty.getCells(9)) + .fluidInputs(Materials.Propene.getGas(8000)) + .fluidOutputs(Materials.Cumene.getFluid(8000)) + .duration(1 * MINUTES + 36 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Benzene.getCells(1), Materials.Propene.getCells(1)) + .itemOutputs(Materials.Empty.getCells(2)) + .fluidInputs(Materials.PhosphoricAcid.getFluid(125)) + .fluidOutputs(Materials.Cumene.getFluid(1000)) + .duration(12 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + // C3H6O + 2C6H6O =HCl= C15H16O2 + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Acetone.getCells(1), Materials.Phenol.getCells(2)) + .itemOutputs(Materials.Water.getCells(1), Materials.Empty.getCells(2)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(Materials.BisphenolA.getFluid(1000)) + .duration(8 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), Materials.Acetone.getCells(1)) + .itemOutputs(Materials.Water.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Phenol.getFluid(2000)) + .fluidOutputs(Materials.BisphenolA.getFluid(1000)) + .duration(8 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Phenol.getCells(2), Materials.HydrochloricAcid.getCells(1)) + .itemOutputs(Materials.Water.getCells(1), Materials.Empty.getCells(2)) + .fluidInputs(Materials.Acetone.getFluid(1000)) + .fluidOutputs(Materials.BisphenolA.getFluid(1000)) + .duration(8 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + // N + 3H = NH3 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Nitrogen.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(3000)) + .fluidOutputs(Materials.Ammonia.getGas(1000)) + .duration(16 * SECONDS) + .eut(TierEU.HV * 3 / 4) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Hydrogen.getCells(3), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(3)) + .fluidInputs(Materials.Nitrogen.getGas(1000)) + .fluidOutputs(Materials.Ammonia.getGas(1000)) + .duration(16 * SECONDS) + .eut(TierEU.HV * 3 / 4) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Nitrogen.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Ammonia.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(3000)) + .duration(16 * SECONDS) + .eut(TierEU.HV * 3 / 4) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Hydrogen.getCells(3), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Ammonia.getCells(1), Materials.Empty.getCells(2)) + .fluidInputs(Materials.Nitrogen.getGas(1000)) + .duration(16 * SECONDS) + .eut(TierEU.HV * 3 / 4) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ammonia.getCells(1), Materials.Empty.getCells(1)) + .itemOutputs(Materials.Water.getCells(2)) + .fluidInputs(Materials.Methanol.getFluid(2000)) + .fluidOutputs(Materials.Dimethylamine.getGas(1000)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ammonia.getCells(4), Materials.Empty.getCells(2)) + .itemOutputs(Materials.Water.getCells(6)) + .fluidInputs(Materials.Oxygen.getGas(10000)) + .fluidOutputs(Materials.NitricOxide.getGas(4000)) + .duration(16 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1), Materials.Empty.getCells(1)) + .itemOutputs(Materials.NitricAcid.getCells(2)) + .fluidInputs(Materials.NitrogenDioxide.getGas(3000)) + .fluidOutputs(Materials.NitricOxide.getGas(1000)) + .duration(12 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + // 2NO2 + O + H2O = 2HNO3 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitrogenDioxide.getCells(2), Materials.Oxygen.getCells(1)) + .itemOutputs(Materials.Empty.getCells(3)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.NitricAcid.getFluid(2000)) + .duration(12 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(1), Materials.Water.getCells(1)) + .itemOutputs(Materials.Empty.getCells(2)) + .fluidInputs(Materials.NitrogenDioxide.getGas(2000)) + .fluidOutputs(Materials.NitricAcid.getFluid(2000)) + .duration(12 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1), Materials.NitrogenDioxide.getCells(2)) + .itemOutputs(Materials.Empty.getCells(3)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.NitricAcid.getFluid(2000)) + .duration(12 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Sulfur.getDust(1), Materials.Empty.getCells(1)) + .itemOutputs(Materials.HydricSulfide.getCells(1)) + .fluidInputs(Materials.Hydrogen.getGas(2000)) + .duration(3 * SECONDS) + .eut(8) + .addTo(chemicalReactorRecipes); + + // C2H4 + HCl + O = C2H3Cl + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethylene.getCells(1), Materials.HydrochloricAcid.getCells(1)) + .itemOutputs(Materials.Water.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.VinylChloride.getGas(1000)) + .duration(8 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), Materials.Oxygen.getCells(1)) + .itemOutputs(Materials.Water.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Ethylene.getGas(1000)) + .fluidOutputs(Materials.VinylChloride.getGas(1000)) + .duration(8 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(1), Materials.Ethylene.getCells(1)) + .itemOutputs(Materials.Water.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(Materials.VinylChloride.getGas(1000)) + .duration(8 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Butadiene.getCells(1), ItemList.Cell_Air.get(5)) + .itemOutputs(Materials.RawStyreneButadieneRubber.getDust(9), Materials.Empty.getCells(6)) + .fluidInputs(Materials.Styrene.getFluid(350)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Butadiene.getCells(1), Materials.Oxygen.getCells(5)) + .itemOutputs(Materials.RawStyreneButadieneRubber.getDust(13), Materials.Empty.getCells(6)) + .fluidInputs(Materials.Styrene.getFluid(350)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Styrene.getCells(1), ItemList.Cell_Air.get(15)) + .itemOutputs(Materials.RawStyreneButadieneRubber.getDust(27), Materials.Empty.getCells(16)) + .fluidInputs(Materials.Butadiene.getGas(3000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Styrene.getCells(1), Materials.Oxygen.getCells(15)) + .itemOutputs(Materials.RawStyreneButadieneRubber.getDust(41), Materials.Empty.getCells(16)) + .fluidInputs(Materials.Butadiene.getGas(3000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Styrene.getCells(1), Materials.Butadiene.getCells(3)) + .itemOutputs(Materials.RawStyreneButadieneRubber.getDust(27), Materials.Empty.getCells(4)) + .fluidInputs(Materials.Air.getGas(15000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Styrene.getCells(1), Materials.Butadiene.getCells(3)) + .itemOutputs(Materials.RawStyreneButadieneRubber.getDust(41), Materials.Empty.getCells(4)) + .fluidInputs(Materials.Oxygen.getGas(15000)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Benzene.getCells(1), Materials.Empty.getCells(1)) + .itemOutputs(Materials.HydrochloricAcid.getCells(2)) + .fluidInputs(Materials.Chlorine.getGas(4000)) + .fluidOutputs(Materials.Dichlorobenzene.getFluid(1000)) + .duration(12 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Glycerol.getCells(1), Materials.Empty.getCells(2)) + .itemOutputs(Materials.DilutedSulfuricAcid.getCells(3)) + .fluidInputs(Materials.NitrationMixture.getFluid(6000)) + .fluidOutputs(Materials.Glyceryl.getFluid(1000)) + .duration(9 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(12), Materials.Empty.getCells(4)) + .itemOutputs(Materials.Salt.getDust(8), Materials.Phenol.getCells(4)) + .fluidInputs(Materials.Chlorobenzene.getFluid(4000)) + .duration(48 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(12), Materials.Chlorobenzene.getCells(4)) + .itemOutputs(Materials.Salt.getDust(8), Materials.Phenol.getCells(4)) + .duration(48 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + // Recipes for gasoline + // 2N + O = N2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Nitrogen.getCells(2), Materials.Oxygen.getCells(1)) + .itemOutputs(Materials.NitrousOxide.getCells(1), Materials.Empty.getCells(2)) + .duration(10 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Nitrogen.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(2)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.NitrousOxide.getGas(1000)) + .duration(10 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Nitrogen.getCells(2), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.NitrousOxide.getCells(1), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .duration(10 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Nitrogen.getGas(2000)) + .fluidOutputs(Materials.NitrousOxide.getGas(1000)) + .duration(10 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Oxygen.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.NitrousOxide.getCells(1)) + .fluidInputs(Materials.Nitrogen.getGas(2000)) + .duration(10 * SECONDS) + .eut(30) + .addTo(chemicalReactorRecipes); + + // C2H6O + C4H8 = C6H14O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Ethanol.getCells(1), Materials.Butene.getCells(1)) + .itemOutputs(Materials.AntiKnock.getCells(1), Materials.Empty.getCells(1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalReactorRecipes); + + // Potassium Dichromate + // 2KNO3 + 2CrO3 = K2Cr2O7 + 2NO + 3O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Saltpeter.getDust(10), Materials.ChromiumTrioxide.getDust(8)) + .itemOutputs(Materials.Potassiumdichromate.getDust(11)) + .fluidOutputs(Materials.NitricOxide.getGas(2000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.PotassiumNitrade.getDust(10), Materials.ChromiumTrioxide.getDust(8)) + .itemOutputs(Materials.Potassiumdichromate.getDust(11)) + .fluidOutputs(Materials.NitricOxide.getGas(2000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalReactorRecipes); + } + + public void multiblockOnly() { + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(22)) + .fluidInputs(Materials.Hydrogen.getGas(16000), Materials.Oxygen.getGas(8000)) + .fluidOutputs(GT_ModHandler.getDistilledWater(8000)) + .duration(4 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.PotassiumNitrade.getDust(10), Materials.ChromiumTrioxide.getDust(8)) + .itemOutputs(Materials.Potassiumdichromate.getDust(11)) + .fluidOutputs(Materials.NitricOxide.getGas(2000), Materials.Oxygen.getGas(3000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Saltpeter.getDust(10), Materials.ChromiumTrioxide.getDust(8)) + .itemOutputs(Materials.Potassiumdichromate.getDust(11)) + .fluidOutputs(Materials.NitricOxide.getGas(2000), Materials.Oxygen.getGas(3000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + // Potassium Dichromate shortcut + // 2 Cr + 6O + 10 Saltpeter/Potassium Dichromate = 10 K2Cr2O7 + 2NO + 3O + + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.PotassiumNitrade.getDust(64), + Materials.PotassiumNitrade.getDust(64), + Materials.PotassiumNitrade.getDust(32), + Materials.Chrome.getDust(2 * 16), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs( + Materials.Potassiumdichromate.getDust(64), + Materials.Potassiumdichromate.getDust(64), + Materials.Potassiumdichromate.getDust(48)) + .fluidInputs(Materials.Oxygen.getGas(6000 * 16)) + .fluidOutputs(Materials.NitricOxide.getGas(2000 * 16), Materials.Oxygen.getGas(3000 * 16)) + .duration(2 * MINUTES + 8 * SECONDS) + .eut((int) GT_Values.VP[7]) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Saltpeter.getDust(64), + Materials.Saltpeter.getDust(64), + Materials.Saltpeter.getDust(32), + Materials.Chrome.getDust(2 * 16), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs( + Materials.Potassiumdichromate.getDust(64), + Materials.Potassiumdichromate.getDust(64), + Materials.Potassiumdichromate.getDust(48)) + .fluidInputs(Materials.Oxygen.getGas(6000 * 16)) + .fluidOutputs(Materials.NitricOxide.getGas(2000 * 16), Materials.Oxygen.getGas(3000 * 16)) + .duration(2 * MINUTES + 8 * SECONDS) + .eut((int) GT_Values.VP[7]) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Benzene.getFluid(1000), Materials.Methane.getGas(2000)) + .fluidOutputs(Materials.Dimethylbenzene.getFluid(1000), Materials.Hydrogen.getGas(4000)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Galena, 3), + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Sphalerite, 1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(4000)) + .fluidOutputs(new FluidStack(ItemList.sIndiumConcentrate, 8000)) + .duration(3 * SECONDS) + .eut(150) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(8), + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Galena, 27), + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Sphalerite, 9)) + .fluidInputs(Materials.SulfuricAcid.getFluid(36000)) + .fluidOutputs(new FluidStack(ItemList.sIndiumConcentrate, 72000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Pentlandite, 9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PlatinumGroupSludge, 1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(9000)) + .fluidOutputs(new FluidStack(ItemList.sNickelSulfate, 18000)) + .duration(1 * SECONDS + 5 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Chalcopyrite, 9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PlatinumGroupSludge, 1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(9000)) + .fluidOutputs(new FluidStack(ItemList.sBlueVitriol, 18000)) + .duration(1 * SECONDS + 5 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Plutonium, 64), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium, 1), + GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plutonium, 64)) + .fluidInputs(Materials.Air.getGas(8000)) + .fluidOutputs(Materials.Radon.getGas(800)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + // 3SiO2 + 4Al = 3Si + 2Al2O3 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminiumoxide, 10)) + .duration(10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + // 10Si + 30HCl -> 0.3 SiH2Cl2 + 9 HSiCl3 + 0.3 SiCl4 + 0.2 Si2Cl6 + 20.4H + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 10)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(30000)) + .fluidOutputs( + Materials.Trichlorosilane.getFluid(9000), + Materials.SiliconTetrachloride.getFluid(300), + Materials.Hexachlorodisilane.getFluid(200), + Materials.Dichlorosilane.getGas(300), + Materials.Hydrogen.getGas(20400)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + // 2CO + 2C3H6 + 4H =RhHCO(P(C6H5)3)3= C4H8O + C4H8O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4), MaterialsKevlar.OrganorhodiumCatalyst.getDustTiny(1)) + .fluidInputs( + Materials.Hydrogen.getGas(4000), + Materials.Propene.getGas(2000), + Materials.CarbonMonoxide.getGas(2000)) + .fluidOutputs(MaterialsKevlar.Butyraldehyde.getFluid(1000), MaterialsKevlar.Isobutyraldehyde.getFluid(1000)) + .duration(15 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9), MaterialsKevlar.OrganorhodiumCatalyst.getDust(1)) + .fluidInputs( + Materials.Hydrogen.getGas(36000), + Materials.Propene.getGas(18000), + Materials.CarbonMonoxide.getGas(18000)) + .fluidOutputs(MaterialsKevlar.Butyraldehyde.getFluid(9000), MaterialsKevlar.Isobutyraldehyde.getFluid(9000)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + // C2H4 + O =Al2O3,Ag= C2H4O + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminiumoxide, 1)) + .fluidInputs(Materials.Ethylene.getGas(1000), Materials.Oxygen.getGas(1000)) + .fluidOutputs(MaterialsKevlar.EthyleneOxide.getGas(1000)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminiumoxide, 9)) + .fluidInputs(Materials.Ethylene.getGas(9000), Materials.Oxygen.getGas(9000)) + .fluidOutputs(MaterialsKevlar.EthyleneOxide.getGas(9000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs( + MaterialsKevlar.EthyleneOxide.getGas(1000), + Materials.Dimethyldichlorosilane.getFluid(4000), + Materials.Water.getFluid(5000)) + .fluidOutputs(MaterialsKevlar.SiliconOil.getFluid(5000)) + .duration(15 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(8)) + .fluidInputs( + MaterialsKevlar.EthyleneOxide.getGas(9000), + Materials.Dimethyldichlorosilane.getFluid(36000), + Materials.Water.getFluid(45000)) + .fluidOutputs(MaterialsKevlar.SiliconOil.getFluid(45000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // NH3 + CH4O =SiO2,Al2O3= CH5N + H2O + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminiumoxide, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1)) + .fluidInputs(Materials.Methanol.getFluid(1000), Materials.Ammonia.getGas(1000)) + .fluidOutputs(MaterialsKevlar.Methylamine.getGas(1000), Materials.Water.getFluid(1000)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(500000) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.KevlarCatalyst, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.Pentaerythritol, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.DiphenylmethaneDiisocyanate, 5)) + .fluidInputs(MaterialsKevlar.Ethyleneglycol.getFluid(4000), MaterialsKevlar.SiliconOil.getFluid(1000)) + .fluidOutputs(MaterialsKevlar.PolyurethaneResin.getFluid(1000)) + .duration(10 * SECONDS) + .eut(500000) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.KevlarCatalyst, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.Pentaerythritol, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.DiphenylmethaneDiisocyanate, 45)) + .fluidInputs(MaterialsKevlar.Ethyleneglycol.getFluid(36000), MaterialsKevlar.SiliconOil.getFluid(9000)) + .fluidOutputs(MaterialsKevlar.PolyurethaneResin.getFluid(9000)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(500000) + .addTo(multiblockChemicalReactorRecipes); + + // 3NH3 + 6CH4O =Al2O3,SiO2= CH5N + C2H7N + C3H9N + 6H2O + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminiumoxide, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1)) + .fluidInputs(Materials.Methanol.getFluid(6000), Materials.Ammonia.getGas(3000)) + .fluidOutputs( + MaterialsKevlar.Methylamine.getGas(1000), + Materials.Dimethylamine.getGas(1000), + MaterialsKevlar.Trimethylamine.getGas(1000), + Materials.Water.getFluid(6000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(11), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminiumoxide, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 9)) + .fluidInputs(Materials.Methanol.getFluid(54000), Materials.Ammonia.getGas(27000)) + .fluidOutputs( + MaterialsKevlar.Methylamine.getGas(9000), + Materials.Dimethylamine.getGas(9000), + MaterialsKevlar.Trimethylamine.getGas(9000), + Materials.Water.getFluid(54000)) + .duration(2 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // 18SOCl2 + 5C10H10O4 + 6CO2 = 7C8H4Cl2O2 + 22HCl + 18SO2 + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.TerephthaloylChloride, 64), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.TerephthaloylChloride, 48)) + .fluidInputs( + MaterialsKevlar.ThionylChloride.getFluid(18000), + MaterialsKevlar.DimethylTerephthalate.getFluid(5000), + Materials.CarbonDioxide.getGas(6000)) + .fluidOutputs(Materials.DilutedHydrochloricAcid.getFluid(22000), Materials.SulfurDioxide.getGas(18000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // 2CH4O + C8H6O4 =H2SO4= C10H10O4 + 2H2O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs( + MaterialsKevlar.TerephthalicAcid.getFluid(1000), + Materials.Methanol.getFluid(2000), + Materials.SulfuricAcid.getFluid(2000)) + .fluidOutputs( + MaterialsKevlar.DimethylTerephthalate.getFluid(1000), + Materials.DilutedSulfuricAcid.getFluid(2000)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs( + MaterialsKevlar.TerephthalicAcid.getFluid(9000), + Materials.Methanol.getFluid(18000), + Materials.SulfuricAcid.getFluid(18000)) + .fluidOutputs( + MaterialsKevlar.DimethylTerephthalate.getFluid(9000), + Materials.DilutedSulfuricAcid.getFluid(18000)) + .duration(1 * MINUTES + 27 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.Benzene.getFluid(1000), Materials.Methane.getGas(2000)) + .fluidOutputs(MaterialsKevlar.IIIDimethylbenzene.getFluid(1000), Materials.Hydrogen.getGas(4000)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3)) + .fluidInputs(Materials.Benzene.getFluid(1000), Materials.Methane.getGas(2000)) + .fluidOutputs(MaterialsKevlar.IVDimethylbenzene.getFluid(1000), Materials.Hydrogen.getGas(4000)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.CobaltIIHydroxide, 45)) + .itemOutputs( + MaterialsKevlar.CobaltIINaphthenate.getDust(64), + MaterialsKevlar.CobaltIINaphthenate.getDust(64), + MaterialsKevlar.CobaltIINaphthenate.getDust(64), + MaterialsKevlar.CobaltIINaphthenate.getDust(64), + MaterialsKevlar.CobaltIINaphthenate.getDust(64), + MaterialsKevlar.CobaltIINaphthenate.getDust(49)) + .fluidInputs(MaterialsKevlar.NaphthenicAcid.getFluid(10000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.CobaltIIAcetate, 64), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.CobaltIIAcetate, 64), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.CobaltIIAcetate, 7)) + .itemOutputs( + MaterialsKevlar.CobaltIINaphthenate.getDust(64), + MaterialsKevlar.CobaltIINaphthenate.getDust(64), + MaterialsKevlar.CobaltIINaphthenate.getDust(64), + MaterialsKevlar.CobaltIINaphthenate.getDust(64), + MaterialsKevlar.CobaltIINaphthenate.getDust(64), + MaterialsKevlar.CobaltIINaphthenate.getDust(49)) + .fluidInputs(MaterialsKevlar.NaphthenicAcid.getFluid(10000)) + .fluidOutputs(Materials.AceticAcid.getFluid(15000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // PCl3 + 3C6H5Cl + 6Na = 6NaCl + C18H15P + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 6)) + .itemOutputs(MaterialsKevlar.Triphenylphosphene.getDust(34), Materials.Salt.getDust(12)) + .fluidInputs(MaterialsKevlar.PhosphorusTrichloride.getFluid(1000), Materials.Chlorobenzene.getFluid(3000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // 4NaH + C3H9BO3 = NaBH4 + 3CH3ONa + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1), MaterialsKevlar.SodiumHydride.getDust(8)) + .itemOutputs(MaterialsKevlar.SodiumBorohydride.getDust(6), MaterialsKevlar.SodiumMethoxide.getDust(18)) + .fluidInputs(MaterialsKevlar.TrimethylBorate.getFluid(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9), MaterialsKevlar.SodiumHydride.getDust(64)) + .itemOutputs( + MaterialsKevlar.SodiumBorohydride.getDust(48), + MaterialsKevlar.SodiumMethoxide.getDust(64), + MaterialsKevlar.SodiumMethoxide.getDust(64), + MaterialsKevlar.SodiumMethoxide.getDust(16)) + .fluidInputs(MaterialsKevlar.TrimethylBorate.getFluid(8000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // 2CH3COOH = CH3COCH3 + CO2 + H + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(0, Materials.Calcite.getDust(5)), GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.AceticAcid.getFluid(2000)) + .fluidOutputs( + Materials.Acetone.getFluid(1000), + Materials.CarbonDioxide.getGas(1000), + Materials.Water.getFluid(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(0, Materials.Calcium.getDust(1)), GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.AceticAcid.getFluid(2000)) + .fluidOutputs( + Materials.Acetone.getFluid(1000), + Materials.CarbonDioxide.getGas(1000), + Materials.Water.getFluid(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(0, Materials.Quicklime.getDust(2)), GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.AceticAcid.getFluid(2000)) + .fluidOutputs( + Materials.Acetone.getFluid(1000), + Materials.CarbonDioxide.getGas(1000), + Materials.Water.getFluid(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + // C + 4H + O = CH3OH + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Carbon.getDust(1), GT_Utility.getIntegratedCircuit(23)) + .fluidInputs(Materials.Hydrogen.getGas(4000), Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.Methanol.getFluid(1000)) + .duration(16 * SECONDS) + .eut(96) + .addTo(multiblockChemicalReactorRecipes); + + // This recipe collides with one for Vinyl Chloride + // 2C + 4H + 2O = CH3COOH + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Carbon.getDust(2), GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.Hydrogen.getGas(4000), Materials.Oxygen.getGas(2000)) + .fluidOutputs(Materials.AceticAcid.getFluid(1000)) + .duration(24 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + // 2CO + 4H = CH3COOH + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.CarbonMonoxide.getGas(2000), Materials.Hydrogen.getGas(4000)) + .fluidOutputs(Materials.AceticAcid.getFluid(1000)) + .duration(16 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(8)) + .fluidInputs(Materials.Hydrogen.getGas(9000), Materials.Chlorine.getGas(9000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(9000)) + .duration(7 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs( + Materials.Chlorine.getGas(10000), + Materials.Water.getFluid(10000), + Materials.Mercury.getFluid(1000)) + .fluidOutputs(Materials.HypochlorousAcid.getFluid(10000), Materials.Hydrogen.getGas(10000)) + .duration(30 * SECONDS) + .eut(8) + .addTo(multiblockChemicalReactorRecipes); + + // H2O + 4Cl + C3H6 + NaOH = C3H5ClO + NaCl·H2O + 2HCl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(3), GT_Utility.getIntegratedCircuit(23)) + .fluidInputs( + Materials.Propene.getGas(1000), + Materials.Chlorine.getGas(4000), + Materials.Water.getFluid(1000)) + .fluidOutputs( + Materials.Epichlorohydrin.getFluid(1000), + Materials.SaltWater.getFluid(1000), + Materials.HydrochloricAcid.getFluid(2000)) + .duration(32 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + // H2O + 2Cl + C3H6 + NaOH =Hg= C3H5ClO + NaCl·H2O + 2H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(3), GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.Propene.getGas(1000), + Materials.Chlorine.getGas(2000), + Materials.Water.getFluid(1000), + Materials.Mercury.getFluid(100)) + .fluidOutputs( + Materials.Epichlorohydrin.getFluid(1000), + Materials.SaltWater.getFluid(1000), + Materials.Hydrogen.getGas(2000)) + .duration(32 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + // HClO + 2Cl + C3H6 + NaOH = C3H5ClO + NaCl·H2O + HCl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(3), GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.Propene.getGas(1000), + Materials.Chlorine.getGas(2000), + Materials.HypochlorousAcid.getFluid(1000)) + .fluidOutputs( + Materials.Epichlorohydrin.getFluid(1000), + Materials.SaltWater.getFluid(1000), + Materials.HydrochloricAcid.getFluid(1000)) + .duration(32 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Apatite.getDust(9)) + .itemOutputs(Materials.Gypsum.getDust(40)) + .fluidInputs(Materials.SulfuricAcid.getFluid(5000), Materials.Water.getFluid(10000)) + .fluidOutputs(Materials.PhosphoricAcid.getFluid(3000), Materials.HydrochloricAcid.getFluid(1000)) + .duration(16 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Phosphorus.getDust(4), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.PhosphorousPentoxide.getDust(14)) + .fluidInputs(Materials.Oxygen.getGas(10000)) + .duration(2 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + // 2P + 5O + 3H2O = 2H3PO4 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Phosphorus.getDust(1), GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.Oxygen.getGas(2500), Materials.Water.getFluid(1500)) + .fluidOutputs(Materials.PhosphoricAcid.getFluid(1000)) + .duration(16 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs( + Materials.Propene.getGas(8000), + Materials.Benzene.getFluid(8000), + Materials.PhosphoricAcid.getFluid(1000)) + .fluidOutputs(Materials.Cumene.getFluid(8000)) + .duration(1 * MINUTES + 36 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.Propene.getGas(1000), + Materials.Benzene.getFluid(1000), + Materials.PhosphoricAcid.getFluid(100), + Materials.Oxygen.getGas(2000)) + .fluidOutputs(Materials.Phenol.getFluid(1000), Materials.Acetone.getFluid(1000)) + .duration(24 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs( + Materials.Acetone.getFluid(1000), + Materials.Phenol.getFluid(2000), + Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(Materials.BisphenolA.getFluid(1000), Materials.Water.getFluid(1000)) + .duration(8 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(6), GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.Acetone.getFluid(1000), + Materials.Phenol.getFluid(2000), + Materials.HydrochloricAcid.getFluid(1000), + Materials.Epichlorohydrin.getFluid(2000)) + .fluidOutputs(Materials.Epoxid.getMolten(1000), Materials.SaltWater.getFluid(2000)) + .duration(24 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.Hydrogen.getGas(9000), Materials.Fluorine.getGas(9000)) + .fluidOutputs(Materials.HydrofluoricAcid.getFluid(9000)) + .duration(7 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.HydrofluoricAcid.getFluid(4000), + Materials.Methane.getGas(2000), + Materials.Chlorine.getGas(12000)) + .fluidOutputs(Materials.Tetrafluoroethylene.getGas(1000), Materials.HydrochloricAcid.getFluid(12000)) + .duration(27 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Silicon.getDust(1), GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(Materials.Polydimethylsiloxane.getDust(3)) + .fluidInputs( + Materials.Methane.getGas(2000), + Materials.Chlorine.getGas(4000), + Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(2000), Materials.DilutedHydrochloricAcid.getFluid(2000)) + .duration(24 * SECONDS) + .eut(96) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Silicon.getDust(1), GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(Materials.Polydimethylsiloxane.getDust(3)) + .fluidInputs(Materials.Methanol.getFluid(2000), Materials.HydrochloricAcid.getFluid(2000)) + .fluidOutputs(Materials.DilutedHydrochloricAcid.getFluid(2000)) + .duration(24 * SECONDS) + .eut(96) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Nitrogen.getGas(1000), Materials.Hydrogen.getGas(3000)) + .fluidOutputs(Materials.Ammonia.getGas(1000)) + .duration(16 * SECONDS) + .eut(TierEU.HV * 3 / 4) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.Nitrogen.getGas(10000), Materials.Hydrogen.getGas(30000)) + .fluidOutputs(Materials.Ammonia.getGas(10000)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.HV * 3 / 4) + .addTo(multiblockChemicalReactorRecipes); + + // 2NH3 + 7O = N2O4 + 3H2O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(23)) + .fluidInputs(Materials.Ammonia.getGas(2000), Materials.Oxygen.getGas(7000)) + .fluidOutputs(Materials.DinitrogenTetroxide.getGas(1000), Materials.Water.getFluid(3000)) + .duration(24 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + // 7O + 6H + 2N = N2O4 + 3H2O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(23)) + .fluidInputs( + Materials.Nitrogen.getGas(2000), + Materials.Hydrogen.getGas(6000), + Materials.Oxygen.getGas(7000)) + .fluidOutputs(Materials.DinitrogenTetroxide.getGas(1000), Materials.Water.getFluid(3000)) + .duration(55 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.Oxygen.getGas(100000), Materials.Ammonia.getGas(36000)) + .fluidOutputs(Materials.NitricOxide.getGas(36000), Materials.Water.getFluid(54000)) + .duration(8 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(8)) + .fluidInputs(Materials.Oxygen.getGas(100000), Materials.Ammonia.getGas(36000)) + .fluidOutputs(Materials.NitricOxide.getGas(36000)) + .duration(8 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.NitricOxide.getGas(9000), Materials.Oxygen.getGas(9000)) + .fluidOutputs(Materials.NitrogenDioxide.getGas(9000)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.NitrogenDioxide.getGas(27000), Materials.Water.getFluid(9000)) + .fluidOutputs(Materials.NitricAcid.getFluid(18000), Materials.NitricOxide.getGas(9000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.Hydrogen.getGas(3000), + Materials.Nitrogen.getGas(1000), + Materials.Oxygen.getGas(4000)) + .fluidOutputs(Materials.NitricAcid.getFluid(1000), Materials.Water.getFluid(1000)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.Ammonia.getGas(1000), Materials.Oxygen.getGas(4000)) + .fluidOutputs(Materials.NitricAcid.getFluid(1000), Materials.Water.getFluid(1000)) + .duration(16 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.NitrogenDioxide.getGas(2000), + Materials.Oxygen.getGas(1000), + Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.NitricAcid.getFluid(2000)) + .duration(16 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9), Materials.Sulfur.getDust(9)) + .fluidInputs(Materials.Hydrogen.getGas(18000)) + .fluidOutputs(Materials.HydricSulfide.getGas(9000)) + .duration(4 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9), Materials.Sulfur.getDust(9)) + .fluidInputs(Materials.Oxygen.getGas(18000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(9000)) + .duration(4 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.HydricSulfide.getGas(9000), Materials.Oxygen.getGas(27000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(9000), Materials.Water.getFluid(9000)) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(8)) + .fluidInputs(Materials.HydricSulfide.getGas(9000), Materials.Oxygen.getGas(27000)) + .fluidOutputs(Materials.SulfurDioxide.getGas(9000)) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(Materials.Sulfur.getDust(27)) + .fluidInputs(Materials.SulfurDioxide.getGas(9000), Materials.HydricSulfide.getGas(18000)) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.SulfurTrioxide.getGas(9000), Materials.Water.getFluid(9000)) + .fluidOutputs(Materials.SulfuricAcid.getFluid(9000)) + .duration(13 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + // S + O3 + H2O = H2SO4 + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24), Materials.Sulfur.getDust(1)) + .fluidInputs(Materials.Oxygen.getGas(3000), Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.SulfuricAcid.getFluid(1000)) + .duration(24 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(7), Materials.Sulfur.getDust(9)) + .fluidInputs(Materials.Oxygen.getGas(27000), Materials.Water.getFluid(9000)) + .fluidOutputs(Materials.SulfuricAcid.getFluid(9000)) + .duration(13 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + // H2S + O4 = H2SO4 + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.HydricSulfide.getGas(1000), Materials.Oxygen.getGas(4000)) + .fluidOutputs(Materials.SulfuricAcid.getFluid(1000)) + .duration(24 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + // SO2 + O + H2O = H2SO4 + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.SulfurDioxide.getGas(1000), + Materials.Oxygen.getGas(1000), + Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.SulfuricAcid.getFluid(1000)) + .duration(30 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs( + Materials.SulfurDioxide.getGas(9000), + Materials.Oxygen.getGas(9000), + Materials.Water.getFluid(9000)) + .fluidOutputs(Materials.SulfuricAcid.getFluid(9000)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs( + Materials.HydrochloricAcid.getFluid(1000), + Materials.Ethylene.getGas(1000), + Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.VinylChloride.getGas(1000), Materials.Water.getFluid(1000)) + .duration(8 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.Chlorine.getGas(2000), + Materials.Ethylene.getGas(2000), + Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.VinylChloride.getGas(2000), Materials.Water.getFluid(1000)) + .duration(12 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.RawRubber.getDust(18)) + .fluidInputs( + Materials.Isoprene.getFluid(1728), + Materials.Air.getGas(6000), + Materials.Titaniumtetrachloride.getFluid(80)) + .duration(32 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.RawRubber.getDust(24)) + .fluidInputs( + Materials.Isoprene.getFluid(1728), + Materials.Oxygen.getGas(6000), + Materials.Titaniumtetrachloride.getFluid(80)) + .duration(32 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(Materials.RawStyreneButadieneRubber.getDust(1)) + .fluidInputs(Materials.Styrene.getFluid(36), Materials.Butadiene.getGas(108), Materials.Air.getGas(2000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(Materials.RawStyreneButadieneRubber.getDust(3)) + .fluidInputs(Materials.Styrene.getFluid(72), Materials.Butadiene.getGas(216), Materials.Oxygen.getGas(2000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .itemOutputs( + Materials.RawStyreneButadieneRubber.getDust(22), + Materials.RawStyreneButadieneRubber.getDustSmall(2)) + .fluidInputs( + Materials.Styrene.getFluid(540), + Materials.Butadiene.getGas(1620), + Materials.Titaniumtetrachloride.getFluid(100), + Materials.Air.getGas(15000)) + .duration(32 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(Materials.RawStyreneButadieneRubber.getDust(30)) + .fluidInputs( + Materials.Styrene.getFluid(540), + Materials.Butadiene.getGas(1620), + Materials.Titaniumtetrachloride.getFluid(100), + Materials.Oxygen.getGas(7500)) + .duration(32 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9), Materials.Salt.getDust(18)) + .itemOutputs(Materials.SodiumBisulfate.getDust(63)) + .fluidInputs(Materials.SulfuricAcid.getFluid(9000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(9000)) + .duration(6 * SECONDS + 15 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9), Materials.SodiumHydroxide.getDust(27)) + .itemOutputs(Materials.SodiumBisulfate.getDust(63)) + .fluidInputs(Materials.SulfuricAcid.getFluid(9000)) + .fluidOutputs(Materials.Water.getFluid(9000)) + .duration(6 * SECONDS + 15 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.Benzene.getFluid(1000), + Materials.Chlorine.getGas(2000), + Materials.Water.getFluid(1000)) + .fluidOutputs( + Materials.Phenol.getFluid(1000), + Materials.HydrochloricAcid.getFluid(1000), + Materials.DilutedHydrochloricAcid.getFluid(1000)) + .duration(28 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + // C6H6 + 2Cl + NaOH = C6H6O + NaCl + HCl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(6), GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(Materials.Salt.getDust(4)) + .fluidInputs(Materials.Benzene.getFluid(2000), Materials.Chlorine.getGas(4000)) + .fluidOutputs(Materials.Phenol.getFluid(2000), Materials.HydrochloricAcid.getFluid(2000)) + .duration(56 * SECONDS) + .eut(30) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.LightFuel.getFluid(20000), Materials.HeavyFuel.getFluid(4000)) + .fluidOutputs(Materials.Fuel.getFluid(24000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.Fuel.getFluid(10000), Materials.Tetranitromethane.getFluid(200)) + .fluidOutputs(Materials.NitroFuel.getFluid(10000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.BioDiesel.getFluid(10000), Materials.Tetranitromethane.getFluid(400)) + .fluidOutputs(Materials.NitroFuel.getFluid(9000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + // CH4 + 2H2O = CO2 + 8H + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(11)) + .fluidInputs(Materials.Methane.getGas(5000), GT_ModHandler.getDistilledWater(10000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(5000), Materials.Hydrogen.getGas(40000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + // CH4 + H2O = CO + 6H + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(12)) + .fluidInputs(Materials.Methane.getGas(5000), GT_ModHandler.getDistilledWater(5000)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(5000), Materials.Hydrogen.getGas(30000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.Nitrogen.getGas(20000), Materials.Oxygen.getGas(10000)) + .fluidOutputs(Materials.NitrousOxide.getGas(10000)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.Naphtha.getFluid(16000), + Materials.Gas.getGas(2000), + Materials.Methanol.getFluid(1000), + Materials.Acetone.getFluid(1000)) + .fluidOutputs(Materials.GasolineRaw.getFluid(20000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.GasolineRaw.getFluid(10000), Materials.Toluene.getFluid(1000)) + .fluidOutputs(Materials.GasolineRegular.getFluid(11000)) + .duration(10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.GasolineRegular.getFluid(20000), + Materials.Octane.getFluid(2000), + Materials.NitrousOxide.getGas(6000), + Materials.Toluene.getFluid(1000), + Materials.AntiKnock.getFluid(3000)) + .fluidOutputs(Materials.GasolinePremium.getFluid(32000)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // C2H6O + C4H8 = C6H14O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.Ethanol.getFluid(1000), Materials.Butene.getGas(1000)) + .fluidOutputs(Materials.AntiKnock.getFluid(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + // CH4O + C4H8 = C5H12O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.Methanol.getFluid(1000), Materials.Butene.getGas(1000)) + .fluidOutputs(Materials.MTBEMixture.getGas(1000)) + .duration(20 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + Materials.Naquadria.getMolten(4608), + Materials.ElectrumFlux.getMolten(4608), + Materials.Radon.getGas(16000)) + .fluidOutputs(Materials.EnrichedNaquadria.getFluid(9216)) + .duration(30 * SECONDS) + .eut(500000) + .addTo(multiblockChemicalReactorRecipes); + + if (GTNHLanthanides.isModLoaded() && GTPlusPlus.isModLoaded()) { + // CH2O + 2C6H7N + HCl = C13H14N2(HCl) + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("fluid.formaldehyde"), 1000), + new FluidStack(FluidRegistry.getFluid("aniline"), 2000), + Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(MaterialsKevlar.DiaminodiphenylmethanMixture.getFluid(1000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // C6H5NO2 + 6H =Pd= C6H7N + 2H2O + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Palladium, 1)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("nitrobenzene"), 9000), + Materials.Hydrogen.getGas(54000)) + .fluidOutputs(Materials.Water.getFluid(18000), new FluidStack(FluidRegistry.getFluid("aniline"), 9000)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // C6H6 + HNO3 =H2SO4= C6H5NO2 + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs( + Materials.Benzene.getFluid(5000), + Materials.SulfuricAcid.getFluid(3000), + Materials.NitricAcid.getFluid(5000), + GT_ModHandler.getDistilledWater(10000)) + .fluidOutputs( + new FluidStack(FluidRegistry.getFluid("nitrobenzene"), 5000), + Materials.DilutedSulfuricAcid.getFluid(3000)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(multiblockChemicalReactorRecipes); + + // C13H14N2(HCl) + 2COCl2 = C15H10N2O2(5HCl) + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs( + MaterialsKevlar.DiaminodiphenylmethanMixture.getFluid(1000), + new FluidStack(FluidRegistry.getFluid("phosgene"), 2000)) + .fluidOutputs(MaterialsKevlar.DiphenylmethaneDiisocyanateMixture.getFluid(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Palladium, 1)) + .fluidInputs(MaterialsKevlar.Butyraldehyde.getFluid(9000), Materials.Hydrogen.getGas(18000)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("butanol"), 9000)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tin, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.KevlarCatalyst, 1)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("butanol"), 2000), + new FluidStack(FluidRegistry.getFluid("propionicacid"), 1000), + Materials.IronIIIChloride.getFluid(100)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tin, 9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.KevlarCatalyst, 9)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("butanol"), 18000), + new FluidStack(FluidRegistry.getFluid("propionicacid"), 9000), + Materials.IronIIIChloride.getFluid(900)) + .duration(3 * MINUTES + 45 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // C2H4 + CO + H2O =C4NiO= C3H6O2 + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs( + Materials.Ethylene.getGas(1000), + Materials.CarbonMonoxide.getGas(1000), + MaterialsKevlar.NickelTetracarbonyl.getFluid(100), + Materials.Water.getFluid(1000)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("propionicacid"), 1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs( + Materials.Ethylene.getGas(9000), + Materials.CarbonMonoxide.getGas(9000), + MaterialsKevlar.NickelTetracarbonyl.getFluid(900), + Materials.Water.getFluid(9000)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("propionicacid"), 9000)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // C6H7N + HNO3 =H2SO4,C4H6O3= C6H6N2O2 + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("aniline"), 1000), + new FluidStack(FluidRegistry.getFluid("molten.aceticanhydride"), 100), + Materials.NitrationMixture.getFluid(2000)) + .fluidOutputs( + MaterialsKevlar.IVNitroaniline.getFluid(1000), + Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("aniline"), 9000), + new FluidStack(FluidRegistry.getFluid("molten.aceticanhydride"), 900), + Materials.NitrationMixture.getFluid(18000)) + .fluidOutputs( + MaterialsKevlar.IVNitroaniline.getFluid(9000), + Materials.DilutedSulfuricAcid.getFluid(9000)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // C6H6N2O2 + 6H =Pd,NO2= C6H8N2 + 2H2O + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Palladium, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.ParaPhenylenediamine, 16)) + .fluidInputs( + Materials.NitrogenDioxide.getGas(100), + Materials.Hydrogen.getGas(6000), + MaterialsKevlar.IVNitroaniline.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(2000)) + .duration(20 * SECONDS) + .eut(500000) + .addTo(multiblockChemicalReactorRecipes); + + // C4H10O2 =Cu= C4H6O2 + 4H + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 1)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("1,4-butanediol"), 1000)) + .fluidOutputs(MaterialsKevlar.GammaButyrolactone.getFluid(1000), Materials.Hydrogen.getGas(4000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 9)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("1,4-butanediol"), 9000)) + .fluidOutputs(MaterialsKevlar.GammaButyrolactone.getFluid(9000), Materials.Hydrogen.getGas(36000)) + .duration(35 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // 2CH2O + C2H2 =SiO2,CuO,Bi2O3= C4H6O2 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CupricOxide, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.BismuthIIIOxide, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.IIButinIIVdiol, 12)) + .fluidInputs( + MaterialsKevlar.Acetylene.getGas(1000), + new FluidStack(FluidRegistry.getFluid("fluid.formaldehyde"), 2000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CupricOxide, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.BismuthIIIOxide, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 9)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.IIButinIIVdiol, 64), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.IIButinIIVdiol, 44)) + .fluidInputs( + MaterialsKevlar.Acetylene.getGas(9000), + new FluidStack(FluidRegistry.getFluid("fluid.formaldehyde"), 18000)) + .duration(2 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // C4H6O2 + 4H =NiAl= C4H10O2 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.IIButinIIVdiol, 12), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.RaneyNickelActivated, 1)) + .fluidInputs(Materials.Hydrogen.getGas(4000)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("1,4-butanediol"), 1000)) + .duration(15 * SECONDS) + .eut(500000) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + getModItem(GTPlusPlus.ID, "itemDustCalciumChloride", 1), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.ParaPhenylenediamine, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.TerephthaloylChloride, 9)) + .fluidInputs(MaterialsKevlar.NMethylIIPyrrolidone.getFluid(1000)) + .fluidOutputs( + MaterialsKevlar.LiquidCrystalKevlar.getFluid(9000), + Materials.DilutedHydrochloricAcid.getFluid(2000)) + .duration(30 * SECONDS) + .eut(500000) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + getModItem(GTPlusPlus.ID, "itemDustCalciumChloride", 7), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.ParaPhenylenediamine, 63), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.TerephthaloylChloride, 63)) + .fluidInputs(MaterialsKevlar.NMethylIIPyrrolidone.getFluid(7000)) + .fluidOutputs( + MaterialsKevlar.LiquidCrystalKevlar.getFluid(63000), + Materials.DilutedHydrochloricAcid.getFluid(14000)) + .duration(2 * MINUTES + 55 * SECONDS) + .eut(500000) + .addTo(multiblockChemicalReactorRecipes); + + // Na2B4O7(H2O)10 + 2HCl = 2NaCl + 4H3BO3 + 5H2O + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Borax, 23)) + .itemOutputs(Materials.Salt.getDust(4)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(2000)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("boricacid"), 4000), Materials.Water.getFluid(5000)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + // H3BO3 + 3CH4O =H2SO4= C3H9BO3 + 3H2O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs( + Materials.Methanol.getFluid(3000), + new FluidStack(FluidRegistry.getFluid("boricacid"), 1000), + Materials.SulfuricAcid.getFluid(6000)) + .fluidOutputs( + Materials.DilutedSulfuricAcid.getFluid(6000), + MaterialsKevlar.TrimethylBorate.getFluid(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs( + Materials.Methanol.getFluid(27000), + new FluidStack(FluidRegistry.getFluid("boricacid"), 9000), + Materials.SulfuricAcid.getFluid(54000)) + .fluidOutputs( + Materials.DilutedSulfuricAcid.getFluid(54000), + MaterialsKevlar.TrimethylBorate.getFluid(9000)) + .duration(3 * MINUTES + 45 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + // RhCl3 + 3C18H15P + 3NaBH4 + CO = RhC55H46P3O + 3NaCl + 3B + 11H + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.RhodiumChloride, 4), + MaterialsKevlar.Triphenylphosphene.getDust(64), + MaterialsKevlar.Triphenylphosphene.getDust(38), + MaterialsKevlar.SodiumBorohydride.getDust(18)) + .itemOutputs( + MaterialsKevlar.OrganorhodiumCatalyst.getDust(64), + MaterialsKevlar.OrganorhodiumCatalyst.getDust(42), + Materials.Salt.getDust(6), + Materials.Boron.getDust(3)) + .fluidInputs(Materials.CarbonMonoxide.getGas(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(11000)) + .duration(40 * SECONDS) + .eut(500000) + .addTo(multiblockChemicalReactorRecipes); + + // 2NaOH + N2H4 =Mn= 2N + 2H2O + 2NaH + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + Materials.SodiumHydroxide.getDust(6), + Materials.Manganese.getDustTiny(1)) + .itemOutputs(MaterialsKevlar.SodiumHydride.getDust(4)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("fluid.hydrazine"), 1000)) + .fluidOutputs(Materials.Nitrogen.getGas(2000), Materials.Water.getFluid(2000)) + .duration(10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(18), + Materials.SodiumHydroxide.getDust(54), + Materials.Manganese.getDust(1)) + .itemOutputs(MaterialsKevlar.SodiumHydride.getDust(36)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("fluid.hydrazine"), 9000)) + .fluidOutputs(Materials.Nitrogen.getGas(18000), Materials.Water.getFluid(18000)) + .duration(3 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/CircuitAssemblerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CircuitAssemblerRecipes.java new file mode 100644 index 0000000000..10aaff6b4d --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/CircuitAssemblerRecipes.java @@ -0,0 +1,326 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.recipe.RecipeMaps.circuitAssemblerRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.loaders.postload.GT_MachineRecipeLoader.solderingMats; + +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class CircuitAssemblerRecipes implements Runnable { + + @Override + public void run() { + registerRailcraftRecipes(); + registerForestryRecipes(); + + } + + public void registerRailcraftRecipes() { + if (!Railcraft.isModLoaded()) { + return; + } + + for (Materials tMat : solderingMats) { + int tMultiplier = tMat.contains(SubTag.SOLDERING_MATERIAL_GOOD) ? 1 + : tMat.contains(SubTag.SOLDERING_MATERIAL_BAD) ? 4 : 2; + + // Railcraft Circuits + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Coated_Basic.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 1), + ItemList.Cover_Controller.get(1)) + .itemOutputs(getModItem(Railcraft.ID, "part.circuit", 4L, 0)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(15 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Coated_Basic.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 1), + ItemList.Sensor_LV.get(1)) + .itemOutputs(getModItem(Railcraft.ID, "part.circuit", 4L, 1)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(15 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Coated_Basic.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 1), + getModItem(Railcraft.ID, "part.signal.lamp", 1L, 0)) + .itemOutputs(getModItem(Railcraft.ID, "part.circuit", 4L, 2)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(15 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Phenolic_Good.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 1), + ItemList.Cover_Controller.get(1)) + .itemOutputs(getModItem(Railcraft.ID, "part.circuit", 8L, 0)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(20 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Phenolic_Good.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 1), + ItemList.Sensor_LV.get(1)) + .itemOutputs(getModItem(Railcraft.ID, "part.circuit", 8L, 1)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(20 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Phenolic_Good.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 1), + getModItem(Railcraft.ID, "part.signal.lamp", 1L, 0)) + .itemOutputs(getModItem(Railcraft.ID, "part.circuit", 8L, 2)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(20 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Epoxy_Advanced.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 1), + ItemList.Cover_Controller.get(1)) + .itemOutputs(getModItem(Railcraft.ID, "part.circuit", 16L, 0)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(25 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Epoxy_Advanced.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 1), + ItemList.Sensor_LV.get(1)) + .itemOutputs(getModItem(Railcraft.ID, "part.circuit", 16L, 1)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(25 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Epoxy_Advanced.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 1), + getModItem(Railcraft.ID, "part.signal.lamp", 1L, 0)) + .itemOutputs(getModItem(Railcraft.ID, "part.circuit", 16L, 2)) + .fluidInputs(tMat.getMolten(144L * tMultiplier / 2)) + .duration(25 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Coated_Basic.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Primitive, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Iron, 2), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Iron, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Iron, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "chipsets", 1L, 0)) + .fluidInputs(tMat.getMolten(1152L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Coated_Basic.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Bronze, 2), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Bronze, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Bronze, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "chipsets", 1L, 1)) + .fluidInputs(tMat.getMolten(1152L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Phenolic_Good.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Steel, 2), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Steel, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "chipsets", 1L, 2)) + .fluidInputs(tMat.getMolten(1152L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Phenolic_Good.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 2), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Electrum, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "chipsets", 1L, 3)) + .fluidInputs(tMat.getMolten(1152L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + } + } + + public void registerForestryRecipes() { + if (!Forestry.isModLoaded()) { + return; + } + + // alternative version of the copper electron tube + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedAlloy, 1), + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Gold, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 2), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.AnnealedCopper, 2)) + .itemOutputs(getModItem(Forestry.ID, "thermionicTubes", 4L, 0)) + .fluidInputs(Materials.Glass.getMolten(576)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + // alternative version of the iron electron tube + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedAlloy, 1), + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Gold, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 2), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.WroughtIron, 2)) + .itemOutputs(getModItem(Forestry.ID, "thermionicTubes", 4L, 3)) + .fluidInputs(Materials.Glass.getMolten(576)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + ItemStack[] rodMaterials = new ItemStack[] { + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Copper, 2L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Tin, 2L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Bronze, 2L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Iron, 2L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Gold, 2L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Diamond, 2L), + getModItem(NewHorizonsCoreMod.ID, "item.LongObsidianRod", 2L, 0), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Blaze, 2L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Rubber, 2L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Emerald, 2L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Apatite, 2L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Lapis, 2L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.EnderEye, 2L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Uranium, 2L), }; + + for (int metaid = 0; metaid < rodMaterials.length; metaid++) { + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedAlloy, 1), + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Gold, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 2), + rodMaterials[metaid]) + .itemOutputs(getModItem(Forestry.ID, "thermionicTubes", 4L, metaid)) + .fluidInputs(Materials.Glass.getMolten(576)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + } + + for (Materials tMat : solderingMats) { + + int tMultiplier = tMat.contains(SubTag.SOLDERING_MATERIAL_GOOD) ? 1 + : tMat.contains(SubTag.SOLDERING_MATERIAL_BAD) ? 4 : 2; + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Coated_Basic.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Primitive, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Iron, 2), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Iron, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Iron, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "chipsets", 1L, 0)) + .fluidInputs(tMat.getMolten(1152L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Coated_Basic.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Bronze, 2), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Bronze, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Bronze, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "chipsets", 1L, 1)) + .fluidInputs(tMat.getMolten(1152L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Phenolic_Good.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Steel, 2), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Steel, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "chipsets", 1L, 2)) + .fluidInputs(tMat.getMolten(1152L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Phenolic_Good.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 2), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Electrum, 4), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "chipsets", 1L, 3)) + .fluidInputs(tMat.getMolten(1152L * tMultiplier / 2)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_LV) + .addTo(circuitAssemblerRecipes); + + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java new file mode 100644 index 0000000000..ef7441c13b --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java @@ -0,0 +1,154 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.AppliedEnergistics2; +import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.recipe.RecipeMaps.compressorRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import mods.railcraft.common.blocks.aesthetics.cube.EnumCube; +import mods.railcraft.common.items.RailcraftToolItems; + +public class CompressorRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GTPlusPlus.ID, "blockRainforestOakSapling", 8, 0)) + .itemOutputs(ItemList.IC2_Plantball.get(1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Compressed_Coal_Chunk.get(1)) + .itemOutputs(ItemList.IC2_Industrial_Diamond.get(1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium, 1)) + .itemOutputs(GT_ModHandler.getIC2Item("Uran238", 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium235, 1)) + .itemOutputs(GT_ModHandler.getIC2Item("Uran235", 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plutonium, 1)) + .itemOutputs(GT_ModHandler.getIC2Item("Plutonium", 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Uranium235, 1)) + .itemOutputs(GT_ModHandler.getIC2Item("smallUran235", 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Plutonium, 1)) + .itemOutputs(GT_ModHandler.getIC2Item("smallPlutonium", 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.ice, 2, 32767)) + .itemOutputs(new ItemStack(Blocks.packed_ice, 1, 0)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ice, 1)) + .itemOutputs(new ItemStack(Blocks.ice, 1, 0)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.CertusQuartz, 4)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "tile.BlockQuartz", 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 8L, 10)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "tile.BlockQuartz", 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 8L, 11)) + .itemOutputs(new ItemStack(Blocks.quartz_block, 1, 0)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 8L, 12)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "tile.BlockFluix", 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.quartz, 4, 0)) + .itemOutputs(new ItemStack(Blocks.quartz_block, 1, 0)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + /* + * GT_Values.RA.stdBuilder() .itemInputs( new ItemStack(Items.wheat, 9, 0) ) .itemOutputs( new + * ItemStack(Blocks.hay_block, 1, 0) ) .duration(15 * SECONDS) .eut(2) + * .addTo(sCompressorRecipes); + */ + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 4)) + .itemOutputs(new ItemStack(Blocks.glowstone, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Fireclay.getDust(1)) + .itemOutputs(ItemList.CompressedFireclay.get(1)) + .duration(4 * SECONDS) + .eut(4) + .addTo(compressorRecipes); + + if (Railcraft.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs(RailcraftToolItems.getCoalCoke(9)) + .itemOutputs(EnumCube.COKE_BLOCK.getItem()) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java new file mode 100644 index 0000000000..e69af249ee --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java @@ -0,0 +1,176 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.GT_Mod; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_RecipeBuilder; +import gregtech.api.util.GT_Utility; + +public class CropProcessingRecipes implements Runnable { + + @Override + public void run() { + ItemStack tCrop; + // Metals Line + tCrop = ItemList.Crop_Drop_Coppon.get(1); + this.addProcess(tCrop, Materials.Copper, 100, true); + this.addProcess(tCrop, Materials.Tetrahedrite, 100, false); + this.addProcess(tCrop, Materials.Chalcopyrite, 100, false); + this.addProcess(tCrop, Materials.Malachite, 100, false); + this.addProcess(tCrop, Materials.Pyrite, 100, false); + this.addProcess(tCrop, Materials.Stibnite, 100, false); + tCrop = ItemList.Crop_Drop_Tine.get(1); + this.addProcess(tCrop, Materials.Tin, 100, true); + this.addProcess(tCrop, Materials.Cassiterite, 100, false); + this.addProcess(tCrop, Materials.CassiteriteSand, 100, true); + tCrop = ItemList.Crop_Drop_Plumbilia.get(1); + this.addProcess(tCrop, Materials.Lead, 100, true); + this.addProcess(tCrop, Materials.Galena, 100, false); // + tCrop = ItemList.Crop_Drop_Ferru.get(1); + this.addProcess(tCrop, Materials.Iron, 100, true); + this.addProcess(tCrop, Materials.Magnetite, 100, false); + this.addProcess(tCrop, Materials.BrownLimonite, 100, false); + this.addProcess(tCrop, Materials.YellowLimonite, 100, false); + this.addProcess(tCrop, Materials.VanadiumMagnetite, 100, false); + this.addProcess(tCrop, Materials.BandedIron, 100, false); + this.addProcess(tCrop, Materials.Pyrite, 100, false); + this.addProcess(tCrop, Materials.MeteoricIron, 100, false); + tCrop = ItemList.Crop_Drop_Nickel.get(1); + this.addProcess(tCrop, Materials.Nickel, 100, true); + this.addProcess(tCrop, Materials.Garnierite, 100, false); + this.addProcess(tCrop, Materials.Pentlandite, 100, false); + this.addProcess(tCrop, Materials.Cobaltite, 100, false); + this.addProcess(tCrop, Materials.Wulfenite, 100, false); + this.addProcess(tCrop, Materials.Powellite, 100, false); + tCrop = ItemList.Crop_Drop_Zinc.get(1); + this.addProcess(tCrop, Materials.Zinc, 100, true); + this.addProcess(tCrop, Materials.Sphalerite, 100, false); + this.addProcess(tCrop, Materials.Sulfur, 100, false); + tCrop = ItemList.Crop_Drop_Argentia.get(1); + this.addProcess(tCrop, Materials.Silver, 100, true); + this.addProcess(tCrop, Materials.Galena, 100, false); + tCrop = ItemList.Crop_Drop_Aurelia.get(1); + this.addProcess(tCrop, Materials.Gold, 100, true); + this.addProcess(tCrop, Materials.Magnetite, Materials.Gold, 100, false); + tCrop = ItemList.Crop_Drop_Mica.get(1); + this.addProcess(tCrop, Materials.Mica, 75, true); + + // Rare Metals Line + tCrop = ItemList.Crop_Drop_Bauxite.get(1); + this.addProcess(tCrop, Materials.Aluminium, 60, true); + this.addProcess(tCrop, Materials.Bauxite, 100, false); + tCrop = ItemList.Crop_Drop_Manganese.get(1); + this.addProcess(tCrop, Materials.Manganese, 30, true); + this.addProcess(tCrop, Materials.Grossular, 100, false); + this.addProcess(tCrop, Materials.Spessartine, 100, false); + this.addProcess(tCrop, Materials.Pyrolusite, 100, false); + this.addProcess(tCrop, Materials.Tantalite, 100, false); + tCrop = ItemList.Crop_Drop_Ilmenite.get(1); + this.addProcess(tCrop, Materials.Titanium, 100, true); + this.addProcess(tCrop, Materials.Ilmenite, 100, false); + this.addProcess(tCrop, Materials.Bauxite, 100, false); + this.addProcess(tCrop, Materials.Rutile, 100, false); + tCrop = ItemList.Crop_Drop_Scheelite.get(1); + this.addProcess(tCrop, Materials.Scheelite, 100, true); + this.addProcess(tCrop, Materials.Tungstate, 100, false); + this.addProcess(tCrop, Materials.Lithium, 100, false); + this.addProcess(tCrop, Materials.Tungsten, 75, false); + tCrop = ItemList.Crop_Drop_Platinum.get(1); + this.addProcess(tCrop, Materials.Platinum, 40, true); + this.addProcess(tCrop, Materials.Cooperite, 40, false); + this.addProcess(tCrop, Materials.Palladium, 40, false); + this.addProcess(tCrop, Materials.Neodymium, 100, false); + this.addProcess(tCrop, Materials.Bastnasite, 100, false); + tCrop = ItemList.Crop_Drop_Iridium.get(1); + this.addProcess(tCrop, Materials.Iridium, 20, true); + tCrop = ItemList.Crop_Drop_Osmium.get(1); + this.addProcess(tCrop, Materials.Osmium, 20, true); + + // Radioactive Line + tCrop = ItemList.Crop_Drop_Pitchblende.get(1); + this.addProcess(tCrop, Materials.Pitchblende, 50, true); + tCrop = ItemList.Crop_Drop_Uraninite.get(1); + this.addProcess(tCrop, Materials.Uraninite, 50, false); + this.addProcess(tCrop, Materials.Uranium, 50, true); + this.addProcess(tCrop, Materials.Pitchblende, 50, false); + this.addProcess(tCrop, Materials.Uranium235, 50, false); + tCrop = ItemList.Crop_Drop_Thorium.get(1); + this.addProcess(tCrop, Materials.Thorium, 50, true); + tCrop = ItemList.Crop_Drop_Naquadah.get(1); + this.addProcess(tCrop, Materials.Naquadah, 10, true); + this.addProcess(tCrop, Materials.NaquadahEnriched, 10, false); + this.addProcess(tCrop, Materials.Naquadria, 10, false); + + // Gem Line + tCrop = ItemList.Crop_Drop_BobsYerUncleRanks.get(1); + this.addProcess(tCrop, Materials.Emerald, 100, true); + this.addProcess(tCrop, Materials.Beryllium, 100, false); + } + + public void addProcess(ItemStack tCrop, Materials aMaterial, int chance, boolean aMainOutput) { + addProcess(tCrop, aMaterial, aMaterial, chance, aMainOutput); + } + + public void addProcess(ItemStack tCrop, Materials aMaterial, Materials aMaterialOut, int chance, + boolean aMainOutput) { + if (tCrop == null || aMaterial == null || GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1) == null) + return; + if (GT_Mod.gregtechproxy.mNerfedCrops) { + FluidStack fluidOutputChemReactor = aMaterialOut.mOreByProducts.isEmpty() ? null + : aMaterialOut.mOreByProducts.get(0) + .getMolten(144); + + GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + recipeBuilder + .itemInputs( + GT_Utility.copyAmount(9, tCrop), + GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4)) + .fluidInputs(Materials.Water.getFluid(1000)); + if (fluidOutputChemReactor != null) { + recipeBuilder.fluidOutputs(fluidOutputChemReactor); + } + recipeBuilder.duration(4 * SECONDS + 16 * TICKS) + .eut(24) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(16, tCrop)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1)) + .fluidInputs(Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass() + 9) / 10)))) + .duration((int) (aMaterial.getMass() * 128)) + .eut(384) + .addTo(autoclaveRecipes); + + } else { + if (aMainOutput) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(9, tCrop)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + } + } + } + + public void addProcess(ItemStack tCrop, Materials aMaterial, int chance) { + addProcess(tCrop, aMaterial, chance, true); + } + + public void addProcess(ItemStack tCrop, Materials aMaterial, Materials aMaterialOut, int chance) { + addProcess(tCrop, aMaterial, aMaterialOut, chance, true); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/CuttingRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CuttingRecipes.java new file mode 100644 index 0000000000..dd81fd2d66 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/CuttingRecipes.java @@ -0,0 +1,283 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.BuildCraftTransport; +import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.enums.Mods.TinkerConstruct; +import static gregtech.api.recipe.RecipeMaps.cutterRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class CuttingRecipes implements Runnable { + + @Override + public void run() { + // silicon wafer recipes + { + recipeWithClassicFluids( + new ItemStack[] { ItemList.Circuit_Silicon_Ingot.get(1) }, + new ItemStack[] { ItemList.Circuit_Silicon_Wafer.get(16), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 4) }, + 20 * SECONDS, + TierEU.RECIPE_LV, + false); + + recipeWithClassicFluids( + new ItemStack[] { ItemList.Circuit_Silicon_Ingot2.get(1) }, + new ItemStack[] { ItemList.Circuit_Silicon_Wafer2.get(32), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 8) }, + 40 * SECONDS, + TierEU.RECIPE_MV, + true); + + recipeWithClassicFluids( + new ItemStack[] { ItemList.Circuit_Silicon_Ingot3.get(1) }, + new ItemStack[] { ItemList.Circuit_Silicon_Wafer3.get(64), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 16) }, + 1 * MINUTES + 20 * SECONDS, + TierEU.RECIPE_HV, + true); + + recipeWithClassicFluids( + new ItemStack[] { ItemList.Circuit_Silicon_Ingot4.get(1) }, + new ItemStack[] { ItemList.Circuit_Silicon_Wafer4.get(64), ItemList.Circuit_Silicon_Wafer4.get(32), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 32) }, + 2 * MINUTES, + TierEU.RECIPE_EV, + true); + + recipeWithClassicFluids( + new ItemStack[] { ItemList.Circuit_Silicon_Ingot5.get(1) }, + new ItemStack[] { ItemList.Circuit_Silicon_Wafer5.get(64), ItemList.Circuit_Silicon_Wafer5.get(64), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 64) }, + 2 * MINUTES + 40 * SECONDS, + TierEU.RECIPE_IV, + true); + + } + + // glass pane recipes + { + // stained-glass -> glass pane recipes + for (int i = 0; i < 16; i++) { + recipeWithClassicFluids( + new ItemStack[] { new ItemStack(Blocks.stained_glass, 3, i) }, + new ItemStack[] { new ItemStack(Blocks.stained_glass_pane, 8, i) }, + 2 * SECONDS + 10 * TICKS, + 8, + false); + + } + + recipeWithClassicFluids( + new ItemStack[] { new ItemStack(Blocks.glass, 3, 0) }, + new ItemStack[] { new ItemStack(Blocks.glass_pane, 8, 0) }, + 2 * SECONDS + 10 * TICKS, + 8, + false); + + if (TinkerConstruct.isModLoaded()) { + recipeWithClassicFluids( + new ItemStack[] { getModItem(TinkerConstruct.ID, "GlassBlock", 3L, 0) }, + new ItemStack[] { getModItem(TinkerConstruct.ID, "GlassPane", 8L, 0) }, + 2 * SECONDS + 10 * TICKS, + 8, + false); + } + } + + // stone slab recipes + { + recipeWithClassicFluids( + new ItemStack[] { new ItemStack(Blocks.stone, 1, 0) }, + new ItemStack[] { new ItemStack(Blocks.stone_slab, 2, 0) }, + 1 * SECONDS + 5 * TICKS, + 8, + false); + + recipeWithClassicFluids( + new ItemStack[] { new ItemStack(Blocks.sandstone, 1, 0) }, + new ItemStack[] { new ItemStack(Blocks.stone_slab, 2, 1) }, + 1 * SECONDS + 5 * TICKS, + 8, + false); + + recipeWithClassicFluids( + new ItemStack[] { new ItemStack(Blocks.cobblestone, 1, 0) }, + new ItemStack[] { new ItemStack(Blocks.stone_slab, 2, 3) }, + 1 * SECONDS + 5 * TICKS, + 8, + false); + + recipeWithClassicFluids( + new ItemStack[] { new ItemStack(Blocks.brick_block, 1, 0) }, + new ItemStack[] { new ItemStack(Blocks.stone_slab, 2, 4) }, + 1 * SECONDS + 5 * TICKS, + 8, + false); + + recipeWithClassicFluids( + new ItemStack[] { new ItemStack(Blocks.stonebrick, 1, 0) }, + new ItemStack[] { new ItemStack(Blocks.stone_slab, 2, 5) }, + 1 * SECONDS + 5 * TICKS, + 8, + false); + + recipeWithClassicFluids( + new ItemStack[] { new ItemStack(Blocks.nether_brick, 1, 0) }, + new ItemStack[] { new ItemStack(Blocks.stone_slab, 2, 6) }, + 1 * SECONDS + 5 * TICKS, + 8, + false); + + recipeWithClassicFluids( + new ItemStack[] { new ItemStack(Blocks.quartz_block, 1, 32767) }, + new ItemStack[] { new ItemStack(Blocks.stone_slab, 2, 7) }, + 1 * SECONDS + 5 * TICKS, + 8, + false); + } + + recipeWithClassicFluids( + new ItemStack[] { new ItemStack(Blocks.glowstone, 1, 0) }, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Glowstone, 4) }, + 5 * SECONDS, + 16, + false); + + for (byte i = 0; i < 16; i++) { + recipeWithClassicFluids( + new ItemStack[] { new ItemStack(Blocks.wool, 1, i) }, + new ItemStack[] { new ItemStack(Blocks.carpet, 2, i) }, + 2 * SECONDS + 10 * TICKS, + 8, + false); + } + + // vanilla planks recipes + { + ItemStack[] plankArray = new ItemStack[] { ItemList.Plank_Oak.get(2L), ItemList.Plank_Spruce.get(2L), + ItemList.Plank_Birch.get(2L), ItemList.Plank_Jungle.get(2L), ItemList.Plank_Acacia.get(2L), + ItemList.Plank_DarkOak.get(2L) }; + for (int i = 0; i < 6; i++) { + recipeWithClassicFluids( + new ItemStack[] { new ItemStack(Blocks.wooden_slab, 1, i) }, + new ItemStack[] { plankArray[i] }, + 2 * SECONDS + 10 * TICKS, + 8, + false); + } + } + + if (Forestry.isModLoaded()) { + ItemStack[] coverIDs = { ItemList.Plank_Larch.get(2L), ItemList.Plank_Teak.get(2L), + ItemList.Plank_Acacia_Green.get(2L), ItemList.Plank_Lime.get(2L), ItemList.Plank_Chestnut.get(2L), + ItemList.Plank_Wenge.get(2L), ItemList.Plank_Baobab.get(2L), ItemList.Plank_Sequoia.get(2L), + ItemList.Plank_Kapok.get(2L), ItemList.Plank_Ebony.get(2L), ItemList.Plank_Mahagony.get(2L), + ItemList.Plank_Balsa.get(2L), ItemList.Plank_Willow.get(2L), ItemList.Plank_Walnut.get(2L), + ItemList.Plank_Greenheart.get(2L), ItemList.Plank_Cherry.get(2L), ItemList.Plank_Mahoe.get(2L), + ItemList.Plank_Poplar.get(2L), ItemList.Plank_Palm.get(2L), ItemList.Plank_Papaya.get(2L), + ItemList.Plank_Pine.get(2L), ItemList.Plank_Plum.get(2L), ItemList.Plank_Maple.get(2L), + ItemList.Plank_Citrus.get(2L) }; + for (int i = 0; i < coverIDs.length; i++) { + ItemStack slabWood = getModItem(Forestry.ID, "slabs", 1, i); + ItemStack slabWoodFireproof = getModItem(Forestry.ID, "slabsFireproof", 1, i); + + recipeWithClassicFluids( + new ItemStack[] { slabWood }, + new ItemStack[] { coverIDs[i] }, + 2 * SECONDS, + 8, + false); + + recipeWithClassicFluids( + new ItemStack[] { slabWoodFireproof }, + new ItemStack[] { coverIDs[i] }, + 2 * SECONDS, + 8, + false); + + } + } + + if (BuildCraftTransport.isModLoaded()) { + recipeWithClassicFluids( + new ItemStack[] { + getModItem(BuildCraftTransport.ID, "item.buildcraftPipe.pipestructurecobblestone", 1L, 0) }, + new ItemStack[] { getModItem(BuildCraftTransport.ID, "pipePlug", 8L, 0) }, + 1 * SECONDS + 12 * TICKS, + 16, + false); + + } + + } + + public void recipeWithClassicFluids(ItemStack[] inputs, ItemStack[] outputs, int duration, long eut, + boolean cleanroomRequired) { + if (cleanroomRequired) { + GT_Values.RA.stdBuilder() + .itemInputs(inputs) + .itemOutputs(outputs) + .fluidInputs(Materials.Water.getFluid(Math.max(4, Math.min(1000, duration * eut / 320)))) + .duration(2 * duration) + .eut(eut) + .requiresCleanRoom() + .addTo(cutterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(inputs) + .itemOutputs(outputs) + .fluidInputs(GT_ModHandler.getDistilledWater(Math.max(3, Math.min(750, duration * eut / 426)))) + .duration(2 * duration) + .eut(eut) + .requiresCleanRoom() + .addTo(cutterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(inputs) + .itemOutputs(outputs) + .fluidInputs(Materials.Lubricant.getFluid(Math.max(1, Math.min(250, duration * eut / 1280)))) + .duration(duration) + .eut(eut) + .requiresCleanRoom() + .addTo(cutterRecipes); + } else { + GT_Values.RA.stdBuilder() + .itemInputs(inputs) + .itemOutputs(outputs) + .fluidInputs(Materials.Water.getFluid(Math.max(4, Math.min(1000, duration * eut / 320)))) + .duration(2 * duration) + .eut(eut) + .addTo(cutterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(inputs) + .itemOutputs(outputs) + .fluidInputs(GT_ModHandler.getDistilledWater(Math.max(3, Math.min(750, duration * eut / 426)))) + .duration(2 * duration) + .eut(eut) + .addTo(cutterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(inputs) + .itemOutputs(outputs) + .fluidInputs(Materials.Lubricant.getFluid(Math.max(1, Math.min(250, duration * eut / 1280)))) + .duration(duration) + .eut(eut) + .addTo(cutterRecipes); + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/DistilleryRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/DistilleryRecipes.java new file mode 100644 index 0000000000..6008eea927 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/DistilleryRecipes.java @@ -0,0 +1,1280 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.TinkerConstruct; +import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; +import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static net.minecraftforge.fluids.FluidRegistry.getFluidStack; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsKevlar; +import gregtech.api.enums.MaterialsOreAlum; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_RecipeBuilder; +import gregtech.api.util.GT_Utility; + +public class DistilleryRecipes implements Runnable { + + @Override + public void run() { + + distillationTowerRecipes(); + universalDistillationTowerRecipes(); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.Creosote.getFluid(100L)) + .fluidOutputs(Materials.Lubricant.getFluid(32L)) + .duration(12 * SECONDS) + .eut(30) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.SeedOil.getFluid(32L)) + .fluidOutputs(Materials.Lubricant.getFluid(8L)) + .duration(4 * SECONDS) + .eut(30) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.FishOil.getFluid(32L)) + .fluidOutputs(Materials.Lubricant.getFluid(8L)) + .duration(4 * SECONDS) + .eut(30) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.Oil.getFluid(120L)) + .fluidOutputs(Materials.Lubricant.getFluid(60L)) + .duration(8 * SECONDS) + .eut(30) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.OilLight.getFluid(120L)) + .fluidOutputs(Materials.Lubricant.getFluid(30L)) + .duration(8 * SECONDS) + .eut(30) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.OilMedium.getFluid(120L)) + .fluidOutputs(Materials.Lubricant.getFluid(60L)) + .duration(8 * SECONDS) + .eut(30) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs(Materials.OilHeavy.getFluid(120L)) + .fluidOutputs(Materials.Lubricant.getFluid(90L)) + .duration(8 * SECONDS) + .eut(30) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Biomass.getFluid(40L)) + .fluidOutputs(Materials.Ethanol.getFluid(12L)) + .duration(16 * TICKS) + .eut(24) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(5)) + .fluidInputs(Materials.Biomass.getFluid(40L)) + .fluidOutputs(Materials.Water.getFluid(12L)) + .duration(16 * TICKS) + .eut(24) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(5)) + .fluidInputs(Materials.Water.getFluid(5L)) + .fluidOutputs(GT_ModHandler.getDistilledWater(5L)) + .duration(16 * TICKS) + .eut(10) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(getFluidStack("potion.potatojuice", 2)) + .fluidOutputs(getFluidStack("potion.vodka", 1)) + .duration(16 * TICKS) + .eut(16) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(getFluidStack("potion.lemonade", 2)) + .fluidOutputs(getFluidStack("potion.alcopops", 1)) + .duration(16 * TICKS) + .eut(16) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .fluidInputs(Materials.OilLight.getFluid(300L)) + .fluidOutputs(Materials.Oil.getFluid(100L)) + .duration(16 * TICKS) + .eut(24) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .fluidInputs(Materials.OilMedium.getFluid(200L)) + .fluidOutputs(Materials.Oil.getFluid(100L)) + .duration(16 * TICKS) + .eut(24) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .fluidInputs(Materials.OilHeavy.getFluid(100L)) + .fluidOutputs(Materials.Oil.getFluid(100L)) + .duration(16 * TICKS) + .eut(24) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(MaterialsOreAlum.SluiceSand.getDust(1)) + .fluidInputs(MaterialsOreAlum.SluiceJuice.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(500)) + .duration(5 * SECONDS) + .eut(16) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(6)) + .fluidInputs(Materials.WoodTar.getFluid(200)) + .fluidOutputs(MaterialsKevlar.IIIDimethylbenzene.getFluid(30)) + .duration(16 * TICKS) + .eut(64) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(6)) + .fluidInputs(Materials.CharcoalByproducts.getGas(200)) + .fluidOutputs(MaterialsKevlar.IIIDimethylbenzene.getFluid(20)) + .duration(5 * SECONDS) + .eut(64) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(7)) + .fluidInputs(Materials.WoodTar.getFluid(200)) + .fluidOutputs(MaterialsKevlar.IVDimethylbenzene.getFluid(30)) + .duration(16 * TICKS) + .eut(64) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(7)) + .fluidInputs(Materials.CharcoalByproducts.getGas(200)) + .fluidOutputs(MaterialsKevlar.IVDimethylbenzene.getFluid(20)) + .duration(5 * SECONDS) + .eut(64) + .addTo(distilleryRecipes); + // (NaCl·H2O) = NaCl + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Salt.getDust(2)) + .fluidInputs(Materials.SaltWater.getFluid(1000)) + .fluidOutputs(GT_ModHandler.getDistilledWater(1000)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(30) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.IC2_Fertilizer.get(1)) + .fluidInputs(Materials.FermentedBiomass.getFluid(1000)) + .fluidOutputs(Materials.AceticAcid.getFluid(25)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(8) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemList.IC2_Fertilizer.get(1)) + .fluidInputs(Materials.FermentedBiomass.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(375)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(8) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(ItemList.IC2_Fertilizer.get(1)) + .fluidInputs(Materials.FermentedBiomass.getFluid(1000)) + .fluidOutputs(Materials.Ethanol.getFluid(150)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(8) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(ItemList.IC2_Fertilizer.get(1)) + .fluidInputs(Materials.FermentedBiomass.getFluid(1000)) + .fluidOutputs(Materials.Methanol.getFluid(150)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(8) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(ItemList.IC2_Fertilizer.get(1)) + .fluidInputs(Materials.FermentedBiomass.getFluid(1000)) + .fluidOutputs(Materials.Ammonia.getGas(100)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(8) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(ItemList.IC2_Fertilizer.get(1)) + .fluidInputs(Materials.FermentedBiomass.getFluid(1000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(400)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(8) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(ItemList.IC2_Fertilizer.get(1)) + .fluidInputs(Materials.FermentedBiomass.getFluid(1000)) + .fluidOutputs(Materials.Methane.getGas(600)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(8) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(17)) + .itemOutputs(ItemList.IC2_Fertilizer.get(1)) + .fluidInputs(Materials.FermentedBiomass.getFluid(1000)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("ic2biogas"), 1800)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(8) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Methane.getGas(1000)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("ic2biogas"), 3000)) + .duration(8 * SECONDS) + .eut(8) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.HeavyFuel.getFluid(100)) + .fluidOutputs(Materials.Benzene.getFluid(40)) + .duration(8 * SECONDS) + .eut(24) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3)) + .fluidInputs(Materials.HeavyFuel.getFluid(100)) + .fluidOutputs(Materials.Phenol.getFluid(25)) + .duration(8 * SECONDS) + .eut(24) + .addTo(distilleryRecipes); + // Dimethylbenzene + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(5)) + .fluidInputs(Materials.WoodTar.getFluid(200)) + .fluidOutputs(Materials.Dimethylbenzene.getFluid(30)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(5)) + .fluidInputs(Materials.CharcoalByproducts.getGas(200)) + .fluidOutputs(Materials.Dimethylbenzene.getFluid(20)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(new FluidStack(ItemList.sOilExtraHeavy, 10)) + .fluidOutputs(Materials.OilHeavy.getFluid(15)) + .duration(16 * TICKS) + .eut(24) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.HeavyFuel.getFluid(10L)) + .fluidOutputs(new FluidStack(ItemList.sToluene, 4)) + .duration(16 * TICKS) + .eut(24) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(new FluidStack(ItemList.sToluene, 30)) + .fluidOutputs(Materials.LightFuel.getFluid(30L)) + .duration(16 * TICKS) + .eut(24) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("ic2biomass"), 20)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("ic2biogas"), 32)) + .duration(2 * SECONDS) + .eut(16) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("ic2biomass"), 4)) + .fluidOutputs(Materials.Water.getFluid(2)) + .duration(4 * SECONDS) + .eut(30) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(getFluidStack("potion.wheatyjuice", 75)) + .fluidOutputs(getFluidStack("potion.scotch", 1)) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(distilleryRecipes); + + if (TinkerConstruct.isModLoaded()) { + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Glue.getFluid(8L)) + .fluidOutputs(getFluidStack("glue", 8)) + .duration(1 * TICKS) + .eut(24) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(getFluidStack("glue", 8)) + .fluidOutputs(Materials.Glue.getFluid(4L)) + .duration(1 * TICKS) + .eut(24) + .addTo(distilleryRecipes); + + } + } + + public void distillationTowerRecipes() { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.Creosote.getFluid(1000L)) + .fluidOutputs(Materials.Lubricant.getFluid(500L)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.SeedOil.getFluid(1400L)) + .fluidOutputs(Materials.Lubricant.getFluid(500L)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.FishOil.getFluid(1200L)) + .fluidOutputs(Materials.Lubricant.getFluid(500L)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L)) + .fluidInputs(Materials.Biomass.getFluid(1000L)) + .fluidOutputs(Materials.Ethanol.getFluid(600L), Materials.Water.getFluid(300L)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(400) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Water.getFluid(1000L)) + .fluidOutputs(GT_ModHandler.getDistilledWater(1000L)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.OilLight.getFluid(1000L)) + .fluidOutputs(Materials.Lubricant.getFluid(250L)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.OilMedium.getFluid(1000L)) + .fluidOutputs(Materials.Lubricant.getFluid(500L)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.OilHeavy.getFluid(1000L)) + .fluidOutputs(Materials.Lubricant.getFluid(750L)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(distillationTowerRecipes); + // C15H10N2O2(5HCl) = C15H10N2O2 + 5HCl + + GT_Values.RA.stdBuilder() + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsKevlar.DiphenylmethaneDiisocyanate, 29L)) + .fluidInputs(MaterialsKevlar.DiphenylmethaneDiisocyanateMixture.getFluid(1000L)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(5000L)) + .duration(2 * MINUTES + 5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Charcoal.getDustSmall(1)) + .fluidInputs(Materials.CharcoalByproducts.getGas(1000)) + .fluidOutputs( + Materials.WoodTar.getFluid(250), + Materials.WoodVinegar.getFluid(400), + Materials.WoodGas.getGas(250), + MaterialsKevlar.IIIDimethylbenzene.getFluid(100)) + .duration(2 * SECONDS) + .eut(256) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.WoodTar.getFluid(1000)) + .fluidOutputs( + Materials.Creosote.getFluid(250), + Materials.Phenol.getFluid(100), + Materials.Benzene.getFluid(400), + Materials.Toluene.getFluid(100), + MaterialsKevlar.IIIDimethylbenzene.getFluid(150)) + .duration(2 * SECONDS) + .eut(256) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(Materials.Charcoal.getDustSmall(1)) + .fluidInputs(Materials.CharcoalByproducts.getGas(1000)) + .fluidOutputs( + Materials.WoodTar.getFluid(250), + Materials.WoodVinegar.getFluid(400), + Materials.WoodGas.getGas(250), + MaterialsKevlar.IVDimethylbenzene.getFluid(100)) + .duration(2 * SECONDS) + .eut(256) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(Materials.Charcoal.getDustSmall(1)) + .fluidInputs(Materials.CharcoalByproducts.getGas(1000)) + .fluidOutputs( + Materials.WoodTar.getFluid(250), + Materials.WoodVinegar.getFluid(400), + Materials.WoodGas.getGas(250), + Materials.Dimethylbenzene.getFluid(20), + MaterialsKevlar.IIIDimethylbenzene.getFluid(60), + MaterialsKevlar.IVDimethylbenzene.getFluid(20)) + .duration(2 * SECONDS) + .eut(256) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .fluidInputs(Materials.WoodTar.getFluid(1000)) + .fluidOutputs( + Materials.Creosote.getFluid(250), + Materials.Phenol.getFluid(100), + Materials.Benzene.getFluid(400), + Materials.Toluene.getFluid(100), + Materials.Dimethylbenzene.getFluid(30), + MaterialsKevlar.IIIDimethylbenzene.getFluid(90), + MaterialsKevlar.IVDimethylbenzene.getFluid(30)) + .duration(2 * SECONDS) + .eut(256) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.OilLight.getFluid(1500)) + .fluidOutputs( + Materials.SulfuricHeavyFuel.getFluid(100), + Materials.SulfuricLightFuel.getFluid(200), + Materials.SulfuricNaphtha.getFluid(300), + MaterialsKevlar.NaphthenicAcid.getFluid(25), + Materials.SulfuricGas.getGas(2400)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.OilMedium.getFluid(1000)) + .fluidOutputs( + Materials.SulfuricHeavyFuel.getFluid(100), + Materials.SulfuricLightFuel.getFluid(500), + Materials.SulfuricNaphtha.getFluid(1500), + MaterialsKevlar.NaphthenicAcid.getFluid(25), + Materials.SulfuricGas.getGas(600)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.Oil.getFluid(500L)) + .fluidOutputs( + Materials.SulfuricHeavyFuel.getFluid(150), + Materials.SulfuricLightFuel.getFluid(500), + Materials.SulfuricNaphtha.getFluid(200), + MaterialsKevlar.NaphthenicAcid.getFluid(25), + Materials.SulfuricGas.getGas(600)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.OilHeavy.getFluid(1000)) + .fluidOutputs( + Materials.SulfuricHeavyFuel.getFluid(2500), + Materials.SulfuricLightFuel.getFluid(450), + Materials.SulfuricNaphtha.getFluid(150), + MaterialsKevlar.NaphthenicAcid.getFluid(50), + Materials.SulfuricGas.getGas(600)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(distillationTowerRecipes); + // 9C5H12O = 4C6H14O + 5CH4O + 4C4H8 + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.MTBEMixture.getGas(900L)) + .fluidOutputs( + Materials.AntiKnock.getFluid(400L), + Materials.Methanol.getFluid(500L), + Materials.Butene.getGas(400L)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemOutputs(ItemList.IC2_Fertilizer.get(1)) + .fluidInputs(Materials.FermentedBiomass.getFluid(1000)) + .fluidOutputs( + Materials.AceticAcid.getFluid(25), + Materials.Water.getFluid(375), + Materials.Ethanol.getFluid(150), + Materials.Methanol.getFluid(150), + Materials.Ammonia.getGas(100), + Materials.CarbonDioxide.getGas(400), + Materials.Methane.getGas(600)) + .duration(3 * SECONDS + 15 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(distillationTowerRecipes); + + GT_Values.RA.stdBuilder() + .itemOutputs(ItemList.IC2_Fertilizer.get(1)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("ic2biomass"), 3000)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("ic2biogas"), 8000), Materials.Water.getFluid(125L)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(distillationTowerRecipes); + GT_Values.RA.stdBuilder() + .fluidInputs(new FluidStack(ItemList.sOilExtraHeavy, 1000)) + .fluidOutputs(Materials.OilHeavy.getFluid(1500)) + .duration(16 * TICKS) + .eut(2400) + .addTo(distillationTowerRecipes); + } + + public void universalDistillationTowerRecipes() { + addUniversalDistillationRecipewithCircuit( + Materials.WoodTar.getFluid(1000), + new ItemStack[] { GT_Utility.getIntegratedCircuit(3) }, + new FluidStack[] { Materials.Creosote.getFluid(250), Materials.Phenol.getFluid(100), + Materials.Benzene.getFluid(400), Materials.Toluene.getFluid(100), + MaterialsKevlar.IVDimethylbenzene.getFluid(150) }, + GT_Values.NI, + 40, + 256); + + addUniversalDistillationRecipewithCircuit( + Materials.CharcoalByproducts.getGas(1000), + new ItemStack[] { GT_Utility.getIntegratedCircuit(1) }, + new FluidStack[] { Materials.WoodTar.getFluid(250), Materials.WoodVinegar.getFluid(400), + Materials.WoodGas.getGas(250), Materials.Dimethylbenzene.getFluid(100) }, + Materials.Charcoal.getDustSmall(1), + 40, + 256); + + addUniversalDistillationRecipewithCircuit( + Materials.WoodGas.getGas(1000), + new ItemStack[] { GT_Utility.getIntegratedCircuit(1) }, + new FluidStack[] { Materials.CarbonDioxide.getGas(390), Materials.Ethylene.getGas(120), + Materials.Methane.getGas(130), Materials.CarbonMonoxide.getGas(240), Materials.Hydrogen.getGas(120) }, + GT_Values.NI, + 40, + 256); + addUniversalDistillationRecipewithCircuit( + Materials.WoodVinegar.getFluid(1000), + new ItemStack[] { GT_Utility.getIntegratedCircuit(1) }, + new FluidStack[] { Materials.AceticAcid.getFluid(100), Materials.Water.getFluid(500), + Materials.Ethanol.getFluid(10), Materials.Methanol.getFluid(300), Materials.Acetone.getFluid(50), + Materials.MethylAcetate.getFluid(10) }, + GT_Values.NI, + 40, + 256); + addUniversalDistillationRecipewithCircuit( + Materials.WoodTar.getFluid(1000), + new ItemStack[] { GT_Utility.getIntegratedCircuit(1) }, + new FluidStack[] { Materials.Creosote.getFluid(250), Materials.Phenol.getFluid(100), + Materials.Benzene.getFluid(400), Materials.Toluene.getFluid(100), + Materials.Dimethylbenzene.getFluid(150) }, + GT_Values.NI, + 40, + 256); + + addUniversalDistillationRecipewithCircuit( + Materials.OilLight.getFluid(150), + new ItemStack[] { GT_Utility.getIntegratedCircuit(1) }, + new FluidStack[] { Materials.SulfuricHeavyFuel.getFluid(10), Materials.SulfuricLightFuel.getFluid(20), + Materials.SulfuricNaphtha.getFluid(30), Materials.SulfuricGas.getGas(240) }, + null, + 20, + 96); + addUniversalDistillationRecipewithCircuit( + Materials.OilMedium.getFluid(100), + new ItemStack[] { GT_Utility.getIntegratedCircuit(1) }, + new FluidStack[] { Materials.SulfuricHeavyFuel.getFluid(10), Materials.SulfuricLightFuel.getFluid(50), + Materials.SulfuricNaphtha.getFluid(150), Materials.SulfuricGas.getGas(60) }, + null, + 20, + 96); + addUniversalDistillationRecipewithCircuit( + Materials.Oil.getFluid(50L), + new ItemStack[] { GT_Utility.getIntegratedCircuit(1) }, + new FluidStack[] { Materials.SulfuricHeavyFuel.getFluid(15), Materials.SulfuricLightFuel.getFluid(50), + Materials.SulfuricNaphtha.getFluid(20), Materials.SulfuricGas.getGas(60) }, + null, + 20, + 96); + addUniversalDistillationRecipewithCircuit( + Materials.OilHeavy.getFluid(100), + new ItemStack[] { GT_Utility.getIntegratedCircuit(1) }, + new FluidStack[] { Materials.SulfuricHeavyFuel.getFluid(250), Materials.SulfuricLightFuel.getFluid(45), + Materials.SulfuricNaphtha.getFluid(15), Materials.SulfuricGas.getGas(60) }, + null, + 20, + 288); + + // 2 0.5HCl(Diluted) = HCl + H2O + addUniversalDistillationRecipe( + Materials.DilutedHydrochloricAcid.getFluid(2000), + new FluidStack[] { Materials.Water.getFluid(1000), Materials.HydrochloricAcid.getFluid(1000) }, + GT_Values.NI, + 600, + 64); + + addUniversalDistillationRecipe( + getFluidStack("potion.vinegar", 40), + new FluidStack[] { Materials.AceticAcid.getFluid(5), Materials.Water.getFluid(35) }, + GT_Values.NI, + 20, + 64); + + addUniversalDistillationRecipe( + Materials.CalciumAcetateSolution.getFluid(1000), + new FluidStack[] { Materials.Acetone.getFluid(1000), Materials.CarbonDioxide.getGas(1000) }, + Materials.Quicklime.getDust(2), + 80, + 480); + + addUniversalDistillationRecipe( + Materials.DilutedSulfuricAcid.getFluid(3000), + new FluidStack[] { Materials.SulfuricAcid.getFluid(2000), Materials.Water.getFluid(1000) }, + GT_Values.NI, + 600, + 120); + + // C3H6O = C2H2O + CH4 + addUniversalDistillationRecipe( + Materials.Acetone.getFluid(1000), + new FluidStack[] { Materials.Ethenone.getGas(1000), Materials.Methane.getGas(1000) }, + GT_Values.NI, + 80, + 640); + + addUniversalDistillationRecipe( + Materials.Gas.getGas(1000), + new FluidStack[] { Materials.Butane.getGas(60), Materials.Propane.getGas(70), Materials.Ethane.getGas(100), + Materials.Methane.getGas(750), Materials.Helium.getGas(20) }, + GT_Values.NI, + 240, + 120); + + addUniversalDistillationRecipe( + Materials.Ethylene.getLightlyHydroCracked(1000), + new FluidStack[] { Materials.Ethane.getGas(1000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Ethylene.getModeratelyHydroCracked(1000), + new FluidStack[] { Materials.Methane.getGas(2000) }, + null, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Ethylene.getSeverelyHydroCracked(1000), + new FluidStack[] { Materials.Methane.getGas(2000), Materials.Hydrogen.getGas(2000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Ethylene.getLightlySteamCracked(1000), + new FluidStack[] { Materials.Methane.getGas(1000) }, + Materials.Carbon.getDust(1), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Ethylene.getModeratelySteamCracked(1000), + new FluidStack[] { Materials.Methane.getGas(1000) }, + Materials.Carbon.getDust(1), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Ethylene.getSeverelySteamCracked(1000), + new FluidStack[] { Materials.Methane.getGas(1000) }, + Materials.Carbon.getDust(1), + 120, + 120); + + addUniversalDistillationRecipe( + Materials.Ethane.getLightlyHydroCracked(1000), + new FluidStack[] { Materials.Methane.getGas(2000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Ethane.getModeratelyHydroCracked(1000), + new FluidStack[] { Materials.Methane.getGas(2000), Materials.Hydrogen.getGas(2000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Ethane.getSeverelyHydroCracked(1000), + new FluidStack[] { Materials.Methane.getGas(2000), Materials.Hydrogen.getGas(4000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Ethane.getLightlySteamCracked(1000), + new FluidStack[] { Materials.Ethylene.getGas(250), Materials.Methane.getGas(1250) }, + Materials.Carbon.getDustSmall(1), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Ethane.getModeratelySteamCracked(1000), + new FluidStack[] { Materials.Ethylene.getGas(125), Materials.Methane.getGas(1375) }, + Materials.Carbon.getDustTiny(6), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Ethane.getSeverelySteamCracked(1000), + new FluidStack[] { Materials.Methane.getGas(1500) }, + Materials.Carbon.getDustSmall(2), + 120, + 120); + + addUniversalDistillationRecipe( + Materials.Propene.getLightlyHydroCracked(1000), + new FluidStack[] { Materials.Propane.getGas(500), Materials.Ethylene.getGas(500), + Materials.Methane.getGas(500) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Propene.getModeratelyHydroCracked(1000), + new FluidStack[] { Materials.Ethane.getGas(1000), Materials.Methane.getGas(1000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Propene.getSeverelyHydroCracked(1000), + new FluidStack[] { Materials.Methane.getGas(3000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Propene.getLightlySteamCracked(1000), + new FluidStack[] { Materials.Ethylene.getGas(1000), Materials.Methane.getGas(500) }, + Materials.Carbon.getDustSmall(2), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Propene.getModeratelySteamCracked(1000), + new FluidStack[] { Materials.Ethylene.getGas(750), Materials.Methane.getGas(750) }, + Materials.Carbon.getDustSmall(3), + 180, + 120); + addUniversalDistillationRecipe( + Materials.Propene.getSeverelySteamCracked(1000), + new FluidStack[] { Materials.Methane.getGas(1500) }, + Materials.Carbon.getDustSmall(6), + 180, + 120); + + addUniversalDistillationRecipe( + Materials.Propane.getLightlyHydroCracked(1000), + new FluidStack[] { Materials.Ethane.getGas(1000), Materials.Methane.getGas(1000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Propane.getModeratelyHydroCracked(1000), + new FluidStack[] { Materials.Methane.getGas(3000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Propane.getSeverelyHydroCracked(1000), + new FluidStack[] { Materials.Methane.getGas(3000), Materials.Hydrogen.getGas(2000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Propane.getLightlySteamCracked(1000), + new FluidStack[] { Materials.Ethylene.getGas(750), Materials.Methane.getGas(1250) }, + Materials.Carbon.getDustTiny(2), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Propane.getModeratelySteamCracked(1000), + new FluidStack[] { Materials.Ethylene.getGas(500), Materials.Methane.getGas(1500) }, + Materials.Carbon.getDustSmall(1), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Propane.getSeverelySteamCracked(1000), + new FluidStack[] { Materials.Ethylene.getGas(250), Materials.Methane.getGas(1750) }, + Materials.Carbon.getDustTiny(4), + 120, + 120); + + addUniversalDistillationRecipe( + Materials.Butadiene.getLightlyHydroCracked(1000), + new FluidStack[] { Materials.Butene.getGas(667), Materials.Ethylene.getGas(667) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butadiene.getModeratelyHydroCracked(1000), + new FluidStack[] { Materials.Butane.getGas(223), Materials.Propene.getGas(223), + Materials.Ethane.getGas(400), Materials.Ethylene.getGas(445), Materials.Methane.getGas(223) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butadiene.getSeverelyHydroCracked(1000), + new FluidStack[] { Materials.Propane.getGas(260), Materials.Ethane.getGas(926), + Materials.Ethylene.getGas(389), Materials.Methane.getGas(2667) }, + GT_Values.NI, + 112, + 120); + addUniversalDistillationRecipe( + Materials.Butadiene.getLightlySteamCracked(1000), + new FluidStack[] { Materials.Propene.getGas(750), Materials.Ethylene.getGas(188), + Materials.Methane.getGas(188) }, + Materials.Carbon.getDustSmall(3), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butadiene.getModeratelySteamCracked(1000), + new FluidStack[] { Materials.Propene.getGas(125), Materials.Ethylene.getGas(1125), + Materials.Methane.getGas(188) }, + Materials.Carbon.getDustSmall(3), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butadiene.getSeverelySteamCracked(1000), + new FluidStack[] { Materials.Propene.getGas(125), Materials.Ethylene.getGas(188), + Materials.Methane.getGas(1125) }, + Materials.Carbon.getDust(1), + 120, + 120); + + addUniversalDistillationRecipe( + Materials.Butene.getLightlyHydroCracked(1000), + new FluidStack[] { Materials.Butane.getGas(334), Materials.Propene.getGas(334), + Materials.Ethane.getGas(334), Materials.Ethylene.getGas(334), Materials.Methane.getGas(334) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butene.getModeratelyHydroCracked(1000), + new FluidStack[] { Materials.Propane.getGas(389), Materials.Ethane.getGas(556), + Materials.Ethylene.getGas(334), Materials.Methane.getGas(1056) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butene.getSeverelyHydroCracked(1000), + new FluidStack[] { Materials.Ethane.getGas(1000), Materials.Methane.getGas(2000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butene.getLightlySteamCracked(1000), + new FluidStack[] { Materials.Propene.getGas(750), Materials.Ethylene.getGas(500), + Materials.Methane.getGas(250) }, + Materials.Carbon.getDustSmall(1), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butene.getModeratelySteamCracked(1000), + new FluidStack[] { Materials.Propene.getGas(200), Materials.Ethylene.getGas(1300), + Materials.Methane.getGas(400) }, + Materials.Carbon.getDustSmall(1), + 192, + 120); + addUniversalDistillationRecipe( + Materials.Butene.getSeverelySteamCracked(1000), + new FluidStack[] { Materials.Propene.getGas(125), Materials.Ethylene.getGas(313), + Materials.Methane.getGas(1500) }, + Materials.Carbon.getDustSmall(6), + 120, + 120); + + addUniversalDistillationRecipe( + Materials.Butane.getLightlyHydroCracked(1000), + new FluidStack[] { Materials.Propane.getGas(667), Materials.Ethane.getGas(667), + Materials.Methane.getGas(667) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butane.getModeratelyHydroCracked(1000), + new FluidStack[] { Materials.Ethane.getGas(1000), Materials.Methane.getGas(2000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butane.getSeverelyHydroCracked(1000), + new FluidStack[] { Materials.Methane.getGas(1000) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butane.getLightlySteamCracked(1000), + new FluidStack[] { Materials.Propane.getGas(750), Materials.Ethane.getGas(125), + Materials.Ethylene.getGas(125), Materials.Methane.getGas(1063) }, + Materials.Carbon.getDustTiny(2), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butane.getModeratelySteamCracked(1000), + new FluidStack[] { Materials.Propane.getGas(125), Materials.Ethane.getGas(750), + Materials.Ethylene.getGas(750), Materials.Methane.getGas(438) }, + Materials.Carbon.getDustTiny(2), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Butane.getSeverelySteamCracked(1000), + new FluidStack[] { Materials.Propane.getGas(125), Materials.Ethane.getGas(125), + Materials.Ethylene.getGas(125), Materials.Methane.getGas(2000) }, + Materials.Carbon.getDustTiny(11), + 120, + 120); + + addUniversalDistillationRecipe( + Materials.Gas.getLightlyHydroCracked(1000), + new FluidStack[] { Materials.Methane.getGas(1300), Materials.Hydrogen.getGas(1500), + Materials.Helium.getGas(100) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Gas.getModeratelyHydroCracked(1000), + new FluidStack[] { Materials.Methane.getGas(1400), Materials.Hydrogen.getGas(3000), + Materials.Helium.getGas(150) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Gas.getSeverelyHydroCracked(1000), + new FluidStack[] { Materials.Methane.getGas(1500), Materials.Hydrogen.getGas(4000), + Materials.Helium.getGas(200) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Gas.getLightlySteamCracked(1000), + new FluidStack[] { Materials.Propene.getGas(50), Materials.Ethane.getGas(10), + Materials.Ethylene.getGas(100), Materials.Methane.getGas(500), Materials.Helium.getGas(50) }, + Materials.Carbon.getDustTiny(1), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Gas.getModeratelySteamCracked(1000), + new FluidStack[] { Materials.Propene.getGas(10), Materials.Ethane.getGas(50), + Materials.Ethylene.getGas(200), Materials.Methane.getGas(600), Materials.Helium.getGas(70) }, + Materials.Carbon.getDustTiny(1), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Gas.getSeverelySteamCracked(1000), + new FluidStack[] { Materials.Propene.getGas(10), Materials.Ethane.getGas(10), + Materials.Ethylene.getGas(300), Materials.Methane.getGas(700), Materials.Helium.getGas(100) }, + Materials.Carbon.getDustTiny(1), + 120, + 120); + + addUniversalDistillationRecipe( + Materials.Naphtha.getLightlyHydroCracked(1000), + new FluidStack[] { Materials.Butane.getGas(800), Materials.Propane.getGas(300), + Materials.Ethane.getGas(250), Materials.Methane.getGas(250) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Naphtha.getModeratelyHydroCracked(1000), + new FluidStack[] { Materials.Butane.getGas(200), Materials.Propane.getGas(1100), + Materials.Ethane.getGas(400), Materials.Methane.getGas(400) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Naphtha.getSeverelyHydroCracked(1000), + new FluidStack[] { Materials.Butane.getGas(125), Materials.Propane.getGas(125), + Materials.Ethane.getGas(1500), Materials.Methane.getGas(1500) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.Naphtha.getLightlySteamCracked(1000), + new FluidStack[] { Materials.HeavyFuel.getFluid(75), Materials.LightFuel.getFluid(150), + Materials.Toluene.getFluid(40), Materials.Benzene.getFluid(150), Materials.Butene.getGas(80), + Materials.Butadiene.getGas(150), Materials.Propane.getGas(15), Materials.Propene.getGas(200), + Materials.Ethane.getGas(35), Materials.Ethylene.getGas(200), Materials.Methane.getGas(200) }, + Materials.Carbon.getDustTiny(1), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Naphtha.getModeratelySteamCracked(1000), + new FluidStack[] { Materials.HeavyFuel.getFluid(50), Materials.LightFuel.getFluid(100), + Materials.Toluene.getFluid(30), Materials.Benzene.getFluid(125), Materials.Butene.getGas(65), + Materials.Butadiene.getGas(100), Materials.Propane.getGas(30), Materials.Propene.getGas(400), + Materials.Ethane.getGas(50), Materials.Ethylene.getGas(350), Materials.Methane.getGas(350) }, + Materials.Carbon.getDustTiny(2), + 120, + 120); + addUniversalDistillationRecipe( + Materials.Naphtha.getSeverelySteamCracked(1000), + new FluidStack[] { Materials.HeavyFuel.getFluid(25), Materials.LightFuel.getFluid(50), + Materials.Toluene.getFluid(20), Materials.Benzene.getFluid(100), Materials.Butene.getGas(50), + Materials.Butadiene.getGas(50), Materials.Propane.getGas(15), Materials.Propene.getGas(300), + Materials.Ethane.getGas(65), Materials.Ethylene.getGas(500), Materials.Methane.getGas(500) }, + Materials.Carbon.getDustTiny(3), + 120, + 120); + + addUniversalDistillationRecipe( + Materials.LightFuel.getLightlyHydroCracked(1000), + new FluidStack[] { Materials.Naphtha.getFluid(800), Materials.Octane.getFluid(100), + Materials.Butane.getGas(150), Materials.Propane.getGas(200), Materials.Ethane.getGas(125), + Materials.Methane.getGas(125) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.LightFuel.getModeratelyHydroCracked(1000), + new FluidStack[] { Materials.Naphtha.getFluid(500), Materials.Octane.getFluid(50), + Materials.Butane.getGas(200), Materials.Propane.getGas(1100), Materials.Ethane.getGas(400), + Materials.Methane.getGas(400) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.LightFuel.getSeverelyHydroCracked(1000), + new FluidStack[] { Materials.Naphtha.getFluid(200), Materials.Octane.getFluid(20), + Materials.Butane.getGas(125), Materials.Propane.getGas(125), Materials.Ethane.getGas(1500), + Materials.Methane.getGas(1500) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.LightFuel.getLightlySteamCracked(1000), + new FluidStack[] { Materials.HeavyFuel.getFluid(150), Materials.Naphtha.getFluid(400), + Materials.Toluene.getFluid(40), Materials.Benzene.getFluid(200), Materials.Butene.getGas(75), + Materials.Butadiene.getGas(60), Materials.Propane.getGas(20), Materials.Propene.getGas(150), + Materials.Ethane.getGas(10), Materials.Ethylene.getGas(50), Materials.Methane.getGas(50) }, + Materials.Carbon.getDustTiny(1), + 120, + 120); + addUniversalDistillationRecipe( + Materials.LightFuel.getModeratelySteamCracked(1000), + new FluidStack[] { Materials.HeavyFuel.getFluid(100), Materials.Naphtha.getFluid(250), + Materials.Toluene.getFluid(50), Materials.Benzene.getFluid(300), Materials.Butene.getGas(90), + Materials.Butadiene.getGas(75), Materials.Propane.getGas(35), Materials.Propene.getGas(200), + Materials.Ethane.getGas(30), Materials.Ethylene.getGas(150), Materials.Methane.getGas(150) }, + Materials.Carbon.getDustTiny(2), + 120, + 120); + addUniversalDistillationRecipe( + Materials.LightFuel.getSeverelySteamCracked(1000), + new FluidStack[] { Materials.HeavyFuel.getFluid(50), Materials.Naphtha.getFluid(100), + Materials.Toluene.getFluid(30), Materials.Benzene.getFluid(150), Materials.Butene.getGas(65), + Materials.Butadiene.getGas(50), Materials.Propane.getGas(50), Materials.Propene.getGas(250), + Materials.Ethane.getGas(50), Materials.Ethylene.getGas(250), Materials.Methane.getGas(250) }, + Materials.Carbon.getDustTiny(3), + 120, + 120); + + addUniversalDistillationRecipe( + Materials.HeavyFuel.getLightlyHydroCracked(1000), + new FluidStack[] { Materials.LightFuel.getFluid(600), Materials.Naphtha.getFluid(100), + Materials.Butane.getGas(100), Materials.Propane.getGas(100), Materials.Ethane.getGas(75), + Materials.Methane.getGas(75) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.HeavyFuel.getModeratelyHydroCracked(1000), + new FluidStack[] { Materials.LightFuel.getFluid(400), Materials.Naphtha.getFluid(400), + Materials.Butane.getGas(150), Materials.Propane.getGas(150), Materials.Ethane.getGas(100), + Materials.Methane.getGas(100) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.HeavyFuel.getSeverelyHydroCracked(1000), + new FluidStack[] { Materials.LightFuel.getFluid(200), Materials.Naphtha.getFluid(250), + Materials.Butane.getGas(300), Materials.Propane.getGas(300), Materials.Ethane.getGas(175), + Materials.Methane.getGas(175) }, + GT_Values.NI, + 120, + 120); + addUniversalDistillationRecipe( + Materials.HeavyFuel.getLightlySteamCracked(1000), + new FluidStack[] { Materials.LightFuel.getFluid(300), Materials.Naphtha.getFluid(50), + Materials.Toluene.getFluid(25), Materials.Benzene.getFluid(125), Materials.Butene.getGas(25), + Materials.Butadiene.getGas(15), Materials.Propane.getGas(3), Materials.Propene.getGas(30), + Materials.Ethane.getGas(5), Materials.Ethylene.getGas(50), Materials.Methane.getGas(50) }, + Materials.Carbon.getDustTiny(1), + 120, + 120); + addUniversalDistillationRecipe( + Materials.HeavyFuel.getModeratelySteamCracked(1000), + new FluidStack[] { Materials.LightFuel.getFluid(200), Materials.Naphtha.getFluid(200), + Materials.Toluene.getFluid(40), Materials.Benzene.getFluid(200), Materials.Butene.getGas(40), + Materials.Butadiene.getGas(25), Materials.Propane.getGas(5), Materials.Propene.getGas(50), + Materials.Ethane.getGas(7), Materials.Ethylene.getGas(75), Materials.Methane.getGas(75) }, + Materials.Carbon.getDustTiny(2), + 120, + 120); + addUniversalDistillationRecipe( + Materials.HeavyFuel.getSeverelySteamCracked(1000), + new FluidStack[] { Materials.LightFuel.getFluid(100), Materials.Naphtha.getFluid(125), + Materials.Toluene.getFluid(80), Materials.Benzene.getFluid(400), Materials.Butene.getGas(80), + Materials.Butadiene.getGas(50), Materials.Propane.getGas(10), Materials.Propene.getGas(100), + Materials.Ethane.getGas(15), Materials.Ethylene.getGas(150), Materials.Methane.getGas(150) }, + Materials.Carbon.getDustTiny(3), + 120, + 120); + + if (GregTech_API.sSpecialFile.get("general", "EnableLagencyOilGalactiCraft", false) + && FluidRegistry.getFluid("oilgc") != null) + addUniversalDistillationRecipe( + new FluidStack(FluidRegistry.getFluid("oilgc"), 50), + new FluidStack[] { Materials.SulfuricHeavyFuel.getFluid(15), Materials.SulfuricLightFuel.getFluid(50), + Materials.SulfuricNaphtha.getFluid(20), Materials.SulfuricGas.getGas(60) }, + null, + 20, + 96); + } + + public void addUniversalDistillationRecipewithCircuit(FluidStack aInput, ItemStack[] aCircuit, + FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, int aEUt) { + for (int i = 0; i < Math.min(aOutputs.length, 11); i++) { + GT_RecipeBuilder buildDistillation = GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(i + 1)); + if (aOutput2 != GT_Values.NI) { + buildDistillation.itemOutputs(aOutput2); + } + buildDistillation.fluidInputs(aInput) + .fluidOutputs(aOutputs[i]) + .duration(2 * aDuration) + .eut(aEUt / 4) + .addTo(distilleryRecipes); + } + GT_RecipeBuilder buildDT = GT_Values.RA.stdBuilder() + .itemInputs(aCircuit); + if (aOutput2 != GT_Values.NI) { + buildDT.itemOutputs(aOutput2); + } + buildDT.fluidInputs(aInput) + .fluidOutputs(aOutputs) + .duration(aDuration) + .eut(aEUt) + .addTo(distillationTowerRecipes); + } + + public void addUniversalDistillationRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, + int aDuration, int aEUt) { + for (int i = 0; i < Math.min(aOutputs.length, 11); i++) { + GT_RecipeBuilder buildDistillation = GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(i + 1)); + if (aOutput2 != GT_Values.NI) { + buildDistillation.itemOutputs(aOutput2); + } + buildDistillation.fluidInputs(aInput) + .fluidOutputs(aOutputs[i]) + .duration(2 * aDuration) + .eut(aEUt / 4) + .addTo(distilleryRecipes); + } + GT_RecipeBuilder buildDT = GT_Values.RA.stdBuilder(); + if (aOutput2 != GT_Values.NI) { + buildDT.itemOutputs(aOutput2); + } + buildDT.fluidInputs(aInput) + .fluidOutputs(aOutputs) + .duration(aDuration) + .eut(aEUt) + .addTo(distillationTowerRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/ElectrolyzerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ElectrolyzerRecipes.java new file mode 100644 index 0000000000..efcfa7e3dc --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/ElectrolyzerRecipes.java @@ -0,0 +1,301 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class ElectrolyzerRecipes implements Runnable { + + @Override + public void run() { + // H2O = 2H + O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1), ItemList.Cell_Empty.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1L)) + .fluidInputs(Materials.Water.getFluid(1000L)) + .fluidOutputs(Materials.Hydrogen.getGas(2000L)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2), ItemList.Cell_Empty.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1L)) + .fluidInputs(GT_ModHandler.getDistilledWater(1000L)) + .fluidOutputs(Materials.Hydrogen.getGas(2000L)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3), ItemList.Cell_Empty.get(2L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L)) + .fluidInputs(Materials.Water.getFluid(1000L)) + .fluidOutputs(Materials.Oxygen.getGas(1000L)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4), ItemList.Cell_Empty.get(2L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L)) + .fluidInputs(GT_ModHandler.getDistilledWater(1000L)) + .fluidOutputs(Materials.Oxygen.getGas(1000L)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("electrolyzedWaterCell", 1L), ItemList.Cell_Empty.get(2L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2L), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1L)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("electrolyzedWaterCell", 1L), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1L)) + .fluidOutputs(Materials.Hydrogen.getGas(2000L)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Water, 1L)) + .itemOutputs(GT_ModHandler.getIC2Item("electrolyzedWaterCell", 1L)) + .duration(1 * MINUTES + 13 * SECONDS + 10 * TICKS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Dye_Bonemeal.get(3L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1L)) + .duration(4 * SECONDS + 18 * TICKS) + .eut(26) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.sand, 8, 0)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 3L)) + .duration(25 * SECONDS) + .eut(25) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.sand, 8, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 3L)) + .duration(25 * SECONDS) + .eut(25) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 4)) + .duration(5 * SECONDS) + .eut(64) + .addTo(electrolyzerRecipes); + // ZnS = Zn + S + 1 Ga(9.17%) + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sphalerite, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gallium, 1)) + .outputChances(10000, 10000, 917) + .duration(10 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + // IC2 Fertilizer = H2O + CaCO3 + C + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Fertilizer.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L)) + .fluidOutputs(Materials.Water.getFluid(1000L)) + .duration(5 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + // NaOH = Na + O + H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumHydroxide.getDust(3), Materials.Empty.getCells(1)) + .itemOutputs(Materials.Sodium.getDust(1), Materials.Hydrogen.getCells(1)) + .outputChances(10000, 10000) + .fluidOutputs(Materials.Oxygen.getGas(1000)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Carbon.getDust(1)) + .fluidInputs(Materials.CarbonDioxide.getGas(1000)) + .fluidOutputs(Materials.Oxygen.getGas(2000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(11), Materials.Empty.getCells(2)) + .itemOutputs(Materials.Carbon.getDust(1), Materials.Oxygen.getCells(2)) + .fluidInputs(Materials.CarbonDioxide.getGas(1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + // SO2 = S + 2O + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Sulfur.getDust(1)) + .fluidInputs(Materials.SulfurDioxide.getGas(1000)) + .fluidOutputs(Materials.Oxygen.getGas(2000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(11), Materials.Empty.getCells(2)) + .itemOutputs(Materials.Sulfur.getDust(1), Materials.Oxygen.getCells(2)) + .fluidInputs(Materials.SulfurDioxide.getGas(1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + // NaCl = Na +Cl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Salt.getDust(2)) + .itemOutputs(Materials.Sodium.getDust(1)) + .fluidOutputs(Materials.Chlorine.getGas(1000)) + .duration(16 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + // (NaCl·H2O)= NaOH + H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.SodiumHydroxide.getDust(3), Materials.Hydrogen.getCells(1)) + .fluidInputs(Materials.SaltWater.getFluid(1000)) + .fluidOutputs(Materials.Chlorine.getGas(1000)) + .duration(36 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.SodiumHydroxide.getDust(3), Materials.Chlorine.getCells(1)) + .fluidInputs(Materials.SaltWater.getFluid(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(1000)) + .duration(36 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + // HCl = H + Cl + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Hydrogen.getCells(1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(Materials.Chlorine.getGas(1000)) + .duration(36 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Chlorine.getCells(1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(1000)) + .fluidOutputs(Materials.Hydrogen.getGas(1000)) + .duration(36 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Hydrogen.getCells(1)) + .fluidOutputs(Materials.Chlorine.getGas(1000)) + .duration(36 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.Chlorine.getCells(1)) + .fluidOutputs(Materials.Hydrogen.getGas(1000)) + .duration(36 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + // 2NaHSO4 = 2H + Na2S2O8 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SodiumBisulfate.getDust(14), Materials.Empty.getCells(2)) + .itemOutputs(Materials.Hydrogen.getCells(2)) + .fluidOutputs(Materials.SodiumPersulfate.getFluid(1000)) + .duration(30 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lead, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 4)) + .fluidInputs(new FluidStack(ItemList.sLeadZincSolution, 8000)) + .fluidOutputs(Materials.Water.getFluid(2000)) + .duration(15 * SECONDS) + .eut(192) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Cell_Empty.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1)) + .fluidInputs(new FluidStack(ItemList.sBlueVitriol, 2000)) + .fluidOutputs(Materials.SulfuricAcid.getFluid(1000)) + .duration(45 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Cell_Empty.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1)) + .fluidInputs(new FluidStack(ItemList.sNickelSulfate, 2000)) + .fluidOutputs(Materials.SulfuricAcid.getFluid(1000)) + .duration(45 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Cell_Empty.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1)) + .fluidInputs(new FluidStack(ItemList.sGreenVitriol, 2000)) + .fluidOutputs(Materials.SulfuricAcid.getFluid(1000)) + .duration(45 * SECONDS) + .eut(30) + .addTo(electrolyzerRecipes); + + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java new file mode 100644 index 0000000000..d9031ac64f --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java @@ -0,0 +1,34 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.electroMagneticSeparatorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsOreAlum; +import gregtech.api.enums.TierEU; + +public class ElectromagneticSeparatorRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(MaterialsOreAlum.SluiceSand.getDust(1)) + .itemOutputs(Materials.Iron.getDust(1), Materials.Neodymium.getDust(1), Materials.Chrome.getDust(1)) + .outputChances(4000, 2000, 2000) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV / 2) + .addTo(electroMagneticSeparatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.TengamRaw.getDust(1)) + .itemOutputs( + Materials.TengamPurified.getDust(1), + Materials.NeodymiumMagnetic.getDust(1), + Materials.SamariumMagnetic.getDust(1)) + .outputChances(10000, 1000, 1000) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(electroMagneticSeparatorRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/ExtractorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ExtractorRecipes.java new file mode 100644 index 0000000000..e26c4fef97 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/ExtractorRecipes.java @@ -0,0 +1,48 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; +import static gregtech.api.util.GT_ModHandler.getIC2Item; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.WILDCARD; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_OreDictUnificator; + +public class ExtractorRecipes implements Runnable { + + @Override + public void run() { + addExtractionRecipe(new ItemStack(Blocks.bookshelf, 1, WILDCARD), new ItemStack(Items.book, 3, 0)); + addExtractionRecipe( + new ItemStack(Items.slime_ball, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RawRubber, 2L)); + addExtractionRecipe( + ItemList.IC2_Resin.get(1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RawRubber, 3L)); + addExtractionRecipe( + getIC2Item("rubberSapling", 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RawRubber, 1L)); + addExtractionRecipe( + getIC2Item("rubberLeaves", 16L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RawRubber, 1L)); + + addExtractionRecipe(ItemList.Cell_Air.get(1L), ItemList.Cell_Empty.get(1L)); + } + + public void addExtractionRecipe(ItemStack input, ItemStack output) { + output = GT_OreDictUnificator.get(true, output); + GT_Values.RA.stdBuilder() + .itemInputs(input) + .itemOutputs(output) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/ExtruderRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ExtruderRecipes.java new file mode 100644 index 0000000000..e52ad3d4fb --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/ExtruderRecipes.java @@ -0,0 +1,29 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.extruderRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; + +public class ExtruderRecipes implements Runnable { + + @Override + public void run() { + // wax capsule + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Wax.get(1L), ItemList.Shape_Extruder_Cell.get(0L)) + .itemOutputs(ItemList.FR_WaxCapsule.get(1L)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(extruderRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_RefractoryWax.get(1L), ItemList.Shape_Extruder_Cell.get(0L)) + .itemOutputs(ItemList.FR_RefractoryCapsule.get(1L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(16) + .addTo(extruderRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/FermenterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FermenterRecipes.java new file mode 100644 index 0000000000..c0954fda18 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/FermenterRecipes.java @@ -0,0 +1,294 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.fermentingRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static net.minecraftforge.fluids.FluidRegistry.getFluidStack; + +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; + +public class FermenterRecipes implements Runnable { + + @Override + public void run() { + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Biomass.getFluid(100)) + .fluidOutputs(Materials.FermentedBiomass.getFluid(100)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(new FluidStack(FluidRegistry.getFluid("ic2biomass"), 100)) + .fluidOutputs(Materials.FermentedBiomass.getFluid(100)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("milk", 50)) + .fluidOutputs(getFluidStack("potion.mundane", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.lemonjuice", 50)) + .fluidOutputs(getFluidStack("potion.limoncello", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.applejuice", 50)) + .fluidOutputs(getFluidStack("potion.cider", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.goldenapplejuice", 50)) + .fluidOutputs(getFluidStack("potion.goldencider", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.idunsapplejuice", 50)) + .fluidOutputs(getFluidStack("potion.notchesbrew", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.reedwater", 50)) + .fluidOutputs(getFluidStack("potion.rum", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.rum", 50)) + .fluidOutputs(getFluidStack("potion.piratebrew", 10)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.grapejuice", 50)) + .fluidOutputs(getFluidStack("potion.wine", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.wine", 50)) + .fluidOutputs(getFluidStack("potion.vinegar", 10)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.scotch", 50)) + .fluidOutputs(getFluidStack("potion.glenmckenner", 10)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.wheatyhopsjuice", 50)) + .fluidOutputs(getFluidStack("potion.beer", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.hopsjuice", 50)) + .fluidOutputs(getFluidStack("potion.darkbeer", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.darkbeer", 50)) + .fluidOutputs(getFluidStack("potion.dragonblood", 10)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.beer", 75)) + .fluidOutputs(getFluidStack("potion.vinegar", 50)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.cider", 75)) + .fluidOutputs(getFluidStack("potion.vinegar", 50)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.goldencider", 75)) + .fluidOutputs(getFluidStack("potion.vinegar", 50)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.rum", 75)) + .fluidOutputs(getFluidStack("potion.vinegar", 50)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.wine", 75)) + .fluidOutputs(getFluidStack("potion.vinegar", 50)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.awkward", 50)) + .fluidOutputs(getFluidStack("potion.weakness", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.mundane", 50)) + .fluidOutputs(getFluidStack("potion.weakness", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.thick", 50)) + .fluidOutputs(getFluidStack("potion.weakness", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.poison", 50)) + .fluidOutputs(getFluidStack("potion.damage", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.health", 50)) + .fluidOutputs(getFluidStack("potion.damage", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.waterbreathing", 50)) + .fluidOutputs(getFluidStack("potion.damage", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.nightvision", 50)) + .fluidOutputs(getFluidStack("potion.invisibility", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.fireresistance", 50)) + .fluidOutputs(getFluidStack("potion.slowness", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.speed", 50)) + .fluidOutputs(getFluidStack("potion.slowness", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.strength", 50)) + .fluidOutputs(getFluidStack("potion.weakness", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.regen", 50)) + .fluidOutputs(getFluidStack("potion.poison", 25)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.poison.strong", 50)) + .fluidOutputs(getFluidStack("potion.damage.strong", 10)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.health.strong", 50)) + .fluidOutputs(getFluidStack("potion.damage.strong", 10)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.nightvision.long", 50)) + .fluidOutputs(getFluidStack("potion.invisibility.long", 10)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.regen.strong", 50)) + .fluidOutputs(getFluidStack("potion.poison.strong", 10)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.fireresistance.long", 50)) + .fluidOutputs(getFluidStack("potion.slowness.long", 10)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.speed.long", 50)) + .fluidOutputs(getFluidStack("potion.slowness.long", 10)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.strength.long", 50)) + .fluidOutputs(getFluidStack("potion.weakness.long", 10)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(getFluidStack("potion.regen.long", 50)) + .fluidOutputs(getFluidStack("potion.poison.long", 10)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(2) + .addTo(fermentingRecipes); + + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java new file mode 100644 index 0000000000..ea2b87996f --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java @@ -0,0 +1,93 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.fluidCannerRecipes; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; + +public class FluidCannerRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Hull_LV.get(1)) + .itemOutputs(ItemList.IC2_ReBattery.get(1)) + .fluidInputs(Materials.Redstone.getMolten(288)) + .duration(4) + .eut(1) + .addTo(fluidCannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Hull_LV.get(1)) + .itemOutputs(ItemList.Battery_SU_LV_Mercury.getWithCharge(1, Integer.MAX_VALUE)) + .fluidInputs(Materials.Mercury.getFluid(1000)) + .duration(16) + .eut(1) + .addTo(fluidCannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Hull_MV.get(1)) + .itemOutputs(ItemList.Battery_SU_MV_Mercury.getWithCharge(1, Integer.MAX_VALUE)) + .fluidInputs(Materials.Mercury.getFluid(4000)) + .duration(64) + .eut(1) + .addTo(fluidCannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Hull_HV.get(1)) + .itemOutputs(ItemList.Battery_SU_HV_Mercury.getWithCharge(1, Integer.MAX_VALUE)) + .fluidInputs(Materials.Mercury.getFluid(16000)) + .duration(258) + .eut(1) + .addTo(fluidCannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Hull_LV.get(1)) + .itemOutputs(ItemList.Battery_SU_LV_SulfuricAcid.getWithCharge(1, Integer.MAX_VALUE)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .duration(16) + .eut(1) + .addTo(fluidCannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Hull_MV.get(1)) + .itemOutputs(ItemList.Battery_SU_MV_SulfuricAcid.getWithCharge(1, Integer.MAX_VALUE)) + .fluidInputs(Materials.SulfuricAcid.getFluid(4000)) + .duration(64) + .eut(1) + .addTo(fluidCannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Hull_HV.get(1)) + .itemOutputs(ItemList.Battery_SU_HV_SulfuricAcid.getWithCharge(1, Integer.MAX_VALUE)) + .fluidInputs(Materials.SulfuricAcid.getFluid(16000)) + .duration(258) + .eut(1) + .addTo(fluidCannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.TF_Vial_FieryTears.get(1)) + .itemOutputs(ItemList.Bottle_Empty.get(1)) + .fluidOutputs(Materials.FierySteel.getFluid(250)) + .duration(4) + .eut(1) + .addTo(fluidCannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Spray_Color_Remover_Empty.get(1)) + .fluidInputs(Materials.Acetone.getFluid(4000)) + .itemOutputs(ItemList.Spray_Color_Remover.get(1)) + .duration(74) + .eut(1) + .addTo(fluidCannerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Spray_Color_Remover.get(1)) + .itemOutputs(ItemList.Spray_Color_Remover_Empty.get(1)) + .fluidOutputs(Materials.Acetone.getFluid(4000)) + .duration(74) + .eut(1) + .addTo(fluidCannerRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java new file mode 100644 index 0000000000..11861a9618 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java @@ -0,0 +1,569 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.BartWorks; +import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.enums.Mods.GregTech; +import static gregtech.api.enums.Mods.IndustrialCraft2; +import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static net.minecraftforge.fluids.FluidRegistry.getFluidStack; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.recipe.RecipeCategories; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class FluidExtractorRecipes implements Runnable { + + @Override + public void run() { + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Dye_SquidInk.get(1L)) + .fluidOutputs(getFluidStack("squidink", 144)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Dye_Indigo.get(1L)) + .fluidOutputs(getFluidStack("indigo", 144)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Indigo.get(1L)) + .fluidOutputs(getFluidStack("indigo", 144)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_MilkWart.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Milk, 1L)) + .outputChances(1000) + .fluidOutputs(GT_ModHandler.getMilk(150L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_OilBerry.get(1L)) + .fluidOutputs(Materials.Oil.getFluid(100L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_UUMBerry.get(1L)) + .fluidOutputs(Materials.UUMatter.getFluid(4L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_UUABerry.get(1L)) + .fluidOutputs(Materials.UUAmplifier.getFluid(4L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.fish, 1, 0)) + .fluidOutputs(Materials.FishOil.getFluid(40L)) + .duration(16 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.fish, 1, 1)) + .fluidOutputs(Materials.FishOil.getFluid(60L)) + .duration(16 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.fish, 1, 2)) + .fluidOutputs(Materials.FishOil.getFluid(70L)) + .duration(16 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.fish, 1, 3)) + .fluidOutputs(Materials.FishOil.getFluid(30L)) + .duration(16 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.coal, 1, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 1L)) + .outputChances(1000) + .fluidOutputs(Materials.WoodTar.getFluid(100L)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)) + .itemOutputs(ItemList.IC2_Plantball.get(1L)) + .outputChances(100) + .fluidOutputs(Materials.Creosote.getFluid(5L)) + .duration(16 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HydratedCoal, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1L)) + .outputChances(10000) + .fluidOutputs(Materials.Water.getFluid(100L)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Thaumcraft.ID, "ItemResource", 1, 3)) + .fluidOutputs(Materials.Mercury.getFluid(1000L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Mercury, 1L)) + .fluidOutputs(Materials.Mercury.getFluid(1000L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Monazite, 1L)) + .fluidOutputs(Materials.Helium.getGas(200L)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(64) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(IndustrialCraft2.ID, "blockAlloyGlass", 1L, 0)) + .fluidOutputs(Materials.ReinforceGlass.getMolten(144)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(NewHorizonsCoreMod.ID, "item.ReinforcedGlassPlate", 1L, 0)) + .fluidOutputs(Materials.ReinforceGlass.getMolten(72)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(NewHorizonsCoreMod.ID, "item.ReinforcedGlassLense", 1L, 0)) + .fluidOutputs(Materials.ReinforceGlass.getMolten(54)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Long_Distance_Pipeline_Fluid.get(1L)) + .fluidOutputs(Materials.Steel.getMolten(19 * 144)) + .duration(20 * SECONDS) + .eut(90) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Long_Distance_Pipeline_Item.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 7L)) + .outputChances(10000) + .fluidOutputs(Materials.Tin.getMolten(12 * 144)) + .duration(20 * SECONDS) + .eut(90) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Long_Distance_Pipeline_Fluid_Pipe.get(4L)) + .fluidOutputs(Materials.Steel.getMolten(189)) + .duration(2 * SECONDS) + .eut(90) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Long_Distance_Pipeline_Item_Pipe.get(16L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 3L)) + .outputChances(10000) + .fluidOutputs(Materials.Steel.getMolten(324)) + .duration(20 * SECONDS) + .eut(90) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("TritiumCell", 1)) + .itemOutputs(GT_ModHandler.getIC2Item("fuelRod", 1)) + .outputChances(10000) + .fluidOutputs(Materials.Tritium.getGas(32)) + .duration(16 * TICKS) + .eut(64) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quartzite, 1L)) + .fluidOutputs(Materials.Glass.getMolten(72)) + .duration(30 * SECONDS) + .eut(28) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 0)) + .fluidOutputs(Materials.Iron.getMolten(288)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 1)) + .fluidOutputs(Materials.Iron.getMolten(144)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 2)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Iron, 6)) + .outputChances(10000) + .fluidOutputs(Materials.Bronze.getMolten(1728)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 13)) + .fluidOutputs(Materials.Steel.getMolten(288)) + .duration(20 * SECONDS) + .eut(90) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 14)) + .fluidOutputs(Materials.Steel.getMolten(144)) + .duration(20 * SECONDS) + .eut(90) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 15)) + .fluidOutputs(Materials.Steel.getMolten(1836)) + .duration(20 * SECONDS) + .eut(90) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 0)) + .fluidOutputs(Materials.Aluminium.getMolten(288)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_MV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 1)) + .fluidOutputs(Materials.Aluminium.getMolten(144)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_MV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 2)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 12L)) + .outputChances(10000) + .fluidOutputs(Materials.Aluminium.getMolten(108L)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_MV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 3)) + .fluidOutputs(Materials.StainlessSteel.getMolten(288)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 4)) + .fluidOutputs(Materials.StainlessSteel.getMolten(144)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 5)) + .fluidOutputs(Materials.StainlessSteel.getMolten(1836)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 6)) + .fluidOutputs(Materials.Titanium.getMolten(288)) + .duration(35 * SECONDS) + .eut(TierEU.RECIPE_MV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 7)) + .fluidOutputs(Materials.Titanium.getMolten(144)) + .duration(35 * SECONDS) + .eut(TierEU.RECIPE_MV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 8)) + .fluidOutputs(Materials.Titanium.getMolten(1836)) + .duration(35 * SECONDS) + .eut(TierEU.RECIPE_MV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 9)) + .fluidOutputs(Materials.TungstenSteel.getMolten(288)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 10)) + .fluidOutputs(Materials.TungstenSteel.getMolten(144)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 11)) + .fluidOutputs(Materials.TungstenSteel.getMolten(1836)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 12)) + .fluidOutputs(Materials.Palladium.getMolten(288)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_HV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 13)) + .fluidOutputs(Materials.Palladium.getMolten(144)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_HV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 14)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Chrome, 6L)) + .outputChances(10000) + .fluidOutputs(Materials.NiobiumTitanium.getMolten(1728)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_HV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 0)) + .fluidOutputs(Materials.Iridium.getMolten(288)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_HV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 1)) + .fluidOutputs(Materials.Iridium.getMolten(144)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_HV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 2)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Iridium, 6L)) + .outputChances(10000) + .fluidOutputs(Materials.Enderium.getMolten(1728)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_HV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 3)) + .fluidOutputs(Materials.Osmium.getMolten(288)) + .duration(55 * SECONDS) + .eut(TierEU.RECIPE_EV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 4)) + .fluidOutputs(Materials.Osmium.getMolten(144)) + .duration(55 * SECONDS) + .eut(TierEU.RECIPE_EV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 5)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Osmium, 6L)) + .outputChances(10000) + .fluidOutputs(Materials.Naquadah.getMolten(1728)) + .duration(55 * SECONDS) + .eut(TierEU.RECIPE_EV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 6)) + .fluidOutputs(Materials.Neutronium.getMolten(288)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_EV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 7)) + .fluidOutputs(Materials.Neutronium.getMolten(144)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_EV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 8)) + .fluidOutputs(Materials.Neutronium.getMolten(1836)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_EV) + .recipeCategory(RecipeCategories.fluidExtractorRecycling) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.wheat_seeds, 1, 32767)) + .fluidOutputs(Materials.SeedOil.getFluid(10)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(2) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.melon_seeds, 1, 32767)) + .fluidOutputs(Materials.SeedOil.getFluid(10)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(2) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.pumpkin_seeds, 1, 32767)) + .fluidOutputs(Materials.SeedOil.getFluid(10)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(2) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Rape.get(1)) + .fluidOutputs(Materials.SeedOil.getFluid(125)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(2) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.snowball, 1, 0)) + .fluidOutputs(Materials.Water.getFluid(250L)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.snow, 1, 0)) + .fluidOutputs(Materials.Water.getFluid(1000L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ice, 1L)) + .fluidOutputs(Materials.Ice.getSolid(1000L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Forestry.ID, "phosphor", 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphorus, 1L)) + .outputChances(1000) + .fluidOutputs(Materials.Lava.getFluid(800L)) + .duration(12 * SECONDS + 16 * TICKS) + .eut(128) + .addTo(fluidExtractionRecipes); + + // Beecombs fluid extractor recipes + if (BartWorks.isModLoaded()) { + // xenon + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 134)) + .fluidOutputs(getFluidStack("xenon", 250)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_IV) + .addTo(fluidExtractionRecipes); + + // neon + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 135)) + .fluidOutputs(getFluidStack("neon", 250)) + .duration(15 * TICKS) + .eut(TierEU.RECIPE_IV) + .addTo(fluidExtractionRecipes); + + // krpton + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GregTech.ID, "gt.comb", 1L, 136)) + .fluidOutputs(getFluidStack("krypton", 250)) + .duration(1 * SECONDS + 5 * TICKS) + .eut(TierEU.RECIPE_IV) + .addTo(fluidExtractionRecipes); + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/FluidHeaterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FluidHeaterRecipes.java new file mode 100644 index 0000000000..b9cdfc4aa3 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/FluidHeaterRecipes.java @@ -0,0 +1,95 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.fluidHeaterRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_Utility; + +public class FluidHeaterRecipes implements Runnable { + + @Override + public void run() { + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.GrowthMediumRaw.getFluid(1000)) + .fluidOutputs(Materials.GrowthMediumSterilized.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(fluidHeaterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.BioMediumRaw.getFluid(1000)) + .fluidOutputs(Materials.BioMediumSterilized.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(fluidHeaterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Water.getFluid(6)) + .fluidOutputs(Materials.Water.getGas(960)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(30) + .addTo(fluidHeaterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(GT_ModHandler.getDistilledWater(6)) + .fluidOutputs(Materials.Water.getGas(960)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(30) + .addTo(fluidHeaterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.SeedOil.getFluid(16)) + .fluidOutputs(Materials.FryingOilHot.getFluid(16)) + .duration(16 * TICKS) + .eut(30) + .addTo(fluidHeaterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.FishOil.getFluid(16)) + .fluidOutputs(Materials.FryingOilHot.getFluid(16)) + .duration(16 * TICKS) + .eut(30) + .addTo(fluidHeaterRecipes); + // Ca(CH3COO)2 = CH3COCH3 + CaO + CO2 + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.CalciumAcetateSolution.getFluid(1000)) + .fluidOutputs(Materials.Acetone.getFluid(1000)) + .duration(4 * SECONDS) + .eut(30) + .addTo(fluidHeaterRecipes); + // Fluid Sodium + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Sodium.getDust(1)) + .fluidInputs( + + ) + .fluidOutputs(Materials.Sodium.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(fluidHeaterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Acetone.getFluid(1000)) + .fluidOutputs(Materials.Ethenone.getGas(1000)) + .duration(8 * SECONDS) + .eut(160) + .addTo(fluidHeaterRecipes); + + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java new file mode 100644 index 0000000000..2d52f9eb69 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java @@ -0,0 +1,577 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.IndustrialCraft2; +import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.INGOTS; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static net.minecraftforge.fluids.FluidRegistry.getFluidStack; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsKevlar; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class FluidSolidifierRecipes implements Runnable { + + @Override + public void run() { + Materials[] materialArray = new Materials[] { Materials.Iron, Materials.WroughtIron, Materials.Gold, + Materials.Bronze, Materials.Copper, Materials.AnnealedCopper, Materials.Tin, Materials.Lead, + Materials.Steel }; + + ItemStack[] materialCasing = new ItemStack[] { ItemList.IC2_Item_Casing_Iron.get(1L), + ItemList.IC2_Item_Casing_Iron.get(1L), ItemList.IC2_Item_Casing_Gold.get(1L), + ItemList.IC2_Item_Casing_Bronze.get(1L), ItemList.IC2_Item_Casing_Copper.get(1L), + ItemList.IC2_Item_Casing_Copper.get(1L), ItemList.IC2_Item_Casing_Tin.get(1L), + ItemList.IC2_Item_Casing_Lead.get(1L), ItemList.IC2_Item_Casing_Steel.get(1L) }; + + for (int i = 0; i < materialArray.length; i++) { + if (materialArray[i].mStandardMoltenFluid == null) { + continue; + } + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Casing.get(0L)) + .itemOutputs(materialCasing[i]) + .fluidInputs(materialArray[i].getMolten(72L)) + .duration(16 * TICKS) + .eut(8) + .addTo(fluidSolidifierRecipes); + } + + { + ItemStack flask = ItemList.VOLUMETRIC_FLASK.get(1); + NBTTagCompound nbtFlask = new NBTTagCompound(); + nbtFlask.setInteger("Capacity", 1000); + flask.setTagCompound(nbtFlask); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ball.get(0)) + .itemOutputs(flask) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("molten.borosilicateglass"), 144)) + .duration(2 * SECONDS + 4 * TICKS) + .eut(TierEU.RECIPE_LV) + .addTo(fluidSolidifierRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ball.get(0L)) + .itemOutputs(getModItem(Thaumcraft.ID, "ItemResource", 1, 3)) + .fluidInputs(Materials.Mercury.getFluid(1000L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ball.get(0L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Mercury, 1L)) + .fluidInputs(Materials.Mercury.getFluid(1000L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ball.get(0L)) + .itemOutputs(new ItemStack(Items.snowball, 1, 0)) + .fluidInputs(Materials.Water.getFluid(250L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ball.get(0L)) + .itemOutputs(new ItemStack(Items.snowball, 1, 0)) + .fluidInputs(GT_ModHandler.getDistilledWater(250L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Block.get(0L)) + .itemOutputs(new ItemStack(Blocks.snow, 1, 0)) + .fluidInputs(Materials.Water.getFluid(1000L)) + .duration(25 * SECONDS + 12 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Block.get(0L)) + .itemOutputs(new ItemStack(Blocks.snow, 1, 0)) + .fluidInputs(GT_ModHandler.getDistilledWater(1000L)) + .duration(25 * SECONDS + 12 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Block.get(0L)) + .itemOutputs(new ItemStack(Blocks.obsidian, 1, 0)) + .fluidInputs(Materials.Lava.getFluid(1000L)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Block.get(0L)) + .itemOutputs(new ItemStack(GregTech_API.sBlockConcretes, 1, 8)) + .fluidInputs(Materials.Concrete.getMolten(144L)) + .duration(12 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Block.get(0L)) + .itemOutputs(new ItemStack(Blocks.glowstone, 1, 0)) + .fluidInputs(Materials.Glowstone.getMolten(576L)) + .duration(12 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Block.get(0L)) + .itemOutputs(new ItemStack(Blocks.glass, 1, 0)) + .fluidInputs(Materials.Glass.getMolten(144L)) + .duration(12 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Plate.get(0L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Glass, 1L)) + .fluidInputs(Materials.Glass.getMolten(144L)) + .duration(12 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Bottle.get(0L)) + .itemOutputs(ItemList.Bottle_Empty.get(1L)) + .fluidInputs(Materials.Glass.getMolten(144L)) + .duration(12 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Cylinder.get(0L)) + .itemOutputs(ItemList.Food_Cheese.get(1L)) + .fluidInputs(Materials.Milk.getFluid(250L)) + .duration(51 * SECONDS + 4 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Cylinder.get(0L)) + .itemOutputs(ItemList.Food_Cheese.get(1L)) + .fluidInputs(Materials.Cheese.getMolten(144L)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(8) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Anvil.get(0L)) + .itemOutputs(new ItemStack(Blocks.anvil, 1, 0)) + .fluidInputs(Materials.Iron.getMolten(4464L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(16) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Anvil.get(0L)) + .itemOutputs(new ItemStack(Blocks.anvil, 1, 0)) + .fluidInputs(Materials.WroughtIron.getMolten(4464L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(16) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Boron.getDust(1)) + .fluidInputs(Materials.Boron.getMolten(144L)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(30) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Cylinder.get(0)) + .itemOutputs(ItemList.Circuit_Parts_PetriDish.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(36)) + .duration(8 * SECONDS) + .eut(16) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Cylinder.get(0)) + .itemOutputs(ItemList.Circuit_Parts_PetriDish.get(1)) + .fluidInputs(Materials.Polystyrene.getMolten(36)) + .duration(8 * SECONDS) + .eut(16) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Cylinder.get(0)) + .itemOutputs(ItemList.Circuit_Parts_PetriDish.get(1)) + .fluidInputs(Materials.BorosilicateGlass.getMolten(72)) + .duration(8 * SECONDS) + .eut(16) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Plate.get(0L)) + .itemOutputs(getModItem(NewHorizonsCoreMod.ID, "item.ReinforcedGlassPlate", 1L, 0)) + .fluidInputs(Materials.ReinforceGlass.getMolten(72)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Block.get(0L)) + .itemOutputs(getModItem(IndustrialCraft2.ID, "blockAlloyGlass", 1L)) + .fluidInputs(Materials.ReinforceGlass.getMolten(144)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ball.get(0L)) + .itemOutputs(ItemList.Circuit_Parts_Glass_Tube.get(1)) + .fluidInputs(Materials.Glass.getMolten(144)) + .duration(10 * SECONDS) + .eut(24) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ball.get(0L)) + .itemOutputs(ItemList.Circuit_Parts_Reinforced_Glass_Tube.get(1)) + .fluidInputs(Materials.ReinforceGlass.getMolten(288)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ball.get(0L)) + .itemOutputs(ItemList.Circuit_Parts_Glass_Tube.get(1)) + .fluidInputs(getFluidStack("glass.molten", 1000)) + .duration(10 * SECONDS) + .eut(24) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ball.get(0L)) + .itemOutputs(ItemList.GelledToluene.get(1)) + .fluidInputs(new FluidStack(ItemList.sToluene, 100)) + .duration(5 * SECONDS) + .eut(16) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Nugget.get(0L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Copper, 1L)) + .fluidInputs(Materials.AnnealedCopper.getMolten(16)) + .duration(16 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ingot.get(0L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L)) + .fluidInputs(Materials.AnnealedCopper.getMolten(144)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Block.get(0L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Copper, 1L)) + .fluidInputs(Materials.AnnealedCopper.getMolten(1296)) + .duration(14 * SECONDS + 8 * TICKS) + .eut(8) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Nugget.get(0L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Iron, 1L)) + .fluidInputs(Materials.WroughtIron.getMolten(16)) + .duration(16 * TICKS) + .eut(4) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ingot.get(0L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L)) + .fluidInputs(Materials.WroughtIron.getMolten(144)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Block.get(0L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L)) + .fluidInputs(Materials.WroughtIron.getMolten(1296)) + .duration(14 * SECONDS + 8 * TICKS) + .eut(8) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Spinneret.get(0L)) + .itemOutputs(ItemList.KevlarFiber.get(8L)) + .fluidInputs(MaterialsKevlar.LiquidCrystalKevlar.getFluid(144L)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Anvil.get(0L)) + .itemOutputs(getModItem(Railcraft.ID, "anvil", 1L, 0)) + .fluidInputs(Materials.Steel.getMolten(4464L)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(16) + .addTo(fluidSolidifierRecipes); + + final int whiteDwarfShapeSolidifierTime = 10 * SECONDS; + final int fluidPerShapeSolidifierRecipe = 4 * INGOTS; + { + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Bottle.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Bottle.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Plate.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Plate.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Cell.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Cell.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Ring.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Ring.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Rod.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Rod.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Bolt.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Bolt.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Ingot.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Ingot.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Wire.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Wire.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Casing.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Casing.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Pipe_Tiny.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Pipe_Tiny.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Pipe_Small.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Pipe_Small.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Pipe_Medium.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Pipe_Medium.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Pipe_Large.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Pipe_Large.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Pipe_Huge.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Pipe_Huge.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Block.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Block.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Sword.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Sword.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Pickaxe.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Pickaxe.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Shovel.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Shovel.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Axe.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Axe.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Hoe.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Hoe.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Hammer.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Hammer.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_File.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_File.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Saw.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Saw.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Gear.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Gear.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Rotor.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Rotor.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Turbine_Blade.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Turbine_Blade.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_Small_Gear.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_Small_Gear.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Extruder_ToolHeadDrill.get(1)) + .itemOutputs(ItemList.White_Dwarf_Shape_Extruder_ToolHeadDrill.get(1)) + .fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe)) + .duration(whiteDwarfShapeSolidifierTime) + .eut(TierEU.RECIPE_UMV) + .addTo(fluidSolidifierRecipes); + + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/ForgeHammerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ForgeHammerRecipes.java new file mode 100644 index 0000000000..49ad1154c7 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/ForgeHammerRecipes.java @@ -0,0 +1,158 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.enums.Mods.HardcoreEnderExpansion; +import static gregtech.api.recipe.RecipeMaps.hammerRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_OreDictUnificator; + +public class ForgeHammerRecipes implements Runnable { + + @Override + public void run() { + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.stonebrick, 1, 0)) + .itemOutputs(new ItemStack(Blocks.stonebrick, 1, 2)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.stone, 1, 0)) + .itemOutputs(new ItemStack(Blocks.cobblestone, 1, 0)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.cobblestone, 1, 0)) + .itemOutputs(new ItemStack(Blocks.gravel, 1, 0)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.gravel, 1, 0)) + .itemOutputs(new ItemStack(Blocks.sand, 1, 0)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.sandstone, 1, 32767)) + .itemOutputs(new ItemStack(Blocks.sand, 1, 0)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.ice, 1, 0)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ice, 1)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.packed_ice, 1, 0)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ice, 2)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.brick_block, 1, 0)) + .itemOutputs(new ItemStack(Items.brick, 3, 0)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.nether_brick, 1, 0)) + .itemOutputs(new ItemStack(Items.netherbrick, 3, 0)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.stained_glass, 1, 32767)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 1)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.glass, 1, 32767)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 1)) + .duration(10 * TICKS) + .eut(10) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.stained_glass_pane, 1, 32767)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.glass_pane, 1, 32767)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Brick.getIngots(1)) + .itemOutputs(Materials.Brick.getDustSmall(1)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Firebrick.get(1)) + .itemOutputs(Materials.Brick.getDust(1)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Firebricks.get(1)) + .itemOutputs(ItemList.Firebrick.get(3)) + .duration(10 * TICKS) + .eut(16) + .addTo(hammerRecipes); + + if (GTPlusPlus.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Tesseract.get(1L), getModItem(GTPlusPlus.ID, "MU-metaitem.01", 1, 32105)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(2880L)) + .fluidOutputs(MaterialsUEVplus.Space.getMolten(1440L), MaterialsUEVplus.Time.getMolten(1440L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_UXV) + .addTo(hammerRecipes); + } + + if (HardcoreEnderExpansion.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(HardcoreEnderExpansion.ID, "endium_ore", 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.HeeEndium, 1)) + .duration(16) + .eut(10) + .addTo(hammerRecipes); + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/FormingPressRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FormingPressRecipes.java new file mode 100644 index 0000000000..80a34561e6 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/FormingPressRecipes.java @@ -0,0 +1,196 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.AppliedEnergistics2; +import static gregtech.api.enums.Mods.BuildCraftSilicon; +import static gregtech.api.recipe.RecipeMaps.formingPressRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_OreDictUnificator; + +public class FormingPressRecipes implements Runnable { + + @Override + public void run() { + if (BuildCraftSilicon.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), + getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 0)) + .itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), + getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 0)) + .itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Gold, 1L), + getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 0)) + .itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 2)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1L), + getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 0)) + .itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 3)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.EnderPearl, 1L), + getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 0)) + .itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 2L, 4)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NetherQuartz, 1L), + getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 0)) + .itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 5)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Items.comparator, 1, 32767), + getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 0)) + .itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 6)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(formingPressRecipes); + } + + if (AppliedEnergistics2.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 10), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 0L, 13)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 16)) + .duration(10 * SECONDS) + .eut(16) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CertusQuartz, 1L), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 0L, 13)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 16)) + .duration(10 * SECONDS) + .eut(16) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1L), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 0L, 14)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 17)) + .duration(10 * SECONDS) + .eut(16) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Gold, 1L), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 0L, 15)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 18)) + .duration(10 * SECONDS) + .eut(16) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.SiliconSG, 1L), + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 0L, 19)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 20)) + .duration(10 * SECONDS) + .eut(16) + .addTo(formingPressRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Dough_Sugar.get(4L), ItemList.Shape_Mold_Cylinder.get(0L)) + .itemOutputs(ItemList.Food_Raw_Cake.get(1L)) + .duration(19 * SECONDS + 4 * TICKS) + .eut(4) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.glass, 1, 32767), ItemList.Shape_Mold_Arrow.get(0L)) + .itemOutputs(ItemList.Arrow_Head_Glass_Emtpy.get(1L)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(4) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Cupronickel, 1L), + ItemList.Shape_Mold_Credit.get(0L)) + .itemOutputs(ItemList.Credit_Greg_Cupronickel.get(4L)) + .duration(5 * SECONDS) + .eut(16) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Brass, 1L), + ItemList.Shape_Mold_Credit.get(0L)) + .itemOutputs(ItemList.Coin_Doge.get(4L)) + .duration(5 * SECONDS) + .eut(16) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), + ItemList.Shape_Mold_Credit.get(0L)) + .itemOutputs(ItemList.Credit_Iron.get(4L)) + .duration(5 * SECONDS) + .eut(16) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), + ItemList.Shape_Mold_Credit.get(0L)) + .itemOutputs(ItemList.Credit_Iron.get(4L)) + .duration(5 * SECONDS) + .eut(16) + .addTo(formingPressRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brick, 1L), + ItemList.Shape_Mold_Ingot.get(0L)) + .itemOutputs(new ItemStack(Items.brick, 1, 0)) + .duration(5 * SECONDS) + .eut(16) + .addTo(formingPressRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/FuelRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FuelRecipes.java new file mode 100644 index 0000000000..2c3c979b11 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/FuelRecipes.java @@ -0,0 +1,127 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.ForbiddenMagic; +import static gregtech.api.enums.Mods.TaintedMagic; +import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.enums.Mods.ThaumicTinkerer; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_RecipeConstants; + +public class FuelRecipes implements Runnable { + + // todo: add an enum for the fuel type, int values are mysterious + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("biogasCell", 1L)) + .metadata(FUEL_VALUE, 40) + .metadata(FUEL_TYPE, 1) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.golden_apple, 1, 1)) + .itemOutputs(new ItemStack(Items.apple, 1)) + .metadata(FUEL_VALUE, 6400) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Thaumcraft.ID, "ItemShard", 1L, 6)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(ForbiddenMagic.ID, "GluttonyShard", 1L)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(ForbiddenMagic.ID, "FMResource", 1L, 3)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L, 1)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L, 2)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L, 3)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L, 4)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L, 5)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L, 6)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(TaintedMagic.ID, "ItemMaterial", 1L, 3)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(TaintedMagic.ID, "ItemMaterial", 1L, 4)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(TaintedMagic.ID, "ItemMaterial", 1L, 5)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(ThaumicTinkerer.ID, "kamiResource", 1L, 6)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(ThaumicTinkerer.ID, "kamiResource", 1L, 7)) + .metadata(FUEL_VALUE, 720) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java new file mode 100644 index 0000000000..bbe10d89f6 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java @@ -0,0 +1,296 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.fusionRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.TierEU; + +public class FusionReactorRecipes implements Runnable { + + @Override + public void run() { + // Fusion tiering -T1 32768EU/t -T2 65536EU/t - T3 131073EU/t + // Fusion with margin 32700 65450 131000 + // Startup max 160M EU 320M EU 640M EU + // Fluid input,Fluid input,Fluid output,ticks,EU/t,Startup + // F FT2, FT3 - fusion tier required, + - requires different startup recipe (startup cost bigger than + // available on the tier) + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Lithium.getMolten(16), Materials.Tungsten.getMolten(16)) + .fluidOutputs(Materials.Iridium.getMolten(16)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(TierEU.RECIPE_LuV) + .metadata(FUSION_THRESHOLD, 300000000) + .addTo(fusionRecipes); // FT1+ - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Deuterium.getGas(125), Materials.Tritium.getGas(125)) + .fluidOutputs(Materials.Helium.getPlasma(125)) + .duration(16 * TICKS) + .eut(4096) + .metadata(FUSION_THRESHOLD, 40000000) + .addTo(fusionRecipes); // FT1 Cheap - farmable + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Deuterium.getGas(125), Materials.Helium_3.getGas(125)) + .fluidOutputs(Materials.Helium.getPlasma(125)) + .duration(16 * TICKS) + .eut(2048) + .metadata(FUSION_THRESHOLD, 60000000) + .addTo(fusionRecipes); // FT1 Expensive // + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Aluminium.getMolten(16), Materials.Lithium.getMolten(16)) + .fluidOutputs(Materials.Sulfur.getPlasma(144)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(10240) + .metadata(FUSION_THRESHOLD, 240000000) + .addTo(fusionRecipes); // FT1+ Cheap + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Beryllium.getMolten(16), Materials.Deuterium.getGas(375)) + .fluidOutputs(Materials.Nitrogen.getPlasma(125)) + .duration(16 * TICKS) + .eut(16384) + .metadata(FUSION_THRESHOLD, 180000000) + .addTo(fusionRecipes); // FT1+ Expensive // + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Silicon.getMolten(16), Materials.Magnesium.getMolten(16)) + .fluidOutputs(Materials.Iron.getPlasma(144)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8192) + .metadata(FUSION_THRESHOLD, 360000000) + .addTo(fusionRecipes); // FT1++ Cheap // + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Potassium.getMolten(16), Materials.Fluorine.getGas(144)) + .fluidOutputs(Materials.Nickel.getPlasma(144)) + .duration(16 * TICKS) + .eut(TierEU.RECIPE_LuV) + .metadata(FUSION_THRESHOLD, 480000000) + .addTo(fusionRecipes); // FT1++ Expensive // + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Beryllium.getMolten(16), Materials.Tungsten.getMolten(16)) + .fluidOutputs(Materials.Platinum.getMolten(16)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(TierEU.RECIPE_LuV) + .metadata(FUSION_THRESHOLD, 150000000) + .addTo(fusionRecipes); // FT1 - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Neodymium.getMolten(16), Materials.Hydrogen.getGas(48)) + .fluidOutputs(Materials.Europium.getMolten(16)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(24576) + .metadata(FUSION_THRESHOLD, 150000000) + .addTo(fusionRecipes); // FT1 - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Lutetium.getMolten(16), Materials.Chrome.getMolten(16)) + .fluidOutputs(Materials.Americium.getMolten(16)) + .duration(4 * SECONDS + 16 * TICKS) + .eut(49152) + .metadata(FUSION_THRESHOLD, 200000000) + .addTo(fusionRecipes); // FT2 - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Plutonium.getMolten(16), Materials.Thorium.getMolten(16)) + .fluidOutputs(Materials.Naquadah.getMolten(16)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(TierEU.RECIPE_LuV) + .metadata(FUSION_THRESHOLD, 300000000) + .addTo(fusionRecipes); // FT1+ - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Americium.getMolten(144), Materials.Naquadria.getMolten(144)) + .fluidOutputs(Materials.Neutronium.getMolten(144)) + .duration(12 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .metadata(FUSION_THRESHOLD, 640000000) + .addTo(fusionRecipes); // FT3 - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Glowstone.getMolten(16), Materials.Helium.getPlasma(4)) + .fluidOutputs(Materials.Sunnarium.getMolten(16)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(TierEU.RECIPE_IV) + .metadata(FUSION_THRESHOLD, 40000000) + .addTo(fusionRecipes); // Mark 1 Expensive + // // + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Tungsten.getMolten(16), Materials.Helium.getGas(16)) + .fluidOutputs(Materials.Osmium.getMolten(16)) + .duration(12 * SECONDS + 16 * TICKS) + .eut(24578) + .metadata(FUSION_THRESHOLD, 150000000) + .addTo(fusionRecipes); // FT1 - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Manganese.getMolten(16), Materials.Hydrogen.getGas(16)) + .fluidOutputs(Materials.Iron.getMolten(16)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(8192) + .metadata(FUSION_THRESHOLD, 120000000) + .addTo(fusionRecipes); // FT1 - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Magnesium.getMolten(128), Materials.Oxygen.getGas(128)) + .fluidOutputs(Materials.Calcium.getPlasma(16)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(8192) + .metadata(FUSION_THRESHOLD, 120000000) + .addTo(fusionRecipes); // + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Mercury.getFluid(16), Materials.Magnesium.getMolten(16)) + .fluidOutputs(Materials.Uranium.getMolten(16)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(49152) + .metadata(FUSION_THRESHOLD, 240000000) + .addTo(fusionRecipes); // FT2 - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Gold.getMolten(16), Materials.Aluminium.getMolten(16)) + .fluidOutputs(Materials.Uranium.getMolten(16)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(49152) + .metadata(FUSION_THRESHOLD, 240000000) + .addTo(fusionRecipes); // FT2 - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Uranium.getMolten(16), Materials.Helium.getGas(16)) + .fluidOutputs(Materials.Plutonium.getMolten(16)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(49152) + .metadata(FUSION_THRESHOLD, 480000000) + .addTo(fusionRecipes); // FT2+ - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Vanadium.getMolten(16), Materials.Hydrogen.getGas(125)) + .fluidOutputs(Materials.Chrome.getMolten(16)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(24576) + .metadata(FUSION_THRESHOLD, 140000000) + .addTo(fusionRecipes); // FT1 - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Gallium.getMolten(16), Materials.Radon.getGas(125)) + .fluidOutputs(Materials.Duranium.getMolten(16)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(16384) + .metadata(FUSION_THRESHOLD, 140000000) + .addTo(fusionRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Titanium.getMolten(48), Materials.Duranium.getMolten(32)) + .fluidOutputs(Materials.Tritanium.getMolten(16)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(TierEU.RECIPE_LuV) + .metadata(FUSION_THRESHOLD, 200000000) + .addTo(fusionRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Tantalum.getMolten(16), Materials.Tritium.getGas(16)) + .fluidOutputs(Materials.Tungsten.getMolten(16)) + .duration(16 * TICKS) + .eut(24576) + .metadata(FUSION_THRESHOLD, 200000000) + .addTo(fusionRecipes); // + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Silver.getMolten(16), Materials.Lithium.getMolten(16)) + .fluidOutputs(Materials.Indium.getMolten(16)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(24576) + .metadata(FUSION_THRESHOLD, 380000000) + .addTo(fusionRecipes); // + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Copper.getMolten(72), Materials.Tritium.getGas(250)) + .fluidOutputs(Materials.Zinc.getPlasma(72)) + .duration(16 * TICKS) + .eut(49152) + .metadata(FUSION_THRESHOLD, 180000000) + .addTo(fusionRecipes); // FT2 - farmable + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Cobalt.getMolten(144), Materials.Silicon.getMolten(144)) + .fluidOutputs(Materials.Niobium.getPlasma(144)) + .duration(16 * TICKS) + .eut(49152) + .metadata(FUSION_THRESHOLD, 200000000) + .addTo(fusionRecipes); // FT2 - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Gold.getMolten(144), Materials.Arsenic.getMolten(144)) + .fluidOutputs(Materials.Silver.getPlasma(144)) + .duration(16 * TICKS) + .eut(49152) + .metadata(FUSION_THRESHOLD, 350000000) + .addTo(fusionRecipes); // FT2+ + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Silver.getMolten(144), Materials.Helium_3.getGas(375)) + .fluidOutputs(Materials.Tin.getPlasma(288)) + .duration(16 * TICKS) + .eut(49152) + .metadata(FUSION_THRESHOLD, 280000000) + .addTo(fusionRecipes); // FT2 + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Tantalum.getMolten(144), Materials.Zinc.getPlasma(72)) + .fluidOutputs(Materials.Bismuth.getPlasma(144)) + .duration(16 * TICKS) + .eut(98304) + .metadata(FUSION_THRESHOLD, 350000000) + .addTo(fusionRecipes); // FT3 - farmable + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Iridium.getMolten(144), Materials.Fluorine.getGas(500)) + .fluidOutputs(Materials.Radon.getPlasma(144)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(98304) + .metadata(FUSION_THRESHOLD, 450000000) + .addTo(fusionRecipes); // FT3 - utility + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Plutonium241.getMolten(144), Materials.Hydrogen.getGas(2000)) + .fluidOutputs(Materials.Americium.getPlasma(144)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(98304) + .metadata(FUSION_THRESHOLD, 500000000) + .addTo(fusionRecipes); // FT3 + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Lutetium.getMolten(288), Materials.Vanadium.getMolten(288)) + .fluidOutputs(Materials.Plutonium241.getPlasma(288)) + .duration(4 * TICKS) + .eut(TierEU.RECIPE_UEV / 2) + .metadata(FUSION_THRESHOLD, 1_000_000_000) + .addTo(fusionRecipes); // FT5 because of UEV voltage + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Tellurium.getMolten(288), Materials.Zinc.getMolten(288)) + .fluidOutputs(Materials.Lead.getPlasma(288)) + .duration(4 * TICKS) + .eut(TierEU.RECIPE_UEV / 2) + .metadata(FUSION_THRESHOLD, 1_000_000_000) + .addTo(fusionRecipes); // FT5 because of UEV voltage + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Osmium.getMolten(288), Materials.Silicon.getMolten(288)) + .fluidOutputs(Materials.Thorium.getPlasma(288)) + .duration(4 * TICKS) + .eut(TierEU.RECIPE_UEV / 2) + .metadata(FUSION_THRESHOLD, 1_000_000_000) + .addTo(fusionRecipes); // FT5 because of UEV voltage + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/ImplosionCompressorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ImplosionCompressorRecipes.java new file mode 100644 index 0000000000..a671fd6977 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/ImplosionCompressorRecipes.java @@ -0,0 +1,74 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.GalacticraftCore; +import static gregtech.api.enums.Mods.GalacticraftMars; +import static gregtech.api.recipe.RecipeMaps.implosionRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_RecipeConstants; + +public class ImplosionCompressorRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Compressed_Coal_Chunk.get(1L)) + .itemOutputs( + ItemList.IC2_Industrial_Diamond.get(1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 4L)) + .metadata(GT_RecipeConstants.ADDITIVE_AMOUNT, 8) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(implosionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Ingot_IridiumAlloy.get(1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Iridium, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 4L)) + .metadata(GT_RecipeConstants.ADDITIVE_AMOUNT, 8) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(implosionRecipes); + + if (GalacticraftMars.isModLoaded()) { + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Ingot_Heavy1.get(1L)) + .itemOutputs( + getModItem(GalacticraftCore.ID, "item.heavyPlating", 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.StainlessSteel, 1L)) + .metadata(GT_RecipeConstants.ADDITIVE_AMOUNT, 8) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(implosionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Ingot_Heavy2.get(1L)) + .itemOutputs( + getModItem(GalacticraftMars.ID, "item.null", 1L, 3), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.TungstenSteel, 2L)) + .metadata(GT_RecipeConstants.ADDITIVE_AMOUNT, 16) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(implosionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Ingot_Heavy3.get(1L)) + .itemOutputs( + getModItem(GalacticraftMars.ID, "item.itemBasicAsteroids", 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Platinum, 3L)) + .metadata(GT_RecipeConstants.ADDITIVE_AMOUNT, 24) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(implosionRecipes); + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/LaserEngraverRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/LaserEngraverRecipes.java new file mode 100644 index 0000000000..be21c84d66 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/LaserEngraverRecipes.java @@ -0,0 +1,62 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.TierEU; + +public class LaserEngraverRecipes implements Runnable { + + @Override + public void run() { + + GT_Values.RA.stdBuilder() + .fluidInputs(MaterialsUEVplus.DimensionallyTranscendentCrudeCatalyst.getFluid(1000)) + .fluidOutputs(MaterialsUEVplus.ExcitedDTCC.getFluid(1000)) + .requiresCleanRoom() + .duration(41 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_ZPM) + .noOptimize() + .addTo(laserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(MaterialsUEVplus.DimensionallyTranscendentProsaicCatalyst.getFluid(1000)) + .fluidOutputs(MaterialsUEVplus.ExcitedDTPC.getFluid(1000)) + .requiresCleanRoom() + .duration(41 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_UV) + .noOptimize() + .addTo(laserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(MaterialsUEVplus.DimensionallyTranscendentResplendentCatalyst.getFluid(1000)) + .fluidOutputs(MaterialsUEVplus.ExcitedDTRC.getFluid(1000)) + .requiresCleanRoom() + .duration(41 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_UHV) + .noOptimize() + .addTo(laserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(MaterialsUEVplus.DimensionallyTranscendentExoticCatalyst.getFluid(1000)) + .fluidOutputs(MaterialsUEVplus.ExcitedDTEC.getFluid(1000)) + .requiresCleanRoom() + .duration(41 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_UEV) + .noOptimize() + .addTo(laserEngraverRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(MaterialsUEVplus.DimensionallyTranscendentStellarCatalyst.getFluid(1000)) + .fluidOutputs(MaterialsUEVplus.ExcitedDTSC.getFluid(1000)) + .requiresCleanRoom() + .duration(41 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_UIV) + .noOptimize() + .addTo(laserEngraverRecipes); + + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/LatheRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/LatheRecipes.java new file mode 100644 index 0000000000..4413f61200 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/LatheRecipes.java @@ -0,0 +1,40 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.recipe.RecipeMaps.latheRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_OreDictUnificator; + +public class LatheRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.wooden_slab, 1, GT_Values.W)) + .itemOutputs( + new ItemStack(Items.bowl, 1), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(8) + .addTo(latheRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Forestry.ID, "slabs", 1L, GT_Values.W)) + .itemOutputs( + new ItemStack(Items.bowl, 1), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(8) + .addTo(latheRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/MatterAmplifierRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/MatterAmplifierRecipes.java new file mode 100644 index 0000000000..863f0ae440 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/MatterAmplifierRecipes.java @@ -0,0 +1,29 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.amplifierRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.TierEU; + +public class MatterAmplifierRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Scrap.get(9L)) + .fluidOutputs(Materials.UUAmplifier.getFluid(1)) + .duration(9 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(amplifierRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Scrapbox.get(1L)) + .fluidOutputs(Materials.UUAmplifier.getFluid(1)) + .duration(9 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(amplifierRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java new file mode 100644 index 0000000000..fd315542e5 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java @@ -0,0 +1,1689 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.AppliedEnergistics2; +import static gregtech.api.enums.Mods.BiomesOPlenty; +import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.enums.Mods.Natura; +import static gregtech.api.enums.Mods.PamsHarvestCraft; +import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static net.minecraftforge.fluids.FluidRegistry.getFluidStack; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsKevlar; +import gregtech.api.enums.MaterialsOreAlum; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import mods.railcraft.common.blocks.aesthetics.cube.EnumCube; + +public class MixerRecipes implements Runnable { + + @Override + public void run() { + + registerSingleBlockAndMulti(); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.EnderPearl, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.EnderEye, OrePrefixes.dust.mMaterialAmount)) + .duration(5 * SECONDS) + .eut(48) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Electrum, 2L * OrePrefixes.dust.mMaterialAmount)) + .duration(10 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Invar, 3L * OrePrefixes.dust.mMaterialAmount)) + .duration(15 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 4), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Invar, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Manganese, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.StainlessSteel, 9L * OrePrefixes.dust.mMaterialAmount)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Kanthal, 3L * OrePrefixes.dust.mMaterialAmount)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Brass, 4L * OrePrefixes.dust.mMaterialAmount)) + .duration(2 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tin, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Bronze, 4L * OrePrefixes.dust.mMaterialAmount)) + .duration(2 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Cupronickel, 2L * OrePrefixes.dust.mMaterialAmount)) + .duration(10 * SECONDS) + .eut(24) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 4), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.SterlingSilver, 5L * OrePrefixes.dust.mMaterialAmount)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Electrum, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.BlackBronze, 5L * OrePrefixes.dust.mMaterialAmount)) + .duration(25 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bismuth, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brass, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.BismuthBronze, 5L * OrePrefixes.dust.mMaterialAmount)) + .duration(25 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackBronze, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 3), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.BlackSteel, 5L * OrePrefixes.dust.mMaterialAmount)) + .duration(25 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SterlingSilver, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BismuthBronze, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.RedSteel, 8L * OrePrefixes.dust.mMaterialAmount)) + .duration(40 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RoseGold, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brass, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 4), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.BlueSteel, 8L * OrePrefixes.dust.mMaterialAmount)) + .duration(40 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 5), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 15), + GT_Utility.getIntegratedCircuit(14)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.BlackSteel, 25L * OrePrefixes.dust.mMaterialAmount)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 4), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 4), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bismuth, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 20), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 10), + GT_Utility.getIntegratedCircuit(15)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.RedSteel, 40L * OrePrefixes.dust.mMaterialAmount)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 19), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 16), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 5), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 64), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 16), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 40), + GT_Utility.getIntegratedCircuit(16)) + .itemOutputs( + GT_OreDictUnificator.getDust(Materials.BlueSteel, 64L * OrePrefixes.dust.mMaterialAmount), + GT_OreDictUnificator.getDust(Materials.BlueSteel, 64L * OrePrefixes.dust.mMaterialAmount), + GT_OreDictUnificator.getDust(Materials.BlueSteel, 32L * OrePrefixes.dust.mMaterialAmount)) + .duration(3 * MINUTES) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 5), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Molybdenum, 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Ultimet, 9L * OrePrefixes.dust.mMaterialAmount)) + .duration(45 * SECONDS) + .eut(500) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brass, 7), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.CobaltBrass, 9L * OrePrefixes.dust.mMaterialAmount)) + .duration(45 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 3), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Gunpowder, 6L * OrePrefixes.dust.mMaterialAmount)) + .duration(30 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Charcoal, 3), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Gunpowder, 6L * OrePrefixes.dust.mMaterialAmount)) + .duration(30 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 3), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Gunpowder, 6L * OrePrefixes.dust.mMaterialAmount)) + .duration(30 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Indium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gallium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphorus, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs( + GT_OreDictUnificator.getDust(Materials.IndiumGalliumPhosphide, 3L * OrePrefixes.dust.mMaterialAmount)) + .duration(10 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brick, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Clay, 1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Fireclay, 2L * OrePrefixes.dust.mMaterialAmount)) + .duration(10 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 4), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Nichrome, 5L * OrePrefixes.dust.mMaterialAmount)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Osmium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 3), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.Osmiridium, 4L * OrePrefixes.dust.mMaterialAmount)) + .duration(2 * SECONDS) + .eut(2000) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Niobium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.NiobiumTitanium, 2L * OrePrefixes.dust.mMaterialAmount)) + .duration(10 * SECONDS) + .eut(2000) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gallium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.VanadiumGallium, 4L * OrePrefixes.dust.mMaterialAmount)) + .duration(2 * SECONDS) + .eut(2000) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.TungstenCarbide, 2L * OrePrefixes.dust.mMaterialAmount)) + .duration(10 * SECONDS) + .eut(500) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.TungstenSteel, 2L * OrePrefixes.dust.mMaterialAmount)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 3), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.TPV, 7L * OrePrefixes.dust.mMaterialAmount)) + .duration(8 * SECONDS + 15 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 5), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Molybdenum, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.HSSG, 9L * OrePrefixes.dust.mMaterialAmount)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HSSG, 6), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Manganese, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.HSSE, 9L * OrePrefixes.dust.mMaterialAmount)) + .duration(35 * SECONDS) + .eut(4096) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HSSG, 6), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Osmium, 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.HSSS, 9L * OrePrefixes.dust.mMaterialAmount)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(GT_OreDictUnificator.getDust(Materials.FerriteMixture, 6L * OrePrefixes.dust.mMaterialAmount)) + .duration(10 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Boron, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 7)) + .itemOutputs( + GT_OreDictUnificator.getDust(Materials.BorosilicateGlass, 8L * OrePrefixes.dust.mMaterialAmount)) + .duration(10 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Items.rotten_flesh, 1, 0), + new ItemStack(Items.fermented_spider_eye, 1, 0), + ItemList.IC2_Scrap.get(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 1)) + .itemOutputs(ItemList.Food_Chum.get(4)) + .fluidInputs(getFluidStack("potion.purpledrink", 750)) + .fluidOutputs(getFluidStack("sludge", 1000)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(24) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 1)) + .itemOutputs(ItemList.Food_Dough.get(2)) + .fluidInputs(Materials.Water.getFluid(1000)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chili, 1), + ItemList.Food_PotatoChips.get(1)) + .itemOutputs(ItemList.Food_ChiliChips.get(1)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Redstone, 5), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ruby, 4)) + .itemOutputs(ItemList.IC2_Energium_Dust.get(1)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 5), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ruby, 4)) + .itemOutputs(ItemList.IC2_Energium_Dust.get(9)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1), + new ItemStack(Blocks.brown_mushroom, 1), + new ItemStack(Items.spider_eye, 1)) + .itemOutputs(new ItemStack(Items.fermented_spider_eye, 1)) + .duration(5 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.LiveRoot, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.IronWood, 2)) + .duration(5 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 9), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.LiveRoot, 9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.IronWood, 18)) + .duration(45 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherQuartz, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Fluix, 2)) + .fluidInputs(Materials.Water.getFluid(500)) + .duration(20 * TICKS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherQuartz, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Fluix, 2)) + .fluidInputs(GT_ModHandler.getDistilledWater(500)) + .duration(20 * TICKS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.IC2_Fertilizer.get(1), + new ItemStack(Blocks.dirt, 8, 32767), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "soil", 8L, 0)) + .fluidInputs(Materials.Water.getFluid(1000)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.FR_Fertilizer.get(1), + new ItemStack(Blocks.dirt, 8, 32767), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "soil", 8L, 0)) + .fluidInputs(Materials.Water.getFluid(1000)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.FR_Compost.get(1), + new ItemStack(Blocks.dirt, 8, 32767), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "soil", 8L, 0)) + .fluidInputs(Materials.Water.getFluid(1000)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.FR_Mulch.get(8), + new ItemStack(Blocks.dirt, 8, 32767), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "soil", 8L, 0)) + .fluidInputs(Materials.Water.getFluid(1000)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.sand, 1, 32767), + new ItemStack(Blocks.dirt, 1, 32767), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(getModItem(Forestry.ID, "soil", 2L, 1)) + .fluidInputs(Materials.Water.getFluid(250)) + .duration(16 * TICKS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 5), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fuel, 6)) + .duration(16 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 5), + Materials.Empty.getCells(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fuel, 6)) + .fluidInputs(Materials.HeavyFuel.getFluid(1000)) + .duration(16 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 1), + Materials.Empty.getCells(5), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fuel, 6)) + .fluidInputs(Materials.LightFuel.getFluid(5000)) + .duration(16 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 5), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(Materials.Empty.getCells(5)) + .fluidInputs(Materials.HeavyFuel.getFluid(1000)) + .fluidOutputs(Materials.Fuel.getFluid(6000)) + .duration(16 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 1), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.LightFuel.getFluid(5000)) + .fluidOutputs(Materials.Fuel.getFluid(6000)) + .duration(16 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Water, 5), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1)) + .itemOutputs(Materials.Empty.getCells(5)) + .fluidInputs(Materials.Lubricant.getFluid(20)) + .fluidOutputs(new FluidStack(ItemList.sDrillingFluid, 5000)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lapis, 1), + GT_Utility.getIntegratedCircuit(4)) + .fluidInputs(Materials.Water.getFluid(125)) + .fluidOutputs(getFluidStack("ic2coolant", 125)) + .duration(12 * SECONDS + 16 * TICKS) + .eut(48) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lapis, 1), + GT_Utility.getIntegratedCircuit(4)) + .fluidInputs(GT_ModHandler.getDistilledWater(1000)) + .fluidOutputs(getFluidStack("ic2coolant", 1000)) + .duration(12 * SECONDS + 16 * TICKS) + .eut(48) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.SFMixture.get(4)) + .fluidInputs(Materials.AdvancedGlue.getFluid(200)) + .duration(40 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.SFMixture.get(8)) + .fluidInputs(Materials.AdvancedGlue.getFluid(200)) + .duration(40 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Caesium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.SFMixture.get(12)) + .fluidInputs(Materials.AdvancedGlue.getFluid(200)) + .duration(40 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.SFMixture.get(64)) + .fluidInputs(Materials.McGuffium239.getFluid(12)) + .duration(20 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.SFMixture.get(64)) + .fluidInputs(Materials.McGuffium239.getFluid(8)) + .duration(20 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Caesium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.SFMixture.get(64)) + .fluidInputs(Materials.McGuffium239.getFluid(4)) + .duration(20 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.SFMixture.get(2), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.EnderEye, 1)) + .itemOutputs(ItemList.MSFMixture.get(4)) + .fluidInputs(Materials.Mercury.getFluid(1000)) + .duration(15 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.SFMixture.get(1), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1)) + .itemOutputs(ItemList.MSFMixture.get(1)) + .fluidInputs(Materials.Mercury.getFluid(500)) + .duration(15 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 4), + ItemList.MSFMixture.get(24), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(4)) + .fluidInputs(Materials.NitroFuel.getFluid(4000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 4), + ItemList.MSFMixture.get(16), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(4)) + .fluidInputs(Materials.NitroFuel.getFluid(3000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 4), + ItemList.MSFMixture.get(8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(4)) + .fluidInputs(Materials.NitroFuel.getFluid(2000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 4), + ItemList.MSFMixture.get(24), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(4)) + .fluidInputs(Materials.GasolinePremium.getFluid(1600)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 4), + ItemList.MSFMixture.get(16), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(4)) + .fluidInputs(Materials.GasolinePremium.getFluid(1200)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 4), + ItemList.MSFMixture.get(8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(4)) + .fluidInputs(Materials.GasolinePremium.getFluid(800)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + if (Thaumcraft.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.SFMixture.get(20), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedAir, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MSFMixture.get(20)) + .fluidInputs(Materials.FierySteel.getFluid(50)) + .duration(10 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.SFMixture.get(20), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedEarth, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MSFMixture.get(20)) + .fluidInputs(Materials.FierySteel.getFluid(50)) + .duration(10 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.SFMixture.get(20), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedEntropy, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MSFMixture.get(20)) + .fluidInputs(Materials.FierySteel.getFluid(50)) + .duration(10 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.SFMixture.get(20), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedFire, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MSFMixture.get(20)) + .fluidInputs(Materials.FierySteel.getFluid(50)) + .duration(10 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.SFMixture.get(20), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedOrder, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MSFMixture.get(20)) + .fluidInputs(Materials.FierySteel.getFluid(50)) + .duration(10 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.SFMixture.get(20), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedWater, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MSFMixture.get(20)) + .fluidInputs(Materials.FierySteel.getFluid(50)) + .duration(10 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + FluidStack tFD = getFluidStack("fluiddeath", 30); + if (tFD != null && tFD.getFluid() != null && tFD.amount > 0) { + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.SFMixture.get(30), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedAir, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MSFMixture.get(30)) + .fluidInputs(tFD) + .duration(10 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.SFMixture.get(30), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedEarth, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MSFMixture.get(30)) + .fluidInputs(tFD) + .duration(10 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.SFMixture.get(30), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedEntropy, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MSFMixture.get(30)) + .fluidInputs(tFD) + .duration(10 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.SFMixture.get(30), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedFire, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MSFMixture.get(30)) + .fluidInputs(tFD) + .duration(10 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.SFMixture.get(30), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedOrder, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MSFMixture.get(30)) + .fluidInputs(tFD) + .duration(10 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.SFMixture.get(30), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedWater, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.MSFMixture.get(30)) + .fluidInputs(tFD) + .duration(10 * SECONDS) + .eut(64) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1), + ItemList.MSFMixture.get(6), + getModItem(Thaumcraft.ID, "ItemResource", 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(1)) + .fluidInputs(Materials.NitroFuel.getFluid(1000)) + .duration(7 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 1), + ItemList.MSFMixture.get(4), + getModItem(Thaumcraft.ID, "ItemResource", 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(1)) + .fluidInputs(Materials.NitroFuel.getFluid(750)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 1), + ItemList.MSFMixture.get(2), + getModItem(Thaumcraft.ID, "ItemResource", 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(1)) + .fluidInputs(Materials.NitroFuel.getFluid(500)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1), + ItemList.MSFMixture.get(6), + getModItem(Thaumcraft.ID, "ItemResource", 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(1)) + .fluidInputs(Materials.GasolinePremium.getFluid(400)) + .duration(7 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 1), + ItemList.MSFMixture.get(4), + getModItem(Thaumcraft.ID, "ItemResource", 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(1)) + .fluidInputs(Materials.GasolinePremium.getFluid(300)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 1), + ItemList.MSFMixture.get(2), + getModItem(Thaumcraft.ID, "ItemResource", 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(1)) + .fluidInputs(Materials.GasolinePremium.getFluid(200)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + } + } + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1), + ItemList.SFMixture.get(6), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_SSFUEL.get(1)) + .fluidInputs(Materials.NitroFuel.getFluid(1000)) + .duration(7 * SECONDS) + .eut(250) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 1), + ItemList.SFMixture.get(4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_SSFUEL.get(1)) + .fluidInputs(Materials.NitroFuel.getFluid(750)) + .duration(6 * SECONDS) + .eut(250) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 1), + ItemList.SFMixture.get(2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_SSFUEL.get(1)) + .fluidInputs(Materials.NitroFuel.getFluid(500)) + .duration(5 * SECONDS) + .eut(250) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1), + ItemList.SFMixture.get(6), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_SSFUEL.get(1)) + .fluidInputs(Materials.GasolinePremium.getFluid(400)) + .duration(7 * SECONDS) + .eut(250) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 1), + ItemList.SFMixture.get(4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_SSFUEL.get(1)) + .fluidInputs(Materials.GasolinePremium.getFluid(300)) + .duration(6 * SECONDS) + .eut(250) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 1), + ItemList.SFMixture.get(2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_SSFUEL.get(1)) + .fluidInputs(Materials.GasolinePremium.getFluid(200)) + .duration(5 * SECONDS) + .eut(250) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricAcid, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cell_Empty.get(1)) + .fluidInputs(Materials.NitricAcid.getFluid(1000)) + .fluidOutputs(new FluidStack(ItemList.sNitrationMixture, 2000)) + .duration(24 * SECONDS) + .eut(2) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricAcid, 1), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NitricAcid, 1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NitrationMixture, 2)) + .duration(24 * SECONDS) + .eut(2) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 32767), + new ItemStack(Items.wheat, 4, 32767), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 2), + new ItemStack(Items.wheat, 4, 32767), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 32767), + getModItem(BiomesOPlenty.ID, "plants", 4, 6), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 2), + getModItem(BiomesOPlenty.ID, "plants", 4, 6), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 32767), + getModItem(PamsHarvestCraft.ID, "oatsItem", 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 2), + getModItem(PamsHarvestCraft.ID, "oatsItem", 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 32767), + getModItem(PamsHarvestCraft.ID, "ryeItem", 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 2), + getModItem(PamsHarvestCraft.ID, "ryeItem", 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 32767), + getModItem(PamsHarvestCraft.ID, "barleyItem", 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 2), + getModItem(PamsHarvestCraft.ID, "barleyItem", 4, 6), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 32767), + getModItem(Natura.ID, "barleyFood", 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 2), + getModItem(Natura.ID, "barleyFood", 4), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 32767), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.dirt, 1, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(getModItem(Forestry.ID, "fertilizerBio", 1L, 0)) + .fluidInputs(Materials.Water.getFluid(100)) + .duration(10 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + // radiation manufacturing + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("fuelRod", 1), new ItemStack(Items.glowstone_dust, 9)) + .itemOutputs(ItemList.GlowstoneCell.get(1)) + .fluidInputs(Materials.Helium.getGas(250)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(MaterialsOreAlum.SluiceSand.getDust(1)) + .fluidInputs(Materials.Water.getFluid(500)) + .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(1000)) + .duration(5 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + // NaCl + H2O = (NaCl·H2O) + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Salt.getDust(2), GT_Utility.getIntegratedCircuit(3)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.SaltWater.getFluid(1000)) + .duration(5 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + // CaCO3 + 2 CH3COOH = Ca(CH3COO)2 + H2O + CO2 + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Calcite.getDust(5), Materials.Empty.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(1), Materials.CarbonDioxide.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(2000)) + .fluidOutputs(Materials.CalciumAcetateSolution.getFluid(1000)) + .duration(12 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Calcite.getDust(5), Materials.Empty.getCells(2), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.CalciumAcetateSolution.getCells(1), Materials.CarbonDioxide.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(2000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(12 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Calcite.getDust(5), Materials.Empty.getCells(2), GT_Utility.getIntegratedCircuit(21)) + .itemOutputs(Materials.Water.getCells(1), Materials.CalciumAcetateSolution.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(2000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Calcite.getDust(5), Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(Materials.CarbonDioxide.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(2000)) + .fluidOutputs(Materials.CalciumAcetateSolution.getFluid(1000)) + .duration(12 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Calcite.getDust(5), Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(14)) + .itemOutputs(Materials.CalciumAcetateSolution.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(2000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000)) + .duration(12 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + // Ca + 2 CH3COOH = Ca(CH3COO)2 + 2H + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Calcium.getDust(1), Materials.Empty.getCells(2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Hydrogen.getCells(2)) + .fluidInputs(Materials.AceticAcid.getFluid(2000)) + .fluidOutputs(Materials.CalciumAcetateSolution.getFluid(1000)) + .duration(4 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Calcium.getDust(1), Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.CalciumAcetateSolution.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(2000)) + .fluidOutputs(Materials.Hydrogen.getGas(2000)) + .duration(4 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + // CaO + 2 CH3COOH = Ca(CH3COO)2 + H2O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Quicklime.getDust(2), Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Water.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(2000)) + .fluidOutputs(Materials.CalciumAcetateSolution.getFluid(1000)) + .duration(4 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Quicklime.getDust(2), + Materials.Empty.getCells(1), + GT_Utility.getIntegratedCircuit(11)) + .itemOutputs(Materials.CalciumAcetateSolution.getCells(1)) + .fluidInputs(Materials.AceticAcid.getFluid(2000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(4 * SECONDS) + .eut(16) + .addTo(mixerRecipes); + + // 2CH3COOCH3 + 3CH3COCH3/(C4H6O2)n = 5Glue + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Acetone.getCells(3)) + .itemOutputs(Materials.Empty.getCells(3)) + .fluidInputs(Materials.PolyvinylAcetate.getFluid(2000)) + .fluidOutputs(Materials.AdvancedGlue.getFluid(5000)) + .duration(5 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.PolyvinylAcetate.getCells(2)) + .itemOutputs(Materials.Empty.getCells(2)) + .fluidInputs(Materials.Acetone.getFluid(3000)) + .fluidOutputs(Materials.AdvancedGlue.getFluid(5000)) + .duration(5 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.MethylAcetate.getCells(3)) + .itemOutputs(Materials.Empty.getCells(3)) + .fluidInputs(Materials.PolyvinylAcetate.getFluid(2000)) + .fluidOutputs(Materials.AdvancedGlue.getFluid(5000)) + .duration(5 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.PolyvinylAcetate.getCells(2)) + .itemOutputs(Materials.Empty.getCells(2)) + .fluidInputs(Materials.MethylAcetate.getFluid(3000)) + .fluidOutputs(Materials.AdvancedGlue.getFluid(5000)) + .duration(5 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Sugar.getDust(4)) + .itemOutputs(Materials.Charcoal.getGems(1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(60 * SECONDS) + .eut(2) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Wood.getDust(4)) + .itemOutputs(Materials.Charcoal.getGems(1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000)) + .fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(60 * SECONDS) + .eut(2) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Fuel.getCells(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Tetranitromethane.getFluid(20)) + .fluidOutputs(Materials.NitroFuel.getFluid(1000)) + .duration(20 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.BioDiesel.getCells(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Tetranitromethane.getFluid(40)) + .fluidOutputs(Materials.NitroFuel.getFluid(900)) + .duration(20 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + // CH4O + C4H8 = C5H12O + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Methanol.getCells(1), Materials.Butene.getCells(1)) + .itemOutputs(Materials.MTBEMixture.getCells(1), Materials.Empty.getCells(1)) + .duration(20 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Naphtha.getCells(16), + Materials.Gas.getCells(2), + Materials.Methanol.getCells(1), + Materials.Acetone.getCells(1)) + .itemOutputs(Materials.GasolineRaw.getCells(20)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.GasolineRegular.getCells(20), + Materials.Octane.getCells(2), + Materials.NitrousOxide.getCells(6), + Materials.Toluene.getCells(1)) + .itemOutputs(Materials.Empty.getCells(29)) + .fluidInputs(Materials.AntiKnock.getFluid(3000)) + .fluidOutputs(Materials.GasolinePremium.getFluid(32000)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(mixerRecipes); + + if (Railcraft.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs( + EnumCube.COKE_BLOCK.getItem(), + ItemList.SFMixture.get(2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_SSFUEL.get(1)) + .fluidInputs(Materials.NitroFuel.getFluid(300)) + .duration(5 * SECONDS) + .eut(250) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + EnumCube.COKE_BLOCK.getItem(), + ItemList.SFMixture.get(2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_SSFUEL.get(1)) + .fluidInputs(Materials.GasolinePremium.getFluid(120)) + .duration(5 * SECONDS) + .eut(250) + .addTo(mixerRecipes); + } + + if (Thaumcraft.isModLoaded() && Railcraft.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs( + EnumCube.COKE_BLOCK.getItem(), + ItemList.MSFMixture.get(2), + getModItem(Thaumcraft.ID, "ItemResource", 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(1)) + .fluidInputs(Materials.NitroFuel.getFluid(300)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + EnumCube.COKE_BLOCK.getItem(), + ItemList.MSFMixture.get(2), + getModItem(Thaumcraft.ID, "ItemResource", 4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Block_MSSFUEL.get(1)) + .fluidInputs(Materials.GasolinePremium.getFluid(120)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + } + } + + public static void addMixerPotionRecipes(String aName) { + + boolean splash = !(FluidRegistry.getFluid("potion." + aName) == null + || FluidRegistry.getFluid("potion." + aName + ".splash") == null); + boolean splashStrong = !(FluidRegistry.getFluid("potion." + aName + ".strong") == null + || FluidRegistry.getFluid("potion." + aName + ".strong.splash") == null); + boolean splashLong = !(FluidRegistry.getFluid("potion." + aName + ".long") == null + || FluidRegistry.getFluid("potion." + aName + ".long.splash") == null); + + if (splash) GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gunpowder, 1)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("potion." + aName), 750)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("potion." + aName + ".splash"), 750)) + .duration(10 * SECONDS) + .eut(24) + .addTo(mixerRecipes); + + if (splashStrong) GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gunpowder, 1)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("potion." + aName + ".strong"), 750)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("potion." + aName + ".strong.splash"), 750)) + .duration(10 * SECONDS) + .eut(24) + .addTo(mixerRecipes); + + if (splashLong) GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gunpowder, 1)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("potion." + aName + ".long"), 750)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("potion." + aName + ".long.splash"), 750)) + .duration(10 * SECONDS) + .eut(24) + .addTo(mixerRecipes); + } + + public void registerSingleBlockAndMulti() { + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.NaquadahEnriched.getDust(8), + Materials.Holmium.getDust(2), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(Materials.EnrichedHolmium.getDust(10)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(mixerRecipes); + + // Catalysts for Plasma Forge. + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs( + Materials.Helium.getPlasma(1000L), + Materials.Iron.getPlasma(1000L), + Materials.Calcium.getPlasma(1000L), + Materials.Niobium.getPlasma(1000L)) + .fluidOutputs(MaterialsUEVplus.DimensionallyTranscendentCrudeCatalyst.getFluid(1000L)) + .duration(41 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .noOptimize() + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(10)) + .fluidInputs( + MaterialsUEVplus.DimensionallyTranscendentCrudeCatalyst.getFluid(1000L), + Materials.Radon.getPlasma(1000L), + Materials.Nickel.getPlasma(1000L), + Materials.Boron.getPlasma(1000L), + Materials.Sulfur.getPlasma(1000L)) + .fluidOutputs(MaterialsUEVplus.DimensionallyTranscendentProsaicCatalyst.getFluid(1000L)) + .duration(41 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UV) + .noOptimize() + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(11)) + .fluidInputs( + MaterialsUEVplus.DimensionallyTranscendentProsaicCatalyst.getFluid(1000L), + Materials.Nitrogen.getPlasma(1000L), + Materials.Zinc.getPlasma(1000L), + Materials.Silver.getPlasma(1000L), + Materials.Titanium.getPlasma(1000L)) + .fluidOutputs(MaterialsUEVplus.DimensionallyTranscendentResplendentCatalyst.getFluid(1000L)) + .duration(41 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .noOptimize() + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(12)) + .fluidInputs( + MaterialsUEVplus.DimensionallyTranscendentResplendentCatalyst.getFluid(1000L), + Materials.Americium.getPlasma(1000L), + Materials.Bismuth.getPlasma(1000L), + Materials.Oxygen.getPlasma(1000L), + Materials.Tin.getPlasma(1000L)) + .fluidOutputs(MaterialsUEVplus.DimensionallyTranscendentExoticCatalyst.getFluid(1000L)) + .duration(41 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .noOptimize() + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(13)) + .fluidInputs( + MaterialsUEVplus.DimensionallyTranscendentExoticCatalyst.getFluid(1000L), + Materials.Lead.getPlasma(1000), + Materials.Thorium.getPlasma(1000), + Materials.Plutonium241.getPlasma(1000L), + MaterialsUEVplus.RawStarMatter.getFluid(25L)) + .fluidOutputs(MaterialsUEVplus.DimensionallyTranscendentStellarCatalyst.getFluid(1000L)) + .duration(41 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .noOptimize() + .addTo(mixerRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Spray_WeedEx.get(1)) + .fluidInputs(MaterialsKevlar.NaphthenicAcid.getFluid(10)) + .fluidOutputs(Materials.WeedEX9000.getFluid(750)) + .duration(5 * SECONDS) + .eut(100) + .addTo(mixerRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/NEIHiding.java b/src/main/java/gregtech/loaders/postload/recipes/NEIHiding.java new file mode 100644 index 0000000000..dad2388ae6 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/NEIHiding.java @@ -0,0 +1,40 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.enums.Mods.NotEnoughItems; + +import net.minecraft.item.ItemStack; + +import codechicken.nei.api.API; +import gregtech.api.enums.ItemList; +import gregtech.common.items.GT_MetaGenerated_Item_03; + +public class NEIHiding implements Runnable { + + @Override + public void run() { + if (!NotEnoughItems.isModLoaded()) { + return; + } + + for (int i = 0; i < 16; i++) { + API.hideItem(new ItemStack(GT_MetaGenerated_Item_03.INSTANCE, 1, i)); + } + + if (Forestry.isModLoaded()) { + ItemStack[] coverIDs = { ItemList.Plank_Larch.get(2L), ItemList.Plank_Teak.get(2L), + ItemList.Plank_Acacia_Green.get(2L), ItemList.Plank_Lime.get(2L), ItemList.Plank_Chestnut.get(2L), + ItemList.Plank_Wenge.get(2L), ItemList.Plank_Baobab.get(2L), ItemList.Plank_Sequoia.get(2L), + ItemList.Plank_Kapok.get(2L), ItemList.Plank_Ebony.get(2L), ItemList.Plank_Mahagony.get(2L), + ItemList.Plank_Balsa.get(2L), ItemList.Plank_Willow.get(2L), ItemList.Plank_Walnut.get(2L), + ItemList.Plank_Greenheart.get(2L), ItemList.Plank_Cherry.get(2L), ItemList.Plank_Mahoe.get(2L), + ItemList.Plank_Poplar.get(2L), ItemList.Plank_Palm.get(2L), ItemList.Plank_Papaya.get(2L), + ItemList.Plank_Pine.get(2L), ItemList.Plank_Plum.get(2L), ItemList.Plank_Maple.get(2L), + ItemList.Plank_Citrus.get(2L) }; + + for (ItemStack cover : coverIDs) { + API.hideItem(cover); + } + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/OreDictUnification.java b/src/main/java/gregtech/loaders/postload/recipes/OreDictUnification.java new file mode 100644 index 0000000000..f8c816dc5c --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/OreDictUnification.java @@ -0,0 +1,23 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.HardcoreEnderExpansion; +import static gregtech.api.util.GT_ModHandler.getModItem; + +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_OreDictUnificator; + +public class OreDictUnification implements Runnable { + + @Override + public void run() { + if (HardcoreEnderExpansion.isModLoaded()) { + GT_OreDictUnificator.set( + OrePrefixes.ingot, + Materials.HeeEndium, + getModItem(HardcoreEnderExpansion.ID, "endium_ingot", 1), + true, + true); + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/PackagerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PackagerRecipes.java new file mode 100644 index 0000000000..bb434cbf7d --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/PackagerRecipes.java @@ -0,0 +1,51 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.packagerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_OreDictUnificator; + +public class PackagerRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Scrap.get(9), ItemList.Schematic_3by3.get(0)) + .itemOutputs(ItemList.IC2_Scrapbox.get(1)) + .duration(16 * TICKS) + .eut(1) + .addTo(packagerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Food_Fries.get(1), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Paper, 1)) + .itemOutputs(ItemList.Food_Packaged_Fries.get(1)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(packagerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Food_PotatoChips.get(1), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 1)) + .itemOutputs(ItemList.Food_Packaged_PotatoChips.get(1)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(packagerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Food_ChiliChips.get(1), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 1)) + .itemOutputs(ItemList.Food_Packaged_ChiliChips.get(1)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(16) + .addTo(packagerRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java new file mode 100644 index 0000000000..fe0f7c7ed5 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java @@ -0,0 +1,50 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.enums.Mods.GoodGenerator; +import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.recipe.RecipeMaps.plasmaForgeRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.TierEU; + +public class PlasmaForgeRecipes implements Runnable { + + @Override + public void run() { + // Giga chad trophy. + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Field_Generator_UEV.get(64), + ItemList.Field_Generator_UIV.get(64), + ItemList.Field_Generator_UMV.get(64)) + .fluidInputs( + MaterialsUEVplus.ExcitedDTEC.getFluid(100_000_000), + MaterialsUEVplus.SpaceTime.getMolten(64 * 2 * 9 * 144)) + .itemOutputs(ItemList.GigaChad.get(1)) + .duration(86400 * 20 * 2) + .eut(2_000_000_000) + .metadata(COIL_HEAT, 13500) + .addTo(plasmaForgeRecipes); + + // Quantum anomaly recipe bypass for UEV+. Avoids RNG. + GT_Values.RA.stdBuilder() + .itemInputs( + getModItem(GTPlusPlus.ID, "particleBase", 1, 24), + getModItem(NewHorizonsCoreMod.ID, "item.ChromaticLens", 0), + getModItem(GoodGenerator.ID, "huiCircuit", 0, 4)) + .fluidInputs(MaterialsUEVplus.ExcitedDTRC.getFluid(92), Materials.Duranium.getMolten(144)) + .itemOutputs(getModItem(GTPlusPlus.ID, "MU-metaitem.01", 1, 32105)) + .fluidOutputs(MaterialsUEVplus.DimensionallyTranscendentResidue.getFluid(46)) + .duration(60 * SECONDS) + .eut((int) TierEU.RECIPE_UEV) + .metadata(COIL_HEAT, 10800) + .addTo(plasmaForgeRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java new file mode 100644 index 0000000000..e8a52dd1f8 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java @@ -0,0 +1,64 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.printerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static net.minecraftforge.fluids.FluidRegistry.getFluidStack; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class PrinterRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Paper, 1L)) + .itemOutputs(ItemList.Paper_Punch_Card_Empty.get(1L)) + .fluidInputs(getFluidStack("squidink", 36)) + .duration(5 * SECONDS) + .eut(2) + .addTo(printerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Paper_Punch_Card_Empty.get(1L)) + .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Punch Card Data")) + .itemOutputs(ItemList.Paper_Punch_Card_Encoded.get(1L)) + .fluidInputs(getFluidStack("squidink", 36)) + .duration(5 * SECONDS) + .eut(2) + .addTo(printerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 3L)) + .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Book Data")) + .itemOutputs(ItemList.Paper_Printed_Pages.get(1L)) + .fluidInputs(getFluidStack("squidink", 144)) + .duration(20 * SECONDS) + .eut(2) + .addTo(printerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.map, 1, 32767)) + .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Map Data")) + .itemOutputs(new ItemStack(Items.filled_map, 1, 0)) + .fluidInputs(getFluidStack("squidink", 144)) + .duration(20 * SECONDS) + .eut(2) + .addTo(printerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.book, 1, 32767)) + .itemOutputs(GT_Utility.getWrittenBook("Manual_Printer", ItemList.Book_Written_01.get(1L))) + .fluidInputs(getFluidStack("squidink", 144)) + .duration(20 * SECONDS) + .eut(2) + .addTo(printerRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/Pulverizer.java b/src/main/java/gregtech/loaders/postload/recipes/Pulverizer.java new file mode 100644 index 0000000000..c24dd2dbae --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/Pulverizer.java @@ -0,0 +1,581 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.AppliedEnergistics2; +import static gregtech.api.enums.Mods.HardcoreEnderExpansion; +import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_OreDictUnificator; + +public class Pulverizer implements Runnable { + + @Override + public void run() { + // recycling Long Distance Pipes + { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Long_Distance_Pipeline_Fluid.get(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 19)) + .duration(15 * SECONDS) + .eut(4) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Long_Distance_Pipeline_Item.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tin, 12), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 7)) + .duration(15 * SECONDS) + .eut(4) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Long_Distance_Pipeline_Fluid_Pipe.get(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Steel, 2)) + .duration(10 * TICKS) + .eut(4) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Long_Distance_Pipeline_Item_Pipe.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Steel, 1)) + .duration(10 * TICKS) + .eut(4) + .addTo(maceratorRecipes); + } + + // marbe dust( stone dust + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Marble, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Marble, 1)) + .duration(8 * SECONDS) + .eut(4) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Thaumcraft.ID, "ItemResource", 1, 18)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1)) + .duration(1 * SECONDS + 1 * TICKS) + .eut(4) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.reeds, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_Cupronickel.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cupronickel, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tin, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 2)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(80) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_Kanthal.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Kanthal, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cupronickel, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 3)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(80) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_Nichrome.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nichrome, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Kanthal, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 4)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(80) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_TungstenSteel.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TPV, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nichrome, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 5)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(80) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_HSSG.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HSSG, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TPV, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 6)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(80) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_HSSS.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HSSS, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HSSG, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 7)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(80) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_Naquadah.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HSSS, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 8)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(80) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_NaquadahAlloy.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NaquadahAlloy, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 9)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(80) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_Trinium.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Trinium, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NaquadahAlloy, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 10)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(80) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_ElectrumFlux.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.ElectrumFlux, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Trinium, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 11)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(80) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Coil_AwakenedDraconium.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DraconiumAwakened, 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.ElectrumFlux, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 12)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(80) + .addTo(maceratorRecipes); + + if (Railcraft.isModLoaded()) { + // recycling RC Tanks + // Iron + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 0)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 2)) + .duration(15 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(15 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bronze, 12), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Iron, 3)) + .duration(15 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + // Steel + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 13)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 2)) + .duration(15 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 14)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(15 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 15)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 12), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Steel, 3)) + .duration(15 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + // Aluminium + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 0)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 2)) + .duration(22 * SECONDS + 10 * TICKS) + .eut(8) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(22 * SECONDS + 10 * TICKS) + .eut(8) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 12), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Aluminium, 3)) + .duration(22 * SECONDS + 10 * TICKS) + .eut(8) + .addTo(maceratorRecipes); + + // Stainless Steel + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 3)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.StainlessSteel, 2)) + .duration(30 * SECONDS) + .eut(16) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.StainlessSteel, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(30 * SECONDS) + .eut(16) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 5)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.StainlessSteel, 12), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.StainlessSteel, 3)) + .duration(30 * SECONDS) + .eut(16) + .addTo(maceratorRecipes); + + // Titanium + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 6)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 2)) + .duration(30 * SECONDS) + .eut(30) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 7)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(30 * SECONDS) + .eut(30) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 8)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 12), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Titanium, 3)) + .duration(30 * SECONDS) + .eut(30) + .addTo(maceratorRecipes); + + // Tungesten Steel + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 9)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 2)) + .duration(30 * SECONDS) + .eut(30) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 10)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(30 * SECONDS) + .eut(30) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 11)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 12), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.TungstenSteel, 3)) + .duration(30 * SECONDS) + .eut(30) + .addTo(maceratorRecipes); + + // Palladium + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 12)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Palladium, 2)) + .duration(37 * SECONDS + 10 * TICKS) + .eut(64) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 13)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Palladium, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(37 * SECONDS + 10 * TICKS) + .eut(64) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 14)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NiobiumTitanium, 12), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Chrome, 3)) + .duration(37 * SECONDS + 10 * TICKS) + .eut(64) + .addTo(maceratorRecipes); + + // Iridium + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 0)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 2)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 2)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Enderium, 12), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Iridium, 3)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(maceratorRecipes); + + // Osmium + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 3)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Osmium, 2)) + .duration(52 * SECONDS + 10 * TICKS) + .eut(256) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Osmium, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(52 * SECONDS + 10 * TICKS) + .eut(256) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 5)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 12), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Osmium, 3)) + .duration(52 * SECONDS + 10 * TICKS) + .eut(256) + .addTo(maceratorRecipes); + + // Neutronium + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 6)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Neutronium, 2)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 7)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Neutronium, 1), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 8)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Neutronium, 12), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Neutronium, 3)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(maceratorRecipes); + } + + if (AppliedEnergistics2.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "tile.BlockSkyStone", 1L, 32767)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 45)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(AppliedEnergistics2.ID, "tile.BlockSkyChest", 1L, 32767)) + .itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 8L, 45)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.blaze_rod, 1)) + .itemOutputs(new ItemStack(Items.blaze_powder, 3), new ItemStack(Items.blaze_powder, 1)) + .outputChances(10000, 5000) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.web, 1, 0)) + .itemOutputs(new ItemStack(Items.string, 1), new ItemStack(Items.string, 1)) + .outputChances(10000, 5000) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_mushroom, 1, 32767)) + .itemOutputs(ItemList.IC2_Grin_Powder.get(1L)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.item_frame, 1, 32767)) + .itemOutputs( + new ItemStack(Items.leather, 1), + GT_OreDictUnificator.getDust(Materials.Wood, OrePrefixes.stick.mMaterialAmount * 4L)) + .outputChances(10000, 9500) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.bow, 1, 0)) + .itemOutputs( + new ItemStack(Items.string, 3), + GT_OreDictUnificator.getDust(Materials.Wood, OrePrefixes.stick.mMaterialAmount * 3)) + .outputChances(10000, 9500) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Brick.getIngots(1)) + .itemOutputs(Materials.Brick.getDustSmall(1)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.brick_stairs, 1, 0)) + .itemOutputs(Materials.Brick.getDustSmall(6)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.CompressedFireclay.get(1)) + .itemOutputs(Materials.Fireclay.getDustSmall(1)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Firebrick.get(1)) + .itemOutputs(Materials.Brick.getDust(1)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Casing_Firebricks.get(1)) + .itemOutputs(Materials.Brick.getDust(4)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Machine_Bricked_BlastFurnace.get(1)) + .itemOutputs(Materials.Brick.getDust(8), Materials.Iron.getDust(1)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + if (HardcoreEnderExpansion.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(HardcoreEnderExpansion.ID, "endium_ore", 1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.HeeEndium, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Endstone, 1)) + .outputChances(10000, 5000) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/PyrolyseRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PyrolyseRecipes.java new file mode 100644 index 0000000000..51017358b4 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/PyrolyseRecipes.java @@ -0,0 +1,137 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.enums.Mods.Railcraft; +import static gregtech.api.recipe.RecipeMaps.pyrolyseRecipes; +import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import mods.railcraft.common.blocks.aesthetics.cube.EnumCube; +import mods.railcraft.common.items.RailcraftToolItems; + +public class PyrolyseRecipes implements Runnable { + + @Override + public void run() { + if (Railcraft.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 16), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(RailcraftToolItems.getCoalCoke(16)) + .fluidOutputs(Materials.Creosote.getFluid(8000)) + .duration(32 * SECONDS) + .eut(64) + .addTo(pyrolyseRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 16), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(RailcraftToolItems.getCoalCoke(16)) + .fluidInputs(Materials.Nitrogen.getGas(1000)) + .fluidOutputs(Materials.Creosote.getFluid(8000)) + .duration(16 * SECONDS) + .eut(96) + .addTo(pyrolyseRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 8), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(EnumCube.COKE_BLOCK.getItem(8)) + .fluidOutputs(Materials.Creosote.getFluid(32000)) + .duration(2 * MINUTES + 8 * SECONDS) + .eut(64) + .addTo(pyrolyseRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 8), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(EnumCube.COKE_BLOCK.getItem(8)) + .fluidInputs(Materials.Nitrogen.getGas(1000)) + .fluidOutputs(Materials.Creosote.getFluid(32000)) + .duration(1 * MINUTES + 4 * SECONDS) + .eut(96) + .addTo(pyrolyseRecipes); + } + + if (Forestry.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Forestry.ID, "fertilizerBio", 4), GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Water.getFluid(4000)) + .fluidOutputs(Materials.Biomass.getFluid(5000)) + .duration(45 * SECONDS) + .eut(10) + .addTo(pyrolyseRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(Forestry.ID, "mulch", 32), GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Water.getFluid(4000)) + .fluidOutputs(Materials.Biomass.getFluid(5000)) + .duration(45 * SECONDS) + .eut(10) + .addTo(pyrolyseRecipes); + } + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("biochaff", 4), GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Water.getFluid(4000)) + .fluidOutputs(new FluidStack(FluidRegistry.getFluid("ic2biomass"), 5000)) + .duration(45 * SECONDS) + .eut(10) + .addTo(pyrolyseRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("biochaff", 1), GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.Water.getFluid(1500)) + .fluidOutputs(Materials.FermentedBiomass.getFluid(1500)) + .duration(10 * SECONDS) + .eut(10) + .addTo(pyrolyseRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("ic2biomass"), 1000)) + .fluidOutputs(Materials.FermentedBiomass.getFluid(1000)) + .duration(5 * SECONDS) + .eut(10) + .addTo(pyrolyseRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.Biomass.getFluid(1000)) + .fluidOutputs(Materials.FermentedBiomass.getFluid(1000)) + .duration(5 * SECONDS) + .eut(10) + .addTo(pyrolyseRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Sugar.getDust(23), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Charcoal.getDust(12)) + .fluidOutputs(Materials.Water.getFluid(1500)) + .duration(16 * SECONDS) + .eut(64) + .addTo(pyrolyseRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Sugar.getDust(23), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(Materials.Charcoal.getDust(12)) + .fluidInputs(Materials.Nitrogen.getGas(500)) + .fluidOutputs(Materials.Water.getFluid(1500)) + .duration(8 * SECONDS) + .eut(96) + .addTo(pyrolyseRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/RecipeRemover.java b/src/main/java/gregtech/loaders/postload/recipes/RecipeRemover.java new file mode 100644 index 0000000000..10132ece09 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/RecipeRemover.java @@ -0,0 +1,166 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.ExtraTrees; +import static gregtech.api.enums.Mods.IndustrialCraft2; +import static gregtech.api.util.GT_ModHandler.getModItem; + +import java.util.Iterator; +import java.util.Map; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import ic2.api.recipe.ILiquidHeatExchangerManager; +import ic2.api.recipe.Recipes; + +public class RecipeRemover implements Runnable { + + @Override + public void run() { + GT_ModHandler.removeRecipeByOutput(ItemList.IC2_Fertilizer.get(1L)); + removeCrafting(); + removeSmelting(); + removeIC2Recipes(); + } + + public void removeCrafting() { + GT_ModHandler.removeRecipe(new ItemStack(Items.lava_bucket), ItemList.Cell_Empty.get(1L)); + GT_ModHandler.removeRecipe(new ItemStack(Items.water_bucket), ItemList.Cell_Empty.get(1L)); + } + + public void removeIC2Recipes() { + + try { + GT_Utility.removeSimpleIC2MachineRecipe( + GT_Values.NI, + Recipes.metalformerExtruding.getRecipes(), + ItemList.Cell_Empty.get(3L)); + GT_Utility.removeSimpleIC2MachineRecipe( + ItemList.IC2_Energium_Dust.get(1L), + Recipes.compressor.getRecipes(), + GT_Values.NI); + GT_Utility.removeSimpleIC2MachineRecipe( + new ItemStack(Items.gunpowder), + Recipes.extractor.getRecipes(), + GT_Values.NI); + GT_Utility.removeSimpleIC2MachineRecipe( + new ItemStack(Blocks.wool, 1, 32767), + Recipes.extractor.getRecipes(), + GT_Values.NI); + GT_Utility.removeSimpleIC2MachineRecipe( + new ItemStack(Blocks.gravel), + Recipes.oreWashing.getRecipes(), + GT_Values.NI); + } catch (Throwable ignored) {} + GT_Utility.removeIC2BottleRecipe( + GT_ModHandler.getIC2Item("fuelRod", 1), + GT_ModHandler.getIC2Item("UranFuel", 1), + Recipes.cannerBottle.getRecipes(), + GT_ModHandler.getIC2Item("reactorUraniumSimple", 1, 1)); + GT_Utility.removeIC2BottleRecipe( + GT_ModHandler.getIC2Item("fuelRod", 1), + GT_ModHandler.getIC2Item("MOXFuel", 1), + Recipes.cannerBottle.getRecipes(), + GT_ModHandler.getIC2Item("reactorMOXSimple", 1, 1)); + + GT_Utility.removeSimpleIC2MachineRecipe( + new ItemStack(Blocks.cobblestone), + GT_ModHandler.getMaceratorRecipeList(), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L)); + GT_Utility.removeSimpleIC2MachineRecipe( + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lapis, 1L), + GT_ModHandler.getMaceratorRecipeList(), + ItemList.IC2_Plantball.get(1L)); + GT_Utility.removeSimpleIC2MachineRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), + GT_ModHandler.getMaceratorRecipeList(), + ItemList.IC2_Plantball.get(1L)); + GT_Utility.removeSimpleIC2MachineRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L), + GT_ModHandler.getMaceratorRecipeList(), + ItemList.IC2_Plantball.get(1L)); + GT_Utility.removeSimpleIC2MachineRecipe( + GT_Values.NI, + GT_ModHandler.getMaceratorRecipeList(), + getModItem(IndustrialCraft2.ID, "itemBiochaff", 1L)); + + GT_Utility.removeSimpleIC2MachineRecipe( + new ItemStack(Blocks.cactus, 8, 0), + GT_ModHandler.getCompressorRecipeList(), + getModItem(IndustrialCraft2.ID, "itemFuelPlantBall", 1L)); + GT_Utility.removeSimpleIC2MachineRecipe( + getModItem(ExtraTrees.ID, "food", 8L, 24), + GT_ModHandler.getCompressorRecipeList(), + getModItem(IndustrialCraft2.ID, "itemFuelPlantBall", 1L)); + + GT_Utility.removeSimpleIC2MachineRecipe( + ItemList.Crop_Drop_BobsYerUncleRanks.get(1L), + GT_ModHandler.getExtractorRecipeList(), + null); + GT_Utility.removeSimpleIC2MachineRecipe( + ItemList.Crop_Drop_Ferru.get(1L), + GT_ModHandler.getExtractorRecipeList(), + null); + GT_Utility.removeSimpleIC2MachineRecipe( + ItemList.Crop_Drop_Aurelia.get(1L), + GT_ModHandler.getExtractorRecipeList(), + null); + + try { + Map<String, ILiquidHeatExchangerManager.HeatExchangeProperty> tLiqExchange = Recipes.liquidCooldownManager + .getHeatExchangeProperties(); + Iterator<Map.Entry<String, ILiquidHeatExchangerManager.HeatExchangeProperty>> tIterator = tLiqExchange + .entrySet() + .iterator(); + while (tIterator.hasNext()) { + Map.Entry<String, ILiquidHeatExchangerManager.HeatExchangeProperty> tEntry = tIterator.next(); + if (tEntry.getKey() + .equals("ic2hotcoolant")) { + tIterator.remove(); + Recipes.liquidCooldownManager.addFluid("ic2hotcoolant", "ic2coolant", 100); + } + } + } catch (Throwable e) { + /* Do nothing */ + } + + try { + Map<String, ILiquidHeatExchangerManager.HeatExchangeProperty> tLiqExchange = Recipes.liquidHeatupManager + .getHeatExchangeProperties(); + Iterator<Map.Entry<String, ILiquidHeatExchangerManager.HeatExchangeProperty>> tIterator = tLiqExchange + .entrySet() + .iterator(); + while (tIterator.hasNext()) { + Map.Entry<String, ILiquidHeatExchangerManager.HeatExchangeProperty> tEntry = tIterator.next(); + if (tEntry.getKey() + .equals("ic2coolant")) { + tIterator.remove(); + Recipes.liquidHeatupManager.addFluid("ic2coolant", "ic2hotcoolant", 100); + } + } + } catch (Throwable e) { + /* Do nothing */ + } + + } + + public void removeSmelting() { + GT_ModHandler.removeFurnaceSmelting(GT_OreDictUnificator.get(OrePrefixes.ore, Materials.Graphite, 1L)); + GT_ModHandler + .removeFurnaceSmelting(GT_OreDictUnificator.get(OrePrefixes.oreBlackgranite, Materials.Graphite, 1L)); + GT_ModHandler.removeFurnaceSmelting(GT_OreDictUnificator.get(OrePrefixes.oreEndstone, Materials.Graphite, 1L)); + GT_ModHandler + .removeFurnaceSmelting(GT_OreDictUnificator.get(OrePrefixes.oreNetherrack, Materials.Graphite, 1L)); + GT_ModHandler + .removeFurnaceSmelting(GT_OreDictUnificator.get(OrePrefixes.oreRedgranite, Materials.Graphite, 1L)); + GT_ModHandler.removeFurnaceSmelting(ItemList.IC2_Resin.get(1L)); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/SifterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/SifterRecipes.java new file mode 100644 index 0000000000..8d3614d76a --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/SifterRecipes.java @@ -0,0 +1,47 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.sifterRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_OreDictUnificator; + +public class SifterRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.gravel, 1, 0)) + .itemOutputs( + new ItemStack(Items.flint, 1, 0), + new ItemStack(Items.flint, 1, 0), + new ItemStack(Items.flint, 1, 0), + new ItemStack(Items.flint, 1, 0), + new ItemStack(Items.flint, 1, 0), + new ItemStack(Items.flint, 1, 0)) + .outputChances(10000, 9000, 8000, 6000, 3300, 2500) + .duration(30 * SECONDS) + .eut(16) + .addTo(sifterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Coal, 1L)) + .itemOutputs( + new ItemStack(Items.coal, 1, 0), + new ItemStack(Items.coal, 1, 0), + new ItemStack(Items.coal, 1, 0), + new ItemStack(Items.coal, 1, 0), + new ItemStack(Items.coal, 1, 0), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1L)) + .outputChances(10000, 9000, 8000, 7000, 6000, 5000) + .duration(30 * SECONDS) + .eut(16) + .addTo(sifterRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/SlicerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/SlicerRecipes.java new file mode 100644 index 0000000000..73d251014e --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/SlicerRecipes.java @@ -0,0 +1,42 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.slicerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; + +public class SlicerRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Dough_Chocolate.get(1), ItemList.Shape_Slicer_Flat.get(0)) + .itemOutputs(ItemList.Food_Raw_Cookie.get(4)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(slicerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Baked_Bun.get(1), ItemList.Shape_Slicer_Flat.get(0)) + .itemOutputs(ItemList.Food_Sliced_Bun.get(2)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(slicerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Baked_Bread.get(1), ItemList.Shape_Slicer_Flat.get(0)) + .itemOutputs(ItemList.Food_Sliced_Bread.get(2)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(slicerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Baked_Baguette.get(1), ItemList.Shape_Slicer_Flat.get(0)) + .itemOutputs(ItemList.Food_Sliced_Baguette.get(2)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(4) + .addTo(slicerRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/SmelterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/SmelterRecipes.java new file mode 100644 index 0000000000..e56cc613e7 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/SmelterRecipes.java @@ -0,0 +1,70 @@ +package gregtech.loaders.postload.recipes; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class SmelterRecipes implements Runnable { + + @Override + public void run() { + GT_ModHandler.addSmeltingRecipe(ItemList.Food_Raw_PotatoChips.get(1L), ItemList.Food_PotatoChips.get(1L)); + + GT_ModHandler + .addSmeltingRecipe(ItemList.Food_Potato_On_Stick.get(1L), ItemList.Food_Potato_On_Stick_Roasted.get(1L)); + + GT_ModHandler.addSmeltingRecipe(ItemList.Food_Raw_Bun.get(1L), ItemList.Food_Baked_Bun.get(1L)); + + GT_ModHandler.addSmeltingRecipe(ItemList.Food_Raw_Bread.get(1L), ItemList.Food_Baked_Bread.get(1L)); + + GT_ModHandler.addSmeltingRecipe(ItemList.Food_Raw_Baguette.get(1L), ItemList.Food_Baked_Baguette.get(1L)); + + GT_ModHandler + .addSmeltingRecipe(ItemList.Food_Raw_Pizza_Veggie.get(1L), ItemList.Food_Baked_Pizza_Veggie.get(1L)); + + GT_ModHandler + .addSmeltingRecipe(ItemList.Food_Raw_Pizza_Cheese.get(1L), ItemList.Food_Baked_Pizza_Cheese.get(1L)); + + GT_ModHandler.addSmeltingRecipe(ItemList.Food_Raw_Pizza_Meat.get(1L), ItemList.Food_Baked_Pizza_Meat.get(1L)); + + GT_ModHandler.addSmeltingRecipe(ItemList.Food_Raw_Baguette.get(1L), ItemList.Food_Baked_Baguette.get(1L)); + + GT_ModHandler.addSmeltingRecipe(ItemList.Food_Raw_Cake.get(1L), ItemList.Food_Baked_Cake.get(1L)); + + GT_ModHandler.addSmeltingRecipe(ItemList.Food_Raw_Cookie.get(1L), new ItemStack(Items.cookie, 1)); + + GT_ModHandler.addSmeltingRecipe(new ItemStack(Items.slime_ball, 1), ItemList.IC2_Resin.get(1L)); + + GT_ModHandler.addSmeltingRecipe( + GT_OreDictUnificator.get(OrePrefixes.ore, Materials.Graphite, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 1L)); + + GT_ModHandler.addSmeltingRecipe( + GT_OreDictUnificator.get(OrePrefixes.oreBlackgranite, Materials.Graphite, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 1L)); + + GT_ModHandler.addSmeltingRecipe( + GT_OreDictUnificator.get(OrePrefixes.oreEndstone, Materials.Graphite, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 1L)); + + GT_ModHandler.addSmeltingRecipe( + GT_OreDictUnificator.get(OrePrefixes.oreNetherrack, Materials.Graphite, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 1L)); + + GT_ModHandler.addSmeltingRecipe( + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Iron, 1L), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.WroughtIron, 1L)); + + GT_ModHandler.addSmeltingRecipe( + GT_OreDictUnificator.get(OrePrefixes.oreRedgranite, Materials.Graphite, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 1L)); + + GameRegistry.addSmelting(ItemList.CompressedFireclay.get(1), ItemList.Firebrick.get(1), 0); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/ThaumcraftRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ThaumcraftRecipes.java new file mode 100644 index 0000000000..17bc8b3002 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/ThaumcraftRecipes.java @@ -0,0 +1,961 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.AppliedEnergistics2; +import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.util.GT_ModHandler.getModItem; + +import java.util.Arrays; +import java.util.Collections; + +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; + +import gregtech.api.GregTech_API; +import gregtech.api.enchants.Enchantment_Hazmat; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TC_Aspects; +import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.loaders.postload.GT_MachineRecipeLoader; + +public class ThaumcraftRecipes implements Runnable { + + @Override + public void run() { + if ((!Thaumcraft.isModLoaded()) || GregTech_API.sThaumcraftCompat == null) { + return; + } + + // Add Recipe for TC Crucible: Salis Mundus to Balanced Shards + String tKey = "GT_BALANCE_SHARD_RECIPE"; + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + "TB.SM", + getModItem(Thaumcraft.ID, "ItemResource", 1L, 14), + getModItem(Thaumcraft.ID, "ItemShard", 1L, 6), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.PRAECANTATIO, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 1L))); + + tKey = "GT_WOOD_TO_CHARCOAL"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way of making charcoal magically instead of using regular ovens for this purpose.<BR><BR>To create charcoal from wood you first need an air-free environment, some vacuus essentia is needed for that, then you need to incinerate the wood using ignis essentia and wait until all the water inside the wood is burned away.<BR><BR>This method however doesn't create creosote oil as byproduct."); + + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Charcoal Transmutation", + "Turning wood into charcoal", + new String[] { "ALUMENTUM" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 1L), + 2, + 0, + 13, + 5, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 8L), + new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 8L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.log.get(Materials.Wood), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 1L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))) }); + + tKey = "GT_FILL_WATER_BUCKET"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way of filling a bucket with aqua essentia in order to simply get water."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Water Transmutation", + "Filling buckets with water", + null, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.bucket, Materials.Water, 1L), + 2, + 0, + 16, + 5, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 4L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + GT_OreDictUnificator.get(OrePrefixes.bucket, Materials.Empty, 1L), + GT_OreDictUnificator.get(OrePrefixes.bucket, Materials.Water, 1L), + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 4L))), + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + GT_OreDictUnificator.get(OrePrefixes.bucketClay, Materials.Empty, 1L), + GT_OreDictUnificator.get(OrePrefixes.bucketClay, Materials.Water, 1L), + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 4L))), + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + GT_OreDictUnificator.get(OrePrefixes.capsule, Materials.Empty, 1L), + GT_OreDictUnificator.get(OrePrefixes.capsule, Materials.Water, 1L), + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 4L))), + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1L), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Water, 1L), + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 4L))) }); + + tKey = "GT_TRANSZINC"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way to multiply zinc by steeping zinc nuggets in metallum harvested from other metals."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Zinc Transmutation", + "Transformation of metals into zinc", + new String[] { "TRANSTIN" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Zinc, 1L), + 2, + 1, + 9, + 13, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.Zinc), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Zinc, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L))) }); + + tKey = "GT_TRANSANTIMONY"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way to multiply antimony by steeping antimony nuggets in metallum harvested from other metals."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Antimony Transmutation", + "Transformation of metals into antimony", + new String[] { "GT_TRANSZINC", "TRANSLEAD" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Antimony, 1L), + 2, + 1, + 9, + 14, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.Antimony), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Antimony, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L))) }); + + tKey = "GT_TRANSNICKEL"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way to multiply nickel by steeping nickel nuggets in metallum harvested from other metals."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Nickel Transmutation", + "Transformation of metals into nickel", + new String[] { "TRANSLEAD" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Nickel, 1L), + 2, + 1, + 9, + 15, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.Nickel), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Nickel, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))) }); + + tKey = "GT_TRANSCOBALT"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way to multiply cobalt by steeping cobalt nuggets in metallum harvested from other metals."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Cobalt Transmutation", + "Transformation of metals into cobalt", + new String[] { "GT_TRANSNICKEL" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Cobalt, 1L), + 2, + 1, + 9, + 16, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.Cobalt), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Cobalt, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 1L))) }); + + tKey = "GT_TRANSBISMUTH"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way to multiply bismuth by steeping bismuth nuggets in metallum harvested from other metals."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Bismuth Transmutation", + "Transformation of metals into bismuth", + new String[] { "GT_TRANSCOBALT" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Bismuth, 1L), + 2, + 1, + 11, + 17, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.Bismuth), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Bismuth, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 1L))) }); + + tKey = "GT_IRON_TO_STEEL"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way of making Iron harder by just re-ordering its components.<BR><BR>This Method can be used to create a Material called Steel, which is used in many non-Thaumaturgic applications."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Steel Transmutation", + "Transforming iron to steel", + new String[] { "TRANSIRON", "GT_WOOD_TO_CHARCOAL" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Steel, 1L), + 3, + 0, + 13, + 8, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.Iron), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Steel, 1L), + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 1L))) }); + + tKey = "GT_TRANSBRONZE"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way of creating Alloys using the already known transmutations of Copper and Tin.<BR><BR>This Method can be used to create a Bronze directly without having to go through an alloying process."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Bronze Transmutation", + "Transformation of metals into bronze", + new String[] { "TRANSTIN", "TRANSCOPPER" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Bronze, 1L), + 2, + 0, + 13, + 11, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.Bronze), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Bronze, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 1L))) }); + + tKey = "GT_TRANSELECTRUM"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "Your discovery of Bronze Transmutation has lead you to the conclusion it works with other Alloys such as Electrum as well."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Electrum Transmutation", + "Transformation of metals into electrum", + new String[] { "GT_TRANSBRONZE", "TRANSGOLD", "TRANSSILVER" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Electrum, 1L), + 2, + 1, + 11, + 11, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.Electrum), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Electrum, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 1L))) }); + + tKey = "GT_TRANSBRASS"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "Your discovery of Bronze Transmutation has lead you to the conclusion it works with other Alloys such as Brass as well."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Brass Transmutation", + "Transformation of metals into brass", + new String[] { "GT_TRANSBRONZE", "GT_TRANSZINC" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Brass, 1L), + 2, + 1, + 11, + 12, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.Brass), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Brass, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 1L))) }); + + tKey = "GT_TRANSINVAR"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "Your discovery of Bronze Transmutation has lead you to the conclusion it works with other Alloys such as Invar as well."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Invar Transmutation", + "Transformation of metals into invar", + new String[] { "GT_TRANSBRONZE", "GT_TRANSNICKEL" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Invar, 1L), + 2, + 1, + 11, + 15, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.Invar), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Invar, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L))) }); + + tKey = "GT_TRANSCUPRONICKEL"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "Your discovery of Bronze Transmutation has lead you to the conclusion it works with other Alloys such as Cupronickel as well."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Cupronickel Transmutation", + "Transformation of metals into cupronickel", + new String[] { "GT_TRANSBRONZE", "GT_TRANSNICKEL" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Cupronickel, 1L), + 2, + 1, + 11, + 16, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.Cupronickel), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Cupronickel, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))) }); + + tKey = "GT_TRANSBATTERYALLOY"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "Your discovery of Bronze Transmutation has lead you to the conclusion it works with other Alloys such as Battery Alloy as well."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Battery Alloy Transmutation", + "Transformation of metals into battery alloy", + new String[] { "GT_TRANSBRONZE", "GT_TRANSANTIMONY" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.BatteryAlloy, 1L), + 2, + 1, + 11, + 13, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.BatteryAlloy), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.BatteryAlloy, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 1L))) }); + + tKey = "GT_TRANSSOLDERINGALLOY"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "Your discovery of Bronze Transmutation has lead you to the conclusion it works with other Alloys such as Soldering Alloy as well."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Soldering Alloy Transmutation", + "Transformation of metals into soldering alloy", + new String[] { "GT_TRANSBRONZE", "GT_TRANSANTIMONY" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.SolderingAlloy, 1L), + 2, + 1, + 11, + 14, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.SolderingAlloy), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.SolderingAlloy, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L))) }); + + tKey = "GT_ADVANCEDMETALLURGY"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "Now that you have discovered all the basic metals, you can finally move on to the next Level of magic metallurgy and create more advanced metals"); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Advanced Metallurgic Transmutation", + "Mastering the basic metals", + new String[] { "GT_TRANSBISMUTH", "GT_IRON_TO_STEEL", "GT_TRANSSOLDERINGALLOY", "GT_TRANSBATTERYALLOY", + "GT_TRANSBRASS", "GT_TRANSELECTRUM", "GT_TRANSCUPRONICKEL", "GT_TRANSINVAR" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L), + 3, + 0, + 16, + 14, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 50L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PRAECANTATIO, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.NEBRISUM, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 20L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey }); + + tKey = "GT_TRANSALUMINIUM"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way to multiply aluminium by steeping aluminium nuggets in metallum harvested from other metals.<BR><BR>This transmutation is slightly harder to achieve, because aluminium has special properties, which require more order to achieve the desired result."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Aluminium Transmutation", + "Transformation of metals into aluminium", + new String[] { "GT_ADVANCEDMETALLURGY" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Aluminium, 1L), + 4, + 0, + 19, + 14, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VOLATUS, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.nugget.get(Materials.Aluminium), + GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Aluminium, 3L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VOLATUS, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))) }); + + tKey = "GT_TRANSSKYSTONE"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way to convert obsidian to skystone.<BR><BR>Not sure why you'd want to do this, unless skystone is somehow unavailable in your world."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Skystone Transmutation", + "Transformation of obsidian into skystone", + new String[] { "GT_ADVANCEDMETALLURGY" }, + "ALCHEMY", + getModItem(AppliedEnergistics2.ID, "tile.BlockSkyStone", 1), + 4, + 0, + 19, + 15, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VOLATUS, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ALIENIS, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.TERRA, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + new ItemStack(Blocks.obsidian), + getModItem(AppliedEnergistics2.ID, "tile.BlockSkyStone", 1), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VOLATUS, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.TERRA, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ALIENIS, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 1L))) }); + + tKey = "GT_TRANSMINERAL"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way to convert basaltic mineral sand to granitic mineral sand and vice versa.<BR><BR>Handy for people living in the sky who can't access it normally, or if you really want one or the other."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Basaltic Mineral Transmutation", + "Transformation of mineral sands", + new String[] { "GT_ADVANCEDMETALLURGY" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniticMineralSand, 1L), + 4, + 0, + 19, + 16, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VOLATUS, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.TERRA, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BasalticMineralSand, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniticMineralSand, 1L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 1L))), + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniticMineralSand, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BasalticMineralSand, 1L), + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 1L))) }); + + tKey = "GT_CRYSTALLISATION"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "Sometimes when processing your Crystal Shards they become a pile of Dust instead of the mostly required Shard.<BR><BR>You have finally found a way to reverse this Process by using Vitreus Essentia for recrystallising the Shards."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Shard Recrystallisation", + "Fixing your precious crystals", + new String[] { "ALCHEMICALMANUFACTURE" }, + "ALCHEMY", + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedOrder, 1L), + 3, + 0, + -11, + -3, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 5L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.dust.get(Materials.Amber), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Amber, 1L), + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L))), + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.dust.get(Materials.InfusedOrder), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedOrder, 1L), + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L))), + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.dust.get(Materials.InfusedEntropy), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedEntropy, 1L), + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L))), + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.dust.get(Materials.InfusedAir), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedAir, 1L), + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L))), + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.dust.get(Materials.InfusedEarth), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedEarth, 1L), + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L))), + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.dust.get(Materials.InfusedFire), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedFire, 1L), + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L))), + GregTech_API.sThaumcraftCompat.addCrucibleRecipe( + tKey, + OrePrefixes.dust.get(Materials.InfusedWater), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedWater, 1L), + Collections.singletonList(new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L))) }); + + tKey = "GT_MAGICENERGY"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "While trying to find new ways to integrate magic into your industrial factories, you have discovered a way to convert magical energy into electrical power."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Magic Energy Conversion", + "Magic to Power", + new String[] { "ARCANEBORE" }, + "ARTIFICE", + ItemList.MagicEnergyConverter_LV.get(1L), + 3, + 0, + -3, + 10, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 10L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + tKey, + ItemList.Hull_LV.get(1L), + new ItemStack[] { new ItemStack(Blocks.beacon), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), + ItemList.Sensor_MV.get(2L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Thaumium, 1L), + ItemList.Sensor_MV.get(2L) }, + ItemList.MagicEnergyConverter_LV.get(1L), + 5, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L))) }); + + tKey = "GT_MAGICENERGY2"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "Attempts to increase the output of your Magic Energy generators have resulted in significant improvements."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Adept Magic Energy Conversion", + "Magic to Power", + new String[] { "GT_MAGICENERGY" }, + "ARTIFICE", + ItemList.MagicEnergyConverter_MV.get(1L), + 1, + 1, + -4, + 12, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 10L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + tKey, + ItemList.Hull_MV.get(1L), + new ItemStack[] { new ItemStack(Blocks.beacon), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 1L), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Thaumium, 1L), + ItemList.Sensor_HV.get(2L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 1L), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.StainlessSteel, 1L), + ItemList.Sensor_HV.get(2L) }, + ItemList.MagicEnergyConverter_MV.get(1L), + 6, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L))) }); + + tKey = "GT_MAGICENERGY3"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "Attempts to further increase the output of your Magic Energy generators have resulted in great improvements."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Master Magic Energy Conversion", + "Magic to Power", + new String[] { "GT_MAGICENERGY2" }, + "ARTIFICE", + ItemList.MagicEnergyConverter_HV.get(1L), + 1, + 1, + -4, + 14, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 40L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 20L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + tKey, + ItemList.Hull_HV.get(1L), + new ItemStack[] { new ItemStack(Blocks.beacon), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 1L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1L), + ItemList.Field_Generator_MV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 1L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Titanium, 1L), + ItemList.Field_Generator_MV.get(1L) }, + ItemList.MagicEnergyConverter_HV.get(1L), + 8, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 128L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L))) }); + + tKey = "GT_MAGICABSORB"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "Research into magical energy conversion methods has identified a way to convert surrounding energies into electrical power."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Magic Energy Absorption", + "Harvesting Magic", + new String[] { "GT_MAGICENERGY" }, + "ARTIFICE", + ItemList.MagicEnergyAbsorber_LV.get(1L), + 3, + 0, + -2, + 12, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 10L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + tKey, + ItemList.Hull_LV.get(1L), + new ItemStack[] { ItemList.MagicEnergyConverter_LV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Thaumium, 1L), + ItemList.Sensor_MV.get(2L) }, + ItemList.MagicEnergyAbsorber_LV.get(1L), + 6, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 16L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 4L))) }); + + tKey = "GT_MAGICABSORB2"; + GT_LanguageManager + .addStringLocalization(GT_MachineRecipeLoader.aTextTCGTPage + tKey, "Moar output! Drain all the Magic!"); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Improved Magic Energy Absorption", + "Harvesting Magic", + new String[] { "GT_MAGICABSORB" }, + "ARTIFICE", + ItemList.MagicEnergyAbsorber_EV.get(1L), + 3, + 1, + -2, + 14, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 10L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + tKey, + ItemList.Hull_MV.get(1L), + new ItemStack[] { ItemList.MagicEnergyConverter_MV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Thaumium, 1L), ItemList.Sensor_HV.get(2L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Thaumium, 1L) }, + ItemList.MagicEnergyAbsorber_MV.get(1L), + 6, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 8L))), + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + tKey, + ItemList.Hull_HV.get(1L), + new ItemStack[] { ItemList.MagicEnergyConverter_MV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Void, 1), + ItemList.Field_Generator_MV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Void, 1), }, + ItemList.MagicEnergyAbsorber_HV.get(1L), + 8, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 128L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 128L), + new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 16L))), + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + tKey, + ItemList.Hull_EV.get(1L), + new ItemStack[] { ItemList.MagicEnergyConverter_HV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Void, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 1), + ItemList.Field_Generator_HV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Void, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 1), }, + ItemList.MagicEnergyAbsorber_EV.get(1L), + 10, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 256L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 128L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 256L), + new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 64L))) }); + + tKey = "GT_HAZMATENCH"; + GT_LanguageManager.addStringLocalization( + GT_MachineRecipeLoader.aTextTCGTPage + tKey, + "You have discovered a way to magically enchant a mundane piece of armor with the protective properties of a Hazmat suite."); + GregTech_API.sThaumcraftCompat.addResearch( + tKey, + "Hazmat Protection", + "Magical protection from physical hazards", + new String[] { "INFUSIONENCHANTMENT" }, + "ARTIFICE", + GT_ModHandler.getIC2Item("hazmatChestplate", 1), + 4, + 0, + -7, + 13, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.VITIUM, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.RADIO, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 1L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L)), + null, + new Object[] { GT_MachineRecipeLoader.aTextTCGTPage + tKey, + GregTech_API.sThaumcraftCompat.addInfusionEnchantmentRecipe( + tKey, + Enchantment_Hazmat.INSTANCE, + 5, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.VITIUM, 8L), + new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 16L), + new TC_Aspects.TC_AspectStack(TC_Aspects.RADIO, 16L), + new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 16L)), + new ItemStack[] { getModItem(Thaumcraft.ID, "ItemResource", 1L, 14), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Rubber, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Lead, 1), + getModItem(Thaumcraft.ID, "ItemResource", 1L, 14), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Rubber, 1), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Lead, 1) }) }); + + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/ThermalCentrifugeRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ThermalCentrifugeRecipes.java new file mode 100644 index 0000000000..7e10d2a1fc --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/ThermalCentrifugeRecipes.java @@ -0,0 +1,30 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_OreDictUnificator; + +public class ThermalCentrifugeRecipes implements Runnable { + + @Override + public void run() { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.SunnariumCell.get(1)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sunnarium, 1), + new ItemStack(Items.glowstone_dust, 2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(thermalCentrifugeRecipes); + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java new file mode 100644 index 0000000000..123f9903ea --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java @@ -0,0 +1,142 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.transcendentPlasmaMixerRecipes; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.util.GT_Utility; + +public class TranscendentPlasmaMixerRecipes implements Runnable { + + private static final int CRUDE_EU_PER_L = 14_514_983; + private static final int PROSAIC_EU_PER_L = 66_768_460; + private static final int RESPLENDENT_EU_PER_L = 269_326_451; + private static final int EXOTIC_EU_PER_L = 1_073_007_393; + private static final int STELLAR_EU_PER_HALF_L = 2_138_383_760; + + private static final int PRIMORDIAL_MATTER = 2_000_000_000; + + @Override + public void run() { + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs( + Materials.Helium.getPlasma(1000), + Materials.Iron.getPlasma(1000), + Materials.Calcium.getPlasma(1000), + Materials.Niobium.getPlasma(1000)) + .fluidOutputs(MaterialsUEVplus.ExcitedDTCC.getFluid(1000L)) + .duration(100) + .eut(CRUDE_EU_PER_L) + .noOptimize() + .addTo(transcendentPlasmaMixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs( + Materials.Helium.getPlasma(1000), + Materials.Iron.getPlasma(1000), + Materials.Calcium.getPlasma(1000), + Materials.Niobium.getPlasma(1000), + Materials.Radon.getPlasma(1000), + Materials.Nickel.getPlasma(1000), + Materials.Boron.getPlasma(1000), + Materials.Sulfur.getPlasma(1000)) + .fluidOutputs(MaterialsUEVplus.ExcitedDTPC.getFluid(1000L)) + .duration(100) + .eut(PROSAIC_EU_PER_L) + .noOptimize() + .addTo(transcendentPlasmaMixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3)) + .fluidInputs( + Materials.Helium.getPlasma(1000), + Materials.Iron.getPlasma(1000), + Materials.Calcium.getPlasma(1000), + Materials.Niobium.getPlasma(1000), + Materials.Radon.getPlasma(1000), + Materials.Nickel.getPlasma(1000), + Materials.Boron.getPlasma(1000), + Materials.Sulfur.getPlasma(1000), + Materials.Nitrogen.getPlasma(1000), + Materials.Zinc.getPlasma(1000), + Materials.Silver.getPlasma(1000), + Materials.Titanium.getPlasma(1000)) + .fluidOutputs(MaterialsUEVplus.ExcitedDTRC.getFluid(1000L)) + .duration(100) + .eut(RESPLENDENT_EU_PER_L) + .noOptimize() + .addTo(transcendentPlasmaMixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .fluidInputs( + Materials.Helium.getPlasma(1000), + Materials.Iron.getPlasma(1000), + Materials.Calcium.getPlasma(1000), + Materials.Niobium.getPlasma(1000), + Materials.Radon.getPlasma(1000), + Materials.Nickel.getPlasma(1000), + Materials.Boron.getPlasma(1000), + Materials.Sulfur.getPlasma(1000), + Materials.Nitrogen.getPlasma(1000), + Materials.Zinc.getPlasma(1000), + Materials.Silver.getPlasma(1000), + Materials.Titanium.getPlasma(1000), + Materials.Americium.getPlasma(1000), + Materials.Bismuth.getPlasma(1000), + Materials.Oxygen.getPlasma(1000), + Materials.Tin.getPlasma(1000)) + .fluidOutputs(MaterialsUEVplus.ExcitedDTEC.getFluid(1000L)) + .duration(100) + .eut(EXOTIC_EU_PER_L) + .noOptimize() + .addTo(transcendentPlasmaMixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(5)) + .fluidInputs( + Materials.Helium.getPlasma(1000), + Materials.Iron.getPlasma(1000), + Materials.Calcium.getPlasma(1000), + Materials.Niobium.getPlasma(1000), + Materials.Radon.getPlasma(1000), + Materials.Nickel.getPlasma(1000), + Materials.Boron.getPlasma(1000), + Materials.Sulfur.getPlasma(1000), + Materials.Nitrogen.getPlasma(1000), + Materials.Zinc.getPlasma(1000), + Materials.Silver.getPlasma(1000), + Materials.Titanium.getPlasma(1000), + Materials.Americium.getPlasma(1000), + Materials.Bismuth.getPlasma(1000), + Materials.Oxygen.getPlasma(1000), + Materials.Tin.getPlasma(1000), + Materials.Lead.getPlasma(1000), + Materials.Thorium.getPlasma(1000), + Materials.Plutonium241.getPlasma(1000L), + MaterialsUEVplus.RawStarMatter.getFluid(25L)) + .fluidOutputs(MaterialsUEVplus.ExcitedDTSC.getFluid(1000L)) + .duration(200) + .eut(STELLAR_EU_PER_HALF_L) + .noOptimize() + .addTo(transcendentPlasmaMixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .fluidInputs( + MaterialsUEVplus.RawStarMatter.getFluid(1000L), + MaterialsUEVplus.SpaceTime.getMolten(1000L), + MaterialsUEVplus.Space.getMolten(1000L), + MaterialsUEVplus.DimensionallyTranscendentResidue.getFluid(1000L)) + .fluidOutputs(MaterialsUEVplus.PrimordialMatter.getFluid(1000L)) + .duration(100) + .eut(PRIMORDIAL_MATTER) + .noOptimize() + .addTo(transcendentPlasmaMixerRecipes); + + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java new file mode 100644 index 0000000000..444db30889 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java @@ -0,0 +1,416 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class VacuumFreezerRecipes implements Runnable { + + @Override + public void run() { + // reactor parts vacuum + { + // reactor heat switch + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorHeatSwitch", 1L, 32767)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorHeatSwitch", 1L, 1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorHeatSwitchCore", 1L, 32767)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorHeatSwitchCore", 1L, 1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorHeatSwitchSpread", 1L, 32767)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorHeatSwitchSpread", 1L, 1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorHeatSwitchDiamond", 1L, 32767)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorHeatSwitchDiamond", 1L, 1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + } + + // reactor vent + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorVent", 1L, 32767)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorVent", 1L, 1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorVentCore", 1L, 32767)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorVentCore", 1L, 1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorVentGold", 1L, 32767)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorVentGold", 1L, 1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorVentDiamond", 1L, 32767)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorVentDiamond", 1L, 1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + } + + // reactor vent spread + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorVentSpread", 1L, 32767)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorVentSpread", 1L, 0)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + // reactor coolant + { + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorCoolantSimple", 1L, 32767)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorCoolantSimple", 1L, 1)) + .duration(10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorCoolantTriple", 1L, 32767)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorCoolantTriple", 1L, 1)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorCoolantSix", 1L, 32767)) + .itemOutputs(GT_ModHandler.getIC2Item("reactorCoolantSix", 1L, 1)) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_He_1.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_He_1.get(1L)) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_He_3.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_He_3.get(1L)) + .duration(9 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_He_6.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_He_6.get(1L)) + .duration(18 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_NaK_1.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_NaK_1.get(1L)) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_NaK_3.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_NaK_3.get(1L)) + .duration(9 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_NaK_6.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_NaK_6.get(1L)) + .duration(18 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.neutroniumHeatCapacitor.getWildcard(1L)) + .itemOutputs(ItemList.neutroniumHeatCapacitor.get(1L)) + .duration(13 * HOURS + 53 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_Sp_1.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_Sp_1.get(1L)) + .duration(9 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_Sp_2.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_Sp_2.get(1L)) + .duration(18 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_Sp_3.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_Sp_3.get(1L)) + .duration(27 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_Sp_6.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_Sp_6.get(1L)) + .duration(54 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + } + } + + // fluid vacuum + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Water, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Ice, 1L)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LiquidOxygen, 1L)) + .duration(1 * MINUTES) + .eut(TierEU.RECIPE_HV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Nitrogen, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LiquidNitrogen, 1L)) + .duration(1 * MINUTES) + .eut(TierEU.RECIPE_HV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("airCell", 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LiquidAir, 1L)) + .duration(1 * SECONDS + 8 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_Sp_1.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_Sp_1.get(1L)) + .duration(1 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_Sp_2.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_Sp_2.get(1L)) + .duration(3 * MINUTES) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_Sp_3.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_Sp_3.get(1L)) + .duration(4 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Reactor_Coolant_Sp_6.getWildcard(1L)) + .itemOutputs(ItemList.Reactor_Coolant_Sp_6.get(1L)) + .duration(9 * MINUTES) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + } + + // Freeze superconductors. + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Pentacadmiummagnesiumhexaoxid, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Pentacadmiummagnesiumhexaoxid, 1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Titaniumonabariumdecacoppereikosaoxid, 1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Titaniumonabariumdecacoppereikosaoxid, 1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Uraniumtriplatinid, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Uraniumtriplatinid, 1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Vanadiumtriindinid, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Vanadiumtriindinid, 1L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get( + OrePrefixes.ingotHot, + Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, + 1L)) + .itemOutputs( + GT_OreDictUnificator.get( + OrePrefixes.ingot, + Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, + 1L)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator + .get(OrePrefixes.ingotHot, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 1L)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Longasssuperconductornameforuvwire, 1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Longasssuperconductornameforuvwire, 1L)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Longasssuperconductornameforuhvwire, 1L)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Longasssuperconductornameforuhvwire, 1L)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.SuperconductorUEVBase, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.SuperconductorUEVBase, 1L)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.SuperconductorUIVBase, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.SuperconductorUIVBase, 1L)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.SuperconductorUMVBase, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.SuperconductorUMVBase, 1L)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(vacuumFreezerRecipes); + } + + // Plasma Freezing + { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.cellPlasma, Materials.Americium, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cellMolten, Materials.Americium, 1L)) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.cellPlasma, Materials.Helium, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Helium, 1L)) + .duration(5 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.cellPlasma, Materials.Nitrogen, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Nitrogen, 1L)) + .duration(1 * SECONDS + 8 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.cellPlasma, Materials.Oxygen, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1L)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.cellPlasma, Materials.Radon, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Radon, 1L)) + .duration(5 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Boron.getPlasma(144L)) + .fluidOutputs(Materials.Boron.getMolten(144L)) + .duration(1 * SECONDS) + .eut(12) + .addTo(vacuumFreezerRecipes); + } + + if (GTPlusPlus.isModLoaded()) { + // hot transcendent metal ingot cooling + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, MaterialsUEVplus.TranscendentMetal, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, MaterialsUEVplus.TranscendentMetal, 1L)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("molten.titansteel"), 144), + Materials.SuperCoolant.getFluid(1000)) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(vacuumFreezerRecipes); + } + } +} diff --git a/src/main/java/gregtech/loaders/postload/recipes/WiremillRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/WiremillRecipes.java new file mode 100644 index 0000000000..017a8e6582 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/recipes/WiremillRecipes.java @@ -0,0 +1,87 @@ +package gregtech.loaders.postload.recipes; + +import static gregtech.api.recipe.RecipeMaps.wiremillRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeRegistrator.registerWiremillRecipes; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.GT_Mod; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class WiremillRecipes implements Runnable { + + @Override + public void run() { + + registerWiremillRecipes(Materials.Graphene, 20 * SECONDS, 2, OrePrefixes.dust, OrePrefixes.stick, 1); + + registerWiremillRecipes(MaterialsUEVplus.SpaceTime, 20 * SECONDS, (int) TierEU.RECIPE_LuV); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Polycaprolactam, 1L)) + .itemOutputs(new ItemStack(Items.string, 32)) + .duration(4 * SECONDS) + .eut(48) + .addTo(wiremillRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Steel, 1)) + .itemOutputs(GT_ModHandler.getIC2Item("miningPipe", 1)) + .duration(10 * SECONDS) + .eut(16) + .addTo(wiremillRecipes); + + if (!GT_Mod.gregtechproxy.mDisableIC2Cables) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Copper, 1L)) + .itemOutputs(GT_ModHandler.getIC2Item("copperCableItem", 3L)) + .duration(5 * SECONDS) + .eut(2) + .addTo(wiremillRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.AnnealedCopper, 1L)) + .itemOutputs(GT_ModHandler.getIC2Item("copperCableItem", 3L)) + .duration(5 * SECONDS) + .eut(2) + .addTo(wiremillRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tin, 1L)) + .itemOutputs(GT_ModHandler.getIC2Item("tinCableItem", 4L)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(1) + .addTo(wiremillRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L)) + .itemOutputs(GT_ModHandler.getIC2Item("ironCableItem", 6L)) + .duration(10 * SECONDS) + .eut(2) + .addTo(wiremillRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L)) + .itemOutputs(GT_ModHandler.getIC2Item("ironCableItem", 6L)) + .duration(10 * SECONDS) + .eut(2) + .addTo(wiremillRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Gold, 1L)) + .itemOutputs(GT_ModHandler.getIC2Item("goldCableItem", 6L)) + .duration(10 * SECONDS) + .eut(1) + .addTo(wiremillRecipes); + } + } +} |