aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/postload/recipes
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/loaders/postload/recipes')
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/AlloySmelterRecipes.java116
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java477
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java6786
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java894
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java234
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java330
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java690
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java562
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CannerRecipes.java74
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java823
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java404
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java5973
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CircuitAssemblerRecipes.java326
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java154
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java176
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CuttingRecipes.java283
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/DistilleryRecipes.java1280
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ElectrolyzerRecipes.java301
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java34
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ExtractorRecipes.java48
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ExtruderRecipes.java29
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FermenterRecipes.java294
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java93
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java569
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FluidHeaterRecipes.java95
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java577
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ForgeHammerRecipes.java158
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FormingPressRecipes.java196
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FuelRecipes.java127
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java296
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ImplosionCompressorRecipes.java74
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/LaserEngraverRecipes.java62
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/LatheRecipes.java40
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/MatterAmplifierRecipes.java29
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java1689
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/NEIHiding.java40
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/OreDictUnification.java23
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/PackagerRecipes.java51
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java50
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java64
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/Pulverizer.java581
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/PyrolyseRecipes.java137
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/RecipeRemover.java166
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/SifterRecipes.java47
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/SlicerRecipes.java42
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/SmelterRecipes.java70
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ThaumcraftRecipes.java961
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ThermalCentrifugeRecipes.java30
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java142
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java416
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/WiremillRecipes.java87
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);
+ }
+ }
+}