aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/postload
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/loaders/postload')
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_BlockResistanceLoader.java43
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_BookAndLootLoader.java369
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java2013
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_CropLoader.java1055
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java23
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_ItemMaxStacksizeLoader.java138
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java126
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_MachineTooltipsLoader.java36
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_MinableRegistrator.java16
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_PCBFactoryMaterialLoader.java19
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_PostLoad.java542
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java168
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_RecyclerBlacklistLoader.java107
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_ScrapboxDropLoader.java100
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_Worldgenloader.java33
-rw-r--r--src/main/java/gregtech/loaders/postload/PartP2PGTPower.java104
-rw-r--r--src/main/java/gregtech/loaders/postload/PosteaTransformers.java76
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java297
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java250
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java694
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java324
-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.java7213
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java889
-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.java685
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java562
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CannerRecipes.java251
-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.java5967
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CircuitAssemblerRecipes.java326
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java259
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java161
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CuttingRecipes.java316
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/DistilleryRecipes.java1255
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ElectrolyzerRecipes.java357
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java34
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ExtractorRecipes.java205
-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.java566
-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.java156
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FormingPressRecipes.java188
-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.java1722
-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.java67
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java53
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java64
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/Pulverizer.java603
-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.java960
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ThermalCentrifugeRecipes.java121
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java142
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java413
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/WiremillRecipes.java41
72 files changed, 34734 insertions, 0 deletions
diff --git a/src/main/java/gregtech/loaders/postload/GT_BlockResistanceLoader.java b/src/main/java/gregtech/loaders/postload/GT_BlockResistanceLoader.java
new file mode 100644
index 0000000000..b122646c92
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_BlockResistanceLoader.java
@@ -0,0 +1,43 @@
+package gregtech.loaders.postload;
+
+import java.util.Set;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemAxe;
+import net.minecraft.item.ItemPickaxe;
+
+import gregtech.api.util.GT_Utility;
+
+public class GT_BlockResistanceLoader implements Runnable {
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public void run() {
+ Blocks.stone.setResistance(10.0F);
+ Blocks.cobblestone.setResistance(10.0F);
+ Blocks.stonebrick.setResistance(10.0F);
+ Blocks.brick_block.setResistance(20.0F);
+ Blocks.hardened_clay.setResistance(15.0F);
+ Blocks.stained_hardened_clay.setResistance(15.0F);
+
+ Blocks.bed.setHarvestLevel("axe", 0);
+ Blocks.hay_block.setHarvestLevel("axe", 0);
+ Blocks.tnt.setHarvestLevel("pickaxe", 0);
+ Blocks.sponge.setHarvestLevel("axe", 0);
+ Blocks.monster_egg.setHarvestLevel("pickaxe", 0);
+
+ GT_Utility.callMethod(Material.tnt, "func_85158_p", true, false, false);
+ GT_Utility.callMethod(Material.tnt, "setAdventureModeExempt", true, false, false);
+
+ Set<Block> tSet = (Set<Block>) GT_Utility.getFieldContent(ItemAxe.class, "field_150917_c", true, true);
+ tSet.add(Blocks.bed);
+ tSet.add(Blocks.hay_block);
+ tSet.add(Blocks.sponge);
+
+ tSet = (Set<Block>) GT_Utility.getFieldContent(ItemPickaxe.class, "field_150915_c", true, true);
+ tSet.add(Blocks.monster_egg);
+ tSet.add(Blocks.tnt);
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_BookAndLootLoader.java b/src/main/java/gregtech/loaders/postload/GT_BookAndLootLoader.java
new file mode 100644
index 0000000000..a30962631e
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_BookAndLootLoader.java
@@ -0,0 +1,369 @@
+package gregtech.loaders.postload;
+
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.WeightedRandomChestContent;
+import net.minecraftforge.common.ChestGenHooks;
+
+import gregtech.GT_Mod;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_OreDictUnificator;
+
+public class GT_BookAndLootLoader implements Runnable {
+
+ @Override
+ public void run() {
+ GT_Log.out.println("GT_Mod: Adding worldgenerated Chest Content.");
+ if (GT_Mod.gregtechproxy.mIncreaseDungeonLoot) {
+ ChestGenHooks tChest = ChestGenHooks.getInfo("bonusChest");
+ tChest.setMax(tChest.getMax() + 8);
+ tChest.setMin(tChest.getMin() + 4);
+ tChest = ChestGenHooks.getInfo("dungeonChest");
+ tChest.setMax(tChest.getMax() + 6);
+ tChest.setMin(tChest.getMin() + 3);
+ tChest = ChestGenHooks.getInfo("pyramidDesertyChest");
+ tChest.setMax(tChest.getMax() + 8);
+ tChest.setMin(tChest.getMin() + 4);
+ tChest = ChestGenHooks.getInfo("pyramidJungleChest");
+ tChest.setMax(tChest.getMax() + 16);
+ tChest.setMin(tChest.getMin() + 8);
+ tChest = ChestGenHooks.getInfo("pyramidJungleDispenser");
+ tChest.setMax(tChest.getMax() + 2);
+ tChest.setMin(tChest.getMin() + 1);
+ tChest = ChestGenHooks.getInfo("mineshaftCorridor");
+ tChest.setMax(tChest.getMax() + 4);
+ tChest.setMin(tChest.getMin() + 2);
+ tChest = ChestGenHooks.getInfo("villageBlacksmith");
+ tChest.setMax(tChest.getMax() + 12);
+ tChest.setMin(tChest.getMin() + 6);
+ tChest = ChestGenHooks.getInfo("strongholdCrossing");
+ tChest.setMax(tChest.getMax() + 8);
+ tChest.setMin(tChest.getMin() + 4);
+ tChest = ChestGenHooks.getInfo("strongholdCorridor");
+ tChest.setMax(tChest.getMax() + 6);
+ tChest.setMin(tChest.getMin() + 3);
+ tChest = ChestGenHooks.getInfo("strongholdLibrary");
+ tChest.setMax(tChest.getMax() + 16);
+ tChest.setMin(tChest.getMin() + 8);
+ }
+ ChestGenHooks
+ .addItem("bonusChest", new WeightedRandomChestContent(ItemList.Bottle_Purple_Drink.get(1L), 8, 16, 2));
+
+ ChestGenHooks
+ .addItem("dungeonChest", new WeightedRandomChestContent(ItemList.Bottle_Holy_Water.get(1L), 4, 8, 20));
+ ChestGenHooks
+ .addItem("dungeonChest", new WeightedRandomChestContent(ItemList.Bottle_Purple_Drink.get(1L), 8, 16, 80));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Silver, 1L),
+ 1,
+ 6,
+ 120));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Lead, 1L), 1, 6, 30));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), 1, 6, 60));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 1L),
+ 1,
+ 6,
+ 60));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Manganese, 1L),
+ 1,
+ 6,
+ 60));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.DamascusSteel, 1L),
+ 1,
+ 6,
+ 10));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Emerald, 1L), 1, 6, 20));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Ruby, 1L), 1, 6, 20));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Sapphire, 1L),
+ 1,
+ 6,
+ 20));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GreenSapphire, 1L),
+ 1,
+ 6,
+ 20));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Olivine, 1L), 1, 6, 20));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GarnetRed, 1L),
+ 1,
+ 6,
+ 40));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GarnetYellow, 1L),
+ 1,
+ 6,
+ 40));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Neodymium, 1L),
+ 1,
+ 6,
+ 40));
+ ChestGenHooks.addItem(
+ "dungeonChest",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 1L), 1, 3, 40));
+
+ ChestGenHooks.addItem(
+ "pyramidDesertyChest",
+ new WeightedRandomChestContent(ItemList.Bottle_Holy_Water.get(1L), 4, 8, 2));
+ ChestGenHooks.addItem(
+ "pyramidDesertyChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Silver, 1L),
+ 4,
+ 16,
+ 12));
+ ChestGenHooks.addItem(
+ "pyramidDesertyChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Platinum, 1L),
+ 2,
+ 8,
+ 4));
+ ChestGenHooks.addItem(
+ "pyramidDesertyChest",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Ruby, 1L), 2, 8, 2));
+ ChestGenHooks.addItem(
+ "pyramidDesertyChest",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Sapphire, 1L), 2, 8, 2));
+ ChestGenHooks.addItem(
+ "pyramidDesertyChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GreenSapphire, 1L),
+ 2,
+ 8,
+ 2));
+ ChestGenHooks.addItem(
+ "pyramidDesertyChest",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Olivine, 1L), 2, 8, 2));
+ ChestGenHooks.addItem(
+ "pyramidDesertyChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GarnetRed, 1L),
+ 2,
+ 8,
+ 4));
+ ChestGenHooks.addItem(
+ "pyramidDesertyChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GarnetYellow, 1L),
+ 2,
+ 8,
+ 4));
+
+ ChestGenHooks.addItem(
+ "pyramidJungleChest",
+ new WeightedRandomChestContent(ItemList.Coin_Gold_Ancient.get(1L), 16, 64, 10));
+ ChestGenHooks.addItem(
+ "pyramidJungleChest",
+ new WeightedRandomChestContent(ItemList.ZPM.getWithCharge(1L, 2147483647), 1, 1, 1));
+ ChestGenHooks.addItem(
+ "pyramidJungleChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 1L),
+ 4,
+ 16,
+ 12));
+ ChestGenHooks.addItem(
+ "pyramidJungleChest",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Ruby, 1L), 2, 8, 2));
+ ChestGenHooks.addItem(
+ "pyramidJungleChest",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Sapphire, 1L), 2, 8, 2));
+ ChestGenHooks.addItem(
+ "pyramidJungleChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GreenSapphire, 1L),
+ 2,
+ 8,
+ 2));
+ ChestGenHooks.addItem(
+ "pyramidJungleChest",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Olivine, 1L), 2, 8, 2));
+ ChestGenHooks.addItem(
+ "pyramidJungleChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GarnetRed, 1L),
+ 2,
+ 8,
+ 4));
+ ChestGenHooks.addItem(
+ "pyramidJungleChest",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GarnetYellow, 1L),
+ 2,
+ 8,
+ 4));
+
+ ChestGenHooks.addItem(
+ "pyramidJungleDispenser",
+ new WeightedRandomChestContent(new ItemStack(Items.fire_charge, 1), 2, 8, 30));
+
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Silver, 1L),
+ 1,
+ 4,
+ 12));
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Lead, 1L), 1, 4, 3));
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), 1, 4, 6));
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 1L), 1, 4, 6));
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Sapphire, 1L), 1, 4, 2));
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GreenSapphire, 1L),
+ 1,
+ 4,
+ 2));
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Olivine, 1L), 1, 4, 2));
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GarnetRed, 1L),
+ 1,
+ 4,
+ 4));
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GarnetYellow, 1L),
+ 1,
+ 4,
+ 4));
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Ruby, 1L), 1, 4, 2));
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Emerald, 1L), 1, 4, 2));
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, Materials.DamascusSteel, 1L),
+ 1,
+ 4,
+ 1));
+ ChestGenHooks.addItem(
+ "mineshaftCorridor",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, Materials.DamascusSteel, 1L),
+ 1,
+ 4,
+ 1));
+
+ ChestGenHooks
+ .addItem("villageBlacksmith", new WeightedRandomChestContent(ItemList.McGuffium_239.get(1L), 1, 1, 1));
+ ChestGenHooks.addItem(
+ "villageBlacksmith",
+ new WeightedRandomChestContent(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 1L), 1, 4, 6));
+ ChestGenHooks.addItem(
+ "villageBlacksmith",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Neodymium, 1L),
+ 2,
+ 8,
+ 6));
+ ChestGenHooks.addItem(
+ "villageBlacksmith",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Manganese, 1L),
+ 2,
+ 8,
+ 12));
+ ChestGenHooks.addItem(
+ "villageBlacksmith",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L),
+ 4,
+ 12,
+ 12));
+ ChestGenHooks.addItem(
+ "villageBlacksmith",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 1L),
+ 4,
+ 12,
+ 12));
+ ChestGenHooks.addItem(
+ "villageBlacksmith",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Brass, 1L),
+ 4,
+ 12,
+ 12));
+ ChestGenHooks.addItem(
+ "villageBlacksmith",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.DamascusSteel, 1L),
+ 4,
+ 12,
+ 1));
+
+ ChestGenHooks
+ .addItem("strongholdCrossing", new WeightedRandomChestContent(ItemList.Bottle_Holy_Water.get(1L), 4, 8, 6));
+ ChestGenHooks
+ .addItem("strongholdCrossing", new WeightedRandomChestContent(ItemList.McGuffium_239.get(1L), 1, 1, 10));
+
+ ChestGenHooks.addItem(
+ "strongholdCorridor",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.DamascusSteel, 1L),
+ 1,
+ 4,
+ 6));
+ ChestGenHooks.addItem(
+ "strongholdCorridor",
+ new WeightedRandomChestContent(
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, Materials.DamascusSteel, 1L),
+ 1,
+ 4,
+ 6));
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java
new file mode 100644
index 0000000000..fff50aff2f
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java
@@ -0,0 +1,2013 @@
+package gregtech.loaders.postload;
+
+import static gregtech.api.enums.Mods.Forestry;
+import static gregtech.api.enums.Mods.GraviSuite;
+import static gregtech.api.enums.Mods.IndustrialCraft2;
+import static gregtech.api.enums.Mods.NotEnoughItems;
+import static gregtech.api.util.GT_ModHandler.getModItem;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
+
+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.OreDictNames;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.ToolDictNames;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+import ic2.core.Ic2Items;
+
+public class GT_CraftingRecipeLoader implements Runnable {
+
+ private static final String aTextIron1 = "X X";
+ private static final String aTextIron2 = "XXX";
+ private static final long bits_no_remove_buffered = GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.BUFFERED;
+ private static final long bits = GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE
+ | GT_ModHandler.RecipeBits.BUFFERED;
+ private static final String aTextPlateWrench = "PwP";
+
+ @Override
+ public void run() {
+ GT_Log.out.println("GT_Mod: Adding nerfed Vanilla Recipes.");
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.bucket, 1),
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES,
+ new Object[] { "XhX", " X ", 'X', OrePrefixes.plate.get(Materials.AnyIron) });
+ ItemStack tMat = new ItemStack(Items.iron_ingot);
+ {
+ ItemStack tStack;
+ if (null != (tStack = GT_ModHandler.removeRecipe(tMat, tMat, null, null, null, null, null, null, null))) {
+ GT_ModHandler.addCraftingRecipe(
+ tStack,
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES,
+ new Object[] { "ShS", "XZX", "SdS", 'X', OrePrefixes.plate.get(Materials.AnyIron), 'S',
+ OrePrefixes.screw.get(Materials.Steel), 'Z', OrePrefixes.spring.get(Materials.Steel) });
+ }
+ }
+ {
+ ItemStack tStack;
+ if (null != (tStack = GT_ModHandler.removeRecipe(tMat, tMat, null, tMat, tMat, null, tMat, tMat, null))) {
+ GT_ModHandler.addCraftingRecipe(
+ tStack,
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES,
+ new Object[] { "XX ", "XXh", "XX ", 'X', OrePrefixes.plate.get(Materials.AnyIron), 'S',
+ OrePrefixes.stick.get(Materials.Wood), 'I', OrePrefixes.ingot.get(Materials.AnyIron) });
+ }
+ }
+ {
+ ItemStack tStack;
+ if (null != (tStack = GT_ModHandler.removeRecipe(tMat, null, tMat, tMat, null, tMat, tMat, tMat, tMat))) {
+ GT_ModHandler.addCraftingRecipe(
+ tStack,
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES,
+ new Object[] { aTextIron1, "XhX", aTextIron2, 'X', OrePrefixes.plate.get(Materials.AnyIron), 'S',
+ OrePrefixes.stick.get(Materials.Wood), 'I', OrePrefixes.ingot.get(Materials.AnyIron) });
+ }
+ }
+ {
+ ItemStack tStack;
+ if (null != (tStack = GT_ModHandler
+ .removeRecipe(tMat, null, tMat, tMat, new ItemStack(Blocks.chest, 1, 0), tMat, null, tMat, null))) {
+ GT_ModHandler.addCraftingRecipe(
+ tStack,
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES,
+ new Object[] { "XwX", "XCX", " X ", 'X', OrePrefixes.plate.get(Materials.AnyIron), 'S',
+ OrePrefixes.stick.get(Materials.Wood), 'I', OrePrefixes.ingot.get(Materials.AnyIron), 'C',
+ "craftingChest" });
+ }
+ }
+ {
+ ItemStack tStack;
+ if (null != (tStack = GT_ModHandler.removeRecipe(tMat, tMat, tMat, tMat, tMat, tMat, null, null, null))) {
+ tStack.stackSize /= 2;
+ GT_ModHandler.addCraftingRecipe(
+ tStack,
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES,
+ new Object[] { " w ", aTextIron2, aTextIron2, 'X', OrePrefixes.stick.get(Materials.AnyIron), 'S',
+ OrePrefixes.stick.get(Materials.Wood), 'I', OrePrefixes.ingot.get(Materials.AnyIron) });
+ }
+ }
+
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("ironFence", 6L),
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.REVERSIBLE,
+ new Object[] { aTextIron2, aTextIron2, " w ", 'X', OrePrefixes.stick.get(Materials.AnyIron), 'S',
+ OrePrefixes.stick.get(Materials.Wood), 'I', OrePrefixes.ingot.get(Materials.AnyIron) });
+
+ tMat = new ItemStack(Items.gold_ingot);
+ {
+ ItemStack tStack;
+ if (null != (tStack = GT_ModHandler.removeRecipe(tMat, tMat, null, null, null, null, null, null, null))) {
+ GT_ModHandler.addCraftingRecipe(
+ tStack,
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES,
+ new Object[] { "ShS", "XZX", "SdS", 'X', OrePrefixes.plate.get(Materials.Gold), 'S',
+ OrePrefixes.screw.get(Materials.Steel), 'Z', OrePrefixes.spring.get(Materials.Steel) });
+ }
+ }
+ tMat = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 1L);
+ {
+ ItemStack tStack;
+ if (null != (tStack = GT_ModHandler.removeRecipe(tMat, tMat, tMat, tMat, tMat, tMat, null, null, null))) {
+ GT_ModHandler.addCraftingRecipe(
+ tStack,
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES,
+ new Object[] { aTextIron2, aTextIron2, 'X', OrePrefixes.plate.get(Materials.Rubber) });
+ }
+ }
+ GT_ModHandler.removeRecipeByOutputDelayed(ItemList.Bottle_Empty.get(1L));
+ GT_ModHandler.removeRecipeByOutputDelayed(ItemList.IC2_Spray_WeedEx.get(1L));
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("reBattery", 1L));
+ GT_ModHandler.removeRecipeByOutputDelayed(new ItemStack(Blocks.tnt));
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("dynamite", 1L));
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("industrialTnt", 1L));
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getModItem(Forestry.ID, "stamps", 1L, 0));
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getModItem(Forestry.ID, "stamps", 1L, 1));
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getModItem(Forestry.ID, "stamps", 1L, 2));
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getModItem(Forestry.ID, "stamps", 1L, 3));
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getModItem(Forestry.ID, "stamps", 1L, 4));
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getModItem(Forestry.ID, "stamps", 1L, 5));
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getModItem(Forestry.ID, "stamps", 1L, 6));
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getModItem(Forestry.ID, "engine", 1L, 0));
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getModItem(Forestry.ID, "engine", 1L, 1));
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getModItem(Forestry.ID, "engine", 1L, 2));
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getModItem(Forestry.ID, "engine", 1L, 4));
+
+ ItemStack tStack = GT_ModHandler
+ .removeRecipe(new ItemStack(Blocks.planks, 1, 0), null, null, new ItemStack(Blocks.planks, 1, 0));
+ if (tStack != null) {
+ GT_ModHandler.addCraftingRecipe(
+ GT_Utility.copyAmount(
+ GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize : tStack.stackSize * 5 / 4,
+ tStack),
+ bits_no_remove_buffered,
+ new Object[] { "s", "P", "P", 'P', OrePrefixes.plank.get(Materials.Wood) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_Utility.copyAmount(
+ GT_Mod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize / 2 : tStack.stackSize,
+ tStack),
+ bits_no_remove_buffered,
+ new Object[] { "P", "P", 'P', OrePrefixes.plank.get(Materials.Wood) });
+ }
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.stone_button, 2, 0),
+ bits_no_remove_buffered,
+ new Object[] { "S", "S", 'S', OrePrefixes.stone });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.stone_button, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.stone });
+
+ GT_Log.out.println("GT_Mod: Adding Vanilla Convenience Recipes.");
+
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.stonebrick, 1, 3),
+ bits_no_remove_buffered,
+ new Object[] { "f", "X", 'X', new ItemStack(Blocks.double_stone_slab, 1, 8) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.gravel, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { "h", "X", 'X', new ItemStack(Blocks.cobblestone, 1, 0) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.sand, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { "h", "X", 'X', new ItemStack(Blocks.gravel, 1, 0) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.cobblestone, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { "h", "X", 'X', new ItemStack(Blocks.stone, 1, 0) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.stonebrick, 1, 2),
+ bits_no_remove_buffered,
+ new Object[] { "h", "X", 'X', new ItemStack(Blocks.stonebrick, 1, 0) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.double_stone_slab, 1, 8),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.double_stone_slab, 1, 0) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.double_stone_slab, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.double_stone_slab, 1, 8) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.double_stone_slab, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.stone_slab, 1, 0) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.cobblestone, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.stone_slab, 1, 3) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.brick_block, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.stone_slab, 1, 4) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.stonebrick, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.stone_slab, 1, 5) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.nether_brick, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.stone_slab, 1, 6) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.quartz_block, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.stone_slab, 1, 7) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.double_stone_slab, 1, 8),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.stone_slab, 1, 8) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.planks, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.wooden_slab, 1, 0) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.planks, 1, 1),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.wooden_slab, 1, 1) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.planks, 1, 2),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.wooden_slab, 1, 2) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.planks, 1, 3),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.wooden_slab, 1, 3) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.planks, 1, 4),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.wooden_slab, 1, 4) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.planks, 1, 5),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.wooden_slab, 1, 5) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.planks, 1, 6),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.wooden_slab, 1, 6) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.planks, 1, 7),
+ bits_no_remove_buffered,
+ new Object[] { "B", "B", 'B', new ItemStack(Blocks.wooden_slab, 1, 7) });
+
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.stick, 2, 0),
+ bits_no_remove_buffered,
+ new Object[] { "s", "X", 'X', new ItemStack(Blocks.deadbush, 1, 32767) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.stick, 2, 0),
+ bits_no_remove_buffered,
+ new Object[] { "s", "X", 'X', new ItemStack(Blocks.tallgrass, 1, 0) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.stick, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { "s", "X", 'X', OrePrefixes.treeSapling });
+
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.comparator, 1, 0),
+ bits_no_remove_buffered,
+ new Object[] { " T ", "TQT", "SSS", 'Q', OreDictNames.craftingQuartz, 'S', OrePrefixes.stoneSmooth, 'T',
+ OreDictNames.craftingRedstoneTorch });
+
+ GT_Log.out.println("GT_Mod: Adding Tool Recipes.");
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.minecart, 1),
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES,
+ new Object[] { " h ", "PwP", "WPW", 'P', OrePrefixes.plate.get(Materials.AnyIron), 'W',
+ ItemList.Component_Minecart_Wheels_Iron });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.minecart, 1),
+ bits_no_remove_buffered,
+ new Object[] { " h ", "PwP", "WPW", 'P', OrePrefixes.plate.get(Materials.Steel), 'W',
+ ItemList.Component_Minecart_Wheels_Steel });
+
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.chest_minecart, 1),
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.REVERSIBLE
+ | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES,
+ new Object[] { "X", "C", 'C', new ItemStack(Items.minecart, 1), 'X', OreDictNames.craftingChest });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.furnace_minecart, 1),
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.REVERSIBLE
+ | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES,
+ new Object[] { "X", "C", 'C', new ItemStack(Items.minecart, 1), 'X', OreDictNames.craftingFurnace });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.hopper_minecart, 1),
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.REVERSIBLE
+ | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES,
+ new Object[] { "X", "C", 'C', new ItemStack(Items.minecart, 1), 'X',
+ new ItemStack(Blocks.hopper, 1, 32767) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.tnt_minecart, 1),
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.REVERSIBLE
+ | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES,
+ new Object[] { "X", "C", 'C', new ItemStack(Items.minecart, 1), 'X', new ItemStack(Blocks.tnt, 1, 32767) });
+
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.chainmail_helmet, 1),
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.REVERSIBLE
+ | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES,
+ new Object[] { "RRR", "RhR", 'R', OrePrefixes.ring.get(Materials.Steel) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.chainmail_chestplate, 1),
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.REVERSIBLE
+ | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES,
+ new Object[] { "RhR", "RRR", "RRR", 'R', OrePrefixes.ring.get(Materials.Steel) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.chainmail_leggings, 1),
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.REVERSIBLE
+ | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES,
+ new Object[] { "RRR", "RhR", "R R", 'R', OrePrefixes.ring.get(Materials.Steel) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.chainmail_boots, 1),
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.REVERSIBLE
+ | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES,
+ new Object[] { "R R", "RhR", 'R', OrePrefixes.ring.get(Materials.Steel) });
+
+ GT_Log.out.println("GT_Mod: Adding Wool and Color releated Recipes.");
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 1),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeOrange });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 2),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeMagenta });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 3),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeLightBlue });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 4),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeYellow });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 5),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeLime });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 6),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyePink });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 7),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeGray });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 8),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeLightGray });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 9),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeCyan });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 10),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyePurple });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 11),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeBlue });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 12),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeBrown });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 13),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeGreen });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 14),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeRed });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Blocks.wool, 1, 15),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.wool, 1, 0), Dyes.dyeBlack });
+
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.stained_glass, 8, 0),
+ bits_no_remove_buffered,
+ new Object[] { "GGG", "GDG", "GGG", 'G', new ItemStack(Blocks.glass, 1), 'D', Dyes.dyeWhite });
+
+ GT_Log.out.println("GT_Mod: Putting a Potato on a Stick.");
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Packaged_PotatoChips.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.foil.get(Materials.Aluminium), ItemList.Food_PotatoChips });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Packaged_ChiliChips.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.foil.get(Materials.Aluminium), ItemList.Food_ChiliChips });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Packaged_Fries.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.plateDouble.get(Materials.Paper), ItemList.Food_Fries });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Chum_On_Stick.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.stick.get(Materials.Wood), ItemList.Food_Chum });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Potato_On_Stick.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.stick.get(Materials.Wood), ItemList.Food_Raw_Potato });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Potato_On_Stick_Roasted.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.stick.get(Materials.Wood), ItemList.Food_Baked_Potato });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Dough.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.bucket.get(Materials.Water), OrePrefixes.dust.get(Materials.Wheat) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Dough_Sugar.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "foodDough", OrePrefixes.dust.get(Materials.Sugar) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Dough_Chocolate.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "foodDough", OrePrefixes.dust.get(Materials.Cocoa) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Dough_Chocolate.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "foodDough", OrePrefixes.dust.get(Materials.Chocolate) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Flat_Dough.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "foodDough", ToolDictNames.craftingToolRollingPin });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Raw_Bun.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "foodDough" });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Raw_Bread.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "foodDough", "foodDough" });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Raw_Baguette.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "foodDough", "foodDough", "foodDough" });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Raw_Cake.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Dough_Sugar, ItemList.Food_Dough_Sugar, ItemList.Food_Dough_Sugar,
+ ItemList.Food_Dough_Sugar });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_ChiliChips.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_PotatoChips, OrePrefixes.dust.get(Materials.Chili) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sliced_Buns.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Bun });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sliced_Breads.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Bread });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sliced_Baguettes.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Baguette });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sliced_Bun.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Buns });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sliced_Bread.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Breads });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sliced_Baguette.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Baguettes });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Burger_Veggie.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Buns, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Tomato,
+ ItemList.Food_Sliced_Onion });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Burger_Cheese.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Buns, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese,
+ ItemList.Food_Sliced_Cheese });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Burger_Meat.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Buns, OrePrefixes.dust.get(Materials.MeatCooked) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Burger_Chum.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Buns, ItemList.Food_Chum });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Burger_Veggie.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Cucumber,
+ ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Onion });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Burger_Cheese.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Cheese,
+ ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Burger_Meat.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Bun,
+ OrePrefixes.dust.get(Materials.MeatCooked) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Burger_Chum.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Bun, ItemList.Food_Sliced_Bun, ItemList.Food_Chum });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sandwich_Veggie.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Breads, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Cucumber,
+ ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Onion });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sandwich_Cheese.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Breads, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese,
+ ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sandwich_Bacon.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Breads, new ItemStack(Items.cooked_porkchop, 1) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sandwich_Steak.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Breads, new ItemStack(Items.cooked_beef, 1) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sandwich_Veggie.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Cucumber,
+ ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Tomato,
+ ItemList.Food_Sliced_Onion });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sandwich_Cheese.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Cheese,
+ ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese,
+ ItemList.Food_Sliced_Cheese });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sandwich_Bacon.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Bread,
+ new ItemStack(Items.cooked_porkchop, 1) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Sandwich_Steak.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Bread, ItemList.Food_Sliced_Bread,
+ new ItemStack(Items.cooked_beef, 1) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Large_Sandwich_Veggie.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Baguettes, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Cucumber,
+ ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Tomato,
+ ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Onion });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Large_Sandwich_Cheese.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Baguettes, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese,
+ ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese,
+ ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Large_Sandwich_Bacon.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Baguettes, new ItemStack(Items.cooked_porkchop, 1),
+ new ItemStack(Items.cooked_porkchop, 1) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Large_Sandwich_Steak.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Baguettes, new ItemStack(Items.cooked_beef, 1),
+ new ItemStack(Items.cooked_beef, 1) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Large_Sandwich_Veggie.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Cucumber,
+ ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Tomato,
+ ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Tomato, ItemList.Food_Sliced_Onion });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Large_Sandwich_Cheese.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Cheese,
+ ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese,
+ ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Large_Sandwich_Bacon.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Baguette,
+ new ItemStack(Items.cooked_porkchop, 1), new ItemStack(Items.cooked_porkchop, 1) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Large_Sandwich_Steak.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Sliced_Baguette, ItemList.Food_Sliced_Baguette,
+ new ItemStack(Items.cooked_beef, 1), new ItemStack(Items.cooked_beef, 1) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Raw_Pizza_Veggie.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Flat_Dough, ItemList.Food_Sliced_Cucumber, ItemList.Food_Sliced_Tomato,
+ ItemList.Food_Sliced_Onion });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Raw_Pizza_Cheese.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Flat_Dough, ItemList.Food_Sliced_Cheese, ItemList.Food_Sliced_Cheese,
+ ItemList.Food_Sliced_Cheese });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ ItemList.Food_Raw_Pizza_Meat.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { ItemList.Food_Flat_Dough, OrePrefixes.dust.get(Materials.MeatCooked) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Food_Sliced_Cheese.get(4L),
+ bits_no_remove_buffered,
+ new Object[] { "kX", 'X', "foodCheese" });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Food_Sliced_Lemon.get(4L),
+ bits_no_remove_buffered,
+ new Object[] { "kX", 'X', "cropLemon" });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Food_Sliced_Tomato.get(4L),
+ bits_no_remove_buffered,
+ new Object[] { "kX", 'X', "cropTomato" });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Food_Sliced_Onion.get(4L),
+ bits_no_remove_buffered,
+ new Object[] { "kX", 'X', "cropOnion" });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Food_Sliced_Cucumber.get(4L),
+ bits_no_remove_buffered,
+ new Object[] { "kX", 'X', "cropCucumber" });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Food_Sliced_Bun.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "kX", 'X', ItemList.Food_Baked_Bun });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Food_Sliced_Bread.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "kX", 'X', ItemList.Food_Baked_Bread });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Food_Sliced_Baguette.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "kX", 'X', ItemList.Food_Baked_Baguette });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Food_Raw_PotatoChips.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "kX", 'X', "cropPotato" });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Food_Raw_Cookie.get(4L),
+ bits_no_remove_buffered,
+ new Object[] { "kX", 'X', ItemList.Food_Dough_Chocolate });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Food_Raw_Fries.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "k", "X", 'X', "cropPotato" });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.bowl, 1),
+ bits_no_remove_buffered,
+ new Object[] { "k", "X", 'X', OrePrefixes.plank.get(Materials.Wood) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Rubber, 1L),
+ bits_no_remove_buffered,
+ new Object[] { "k", "X", 'X', OrePrefixes.plate.get(Materials.Rubber) });
+
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.arrow, 1),
+ bits_no_remove_buffered | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_SHAPED_RECIPES,
+ new Object[] { " H", " S ", "F ", 'H', new ItemStack(Items.flint, 1, 32767), 'S',
+ OrePrefixes.stick.get(Materials.Wood), 'F', OreDictNames.craftingFeather });
+
+ GT_ModHandler.removeRecipe(
+ new ItemStack(Blocks.planks),
+ null,
+ new ItemStack(Blocks.planks),
+ null,
+ new ItemStack(Blocks.planks));
+ GT_ModHandler.removeRecipeByOutputDelayed(ItemList.Food_Baked_Bread.get(1L));
+ GT_ModHandler.removeRecipeByOutputDelayed(new ItemStack(Items.cookie, 1));
+ GT_ModHandler.removeRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L));
+ if (null != GT_Utility.setStack(
+ GT_ModHandler.getRecipeOutput(
+ true,
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L),
+ null,
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L)),
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 1L))) {
+ GT_Log.out.println("GT_Mod: Changed Forestrys Bronze Recipe");
+ }
+ tStack = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 1L);
+
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getRecipeOutput(
+ null,
+ new ItemStack(Blocks.sand, 1, 0),
+ null,
+ null,
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Apatite, 1L),
+ null,
+ null,
+ new ItemStack(Blocks.sand, 1, 0),
+ null),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "S", "A", "S", 'A', OrePrefixes.dust.get(Materials.Apatite), 'S',
+ new ItemStack(Blocks.sand, 1, 32767) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getRecipeOutput(
+ tStack,
+ tStack,
+ tStack,
+ tStack,
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Apatite, 1L),
+ tStack,
+ tStack,
+ tStack,
+ tStack),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "SSS", "SAS", "SSS", 'A', OrePrefixes.dust.get(Materials.Apatite), 'S',
+ OrePrefixes.dust.get(Materials.Ash) });
+
+ GT_Log.out.println("GT_Mod: Adding Mixed Metal Ingot Recipes.");
+ GT_ModHandler.removeRecipeByOutputDelayed(ItemList.IC2_Mixed_Metal_Ingot.get(1L));
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.AnyIron), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.AnyIron), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.AnyIron), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.AnyIron), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.AnyIron), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.AnyIron), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Nickel), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Nickel), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Nickel), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Nickel), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Nickel), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(1L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Nickel), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Invar), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Invar), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Invar), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Invar), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Invar), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Invar), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Steel), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Steel), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Steel), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Steel), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(2L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Steel), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Steel), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.StainlessSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.StainlessSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(4L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.StainlessSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.StainlessSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.StainlessSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(4L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.StainlessSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Titanium), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Titanium), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(4L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Titanium), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Titanium), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Titanium), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(4L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Titanium), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Tungsten), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Tungsten), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(4L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Tungsten), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Tungsten), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(3L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Tungsten), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(4L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Tungsten), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(5L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.TungstenSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(5L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.TungstenSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(6L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.TungstenSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Bronze), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(5L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.TungstenSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(5L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.TungstenSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(6L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.TungstenSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Brass), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(8L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.TungstenSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Chrome), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(8L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.TungstenSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Chrome), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(8L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.TungstenSteel), 'Y',
+ OrePrefixes.plate.get(Materials.Chrome), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(10L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.TungstenSteel), 'Y',
+ OrePrefixes.plate.get(Materials.StainlessSteel), 'Z', OrePrefixes.plate.get(Materials.Tin) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(10L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.TungstenSteel), 'Y',
+ OrePrefixes.plate.get(Materials.StainlessSteel), 'Z', OrePrefixes.plate.get(Materials.Zinc) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(10L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.TungstenSteel), 'Y',
+ OrePrefixes.plate.get(Materials.StainlessSteel), 'Z', OrePrefixes.plate.get(Materials.Aluminium) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(12L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Iridium), 'Y',
+ OrePrefixes.plate.get(Materials.Chrome), 'Z', OrePrefixes.plate.get(Materials.AnnealedCopper) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(12L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Iridium), 'Y',
+ OrePrefixes.plate.get(Materials.Chrome), 'Z', OrePrefixes.plate.get(Materials.RoseGold) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(12L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Iridium), 'Y',
+ OrePrefixes.plate.get(Materials.Chrome), 'Z', OrePrefixes.plate.get(Materials.AstralSilver) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(14L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Iridium), 'Y',
+ OrePrefixes.plate.get(Materials.StainlessSteel), 'Z',
+ OrePrefixes.plate.get(Materials.AnnealedCopper) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(14L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Iridium), 'Y',
+ OrePrefixes.plate.get(Materials.StainlessSteel), 'Z', OrePrefixes.plate.get(Materials.RoseGold) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(14L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Iridium), 'Y',
+ OrePrefixes.plate.get(Materials.StainlessSteel), 'Z', OrePrefixes.plate.get(Materials.AstralSilver) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(16L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.HSSG), 'Y',
+ OrePrefixes.plate.get(Materials.StainlessSteel), 'Z',
+ OrePrefixes.plate.get(Materials.AnnealedCopper) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(16L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.HSSG), 'Y',
+ OrePrefixes.plate.get(Materials.StainlessSteel), 'Z', OrePrefixes.plate.get(Materials.RoseGold) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(16L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.HSSG), 'Y',
+ OrePrefixes.plate.get(Materials.StainlessSteel), 'Z', OrePrefixes.plate.get(Materials.AstralSilver) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(18L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.HSSE), 'Y',
+ OrePrefixes.plate.get(Materials.Chrome), 'Z', OrePrefixes.plate.get(Materials.AnnealedCopper) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(18L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.HSSE), 'Y',
+ OrePrefixes.plate.get(Materials.Chrome), 'Z', OrePrefixes.plate.get(Materials.RoseGold) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(18L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.HSSE), 'Y',
+ OrePrefixes.plate.get(Materials.Chrome), 'Z', OrePrefixes.plate.get(Materials.AstralSilver) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(20L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.HSSS), 'Y',
+ OrePrefixes.plate.get(Materials.TungstenSteel), 'Z', OrePrefixes.plate.get(Materials.AnnealedCopper) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(20L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.HSSS), 'Y',
+ OrePrefixes.plate.get(Materials.TungstenSteel), 'Z', OrePrefixes.plate.get(Materials.RoseGold) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(20L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.HSSS), 'Y',
+ OrePrefixes.plate.get(Materials.TungstenSteel), 'Z', OrePrefixes.plate.get(Materials.AstralSilver) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Long_Distance_Pipeline_Fluid.get(1L),
+ GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE,
+ new Object[] { "GPG", "IwI", "GPG", 'G', GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Steel, 1L),
+ 'P', GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 1L), 'I',
+ GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Steel, 1L) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Long_Distance_Pipeline_Item.get(1L),
+ GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE,
+ new Object[] { "GPG", "IwI", "GPG", 'G', GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Steel, 1L),
+ 'P', GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 1L), 'I',
+ GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Tin, 1L) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Long_Distance_Pipeline_Fluid_Pipe.get(32L),
+ GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE,
+ new Object[] { "PPP", "IwI", "PPP", 'P', GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 1L),
+ 'I', GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Steel, 1L) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Long_Distance_Pipeline_Item_Pipe.get(32L),
+ GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE,
+ new Object[] { "PPP", "IwI", "PPP", 'P', GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 1L),
+ 'I', GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Tin, 1L) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(22L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Naquadah), 'Y',
+ OrePrefixes.plate.get(Materials.Iridium), 'Z', OrePrefixes.plate.get(Materials.HSSG) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(24L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Naquadah), 'Y',
+ OrePrefixes.plate.get(Materials.Iridium), 'Z', OrePrefixes.plate.get(Materials.HSSE) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(26L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Naquadah), 'Y',
+ OrePrefixes.plate.get(Materials.Iridium), 'Z', OrePrefixes.plate.get(Materials.HSSS) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(28L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.NaquadahAlloy), 'Y',
+ OrePrefixes.plate.get(Materials.Osmiridium), 'Z', OrePrefixes.plate.get(Materials.HSSE) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(30L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.NaquadahAlloy), 'Y',
+ OrePrefixes.plate.get(Materials.Osmiridium), 'Z', OrePrefixes.plate.get(Materials.HSSG) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(32L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.NaquadahAlloy), 'Y',
+ OrePrefixes.plate.get(Materials.Osmiridium), 'Z', OrePrefixes.plate.get(Materials.HSSS) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(34L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Neutronium), 'Y',
+ OrePrefixes.plate.get(Materials.EnergeticAlloy), 'Z', OrePrefixes.plate.get(Materials.Naquadah) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(36L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Neutronium), 'Y',
+ OrePrefixes.plate.get(Materials.EnergeticAlloy), 'Z', OrePrefixes.plate.get(Materials.NaquadahAlloy) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(38L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.Neutronium), 'Y',
+ OrePrefixes.plate.get(Materials.EnergeticAlloy), 'Z', OrePrefixes.plate.get(Materials.Draconium) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(40L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.BlackPlutonium), 'Y',
+ OrePrefixes.plate.get(Materials.Sunnarium), 'Z', OrePrefixes.plate.get(Materials.Naquadah) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(42L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.BlackPlutonium), 'Y',
+ OrePrefixes.plate.get(Materials.Sunnarium), 'Z', OrePrefixes.plate.get(Materials.NaquadahAlloy) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(44L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.BlackPlutonium), 'Y',
+ OrePrefixes.plate.get(Materials.Sunnarium), 'Z', OrePrefixes.plate.get(Materials.Draconium) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(48L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.DraconiumAwakened), 'Y',
+ OrePrefixes.plate.get(Materials.Neutronium), 'Z', OrePrefixes.plate.get(Materials.HSSS) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(52L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.DraconiumAwakened), 'Y',
+ OrePrefixes.plate.get(Materials.Neutronium), 'Z', OrePrefixes.plate.get(Materials.Naquadah) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(56L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.DraconiumAwakened), 'Y',
+ OrePrefixes.plate.get(Materials.Neutronium), 'Z', OrePrefixes.plate.get(Materials.NaquadahAlloy) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.IC2_Mixed_Metal_Ingot.get(64L),
+ bits_no_remove_buffered,
+ new Object[] { "X", "Y", "Z", 'X', OrePrefixes.plate.get(Materials.DraconiumAwakened), 'Y',
+ OrePrefixes.plate.get(Materials.Neutronium), 'Z', OrePrefixes.plate.get(Materials.BlackPlutonium) });
+
+ GT_Log.out.println("GT_Mod: Beginning to add regular Crafting Recipes.");
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("scaffold", 4L),
+ bits_no_remove_buffered,
+ new Object[] { "WWW", " S ", "S S", 'W', OrePrefixes.plank.get(Materials.Wood), 'S',
+ OrePrefixes.stick.get(Materials.Wood) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.IronMagnetic, 1L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.stick.get(Materials.AnyIron), OrePrefixes.dust.get(Materials.Redstone),
+ OrePrefixes.dust.get(Materials.Redstone), OrePrefixes.dust.get(Materials.Redstone),
+ OrePrefixes.dust.get(Materials.Redstone) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Paper, 1L),
+ bits_no_remove_buffered,
+ new Object[] { "PPk", 'P', OrePrefixes.plate.get(Materials.Paper) });
+
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.torch, 2),
+ bits_no_remove_buffered,
+ new Object[] { "C", "S", 'C', OrePrefixes.dust.get(Materials.Sulfur), 'S',
+ OrePrefixes.stick.get(Materials.Wood) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.torch, 6),
+ bits_no_remove_buffered,
+ new Object[] { "C", "S", 'C', OrePrefixes.dust.get(Materials.TricalciumPhosphate), 'S',
+ OrePrefixes.stick.get(Materials.Wood) });
+
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.piston, 1),
+ bits_no_remove_buffered,
+ new Object[] { "WWW", "CBC", "CRC", 'W', OrePrefixes.plank.get(Materials.Wood), 'C',
+ OrePrefixes.stoneCobble, 'R', OrePrefixes.dust.get(Materials.Redstone), 'B',
+ OrePrefixes.ingot.get(Materials.AnyIron) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.piston, 1),
+ bits_no_remove_buffered,
+ new Object[] { "WWW", "CBC", "CRC", 'W', OrePrefixes.plank.get(Materials.Wood), 'C',
+ OrePrefixes.stoneCobble, 'R', OrePrefixes.dust.get(Materials.Redstone), 'B',
+ OrePrefixes.ingot.get(Materials.AnyBronze) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.piston, 1),
+ bits_no_remove_buffered,
+ new Object[] { "WWW", "CBC", "CRC", 'W', OrePrefixes.plank.get(Materials.Wood), 'C',
+ OrePrefixes.stoneCobble, 'R', OrePrefixes.dust.get(Materials.Redstone), 'B',
+ OrePrefixes.ingot.get(Materials.Aluminium) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.piston, 1),
+ bits_no_remove_buffered,
+ new Object[] { "WWW", "CBC", "CRC", 'W', OrePrefixes.plank.get(Materials.Wood), 'C',
+ OrePrefixes.stoneCobble, 'R', OrePrefixes.dust.get(Materials.Redstone), 'B',
+ OrePrefixes.ingot.get(Materials.Steel) });
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Blocks.piston, 1),
+ bits_no_remove_buffered,
+ new Object[] { "WWW", "CBC", "CRC", 'W', OrePrefixes.plank.get(Materials.Wood), 'C',
+ OrePrefixes.stoneCobble, 'R', OrePrefixes.dust.get(Materials.Redstone), 'B',
+ OrePrefixes.ingot.get(Materials.Titanium) });
+
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("reactorVent", 1L, 1),
+ bits_no_remove_buffered,
+ new Object[] { "AIA", "I I", "AIA", 'I', new ItemStack(Blocks.iron_bars, 1), 'A',
+ OrePrefixes.plate.get(Materials.Aluminium) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_ModHandler.getIC2Item("reactorPlatingExplosive", 1L),
+ bits_no_remove_buffered,
+ new Object[] { GT_ModHandler.getIC2Item("reactorPlating", 1L), OrePrefixes.plate.get(Materials.Lead) });
+ if (!Materials.Steel.mBlastFurnaceRequired) {
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 1L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Iron), OrePrefixes.dust.get(Materials.Coal),
+ OrePrefixes.dust.get(Materials.Coal) });
+ }
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brass, 1L));
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brass, 3L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.AnyCopper), OrePrefixes.dust.get(Materials.AnyCopper),
+ OrePrefixes.dust.get(Materials.AnyCopper), OrePrefixes.dust.get(Materials.Zinc) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Brass, 9L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Tetrahedrite), OrePrefixes.dust.get(Materials.Tetrahedrite),
+ OrePrefixes.dust.get(Materials.Tetrahedrite), OrePrefixes.dust.get(Materials.Zinc) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bronze, 3L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.AnyCopper), OrePrefixes.dust.get(Materials.AnyCopper),
+ OrePrefixes.dust.get(Materials.AnyCopper), OrePrefixes.dust.get(Materials.Tin) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Bronze, 9L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Tetrahedrite), OrePrefixes.dust.get(Materials.Tetrahedrite),
+ OrePrefixes.dust.get(Materials.Tetrahedrite), OrePrefixes.dust.get(Materials.Tin) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Invar, 9L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Iron), OrePrefixes.dust.get(Materials.Iron),
+ OrePrefixes.dust.get(Materials.Nickel) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Cupronickel, 6L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Nickel), OrePrefixes.dust.get(Materials.AnyCopper) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RoseGold, 4L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Gold), OrePrefixes.dust.get(Materials.Gold),
+ OrePrefixes.dust.get(Materials.Gold), OrePrefixes.dust.get(Materials.Gold),
+ OrePrefixes.dust.get(Materials.AnyCopper) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SterlingSilver, 4L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Silver), OrePrefixes.dust.get(Materials.Silver),
+ OrePrefixes.dust.get(Materials.Silver), OrePrefixes.dust.get(Materials.Silver),
+ OrePrefixes.dust.get(Materials.AnyCopper) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackBronze, 4L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Gold), OrePrefixes.dust.get(Materials.Silver),
+ OrePrefixes.dust.get(Materials.AnyCopper), OrePrefixes.dust.get(Materials.AnyCopper),
+ OrePrefixes.dust.get(Materials.AnyCopper) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BismuthBronze, 4L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Bismuth), OrePrefixes.dust.get(Materials.Zinc),
+ OrePrefixes.dust.get(Materials.AnyCopper), OrePrefixes.dust.get(Materials.AnyCopper),
+ OrePrefixes.dust.get(Materials.AnyCopper) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CobaltBrass, 8L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Brass), OrePrefixes.dust.get(Materials.Brass),
+ OrePrefixes.dust.get(Materials.Brass), OrePrefixes.dust.get(Materials.Brass),
+ OrePrefixes.dust.get(Materials.Brass), OrePrefixes.dust.get(Materials.Brass),
+ OrePrefixes.dust.get(Materials.Brass), OrePrefixes.dust.get(Materials.Aluminium),
+ OrePrefixes.dust.get(Materials.Cobalt) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DamascusSteel, 2L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Steel), OrePrefixes.dustSmall.get(Materials.Nickel),
+ OrePrefixes.dustSmall.get(Materials.Nickel), OrePrefixes.dustSmall.get(Materials.Nickel),
+ OrePrefixes.dustTiny.get(Materials.Coal), OrePrefixes.dustTiny.get(Materials.Silicon),
+ OrePrefixes.dustTiny.get(Materials.Manganese), OrePrefixes.dustTiny.get(Materials.Chrome),
+ OrePrefixes.dustTiny.get(Materials.Molybdenum) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DamascusSteel, 2L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Steel), OrePrefixes.dustSmall.get(Materials.Manganese),
+ OrePrefixes.dustSmall.get(Materials.Manganese), OrePrefixes.dustSmall.get(Materials.Chrome),
+ OrePrefixes.dustSmall.get(Materials.Chrome), OrePrefixes.dustTiny.get(Materials.Coal),
+ OrePrefixes.dustTiny.get(Materials.Silicon), OrePrefixes.dustTiny.get(Materials.Vanadium) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RedstoneAlloy, 2L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Redstone), OrePrefixes.dust.get(Materials.Silicon),
+ OrePrefixes.dust.get(Materials.Coal) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CrudeSteel, 2L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Clay), OrePrefixes.dust.get(Materials.Flint),
+ OrePrefixes.dust.get(Materials.Stone) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.ConductiveIron, 2L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.RedstoneAlloy), OrePrefixes.dust.get(Materials.Iron),
+ OrePrefixes.dust.get(Materials.Silver) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.EnergeticAlloy, 2L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.ConductiveIron), OrePrefixes.dust.get(Materials.Gold),
+ OrePrefixes.dust.get(Materials.BlackSteel) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.EnergeticSilver, 2L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.ConductiveIron), OrePrefixes.dust.get(Materials.Silver),
+ OrePrefixes.dust.get(Materials.BlackSteel) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.ElectricalSteel, 2L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Steel), OrePrefixes.dust.get(Materials.Coal),
+ OrePrefixes.dust.get(Materials.Silicon) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Soularium, 2L),
+ bits_no_remove_buffered,
+ new Object[] { new ItemStack(Blocks.soul_sand, 1, 32767), OrePrefixes.dust.get(Materials.Gold),
+ OrePrefixes.dust.get(Materials.Ash) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkSteel, 2L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.ElectricalSteel), OrePrefixes.dust.get(Materials.Coal),
+ OrePrefixes.dust.get(Materials.Obsidian) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Manyullyn, 3L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Ardite), OrePrefixes.dust.get(Materials.Ardite),
+ OrePrefixes.dust.get(Materials.Ardite), OrePrefixes.dust.get(Materials.Ardite),
+ OrePrefixes.dust.get(Materials.Cobalt), OrePrefixes.dust.get(Materials.Cobalt),
+ OrePrefixes.dust.get(Materials.Cobalt), OrePrefixes.dust.get(Materials.Cobalt) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Haderoth, 1L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Rubracium), OrePrefixes.dust.get(Materials.Mithril) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Celenegil, 1L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Platinum), OrePrefixes.dust.get(Materials.Orichalcum) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.IronWood, 2L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Iron), OrePrefixes.dust.get(Materials.LiveRoot),
+ OrePrefixes.dustTiny.get(Materials.Gold) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Hepatizon, 3L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Copper), OrePrefixes.dust.get(Materials.Copper),
+ OrePrefixes.dust.get(Materials.Copper), OrePrefixes.dustTiny.get(Materials.Gold),
+ OrePrefixes.dustTiny.get(Materials.Gold), OrePrefixes.dustTiny.get(Materials.Gold),
+ OrePrefixes.dustTiny.get(Materials.Silver), OrePrefixes.dustTiny.get(Materials.Silver),
+ OrePrefixes.dustTiny.get(Materials.Silver) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Angmallen, 2L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Iron), OrePrefixes.dust.get(Materials.Gold) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Inolashite, 1L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Alduorite), OrePrefixes.dust.get(Materials.Ceruclase) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Items.gunpowder, 6),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Coal), OrePrefixes.dust.get(Materials.Coal),
+ OrePrefixes.dust.get(Materials.Coal), OrePrefixes.dust.get(Materials.Sulfur),
+ OrePrefixes.dust.get(Materials.Saltpeter), OrePrefixes.dust.get(Materials.Saltpeter) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Items.gunpowder, 6),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Charcoal), OrePrefixes.dust.get(Materials.Charcoal),
+ OrePrefixes.dust.get(Materials.Charcoal), OrePrefixes.dust.get(Materials.Sulfur),
+ OrePrefixes.dust.get(Materials.Saltpeter), OrePrefixes.dust.get(Materials.Saltpeter) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ new ItemStack(Items.gunpowder, 6),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Carbon), OrePrefixes.dust.get(Materials.Carbon),
+ OrePrefixes.dust.get(Materials.Carbon), OrePrefixes.dust.get(Materials.Sulfur),
+ OrePrefixes.dust.get(Materials.Saltpeter), OrePrefixes.dust.get(Materials.Saltpeter) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.IndiumGalliumPhosphide, 3L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Indium), OrePrefixes.dust.get(Materials.Gallium),
+ OrePrefixes.dust.get(Materials.Phosphorus) });
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 5L),
+ bits_no_remove_buffered,
+ new Object[] { OrePrefixes.dust.get(Materials.Potassium), OrePrefixes.cell.get(Materials.Nitrogen),
+ OrePrefixes.cell.get(Materials.Oxygen), OrePrefixes.cell.get(Materials.Oxygen),
+ OrePrefixes.cell.get(Materials.Oxygen) });
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("carbonFiber", 1L));
+
+ ItemStack[] tChestAndTank = new ItemStack[] { ItemList.Super_Chest_EV.get(1), ItemList.Super_Chest_IV.get(1),
+ ItemList.Super_Chest_HV.get(1), ItemList.Super_Chest_MV.get(1), ItemList.Super_Chest_LV.get(1),
+ ItemList.Quantum_Chest_EV.get(1), ItemList.Quantum_Chest_IV.get(1), ItemList.Quantum_Chest_HV.get(1),
+ ItemList.Quantum_Chest_MV.get(1), ItemList.Quantum_Chest_LV.get(1), ItemList.Super_Tank_EV.get(1),
+ ItemList.Super_Tank_IV.get(1), ItemList.Super_Tank_HV.get(1), ItemList.Super_Tank_MV.get(1),
+ ItemList.Super_Tank_LV.get(1), ItemList.Quantum_Tank_EV.get(1), ItemList.Quantum_Tank_IV.get(1),
+ ItemList.Quantum_Tank_HV.get(1), ItemList.Quantum_Tank_MV.get(1), ItemList.Quantum_Tank_LV.get(1) };
+ for (ItemStack tItem : tChestAndTank) {
+ GT_ModHandler.addShapelessCraftingRecipe(tItem, new Object[] { tItem });
+ }
+
+ List<ItemStack> iToRemoveAndHide = Arrays
+ .stream(
+ new String[] { "copperCableItem", "insulatedCopperCableItem", "goldCableItem", "insulatedGoldCableItem",
+ "insulatedIronCableItem", "glassFiberCableItem", "tinCableItem", "ironCableItem",
+ "insulatedTinCableItem", "detectorCableItem", "splitterCableItem", "electrolyzer", "cutter" })
+ .map(x -> GT_ModHandler.getIC2Item(x, 1L))
+ .collect(Collectors.toList());
+
+ if (NotEnoughItems.isModLoaded()) {
+ iToRemoveAndHide.forEach(item -> {
+ codechicken.nei.api.API.hideItem(item);
+ GT_ModHandler.removeRecipeByOutputDelayed(item);
+ });
+ }
+
+ Arrays
+ .stream(
+ new String[] { "batBox", "mfeUnit", "lvTransformer", "mvTransformer", "hvTransformer", "evTransformer",
+ "cesuUnit", "luminator", "teleporter", "energyOMat", "advBattery", "boatElectric", "cropnalyzer",
+ "coil", "powerunit", "powerunitsmall", "remote", "odScanner", "ovScanner", "solarHelmet",
+ "staticBoots", "ecMeter", "obscurator", "overclockerUpgrade", "transformerUpgrade",
+ "energyStorageUpgrade", "ejectorUpgrade", "suBattery", "frequencyTransmitter", "pullingUpgrade" })
+ .map(x -> GT_ModHandler.getIC2Item(x, 1L))
+ .forEach(GT_ModHandler::removeRecipeByOutputDelayed);
+
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("batBox", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "PCP", "BBB", "PPP", 'C', OrePrefixes.cableGt01.get(Materials.Tin), 'P',
+ OrePrefixes.plank.get(Materials.Wood), 'B', OrePrefixes.battery.get(Materials.LV) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("mfeUnit", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "CEC", "EME", "CEC", 'C', OrePrefixes.cableGt01.get(Materials.Gold), 'E',
+ OrePrefixes.battery.get(Materials.IV), 'M', GT_ModHandler.getIC2Item("machine", 1L) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("lvTransformer", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "PCP", "POP", "PCP", 'C', OrePrefixes.cableGt01.get(Materials.Tin), 'O',
+ GT_ModHandler.getIC2Item("coil", 1L), 'P', OrePrefixes.plank.get(Materials.Wood) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("mvTransformer", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "CMC", 'C', OrePrefixes.cableGt01.get(Materials.Copper), 'M',
+ GT_ModHandler.getIC2Item("machine", 1L) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("hvTransformer", 1L),
+ bits_no_remove_buffered,
+ new Object[] { " C ", "IMB", " C ", 'C', OrePrefixes.cableGt01.get(Materials.Gold), 'M',
+ GT_ModHandler.getIC2Item("mvTransformer", 1L), 'I', OrePrefixes.circuit.get(Materials.LV), 'B',
+ OrePrefixes.battery.get(Materials.HV) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("evTransformer", 1L),
+ bits_no_remove_buffered,
+ new Object[] { " C ", "IMB", " C ", 'C', OrePrefixes.cableGt01.get(Materials.Aluminium), 'M',
+ GT_ModHandler.getIC2Item("hvTransformer", 1L), 'I', OrePrefixes.circuit.get(Materials.HV), 'B',
+ OrePrefixes.battery.get(Materials.LuV) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("cesuUnit", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "PCP", "BBB", "PPP", 'C', OrePrefixes.cableGt01.get(Materials.Copper), 'P',
+ OrePrefixes.plate.get(Materials.Bronze), 'B', OrePrefixes.battery.get(Materials.HV) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("teleporter", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "GFG", "CMC", "GDG", 'C', OrePrefixes.cableGt01.get(Materials.Platinum), 'G',
+ OrePrefixes.circuit.get(Materials.HV), 'D', OrePrefixes.gem.get(Materials.Diamond), 'M',
+ GT_ModHandler.getIC2Item("machine", 1L), 'F', GT_ModHandler.getIC2Item("frequencyTransmitter", 1L) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("energyOMat", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "RBR", "CMC", 'C', OrePrefixes.cableGt01.get(Materials.Copper), 'R',
+ OrePrefixes.dust.get(Materials.Redstone), 'B', OrePrefixes.battery.get(Materials.LV), 'M',
+ GT_ModHandler.getIC2Item("machine", 1L) });
+
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("boatElectric", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "CCC", "XWX", aTextIron2, 'C', OrePrefixes.cableGt01.get(Materials.Copper), 'X',
+ OrePrefixes.plate.get(Materials.Iron), 'W', GT_ModHandler.getIC2Item("waterMill", 1L) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("cropnalyzer", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "CC ", "RGR", "RIR", 'C', OrePrefixes.cableGt01.get(Materials.Copper), 'R',
+ OrePrefixes.dust.get(Materials.Redstone), 'G', OrePrefixes.block.get(Materials.Glass), 'I',
+ OrePrefixes.circuit.get(Materials.LV) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("coil", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "CCC", "CXC", "CCC", 'C', OrePrefixes.wireGt01.get(Materials.Copper), 'X',
+ OrePrefixes.ingot.get(Materials.AnyIron) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("powerunit", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "BCA", "BIM", "BCA", 'C', OrePrefixes.cableGt01.get(Materials.Copper), 'B',
+ OrePrefixes.battery.get(Materials.LV), 'A', GT_ModHandler.getIC2Item("casingiron", 1L), 'I',
+ OrePrefixes.circuit.get(Materials.LV), 'M', GT_ModHandler.getIC2Item("elemotor", 1L) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("powerunitsmall", 1L),
+ bits_no_remove_buffered,
+ new Object[] { " CA", "BIM", " CA", 'C', OrePrefixes.cableGt01.get(Materials.Copper), 'B',
+ OrePrefixes.battery.get(Materials.LV), 'A', GT_ModHandler.getIC2Item("casingiron", 1L), 'I',
+ OrePrefixes.circuit.get(Materials.LV), 'M', GT_ModHandler.getIC2Item("elemotor", 1L) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("remote", 1L),
+ bits_no_remove_buffered,
+ new Object[] { " C ", "TLT", " F ", 'C', OrePrefixes.cableGt01.get(Materials.Copper), 'L',
+ OrePrefixes.dust.get(Materials.Lapis), 'T', GT_ModHandler.getIC2Item("casingtin", 1L), 'F',
+ GT_ModHandler.getIC2Item("frequencyTransmitter", 1L) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("odScanner", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "PGP", "CBC", "WWW", 'W', OrePrefixes.cableGt01.get(Materials.Copper), 'G',
+ OrePrefixes.dust.get(Materials.Glowstone), 'B', OrePrefixes.battery.get(Materials.HV), 'C',
+ OrePrefixes.circuit.get(Materials.HV), 'P', GT_ModHandler.getIC2Item("casinggold", 1L) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("ovScanner", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "PDP", "GCG", "WSW", 'W', OrePrefixes.cableGt01.get(Materials.Gold), 'G',
+ OrePrefixes.dust.get(Materials.Glowstone), 'D', OrePrefixes.battery.get(Materials.IV), 'C',
+ OrePrefixes.circuit.get(Materials.HV), 'P', GT_ModHandler.getIC2Item("casinggold", 1L), 'S',
+ GT_ModHandler.getIC2Item("odScanner", 1L) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("staticBoots", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "I I", "IWI", "CCC", 'C', OrePrefixes.cableGt01.get(Materials.Copper), 'I',
+ OrePrefixes.ingot.get(Materials.Iron), 'W', new ItemStack(Blocks.wool) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("ecMeter", 1L),
+ bits_no_remove_buffered,
+ new Object[] { " G ", "CIC", "C C", 'C', OrePrefixes.cableGt01.get(Materials.Copper), 'G',
+ OrePrefixes.dust.get(Materials.Glowstone), 'I', OrePrefixes.circuit.get(Materials.LV) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("obscurator", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "RER", "CAC", "RRR", 'C', OrePrefixes.cableGt01.get(Materials.Gold), 'R',
+ OrePrefixes.dust.get(Materials.Redstone), 'E', OrePrefixes.battery.get(Materials.HV), 'A',
+ OrePrefixes.circuit.get(Materials.HV) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("overclockerUpgrade", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "CCC", "WEW", 'W', OrePrefixes.cableGt01.get(Materials.Copper), 'C',
+ GT_ModHandler.getIC2Item("reactorCoolantSimple", 1L, 1), 'E', OrePrefixes.circuit.get(Materials.LV) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("transformerUpgrade", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "GGG", "WTW", "GEG", 'W', OrePrefixes.cableGt01.get(Materials.Gold), 'T',
+ GT_ModHandler.getIC2Item("mvTransformer", 1L), 'E', OrePrefixes.circuit.get(Materials.LV), 'G',
+ OrePrefixes.block.get(Materials.Glass) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("energyStorageUpgrade", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "PPP", "WBW", "PEP", 'W', OrePrefixes.cableGt01.get(Materials.Copper), 'E',
+ OrePrefixes.circuit.get(Materials.LV), 'P', OrePrefixes.plank.get(Materials.Wood), 'B',
+ OrePrefixes.battery.get(Materials.LV) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("ejectorUpgrade", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "PHP", "WEW", 'W', OrePrefixes.cableGt01.get(Materials.Copper), 'E',
+ OrePrefixes.circuit.get(Materials.LV), 'P', new ItemStack(Blocks.piston), 'H',
+ new ItemStack(Blocks.hopper) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("suBattery", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "W", "C", "R", 'W', OrePrefixes.cableGt01.get(Materials.Copper), 'C',
+ OrePrefixes.dust.get(Materials.HydratedCoal), 'R', OrePrefixes.dust.get(Materials.Redstone) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("pullingUpgrade", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "PHP", "WEW", 'W', OrePrefixes.cableGt01.get(Materials.Copper), 'P',
+ new ItemStack(Blocks.sticky_piston), 'R', new ItemStack(Blocks.hopper), 'E',
+ OrePrefixes.circuit.get(Materials.LV) });
+
+ if (NotEnoughItems.isModLoaded()) {
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("reactorUraniumSimple", 1L, 1));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("reactorUraniumDual", 1L, 1));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("reactorUraniumQuad", 1L, 1));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("reactorMOXSimple", 1L, 1));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("reactorMOXDual", 1L, 1));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("reactorMOXQuad", 1L, 1));
+ }
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("UranFuel", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "UUU", "NNN", "UUU", 'U', OrePrefixes.ingot.get(Materials.Uranium), 'N',
+ OrePrefixes.nugget.get(Materials.Uranium235) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("MOXFuel", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "UUU", "NNN", "UUU", 'U', OrePrefixes.ingot.get(Materials.Uranium), 'N',
+ OrePrefixes.ingot.get(Materials.Plutonium) });
+
+ GT_ModHandler.removeRecipeByOutputDelayed(Ic2Items.miningLaser.copy());
+ GT_ModHandler.addCraftingRecipe(
+ Ic2Items.miningLaser.copy(),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "PPP", "GEC", "SBd", 'P', OrePrefixes.plate.get(Materials.Titanium), 'G',
+ OrePrefixes.gemExquisite.get(Materials.Diamond), 'E', ItemList.Emitter_HV, 'C',
+ OrePrefixes.circuit.get(Materials.IV), 'S', OrePrefixes.screw.get(Materials.Titanium), 'B',
+ new ItemStack(
+ Ic2Items.chargingEnergyCrystal.copy()
+ .getItem(),
+ 1,
+ GT_Values.W) });
+ GT_ModHandler.addCraftingRecipe(
+ Ic2Items.miningLaser.copy(),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "PPP", "GEC", "SBd", 'P', OrePrefixes.plate.get(Materials.Titanium), 'G',
+ OrePrefixes.gemExquisite.get(Materials.Ruby), 'E', ItemList.Emitter_HV, 'C',
+ OrePrefixes.circuit.get(Materials.IV), 'S', OrePrefixes.screw.get(Materials.Titanium), 'B',
+ new ItemStack(
+ Ic2Items.chargingEnergyCrystal.copy()
+ .getItem(),
+ 1,
+ GT_Values.W) });
+ GT_ModHandler.addCraftingRecipe(
+ Ic2Items.miningLaser.copy(),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "PPP", "GEC", "SBd", 'P', OrePrefixes.plate.get(Materials.Titanium), 'G',
+ OrePrefixes.gemExquisite.get(Materials.Jasper), 'E', ItemList.Emitter_HV, 'C',
+ OrePrefixes.circuit.get(Materials.IV), 'S', OrePrefixes.screw.get(Materials.Titanium), 'B',
+ new ItemStack(
+ Ic2Items.chargingEnergyCrystal.copy()
+ .getItem(),
+ 1,
+ GT_Values.W) });
+ GT_ModHandler.addCraftingRecipe(
+ Ic2Items.miningLaser.copy(),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "PPP", "GEC", "SBd", 'P', OrePrefixes.plate.get(Materials.Titanium), 'G',
+ OrePrefixes.gemExquisite.get(Materials.GarnetRed), 'E', ItemList.Emitter_HV, 'C',
+ OrePrefixes.circuit.get(Materials.IV), 'S', OrePrefixes.screw.get(Materials.Titanium), 'B',
+ new ItemStack(
+ Ic2Items.chargingEnergyCrystal.copy()
+ .getItem(),
+ 1,
+ GT_Values.W) });
+
+ GT_ModHandler.removeRecipeDelayed(GT_ModHandler.getIC2Item("miningPipe", 8));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("miningPipe", 1),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "hPf", 'P', OrePrefixes.pipeSmall.get(Materials.Steel) });
+
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("luminator", 16L),
+ bits_no_remove_buffered,
+ new Object[] { "RTR", "GHG", "GGG", 'H', OrePrefixes.cell.get(Materials.Helium), 'T',
+ OrePrefixes.ingot.get(Materials.Tin), 'R', OrePrefixes.ingot.get(Materials.AnyIron), 'G',
+ new ItemStack(Blocks.glass, 1) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("luminator", 16L),
+ bits_no_remove_buffered,
+ new Object[] { "RTR", "GHG", "GGG", 'H', OrePrefixes.cell.get(Materials.Mercury), 'T',
+ OrePrefixes.ingot.get(Materials.Tin), 'R', OrePrefixes.ingot.get(Materials.AnyIron), 'G',
+ new ItemStack(Blocks.glass, 1) });
+
+ GT_ModHandler.removeRecipeDelayed(
+ tStack = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L),
+ tStack,
+ tStack,
+ tStack,
+ new ItemStack(Items.coal, 1, 0),
+ tStack,
+ tStack,
+ tStack,
+ tStack);
+ GT_ModHandler.removeRecipeDelayed(
+ tStack = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L),
+ tStack,
+ tStack,
+ tStack,
+ new ItemStack(Items.coal, 1, 1),
+ tStack,
+ tStack,
+ tStack,
+ tStack);
+ GT_ModHandler.removeRecipeDelayed(
+ null,
+ tStack = new ItemStack(Items.coal, 1),
+ null,
+ tStack,
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L),
+ tStack,
+ null,
+ tStack,
+ null);
+
+ GT_ModHandler.removeFurnaceSmelting(new ItemStack(Blocks.hopper));
+
+ GT_Log.out.println("GT_Mod: Applying harder Recipes for several Blocks."); // TODO: Not Buffered
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("reactorReflectorThick", 1L, 1));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("reactorReflectorThick", 1L, 1),
+ bits_no_remove_buffered,
+ new Object[] { " N ", "NBN", " N ", 'B', OrePrefixes.plateDouble.get(Materials.Beryllium), 'N',
+ GT_ModHandler.getIC2Item("reactorReflector", 1L, 1) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("reactorReflectorThick", 1L, 1),
+ bits_no_remove_buffered,
+ new Object[] { " B ", "NCN", " B ", 'B', OrePrefixes.plate.get(Materials.Beryllium), 'N',
+ GT_ModHandler.getIC2Item("reactorReflector", 1L, 1), 'C',
+ OrePrefixes.plate.get(Materials.TungstenCarbide) });
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("reactorReflector", 1L, 1));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("reactorReflector", 1L, 1),
+ bits_no_remove_buffered,
+ new Object[] { "TGT", "GSG", "TGT", 'T', OrePrefixes.plate.get(Materials.Tin), 'G',
+ OrePrefixes.dust.get(Materials.Graphite), 'S', OrePrefixes.plateDouble.get(Materials.Steel) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("reactorReflector", 1L, 1),
+ bits_no_remove_buffered,
+ new Object[] { "TTT", "GSG", "TTT", 'T', OrePrefixes.plate.get(Materials.TinAlloy), 'G',
+ OrePrefixes.dust.get(Materials.Graphite), 'S', OrePrefixes.plate.get(Materials.Beryllium) });
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("crophavester", 1L));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("crophavester", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "ACA", "PMS", "WOW", 'M', ItemList.Hull_MV, 'C', OrePrefixes.circuit.get(Materials.MV), 'A',
+ ItemList.Robot_Arm_LV, 'P', ItemList.Electric_Piston_LV, 'S', ItemList.Sensor_LV, 'W',
+ OrePrefixes.toolHeadSense.get(Materials.Aluminium), 'O', ItemList.Conveyor_Module_LV });
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("RTGenerator", 1L));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("RTGenerator", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "III", "IMI", "ICI", 'I', OrePrefixes.itemCasing.get(Materials.Steel), 'C',
+ OrePrefixes.circuit.get(Materials.LuV), 'M', ItemList.Hull_IV });
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("RTHeatGenerator", 1L));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("RTHeatGenerator", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "III", "IMB", "ICI", 'I', OrePrefixes.itemCasing.get(Materials.Steel), 'C',
+ OrePrefixes.circuit.get(Materials.LuV), 'M', ItemList.Hull_IV, 'B',
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.Copper, 1) });
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("carbonrotor", 1L));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("carbonrotor", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "dBS", "BTB", "SBw", 'B', GT_ModHandler.getIC2Item("carbonrotorblade", 1), 'S',
+ OrePrefixes.screw.get(Materials.Iridium), 'T', GT_ModHandler.getIC2Item("steelshaft", 1) });
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("steelrotor", 1L));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("steelrotor", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "dBS", "BTB", "SBw", 'B', GT_ModHandler.getIC2Item("steelrotorblade", 1), 'S',
+ OrePrefixes.screw.get(Materials.StainlessSteel), 'T', GT_ModHandler.getIC2Item("ironshaft", 1) });
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("ironrotor", 1L));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("ironrotor", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "dBS", "BTB", "SBw", 'B', GT_ModHandler.getIC2Item("ironrotorblade", 1), 'S',
+ OrePrefixes.screw.get(Materials.WroughtIron), 'T', GT_ModHandler.getIC2Item("ironshaft", 1) });
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("woodrotor", 1L));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("woodrotor", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "dBS", "BTB", "SBw", 'B', GT_ModHandler.getIC2Item("woodrotorblade", 1), 'S',
+ OrePrefixes.screw.get(Materials.WroughtIron), 'T', OrePrefixes.stickLong.get(Materials.WroughtIron) });
+
+ if (GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Diamond, 1L) != null) {
+ tStack = GT_ModHandler.getRecipeOutput(
+ GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Iron, 1L),
+ new ItemStack(Items.redstone, 1),
+ GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Iron, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Gold, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Iron, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Gold, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Diamond, 1L),
+ new ItemStack(Items.diamond_pickaxe, 1),
+ GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Diamond, 1L));
+ GT_ModHandler.removeRecipeByOutputDelayed(tStack);
+ GT_ModHandler.addCraftingRecipe(
+ tStack,
+ bits_no_remove_buffered,
+ new Object[] { "ICI", "GIG", "DPD", 'C', OrePrefixes.circuit.get(Materials.HV), 'D',
+ OrePrefixes.gear.get(Materials.Diamond), 'G', OrePrefixes.gear.get(Materials.Gold), 'I',
+ OrePrefixes.gear.get(Materials.Steel), 'P', GT_ModHandler.getIC2Item("diamondDrill", 1L, 32767) });
+ }
+
+ GT_ModHandler.removeRecipeByOutputDelayed(new ItemStack(Items.paper));
+ GT_ModHandler.removeRecipeByOutputDelayed(new ItemStack(Items.sugar));
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Paper, 2),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "SSS", " m ", 'S', new ItemStack(Items.reeds) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "Sm ", 'S', new ItemStack(Items.reeds) });
+ GT_ModHandler.addCraftingRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.paper, Materials.Empty, 2),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { " C ", "SSS", " C ", 'S', GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Paper, 1),
+ 'C', new ItemStack(Blocks.stone_slab) });
+
+ GT_Log.out.println("GT_Mod: Applying Recipes for Tools");
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("nanoSaber", 1L));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("nanoSaber", 1L),
+ bits_no_remove_buffered,
+ new Object[] { "PI ", "PI ", "CLC", 'L', OrePrefixes.battery.get(Materials.EV), 'I',
+ OrePrefixes.plateAlloy.get("Iridium"), 'P', OrePrefixes.plate.get(Materials.Platinum), 'C',
+ OrePrefixes.circuit.get(Materials.IV) });
+
+ GT_ModHandler.removeRecipeByOutputDelayed(new ItemStack(Items.flint_and_steel, 1));
+ GT_ModHandler.addCraftingRecipe(
+ new ItemStack(Items.flint_and_steel, 1),
+ bits_no_remove_buffered,
+ new Object[] { "S ", " F", 'F', new ItemStack(Items.flint, 1), 'S', "nuggetSteel" });
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("diamondDrill", 1L));
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("miningDrill", 1L));
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("chainsaw", 1L));
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("electricHoe", 1L));
+
+ GT_ModHandler.removeRecipeByOutputDelayed(GT_ModHandler.getIC2Item("electricTreetap", 1L));
+
+ if (GraviSuite.isModLoaded()) {
+ GT_ModHandler.removeRecipeByOutputDelayed(
+ GT_ModHandler.getModItem(GraviSuite.ID, "advNanoChestPlate", 1, GT_Values.W));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getModItem(GraviSuite.ID, "advNanoChestPlate", 1, GT_Values.W),
+ bits_no_remove_buffered,
+ new Object[] { "CJC", "TNT", "WPW", 'C', OrePrefixes.plateAlloy.get(Materials.Advanced), 'T',
+ OrePrefixes.plate.get(Materials.TungstenSteel), 'J',
+ GT_ModHandler.getModItem(GraviSuite.ID, "advJetpack", 1, GT_Values.W), 'N',
+ GT_ModHandler.getModItem(IndustrialCraft2.ID, "itemArmorNanoChestplate", 1, GT_Values.W), 'W',
+ OrePrefixes.wireGt12.get(Materials.Platinum), 'P', OrePrefixes.circuit.get(Materials.IV) });
+
+ GT_ModHandler
+ .removeRecipeByOutputDelayed(GT_ModHandler.getModItem(GraviSuite.ID, "advLappack", 1, GT_Values.W));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getModItem(GraviSuite.ID, "advLappack", 1, GT_Values.W),
+ bits_no_remove_buffered,
+ new Object[] { "CEC", "EJE", "WPW", 'C', OrePrefixes.plateAlloy.get(Materials.Carbon), 'J',
+ GT_ModHandler.getModItem(IndustrialCraft2.ID, "itemArmorEnergypack", 1L, GT_Values.W), 'E',
+ GT_ModHandler.getModItem(IndustrialCraft2.ID, "itemBatCrystal", 1L, GT_Values.W), 'W',
+ OrePrefixes.wireGt04.get(Materials.Platinum), 'P', OrePrefixes.circuit.get(Materials.EV) });
+
+ GT_ModHandler
+ .removeRecipeByOutputDelayed(GT_ModHandler.getModItem(GraviSuite.ID, "advJetpack", 1, GT_Values.W));
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getModItem(GraviSuite.ID, "advJetpack", 1, GT_Values.W),
+ bits_no_remove_buffered,
+ new Object[] { "CJC", "EXE", "YZY", 'C', OrePrefixes.plateAlloy.get(Materials.Carbon), 'J',
+ GT_ModHandler.getModItem(IndustrialCraft2.ID, "itemArmorJetpackElectric", 1, GT_Values.W), 'E',
+ OrePrefixes.plate.get(Materials.Titanium), 'X',
+ GT_ModHandler.getModItem(IndustrialCraft2.ID, "itemArmorAlloyChestplate", 1L), 'Z',
+ OrePrefixes.circuit.get(Materials.EV), 'Y', OrePrefixes.wireGt02.get(Materials.Platinum) });
+ }
+
+ GT_ModHandler.addShapelessCraftingRecipe(
+ Materials.Fireclay.getDust(2),
+ new Object[] { Materials.Brick.getDust(1), Materials.Clay.getDust(1) });
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Casing_Advanced_Rhodium_Palladium.get(1L),
+ bits,
+ new Object[] { "PhP", "PFP", aTextPlateWrench, 'P',
+ new ItemStack(WerkstoffLoader.items.get(OrePrefixes.plate), 1, 88), 'F',
+ OrePrefixes.frameGt.get(Materials.Chrome) });
+
+ 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);
+
+ GT_ModHandler.addCraftingRecipe(
+ coverIDs[i],
+ GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE,
+ new Object[] { "s ", " P", 'P', slabWood });
+
+ GT_ModHandler.addCraftingRecipe(
+ coverIDs[i],
+ GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE,
+ new Object[] { "s ", " P", 'P', slabWoodFireproof });
+ }
+ }
+ GT_ModHandler.addCraftingRecipe(
+ GT_ModHandler.getIC2Item("electronicCircuit", 1L),
+ GT_ModHandler.RecipeBits.BUFFERED,
+ new Object[] { "RIR", "VBV", "CCC", 'R', ItemList.Circuit_Parts_Resistor.get(1), 'C',
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.RedAlloy, 1), 'V',
+ ItemList.Circuit_Parts_Vacuum_Tube.get(1), 'B', ItemList.Circuit_Board_Coated_Basic.get(1), 'I',
+ ItemList.IC2_Item_Casing_Steel.get(1) });
+ GT_ModHandler.addShapelessCraftingRecipe(
+ GT_ModHandler.getIC2Item("electronicCircuit", 1L),
+ new Object[] { ItemList.Circuit_Integrated.getWildcard(1L) });
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_CropLoader.java b/src/main/java/gregtech/loaders/postload/GT_CropLoader.java
new file mode 100644
index 0000000000..e6608a52b6
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_CropLoader.java
@@ -0,0 +1,1055 @@
+package gregtech.loaders.postload;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_BaseCrop;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_OreDictUnificator;
+
+public class GT_CropLoader implements Runnable {
+
+ @Override
+ public void run() {
+ GT_Log.out.println("GT_Mod: Register Crops to IC2.");
+ try {
+ /*
+ * Tags: Vines = Tendrilly Edible = Food
+ */
+ ItemStack[] tI = { ItemList.Crop_Drop_Indigo.get(4L), ItemList.Crop_Drop_MilkWart.get(4L),
+ new ItemStack(Blocks.brown_mushroom, 4), new ItemStack(Blocks.red_mushroom, 4) };
+ new GT_BaseCrop(
+ 124,
+ "Indigo",
+ "Eloraam",
+ tI[0],
+ 2,
+ 4,
+ 0,
+ 1,
+ 4,
+ 1,
+ 1,
+ 0,
+ 4,
+ 0,
+ new String[] { "Flower", "Blue", "Ingredient" },
+ ItemList.Crop_Drop_Indigo.get(1L),
+ null);
+ new GT_BaseCrop(
+ 125,
+ "Flax",
+ "Eloraam",
+ null,
+ 2,
+ 4,
+ 0,
+ 1,
+ 4,
+ 1,
+ 1,
+ 2,
+ 0,
+ 1,
+ new String[] { "Silk", "Tendrilly", "Addictive" },
+ new ItemStack(Items.string, 1),
+ null);
+ new GT_BaseCrop(
+ 126,
+ "Oilberries",
+ "Spacetoad",
+ null,
+ 9,
+ 4,
+ 0,
+ 1,
+ 4,
+ 6,
+ 1,
+ 2,
+ 1,
+ 12,
+ new String[] { "Fire", "Dark", "Reed", "Rotten", "Coal", "Oil" },
+ ItemList.Crop_Drop_OilBerry.get(1L),
+ null);
+ new GT_BaseCrop(
+ 127,
+ "Bobsyeruncleranks",
+ "GenerikB",
+ null,
+ 11,
+ 4,
+ 0,
+ 1,
+ 4,
+ 4,
+ 0,
+ 8,
+ 2,
+ 9,
+ new String[] { "Shiny", "Tendrilly", "Emerald", "Berylium", "Crystal" },
+ Materials.Emerald,
+ ItemList.Crop_Drop_BobsYerUncleRanks.get(1L),
+ new ItemStack[] { new ItemStack(Items.emerald, 1) });
+ new GT_BaseCrop(
+ 128,
+ "Diareed",
+ "Direwolf20",
+ null,
+ 12,
+ 4,
+ 0,
+ 1,
+ 4,
+ 5,
+ 0,
+ 10,
+ 2,
+ 10,
+ new String[] { "Fire", "Shiny", "Reed", "Coal", "Diamond", "Crystal" },
+ Materials.Diamond,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L),
+ new ItemStack[] { new ItemStack(Items.diamond, 1) });
+ new GT_BaseCrop(
+ 129,
+ "Withereed",
+ "CovertJaguar",
+ null,
+ 8,
+ 4,
+ 0,
+ 1,
+ 4,
+ 2,
+ 0,
+ 4,
+ 1,
+ 3,
+ new String[] { "Fire", "Undead", "Reed", "Coal", "Rotten", "Wither" },
+ Materials.Coal,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1L),
+ new ItemStack[] { new ItemStack(Items.coal, 1), new ItemStack(Items.coal, 1) });
+ new GT_BaseCrop(
+ 130,
+ "Blazereed",
+ "Mr. Brain",
+ null,
+ 6,
+ 4,
+ 0,
+ 1,
+ 4,
+ 0,
+ 4,
+ 1,
+ 0,
+ 0,
+ new String[] { "Fire", "Blaze", "Reed", "Sulfur" },
+ new ItemStack(Items.blaze_powder, 1),
+ new ItemStack[] { new ItemStack(Items.blaze_rod, 1) });
+ new GT_BaseCrop(
+ 131,
+ "Eggplant",
+ "Link",
+ null,
+ 6,
+ 3,
+ 900,
+ 2,
+ 3,
+ 0,
+ 4,
+ 1,
+ 0,
+ 0,
+ new String[] { "Chicken", "Egg", "Food", "Feather", "Flower", "Addictive" },
+ new ItemStack(Items.egg, 1),
+ new ItemStack[] { new ItemStack(Items.chicken, 1), new ItemStack(Items.feather, 1),
+ new ItemStack(Items.feather, 1), new ItemStack(Items.feather, 1) });
+ new GT_BaseCrop(
+ 132,
+ "Corium",
+ "Gregorius Techneticies",
+ null,
+ 6,
+ 4,
+ 0,
+ 1,
+ 4,
+ 0,
+ 2,
+ 3,
+ 1,
+ 0,
+ new String[] { "Cow", "Silk", "Tendrilly" },
+ new ItemStack(Items.leather, 1),
+ null);
+ new GT_BaseCrop(
+ 133,
+ "Corpseplant",
+ "Mr. Kenny",
+ null,
+ 5,
+ 4,
+ 0,
+ 1,
+ 4,
+ 0,
+ 2,
+ 1,
+ 0,
+ 3,
+ new String[] { "Toxic", "Undead", "Tendrilly", "Food", "Rotten" },
+ new ItemStack(Items.rotten_flesh, 1),
+ new ItemStack[] { ItemList.Dye_Bonemeal.get(1L), ItemList.Dye_Bonemeal.get(1L),
+ new ItemStack(Items.bone, 1) });
+ new GT_BaseCrop(
+ 134,
+ "Creeperweed",
+ "General Spaz",
+ null,
+ 7,
+ 4,
+ 0,
+ 1,
+ 4,
+ 3,
+ 0,
+ 5,
+ 1,
+ 3,
+ new String[] { "Creeper", "Tendrilly", "Explosive", "Fire", "Sulfur", "Saltpeter", "Coal" },
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gunpowder, 1L),
+ null);
+ new GT_BaseCrop(
+ 135,
+ "Enderbloom",
+ "RichardG",
+ null,
+ 10,
+ 4,
+ 0,
+ 1,
+ 4,
+ 5,
+ 0,
+ 2,
+ 1,
+ 6,
+ new String[] { "Ender", "Flower", "Shiny" },
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.EnderPearl, 1L),
+ new ItemStack[] { new ItemStack(Items.ender_pearl, 1), new ItemStack(Items.ender_pearl, 1),
+ new ItemStack(Items.ender_eye, 1) });
+ new GT_BaseCrop(
+ 136,
+ "Meatrose",
+ "VintageBeef",
+ null,
+ 7,
+ 4,
+ 1500,
+ 1,
+ 4,
+ 0,
+ 4,
+ 1,
+ 3,
+ 0,
+ new String[] { "Food", "Flower", "Cow", "Fish", "Chicken", "Pig" },
+ new ItemStack(Items.dye, 1, 9),
+ new ItemStack[] { new ItemStack(Items.beef, 1), new ItemStack(Items.porkchop, 1),
+ new ItemStack(Items.chicken, 1), new ItemStack(Items.fish, 1) });
+ new GT_BaseCrop(
+ 137,
+ "Milkwart",
+ "Mr. Brain",
+ tI[1],
+ 6,
+ 3,
+ 900,
+ 1,
+ 3,
+ 0,
+ 3,
+ 0,
+ 1,
+ 0,
+ new String[] { "Food", "Milk", "Cow" },
+ ItemList.Crop_Drop_MilkWart.get(1L),
+ null);
+ new GT_BaseCrop(
+ 138,
+ "Slimeplant",
+ "Neowulf",
+ null,
+ 6,
+ 4,
+ 0,
+ 3,
+ 4,
+ 3,
+ 0,
+ 0,
+ 0,
+ 2,
+ new String[] { "Slime", "Bouncy", "Sticky", "Bush" },
+ new ItemStack(Items.slime_ball, 1),
+ null);
+ new GT_BaseCrop(
+ 139,
+ "Spidernip",
+ "Mr. Kenny",
+ null,
+ 4,
+ 4,
+ 600,
+ 1,
+ 4,
+ 2,
+ 1,
+ 4,
+ 1,
+ 3,
+ new String[] { "Toxic", "Silk", "Spider", "Flower", "Ingredient", "Addictive" },
+ new ItemStack(Items.string, 1),
+ new ItemStack[] { new ItemStack(Items.spider_eye, 1), new ItemStack(Blocks.web, 1) });
+ new GT_BaseCrop(
+ 140,
+ "Tearstalks",
+ "Neowulf",
+ null,
+ 8,
+ 4,
+ 0,
+ 1,
+ 4,
+ 1,
+ 2,
+ 0,
+ 0,
+ 0,
+ new String[] { "Healing", "Nether", "Ingredient", "Reed", "Ghast" },
+ new ItemStack(Items.ghast_tear, 1),
+ null);
+ new GT_BaseCrop(
+ 141,
+ "Tine",
+ "Gregorius Techneticies",
+ null,
+ 5,
+ 3,
+ 0,
+ 2,
+ 3,
+ 2,
+ 0,
+ 3,
+ 0,
+ 0,
+ new String[] { "Shiny", "Metal", "Pine", "Tin", "Bush" },
+ Materials.Tin,
+ ItemList.Crop_Drop_Tine.get(1L),
+ null);
+ new GT_BaseCrop(
+ 142,
+ "Coppon",
+ "Mr. Brain",
+ null,
+ 6,
+ 3,
+ 0,
+ 2,
+ 3,
+ 2,
+ 0,
+ 1,
+ 1,
+ 1,
+ new String[] { "Shiny", "Metal", "Cotton", "Copper", "Bush" },
+ Materials.Copper,
+ ItemList.Crop_Drop_Coppon.get(1L),
+ null);
+ new GT_BaseCrop(
+ 143,
+ "Brown Mushrooms",
+ "Mr. Brain",
+ tI[2],
+ 1,
+ 3,
+ 0,
+ 1,
+ 3,
+ 0,
+ 2,
+ 0,
+ 0,
+ 2,
+ new String[] { "Food", "Mushroom", "Ingredient" },
+ new ItemStack(Blocks.brown_mushroom, 1),
+ null);
+ new GT_BaseCrop(
+ 144,
+ "Red Mushrooms",
+ "Mr. Kenny",
+ tI[3],
+ 1,
+ 3,
+ 0,
+ 1,
+ 3,
+ 0,
+ 1,
+ 3,
+ 0,
+ 2,
+ new String[] { "Toxic", "Mushroom", "Ingredient" },
+ new ItemStack(Blocks.red_mushroom, 1),
+ null);
+ new GT_BaseCrop(
+ 145,
+ "Argentia",
+ "Eloraam",
+ null,
+ 7,
+ 4,
+ 0,
+ 3,
+ 4,
+ 2,
+ 0,
+ 1,
+ 0,
+ 0,
+ new String[] { "Shiny", "Metal", "Silver", "Reed" },
+ Materials.Silver,
+ ItemList.Crop_Drop_Argentia.get(1L),
+ null);
+ new GT_BaseCrop(
+ 146,
+ "Plumbilia",
+ "KingLemming",
+ null,
+ 6,
+ 4,
+ 0,
+ 3,
+ 4,
+ 2,
+ 0,
+ 3,
+ 1,
+ 1,
+ new String[] { "Heavy", "Metal", "Lead", "Reed" },
+ Materials.Lead,
+ ItemList.Crop_Drop_Plumbilia.get(1L),
+ null);
+ new GT_BaseCrop(
+ 147,
+ "Steeleafranks",
+ "Benimatic",
+ null,
+ 10,
+ 4,
+ 0,
+ 1,
+ 4,
+ 3,
+ 0,
+ 7,
+ 2,
+ 8,
+ new String[] { "Metal", "Tendrilly", "Iron" },
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steeleaf, 1L),
+ new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steeleaf, 1L) });
+ new GT_BaseCrop(
+ 148,
+ "Liveroots",
+ "Benimatic",
+ null,
+ 8,
+ 4,
+ 0,
+ 1,
+ 4,
+ 2,
+ 0,
+ 5,
+ 2,
+ 6,
+ new String[] { "Wood", "Tendrilly" },
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.LiveRoot, 1L),
+ new ItemStack[] { ItemList.TF_LiveRoot.get(1L) });
+ new GT_BaseCrop(
+ 149,
+ "Trollplant",
+ "unknown",
+ null,
+ 6,
+ 5,
+ 1000,
+ 1,
+ 4,
+ 0,
+ 0,
+ 5,
+ 2,
+ 8,
+ new String[] { "Troll", "Bad", "Scrap" },
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.FoolsRuby, 1L),
+ new ItemStack[] { ItemList.IC2_Plantball.get(1), ItemList.IC2_Scrap.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plutonium241, 1L) });
+ new GT_BaseCrop(
+ 150,
+ "Lazulia",
+ "unknown",
+ null,
+ 7,
+ 4,
+ 0,
+ 2,
+ 4,
+ 4,
+ 2,
+ 5,
+ 7,
+ 4,
+ new String[] { "Shiny", "Bad", "Crystal", "Lapis" },
+ Materials.Lapis,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lapis, 1L),
+ null);
+ new GT_BaseCrop(
+ 151,
+ "Glowheat",
+ "unknown",
+ null,
+ 10,
+ 7,
+ 0,
+ 5,
+ 7,
+ 3,
+ 3,
+ 3,
+ 5,
+ 4,
+ new String[] { "Light", "Shiny", "Crystal" },
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L),
+ null);
+ new GT_BaseCrop(
+ 153,
+ "Fertilia",
+ "unknown",
+ null,
+ 3,
+ 4,
+ 0,
+ 1,
+ 4,
+ 2,
+ 3,
+ 5,
+ 4,
+ 8,
+ new String[] { "Growth", "Healing", "Flower" },
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 1L),
+ new ItemStack[] { ItemList.IC2_Fertilizer.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Apatite, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphate, 1L) });
+ new GT_BaseCrop(
+ 154,
+ "Bauxia",
+ "unknown",
+ null,
+ 6,
+ 3,
+ 0,
+ 2,
+ 3,
+ 5,
+ 0,
+ 2,
+ 3,
+ 3,
+ new String[] { "Metal", "Aluminium", "Reed", "Aluminium" },
+ Materials.Aluminium,
+ ItemList.Crop_Drop_Bauxite.get(1),
+ null);
+ new GT_BaseCrop(
+ 155,
+ "Titania",
+ "unknown",
+ null,
+ 9,
+ 3,
+ 0,
+ 2,
+ 3,
+ 5,
+ 0,
+ 3,
+ 3,
+ 1,
+ new String[] { "Metal", "Heavy", "Reed", "Titanium" },
+ Materials.Titanium,
+ ItemList.Crop_Drop_Ilmenite.get(1),
+ null);
+ new GT_BaseCrop(
+ 156,
+ "Reactoria",
+ "unknown",
+ null,
+ 12,
+ 4,
+ 0,
+ 2,
+ 4,
+ 4,
+ 0,
+ 1,
+ 2,
+ 1,
+ new String[] { "Radioactive", "Metal", "Danger", "Uranium" },
+ Materials.Uranium,
+ ItemList.Crop_Drop_Pitchblende.get(1),
+ new ItemStack[] { ItemList.Crop_Drop_Uraninite.get(1) });
+ new GT_BaseCrop(
+ 157,
+ "God of Thunder",
+ "unknown",
+ null,
+ 9,
+ 4,
+ 0,
+ 2,
+ 4,
+ 3,
+ 0,
+ 5,
+ 1,
+ 2,
+ new String[] { "Radioactive", "Metal", "Coal", "Thorium" },
+ Materials.Thorium,
+ ItemList.Crop_Drop_Thorium.get(1),
+ null);
+ new GT_BaseCrop(
+ 158,
+ "Transformium",
+ "unknown",
+ null,
+ 12,
+ 4,
+ 2500,
+ 1,
+ 4,
+ 6,
+ 2,
+ 1,
+ 6,
+ 1,
+ new String[] { "Transform", "Coal", "Reed" },
+ ItemList.Crop_Drop_UUABerry.get(1L),
+ new ItemStack[] { ItemList.Crop_Drop_UUABerry.get(1L), ItemList.Crop_Drop_UUABerry.get(1L),
+ ItemList.Crop_Drop_UUABerry.get(1L), ItemList.Crop_Drop_UUABerry.get(1L),
+ ItemList.Crop_Drop_UUMBerry.get(1L) });
+ new GT_BaseCrop(
+ 159,
+ "Starwart",
+ "unknown",
+ null,
+ 12,
+ 4,
+ 4000,
+ 1,
+ 4,
+ 2,
+ 0,
+ 0,
+ 1,
+ 0,
+ new String[] { "Wither", "Nether", "Undead", "Netherstar" },
+ Materials.NetherStar,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1L),
+ new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L),
+ new ItemStack(Items.skull, 1), new ItemStack(Items.skull, 1, 1), new ItemStack(Items.skull, 1, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NetherStar, 1L) });
+ new GT_BaseCrop(
+ 160,
+ "Zomplant",
+ "unknown",
+ null,
+ 3,
+ 4,
+ 0,
+ 1,
+ 4,
+ 1,
+ 3,
+ 4,
+ 2,
+ 6,
+ new String[] { "Zombie", "Rotten", "Undead" },
+ new ItemStack(Items.rotten_flesh),
+ null);
+ new GT_BaseCrop(
+ 161,
+ "Nickelback",
+ "unknown",
+ null,
+ 5,
+ 3,
+ 0,
+ 2,
+ 3,
+ 3,
+ 0,
+ 1,
+ 2,
+ 2,
+ new String[] { "Metal", "Fire", "Alloy" },
+ Materials.Nickel,
+ ItemList.Crop_Drop_Nickel.get(1),
+ null);
+ new GT_BaseCrop(
+ 162,
+ "Galvania",
+ "unknown",
+ null,
+ 6,
+ 3,
+ 0,
+ 2,
+ 3,
+ 3,
+ 0,
+ 2,
+ 2,
+ 3,
+ new String[] { "Metal", "Alloy", "Bush" },
+ Materials.Zinc,
+ ItemList.Crop_Drop_Zinc.get(1),
+ null);
+ new GT_BaseCrop(
+ 163,
+ "Evil Ore",
+ "unknown",
+ null,
+ 8,
+ 4,
+ 0,
+ 3,
+ 4,
+ 4,
+ 0,
+ 2,
+ 1,
+ 3,
+ new String[] { "Crystal", "Fire", "Nether" },
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NetherQuartz, 1L),
+ new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherQuartz, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CertusQuartz, 1L), });
+ new GT_BaseCrop(
+ 164,
+ "Olivia",
+ "unknown",
+ null,
+ 2,
+ 4,
+ 0,
+ 3,
+ 4,
+ 1,
+ 0,
+ 1,
+ 4,
+ 0,
+ new String[] { "Crystal", "Shiny", "Processing", "Olivine" },
+ Materials.Olivine,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Olivine, 1L),
+ new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Olivine, 1L), });
+ new GT_BaseCrop(
+ 165,
+ "Sapphirum",
+ "unknown",
+ null,
+ 4,
+ 4,
+ 0,
+ 3,
+ 4,
+ 1,
+ 0,
+ 1,
+ 5,
+ 0,
+ new String[] { "Crystal", "Shiny", "Metal", "Sapphire" },
+ Materials.Sapphire,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sapphire, 1L),
+ new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Sapphire, 1L), });
+ new GT_BaseCrop(
+ 166,
+ "Pyrolusium",
+ "unknown",
+ null,
+ 12,
+ 3,
+ 0,
+ 2,
+ 3,
+ 1,
+ 0,
+ 1,
+ 1,
+ 0,
+ new String[] { "Metal", "Clean", "Bush", "Manganese" },
+ Materials.Manganese,
+ ItemList.Crop_Drop_Manganese.get(1),
+ null);
+ new GT_BaseCrop(
+ 167,
+ "Scheelinium",
+ "unknown",
+ null,
+ 12,
+ 3,
+ 0,
+ 2,
+ 3,
+ 3,
+ 0,
+ 1,
+ 1,
+ 0,
+ new String[] { "Metal", "Hard", "Bush", "Tungsten" },
+ Materials.Tungsten,
+ ItemList.Crop_Drop_Scheelite.get(1),
+ null);
+ new GT_BaseCrop(
+ 168,
+ "Platina",
+ "unknown",
+ null,
+ 11,
+ 4,
+ 0,
+ 1,
+ 4,
+ 3,
+ 0,
+ 0,
+ 3,
+ 0,
+ new String[] { "Metal", "Shiny", "Reed", "Platinum" },
+ Materials.Platinum,
+ ItemList.Crop_Drop_Platinum.get(1),
+ null);
+ new GT_BaseCrop(
+ 169,
+ "Quantaria",
+ "unknown",
+ null,
+ 12,
+ 4,
+ 1000,
+ 1,
+ 4,
+ 4,
+ 0,
+ 0,
+ 1,
+ 0,
+ new String[] { "Metal", "Iridium", "Reed" },
+ Materials.Iridium,
+ ItemList.Crop_Drop_Iridium.get(1),
+ new ItemStack[] { ItemList.Crop_Drop_Osmium.get(1) });
+ new GT_BaseCrop(
+ 170,
+ "Stargatium",
+ "unknown",
+ null,
+ 12,
+ 4,
+ 1500,
+ 1,
+ 4,
+ 4,
+ 0,
+ 0,
+ 2,
+ 0,
+ new String[] { "Metal", "Heavy", "Alien", "Naquadah" },
+ Materials.Naquadah,
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Endstone, 1L),
+ new ItemStack[] { ItemList.Crop_Drop_Naquadah.get(1) });
+ new GT_BaseCrop(
+ 171,
+ "Lemon",
+ "unknown",
+ null,
+ 4,
+ 4,
+ 0,
+ 1,
+ 4,
+ 1,
+ 1,
+ 0,
+ 2,
+ 0,
+ new String[] { "Food", "Yellow", "Sour" },
+ ItemList.Crop_Drop_Lemon.get(1),
+ null);
+ new GT_BaseCrop(
+ 172,
+ "Chilly",
+ "unknown",
+ null,
+ 4,
+ 4,
+ 0,
+ 1,
+ 4,
+ 1,
+ 1,
+ 0,
+ 2,
+ 0,
+ new String[] { "Food", "Red", "Spicy" },
+ ItemList.Crop_Drop_Chilly.get(1),
+ null);
+ new GT_BaseCrop(
+ 173,
+ "Tomato",
+ "unknown",
+ null,
+ 4,
+ 4,
+ 0,
+ 1,
+ 4,
+ 1,
+ 1,
+ 0,
+ 2,
+ 0,
+ new String[] { "Food", "Red" },
+ ItemList.Crop_Drop_Tomato.get(1),
+ new ItemStack[] { ItemList.Crop_Drop_MTomato.get(1) });
+ new GT_BaseCrop(
+ 174,
+ "Grape",
+ "unknown",
+ null,
+ 4,
+ 4,
+ 0,
+ 1,
+ 4,
+ 1,
+ 1,
+ 0,
+ 2,
+ 0,
+ new String[] { "Food", "Purple" },
+ ItemList.Crop_Drop_Grapes.get(1),
+ null);
+ new GT_BaseCrop(
+ 175,
+ "Onion",
+ "unknown",
+ null,
+ 4,
+ 4,
+ 0,
+ 1,
+ 4,
+ 1,
+ 1,
+ 0,
+ 2,
+ 0,
+ new String[] { "Food", "Brown" },
+ ItemList.Crop_Drop_Onion.get(1),
+ null);
+ new GT_BaseCrop(
+ 176,
+ "Cucumber",
+ "unknown",
+ null,
+ 4,
+ 4,
+ 0,
+ 1,
+ 4,
+ 1,
+ 1,
+ 0,
+ 2,
+ 0,
+ new String[] { "Food", "Green" },
+ ItemList.Crop_Drop_Cucumber.get(1),
+ null);
+ new GT_BaseCrop(
+ 177,
+ "Tea",
+ "unknown",
+ null,
+ 4,
+ 4,
+ 0,
+ 1,
+ 4,
+ 1,
+ 1,
+ 0,
+ 2,
+ 0,
+ new String[] { "Food", "Green", "Ingredient" },
+ ItemList.Crop_Drop_TeaLeaf.get(1),
+ null);
+ new GT_BaseCrop(
+ 178,
+ "Rape",
+ "unknown",
+ null,
+ 4,
+ 4,
+ 0,
+ 1,
+ 4,
+ 1,
+ 1,
+ 0,
+ 2,
+ 0,
+ new String[] { "Food", "Yellow", "Oil" },
+ ItemList.Crop_Drop_Rape.get(1),
+ null);
+ new GT_BaseCrop(
+ 179,
+ "Micadia",
+ "bartimaeusnek",
+ null,
+ 9,
+ 3,
+ 0,
+ 2,
+ 3,
+ 2,
+ 0,
+ 3,
+ 0,
+ 0,
+ new String[] { "Metal", "Pine", "Mica", "Bush" },
+ Materials.Mica,
+ ItemList.Crop_Drop_Mica.get(1L),
+ null);
+ } catch (Throwable e) {
+ GT_Log.err.println("GT_Mod: Failed to register Crops to IC2.");
+ e.printStackTrace(GT_Log.err);
+ }
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java
new file mode 100644
index 0000000000..d4e653dba2
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java
@@ -0,0 +1,23 @@
+package gregtech.loaders.postload;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.recipe.RecipeMaps;
+import gregtech.api.util.GT_ModHandler;
+
+public class GT_FakeRecipeLoader implements Runnable {
+
+ @Override
+ public void run() {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getIC2Item("reactorLithiumCell", 1))
+ .itemOutputs(GT_ModHandler.getIC2Item("TritiumCell", 1))
+ .setNEIDesc(
+ "Neutron reflecting Breeder",
+ String.format("Every %d reactor hull heat", 3_000),
+ String.format("increase speed by %d00%%", 1),
+ String.format("Required pulses: %d", 10_000))
+ .duration(0)
+ .eut(0)
+ .addTo(RecipeMaps.ic2NuclearFakeRecipes);
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_ItemMaxStacksizeLoader.java b/src/main/java/gregtech/loaders/postload/GT_ItemMaxStacksizeLoader.java
new file mode 100644
index 0000000000..67f7f00d87
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_ItemMaxStacksizeLoader.java
@@ -0,0 +1,138 @@
+package gregtech.loaders.postload;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+
+import gregtech.GT_Mod;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_Log;
+
+public class GT_ItemMaxStacksizeLoader implements Runnable {
+
+ @Override
+ public void run() {
+ GT_Log.out.println("GT_Mod: Changing maximum Stacksizes if configured.");
+
+ ItemList.Upgrade_Overclocker.getItem()
+ .setMaxStackSize(GT_Mod.gregtechproxy.mUpgradeCount);
+ Items.cake.setMaxStackSize(64);
+ Items.wooden_door.setMaxStackSize(8);
+ Items.iron_door.setMaxStackSize(8);
+ Items.ender_pearl.setMaxStackSize(64);
+ Items.egg.setMaxStackSize(64);
+ Items.snowball.setMaxStackSize(64);
+ Items.mushroom_stew.setMaxStackSize(64);
+ if (OrePrefixes.plank.mDefaultStackSize < 64) {
+ Item.getItemFromBlock(Blocks.wooden_slab)
+ .setMaxStackSize(OrePrefixes.plank.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.double_wooden_slab)
+ .setMaxStackSize(OrePrefixes.plank.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.oak_stairs)
+ .setMaxStackSize(OrePrefixes.plank.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.jungle_stairs)
+ .setMaxStackSize(OrePrefixes.plank.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.birch_stairs)
+ .setMaxStackSize(OrePrefixes.plank.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.spruce_stairs)
+ .setMaxStackSize(OrePrefixes.plank.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.acacia_stairs)
+ .setMaxStackSize(OrePrefixes.plank.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.dark_oak_stairs)
+ .setMaxStackSize(OrePrefixes.plank.mDefaultStackSize);
+ }
+ if (OrePrefixes.block.mDefaultStackSize < 64) {
+ Item.getItemFromBlock(Blocks.stone_slab)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.double_stone_slab)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.brick_stairs)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.nether_brick_stairs)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.sandstone_stairs)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.stone_stairs)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.stone_brick_stairs)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.packed_ice)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.ice)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.soul_sand)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.glowstone)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.snow)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.snow)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.iron_block)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.gold_block)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.emerald_block)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.lapis_block)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.diamond_block)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.clay)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.redstone_lamp)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.dirt)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.grass)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.mycelium)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.gravel)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.sand)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.brick_block)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.wool)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.melon_block)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.pumpkin)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.lit_pumpkin)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.dispenser)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.obsidian)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.piston)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.sticky_piston)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.crafting_table)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.glass)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.jukebox)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.anvil)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.chest)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.trapped_chest)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.noteblock)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.mob_spawner)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.bookshelf)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.furnace)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ Item.getItemFromBlock(Blocks.lit_furnace)
+ .setMaxStackSize(OrePrefixes.block.mDefaultStackSize);
+ }
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
new file mode 100644
index 0000000000..92de5291e1
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
@@ -0,0 +1,126 @@
+package gregtech.loaders.postload;
+
+import gregtech.api.enums.Materials;
+import gregtech.loaders.postload.chains.GT_BauxiteRefineChain;
+import gregtech.loaders.postload.chains.GT_NaniteChain;
+import gregtech.loaders.postload.chains.GT_PCBFactoryRecipes;
+import gregtech.loaders.postload.chains.GT_PurifiedWaterRecipes;
+import gregtech.loaders.postload.recipes.AlloySmelterRecipes;
+import gregtech.loaders.postload.recipes.ArcFurnaceRecipes;
+import gregtech.loaders.postload.recipes.AssemblerRecipes;
+import gregtech.loaders.postload.recipes.AssemblyLineRecipes;
+import gregtech.loaders.postload.recipes.AutoclaveRecipes;
+import gregtech.loaders.postload.recipes.BenderRecipes;
+import gregtech.loaders.postload.recipes.BlastFurnaceRecipes;
+import gregtech.loaders.postload.recipes.BreweryRecipes;
+import gregtech.loaders.postload.recipes.CannerRecipes;
+import gregtech.loaders.postload.recipes.CentrifugeRecipes;
+import gregtech.loaders.postload.recipes.ChemicalBathRecipes;
+import gregtech.loaders.postload.recipes.ChemicalRecipes;
+import gregtech.loaders.postload.recipes.CircuitAssemblerRecipes;
+import gregtech.loaders.postload.recipes.CompressorRecipes;
+import gregtech.loaders.postload.recipes.CropProcessingRecipes;
+import gregtech.loaders.postload.recipes.CuttingRecipes;
+import gregtech.loaders.postload.recipes.DistilleryRecipes;
+import gregtech.loaders.postload.recipes.ElectrolyzerRecipes;
+import gregtech.loaders.postload.recipes.ElectromagneticSeparatorRecipes;
+import gregtech.loaders.postload.recipes.ExtractorRecipes;
+import gregtech.loaders.postload.recipes.ExtruderRecipes;
+import gregtech.loaders.postload.recipes.FermenterRecipes;
+import gregtech.loaders.postload.recipes.FluidCannerRecipes;
+import gregtech.loaders.postload.recipes.FluidExtractorRecipes;
+import gregtech.loaders.postload.recipes.FluidHeaterRecipes;
+import gregtech.loaders.postload.recipes.FluidSolidifierRecipes;
+import gregtech.loaders.postload.recipes.ForgeHammerRecipes;
+import gregtech.loaders.postload.recipes.FormingPressRecipes;
+import gregtech.loaders.postload.recipes.FuelRecipes;
+import gregtech.loaders.postload.recipes.FusionReactorRecipes;
+import gregtech.loaders.postload.recipes.ImplosionCompressorRecipes;
+import gregtech.loaders.postload.recipes.LaserEngraverRecipes;
+import gregtech.loaders.postload.recipes.LatheRecipes;
+import gregtech.loaders.postload.recipes.MatterAmplifierRecipes;
+import gregtech.loaders.postload.recipes.MixerRecipes;
+import gregtech.loaders.postload.recipes.NEIHiding;
+import gregtech.loaders.postload.recipes.OreDictUnification;
+import gregtech.loaders.postload.recipes.PackagerRecipes;
+import gregtech.loaders.postload.recipes.PlasmaForgeRecipes;
+import gregtech.loaders.postload.recipes.PrinterRecipes;
+import gregtech.loaders.postload.recipes.Pulverizer;
+import gregtech.loaders.postload.recipes.PyrolyseRecipes;
+import gregtech.loaders.postload.recipes.RecipeRemover;
+import gregtech.loaders.postload.recipes.SifterRecipes;
+import gregtech.loaders.postload.recipes.SlicerRecipes;
+import gregtech.loaders.postload.recipes.SmelterRecipes;
+import gregtech.loaders.postload.recipes.ThaumcraftRecipes;
+import gregtech.loaders.postload.recipes.ThermalCentrifugeRecipes;
+import gregtech.loaders.postload.recipes.TranscendentPlasmaMixerRecipes;
+import gregtech.loaders.postload.recipes.VacuumFreezerRecipes;
+import gregtech.loaders.postload.recipes.WiremillRecipes;
+
+public class GT_MachineRecipeLoader implements Runnable {
+
+ public static final String aTextTCGTPage = "gt.research.page.1.";
+
+ public static final Materials[] solderingMats = new Materials[] { Materials.Lead, Materials.SolderingAlloy,
+ Materials.Tin };
+
+ @Override
+ public void run() {
+ new AlloySmelterRecipes().run();
+ new ArcFurnaceRecipes().run();
+ new AssemblerRecipes().run();
+ new AssemblyLineRecipes().run();
+ new AutoclaveRecipes().run();
+ new BenderRecipes().run();
+ new BlastFurnaceRecipes().run();
+ new BreweryRecipes().run();
+ new CannerRecipes().run();
+ new CentrifugeRecipes().run();
+ new ChemicalBathRecipes().run();
+ new ChemicalRecipes().run();
+ new CircuitAssemblerRecipes().run();
+ new CompressorRecipes().run();
+ new CropProcessingRecipes().run();
+ new CuttingRecipes().run();
+ new DistilleryRecipes().run();
+ new ElectrolyzerRecipes().run();
+ new ElectromagneticSeparatorRecipes().run();
+ new ExtractorRecipes().run();
+ new ExtruderRecipes().run();
+ new FermenterRecipes().run();
+ new FluidCannerRecipes().run();
+ new FluidExtractorRecipes().run();
+ new FluidHeaterRecipes().run();
+ new FluidSolidifierRecipes().run();
+ new ForgeHammerRecipes().run();
+ new FormingPressRecipes().run();
+ new FuelRecipes().run();
+ new FusionReactorRecipes().run();
+ new ImplosionCompressorRecipes().run();
+ new LaserEngraverRecipes().run();
+ new LatheRecipes().run();
+ new MatterAmplifierRecipes().run();
+ new MixerRecipes().run();
+ new NEIHiding().run();
+ new OreDictUnification().run();
+ new PackagerRecipes().run();
+ new PlasmaForgeRecipes().run();
+ new PrinterRecipes().run();
+ new Pulverizer().run();
+ new PyrolyseRecipes().run();
+ new RecipeRemover().run();
+ new SifterRecipes().run();
+ new SlicerRecipes().run();
+ new SmelterRecipes().run();
+ new ThaumcraftRecipes().run();
+ new ThermalCentrifugeRecipes().run();
+ new VacuumFreezerRecipes().run();
+ new WiremillRecipes().run();
+ new TranscendentPlasmaMixerRecipes().run();
+
+ GT_BauxiteRefineChain.run();
+ GT_NaniteChain.run();
+ GT_PCBFactoryRecipes.load();
+ GT_PurifiedWaterRecipes.run();
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineTooltipsLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineTooltipsLoader.java
new file mode 100644
index 0000000000..d18ccd6c83
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_MachineTooltipsLoader.java
@@ -0,0 +1,36 @@
+package gregtech.loaders.postload;
+
+import static gregtech.api.enums.GT_Values.GT;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.util.GT_LanguageManager;
+import gregtech.api.util.GT_Log;
+import gregtech.common.blocks.GT_Item_Machines;
+
+public class GT_MachineTooltipsLoader implements Runnable {
+
+ @Override
+ public void run() {
+ if (!GT.isClientSide()) return;
+ GT_Log.out.println("GT Mod: Register Block Machine's tooltips");
+ for (int i = 0; i < 32768; i++) {
+ ItemStack tStack = new ItemStack(GregTech_API.sBlockMachines, 1, i);
+ if (tStack.getItem() != null && tStack.getItem() instanceof GT_Item_Machines) {
+ ((GT_Item_Machines) tStack.getItem()).registerDescription(i);
+ }
+ }
+ GT_LanguageManager.addStringLocalization("TileEntity_EUp_IN", "Voltage IN: ");
+ GT_LanguageManager.addStringLocalization("TileEntity_EUp_OUT", "Voltage OUT: ");
+ GT_LanguageManager.addStringLocalization("TileEntity_EUp_AMOUNT", "Amperage: ");
+ GT_LanguageManager.addStringLocalization("TileEntity_EUp_STORE", "Capacity: ");
+ GT_LanguageManager.addStringLocalization("TileEntity_TANK_INFO", "Contains Fluid: ");
+ GT_LanguageManager.addStringLocalization("TileEntity_TANK_AMOUNT", "Fluid Amount: ");
+ GT_LanguageManager.addStringLocalization("TileEntity_CHEST_INFO", "Contains Item: ");
+ GT_LanguageManager.addStringLocalization("TileEntity_CHEST_AMOUNT", "Item Amount: ");
+ GT_LanguageManager.addStringLocalization("GT_TileEntity_MUFFLER", "has Muffler Upgrade");
+ GT_LanguageManager.addStringLocalization("GT_TileEntity_STEAMCONVERTER", "has Steam Upgrade");
+ GT_LanguageManager.addStringLocalization("GT_TileEntity_STEAMTANKS", "Steam Tank Upgrades");
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_MinableRegistrator.java b/src/main/java/gregtech/loaders/postload/GT_MinableRegistrator.java
new file mode 100644
index 0000000000..afa98e0b38
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_MinableRegistrator.java
@@ -0,0 +1,16 @@
+package gregtech.loaders.postload;
+
+import net.minecraft.init.Blocks;
+
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_ModHandler;
+
+public class GT_MinableRegistrator implements Runnable {
+
+ @Override
+ public void run() {
+ GT_Log.out.println("GT_Mod: Adding Blocks to the Miners Valuable List.");
+ GT_ModHandler.addValuableOre(Blocks.glowstone, 0, 1);
+ GT_ModHandler.addValuableOre(Blocks.soul_sand, 0, 1);
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_PCBFactoryMaterialLoader.java b/src/main/java/gregtech/loaders/postload/GT_PCBFactoryMaterialLoader.java
new file mode 100644
index 0000000000..95732076d9
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_PCBFactoryMaterialLoader.java
@@ -0,0 +1,19 @@
+package gregtech.loaders.postload;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.MaterialsKevlar;
+import gregtech.api.util.GT_PCBFactoryManager;
+
+public class GT_PCBFactoryMaterialLoader {
+
+ public static void load() {
+ // add Plastics
+ GT_PCBFactoryManager.addPlasticTier(Materials.Plastic, 1);
+ GT_PCBFactoryManager.addPlasticTier(Materials.PolyvinylChloride, 2);
+ GT_PCBFactoryManager.addPlasticTier(Materials.Polytetrafluoroethylene, 3);
+ GT_PCBFactoryManager.addPlasticTier(Materials.Epoxid, 4);
+ GT_PCBFactoryManager.addPlasticTier(Materials.EpoxidFiberReinforced, 5);
+ GT_PCBFactoryManager.addPlasticTier(Materials.Polybenzimidazole, 6);
+ GT_PCBFactoryManager.addPlasticTier(MaterialsKevlar.Kevlar, 7);
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_PostLoad.java b/src/main/java/gregtech/loaders/postload/GT_PostLoad.java
new file mode 100644
index 0000000000..4dae7d5313
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_PostLoad.java
@@ -0,0 +1,542 @@
+package gregtech.loaders.postload;
+
+import static gregtech.api.enums.Mods.Forestry;
+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.Thaumcraft;
+import static gregtech.api.recipe.RecipeMaps.fluidCannerRecipes;
+import static gregtech.api.recipe.RecipeMaps.massFabFakeRecipes;
+import static gregtech.api.recipe.RecipeMaps.rockBreakerFakeRecipes;
+import static gregtech.api.recipe.RecipeMaps.scannerFakeRecipes;
+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 java.lang.reflect.InvocationTargetException;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+import com.google.common.base.Stopwatch;
+
+import cpw.mods.fml.common.ProgressManager;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+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.enums.SubTag;
+import gregtech.api.enums.TierEU;
+import gregtech.api.recipe.RecipeMaps;
+import gregtech.api.util.GT_CLS_Compat;
+import gregtech.api.util.GT_Forestry_Compat;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_RecipeBuilder;
+import gregtech.api.util.GT_RecipeConstants;
+import gregtech.api.util.GT_RecipeRegistrator;
+import gregtech.api.util.GT_Utility;
+import gregtech.common.items.GT_MetaGenerated_Tool_01;
+import gregtech.common.items.behaviors.Behaviour_DataOrb;
+import gregtech.common.tileentities.machines.basic.GT_MetaTileEntity_Massfabricator;
+import ic2.api.recipe.IRecipeInput;
+import ic2.api.recipe.RecipeOutput;
+
+@SuppressWarnings("deprecation")
+public class GT_PostLoad {
+
+ public static void activateOreDictHandler() {
+ @SuppressWarnings("UnstableApiUsage") // Stable enough for this project
+ Stopwatch stopwatch = Stopwatch.createStarted();
+ GT_Mod.gregtechproxy.activateOreDictHandler();
+
+ // noinspection UnstableApiUsage// Stable enough for this project
+ GT_Mod.GT_FML_LOGGER
+ .info("Congratulations, you have been waiting long enough (" + stopwatch.stop() + "). Have a Cake.");
+ GT_Log.out.println(
+ "GT_Mod: List of Lists of Tool Recipes: "
+ + GT_ModHandler.sSingleNonBlockDamagableRecipeList_list.toString());
+ GT_Log.out.println(
+ "GT_Mod: Vanilla Recipe List -> Outputs null or stackSize <=0: "
+ + GT_ModHandler.sVanillaRecipeList_warntOutput.toString());
+ GT_Log.out.println(
+ "GT_Mod: Single Non Block Damageable Recipe List -> Outputs null or stackSize <=0: "
+ + GT_ModHandler.sSingleNonBlockDamagableRecipeList_warntOutput.toString());
+ }
+
+ public static void removeIc2Recipes(Map<IRecipeInput, RecipeOutput> aMaceratorRecipeList,
+ Map<IRecipeInput, RecipeOutput> aCompressorRecipeList, Map<IRecipeInput, RecipeOutput> aExtractorRecipeList,
+ Map<IRecipeInput, RecipeOutput> aOreWashingRecipeList,
+ Map<IRecipeInput, RecipeOutput> aThermalCentrifugeRecipeList) {
+ @SuppressWarnings("UnstableApiUsage") // Stable enough for this project
+ Stopwatch stopwatch = Stopwatch.createStarted();
+ // remove gemIridium exploit
+ ItemStack iridiumOre = GT_ModHandler.getIC2Item("iridiumOre", 1);
+ aCompressorRecipeList.entrySet()
+ .parallelStream()
+ .filter(
+ e -> e.getKey()
+ .getInputs()
+ .size() == 1 && e.getKey()
+ .getInputs()
+ .get(0)
+ .isItemEqual(iridiumOre))
+ .findAny()
+ .ifPresent(e -> aCompressorRecipeList.remove(e.getKey()));
+ // Remove all IC2
+ GT_ModHandler.removeAllIC2Recipes();
+ // noinspection UnstableApiUsage// Stable enough for this project
+ GT_Mod.GT_FML_LOGGER.info("IC2 Removal (" + stopwatch.stop() + "). Have a Cake.");
+ }
+
+ public static void registerFluidCannerRecipes() {
+ for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry
+ .getRegisteredFluidContainerData()) {
+ // lava clay bucket is registered with empty container with 0 stack size
+ ItemStack emptyContainer = tData.emptyContainer.copy();
+ emptyContainer.stackSize = 1;
+ GT_Values.RA.stdBuilder()
+ .itemInputs(emptyContainer)
+ .itemOutputs(tData.filledContainer)
+ .fluidInputs(tData.fluid)
+ .duration((tData.fluid.amount / 62) * TICKS)
+ .eut(1)
+ .addTo(fluidCannerRecipes);
+ GT_RecipeBuilder builder = GT_Values.RA.stdBuilder()
+ .itemInputs(tData.filledContainer);
+ if (tData.emptyContainer.stackSize > 0) {
+ builder.itemOutputs(tData.emptyContainer);
+ }
+ builder.fluidOutputs(tData.fluid)
+ .duration((tData.fluid.amount / 62) * TICKS)
+ .eut(1)
+ .addTo(fluidCannerRecipes);
+ }
+ }
+
+ public static void addFakeRecipes() {
+ GT_Log.out.println("GT_Mod: Adding Fake Recipes for NEI");
+
+ if (Forestry.isModLoaded()) {
+ GT_Forestry_Compat.populateFakeNeiRecipes();
+ }
+
+ if (ItemList.IC2_Crop_Seeds.get(1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.IC2_Crop_Seeds.getWildcard(1L))
+ .itemOutputs(ItemList.IC2_Crop_Seeds.getWithName(1L, "Scanned Seeds"))
+ .duration(8 * SECONDS)
+ .eut(8)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
+ }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Items.written_book, 1, 32767))
+ .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Scanned Book Data"))
+ .special(ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to"))
+ .duration(6 * SECONDS + 8 * TICKS)
+ .eut(TierEU.RECIPE_LV)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Items.filled_map, 1, 32767))
+ .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Scanned Map Data"))
+ .special(ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to"))
+ .duration(6 * SECONDS + 8 * TICKS)
+ .eut(TierEU.RECIPE_LV)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Tool_DataOrb.getWithName(1L, "Orb to overwrite"))
+ .itemOutputs(ItemList.Tool_DataOrb.getWithName(1L, "Copy of the Orb"))
+ .duration(25 * SECONDS + 12 * TICKS)
+ .eut(TierEU.RECIPE_LV)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Tool_DataStick.getWithName(1L, "Stick to overwrite"))
+ .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Copy of the Stick"))
+ .special(ItemList.Tool_DataStick.getWithName(0L, "Stick to copy"))
+ .duration(6 * SECONDS + 8 * TICKS)
+ .eut(TierEU.RECIPE_LV)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Tool_DataStick.getWithName(1L, "Raw Prospection Data"))
+ .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Analyzed Prospection Data"))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
+
+ if (GalacticraftCore.isModLoaded()) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ Objects
+ .requireNonNull(
+ GT_ModHandler.getModItem(GalacticraftCore.ID, "item.schematic", 1, Short.MAX_VALUE))
+ .setStackDisplayName("Any Schematic"))
+ .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Scanned Schematic"))
+ .special(ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to"))
+ .duration(30 * MINUTES)
+ .eut(TierEU.RECIPE_HV)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
+
+ if (GalacticraftMars.isModLoaded()) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ Objects
+ .requireNonNull(
+ GT_ModHandler.getModItem(GalacticraftMars.ID, "item.schematic", 1, Short.MAX_VALUE))
+ .setStackDisplayName("Any Schematic"))
+ .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Scanned Schematic"))
+ .special(ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to"))
+ .duration(30 * MINUTES)
+ .eut(TierEU.RECIPE_MV)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
+ }
+ if (GalaxySpace.isModLoaded()) {
+ for (int i = 4; i < 9; i++) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_ModHandler.getModItem(GalaxySpace.ID, "item.SchematicTier" + i, 1)
+ .setStackDisplayName("Any Schematic"))
+ .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Scanned Schematic"))
+ .special(ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to"))
+ .duration(30 * MINUTES)
+ .eut(TierEU.RECIPE_HV)
+ .noOptimize()
+ .ignoreCollision()
+ .fake()
+ .addTo(scannerFakeRecipes);
+ }
+ }
+ }
+ Materials.getMaterialsMap()
+ .values()
+ .forEach(tMaterial -> {
+ if ((tMaterial.mElement != null) && (!tMaterial.mElement.mIsIsotope)
+ && (tMaterial != Materials.Magic)
+ && (tMaterial.getMass() > 0L)) {
+ ItemStack dataOrb = ItemList.Tool_DataOrb.get(1L);
+ Behaviour_DataOrb.setDataTitle(dataOrb, "Elemental-Scan");
+ Behaviour_DataOrb.setDataName(dataOrb, tMaterial.mElement.name());
+ ItemStack dustItem = GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial, 1L);
+ if (dustItem != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(dustItem)
+ .itemOutputs(dataOrb)
+ .special(ItemList.Tool_DataOrb.get(1L))
+ .duration((int) (tMaterial.getMass() * 8192L))
+ .eut(TierEU.RECIPE_LV)
+ .fake()
+ .ignoreCollision()
+ .addTo(scannerFakeRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemOutputs(dustItem)
+ .special(dataOrb)
+ .metadata(GT_RecipeConstants.MATERIAL, tMaterial)
+ .addTo(RecipeMaps.replicatorRecipes);
+ return;
+ }
+ ItemStack cellItem = GT_OreDictUnificator.get(OrePrefixes.cell, tMaterial, 1L);
+ if (cellItem != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(cellItem)
+ .itemOutputs(dataOrb)
+ .special(ItemList.Tool_DataOrb.get(1L))
+ .duration((int) (tMaterial.getMass() * 8192L))
+ .eut(TierEU.RECIPE_LV)
+ .fake()
+ .ignoreCollision()
+ .addTo(scannerFakeRecipes);
+ FluidStack fluidStack = GT_Utility.getFluidForFilledItem(cellItem, false);
+ GT_RecipeBuilder builder = GT_Values.RA.stdBuilder();
+ if (fluidStack != null) {
+ builder.fluidOutputs(fluidStack);
+ } else {
+ builder.itemInputs(Materials.Empty.getCells(1))
+ .itemOutputs(cellItem);
+ }
+ builder.special(dataOrb)
+ .metadata(GT_RecipeConstants.MATERIAL, tMaterial)
+ .addTo(RecipeMaps.replicatorRecipes);
+ }
+ }
+ });
+
+ if (!GT_MetaTileEntity_Massfabricator.sRequiresUUA) {
+
+ GT_MetaTileEntity_Massfabricator.nonUUARecipe = GT_Values.RA.stdBuilder()
+ .fluidOutputs(Materials.UUMatter.getFluid(1L))
+ .duration(GT_MetaTileEntity_Massfabricator.sDurationMultiplier)
+ .eut(GT_MetaTileEntity_Massfabricator.BASE_EUT)
+ .ignoreCollision()
+ .noOptimize()
+ .fake()
+ .build()
+ .get();
+
+ massFabFakeRecipes.add(GT_MetaTileEntity_Massfabricator.nonUUARecipe);
+
+ }
+
+ GT_MetaTileEntity_Massfabricator.uuaRecipe = GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(1))
+ .fluidInputs(Materials.UUAmplifier.getFluid(GT_MetaTileEntity_Massfabricator.sUUAperUUM))
+ .fluidOutputs(Materials.UUMatter.getFluid(1L))
+ .duration(
+ GT_MetaTileEntity_Massfabricator.sDurationMultiplier / GT_MetaTileEntity_Massfabricator.sUUASpeedBonus)
+ .eut(GT_MetaTileEntity_Massfabricator.BASE_EUT)
+ .ignoreCollision()
+ .noOptimize()
+ .fake()
+ .build()
+ .get();
+
+ massFabFakeRecipes.add(GT_MetaTileEntity_Massfabricator.uuaRecipe);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Display_ITS_FREE.getWithName(1L, "IT'S FREE! Place Lava on Side"))
+ .itemOutputs(new ItemStack(Blocks.cobblestone, 1))
+ .duration(16 * TICKS)
+ .eut(TierEU.RECIPE_LV)
+ .ignoreCollision()
+ .noOptimize()
+ .fake()
+ .addTo(rockBreakerFakeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Display_ITS_FREE.getWithName(1L, "IT'S FREE! Place Lava on Side"))
+ .itemOutputs(new ItemStack(Blocks.stone, 1))
+ .duration(16 * TICKS)
+ .eut(TierEU.RECIPE_LV)
+ .ignoreCollision()
+ .noOptimize()
+ .fake()
+ .addTo(rockBreakerFakeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(new ItemStack(Blocks.obsidian, 1))
+ .duration(6 * SECONDS + 8 * TICKS)
+ .eut(TierEU.RECIPE_LV)
+ .ignoreCollision()
+ .noOptimize()
+ .fake()
+ .addTo(rockBreakerFakeRecipes);
+ }
+
+ public static void nerfVanillaTools() {
+ if (!GT_Mod.gregtechproxy.mNerfedVanillaTools) {
+ return;
+ }
+
+ GT_Log.out.println("GT_Mod: Nerfing Vanilla Tool Durability");
+ Items.wooden_sword.setMaxDamage(12);
+ Items.wooden_pickaxe.setMaxDamage(12);
+ Items.wooden_shovel.setMaxDamage(12);
+ Items.wooden_axe.setMaxDamage(12);
+ Items.wooden_hoe.setMaxDamage(12);
+
+ Items.stone_sword.setMaxDamage(48);
+ Items.stone_pickaxe.setMaxDamage(48);
+ Items.stone_shovel.setMaxDamage(48);
+ Items.stone_axe.setMaxDamage(48);
+ Items.stone_hoe.setMaxDamage(48);
+
+ Items.iron_sword.setMaxDamage(256);
+ Items.iron_pickaxe.setMaxDamage(256);
+ Items.iron_shovel.setMaxDamage(256);
+ Items.iron_axe.setMaxDamage(256);
+ Items.iron_hoe.setMaxDamage(256);
+
+ Items.golden_sword.setMaxDamage(24);
+ Items.golden_pickaxe.setMaxDamage(24);
+ Items.golden_shovel.setMaxDamage(24);
+ Items.golden_axe.setMaxDamage(24);
+ Items.golden_hoe.setMaxDamage(24);
+
+ Items.diamond_sword.setMaxDamage(768);
+ Items.diamond_pickaxe.setMaxDamage(768);
+ Items.diamond_shovel.setMaxDamage(768);
+ Items.diamond_axe.setMaxDamage(768);
+ Items.diamond_hoe.setMaxDamage(768);
+
+ }
+
+ public static void replaceVanillaMaterials() {
+ @SuppressWarnings("UnstableApiUsage") // Stable enough for this project
+ Stopwatch stopwatch = Stopwatch.createStarted();
+ GT_Mod.GT_FML_LOGGER.info("Replacing Vanilla Materials in recipes, please wait.");
+ Set<Materials> replaceVanillaItemsSet = Arrays.stream(Materials.values())
+ .filter(GT_RecipeRegistrator::hasVanillaRecipes)
+ .collect(Collectors.toSet());
+
+ ProgressManager.ProgressBar progressBar = ProgressManager
+ .push("Register materials", replaceVanillaItemsSet.size());
+ if (GT_Values.cls_enabled) {
+ try {
+ GT_CLS_Compat.doActualRegistrationCLS(progressBar, replaceVanillaItemsSet);
+ GT_CLS_Compat.pushToDisplayProgress();
+ } catch (InvocationTargetException | IllegalAccessException e) {
+ GT_Mod.GT_FML_LOGGER.catching(e);
+ }
+ } else {
+ replaceVanillaItemsSet.forEach(m -> {
+ progressBar.step(m.mDefaultLocalName);
+ doActualRegistration(m);
+ });
+ }
+ ProgressManager.pop(progressBar);
+ // noinspection UnstableApiUsage// stable enough for project
+ GT_Mod.GT_FML_LOGGER.info("Replaced Vanilla Materials (" + stopwatch.stop() + "). Have a Cake.");
+ }
+
+ public static void doActualRegistration(Materials m) {
+ String plateName = OrePrefixes.plate.get(m)
+ .toString();
+ boolean noSmash = !m.contains(SubTag.NO_SMASHING);
+ if ((m.mTypes & 2) != 0) GT_RecipeRegistrator.registerUsagesForMaterials(plateName, noSmash, m.getIngots(1));
+ if ((m.mTypes & 4) != 0) GT_RecipeRegistrator.registerUsagesForMaterials(plateName, noSmash, m.getGems(1));
+ if (m.getBlocks(1) != null) GT_RecipeRegistrator.registerUsagesForMaterials(null, noSmash, m.getBlocks(1));
+ }
+
+ public static void createGTtoolsCreativeTab() {
+ new CreativeTabs("GTtools") {
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public ItemStack getIconItemStack() {
+ return ItemList.Tool_Cheat.get(1, new ItemStack(Blocks.iron_block, 1));
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public Item getTabIconItem() {
+ return ItemList.Circuit_Integrated.getItem();
+ }
+
+ @Override
+ public void displayAllReleventItems(List<ItemStack> aList) {
+
+ for (int i = 0; i < 32766; i += 2) {
+ if (GT_MetaGenerated_Tool_01.INSTANCE
+ .getToolStats(new ItemStack(GT_MetaGenerated_Tool_01.INSTANCE, 1, i)) == null) {
+ continue;
+ }
+
+ ItemStack tStack = new ItemStack(GT_MetaGenerated_Tool_01.INSTANCE, 1, i);
+ GT_MetaGenerated_Tool_01.INSTANCE.isItemStackUsable(tStack);
+ aList.add(
+ GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(i, 1, Materials.Lead, Materials.Lead, null));
+ aList.add(
+ GT_MetaGenerated_Tool_01.INSTANCE
+ .getToolWithStats(i, 1, Materials.Nickel, Materials.Nickel, null));
+ aList.add(
+ GT_MetaGenerated_Tool_01.INSTANCE
+ .getToolWithStats(i, 1, Materials.Cobalt, Materials.Cobalt, null));
+ aList.add(
+ GT_MetaGenerated_Tool_01.INSTANCE
+ .getToolWithStats(i, 1, Materials.Osmium, Materials.Osmium, null));
+ aList.add(
+ GT_MetaGenerated_Tool_01.INSTANCE
+ .getToolWithStats(i, 1, Materials.Adamantium, Materials.Adamantium, null));
+ aList.add(
+ GT_MetaGenerated_Tool_01.INSTANCE
+ .getToolWithStats(i, 1, Materials.Neutronium, Materials.Neutronium, null));
+
+ }
+ super.displayAllReleventItems(aList);
+ }
+ };
+ }
+
+ public static void addSolidFakeLargeBoilerFuels() {
+ RecipeMaps.largeBoilerFakeFuels.getBackend()
+ .addSolidRecipes(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Charcoal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Coal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lignite, 1),
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1),
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1),
+ GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Lignite, 1),
+ GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plank, Materials.Wood, 1),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1),
+ GT_OreDictUnificator.get(OrePrefixes.slab, Materials.Wood, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Caesium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1),
+ GT_OreDictUnificator.get(ItemList.Block_SSFUEL.get(1)),
+ GT_OreDictUnificator.get(ItemList.Block_MSSFUEL.get(1)),
+ GT_OreDictUnificator.get(OrePrefixes.rod, Materials.Blaze, 1));
+ if (Thaumcraft.isModLoaded()) {
+ RecipeMaps.largeBoilerFakeFuels.getBackend()
+ .addSolidRecipe(GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1));
+ }
+ }
+
+ public static void identifyAnySteam() {
+ final String[] steamCandidates = { "steam", "ic2steam" };
+ final String[] superHeatedSteamCandidates = { "ic2superheatedsteam" };
+
+ GT_ModHandler.sAnySteamFluidIDs = Arrays.stream(steamCandidates)
+ .map(FluidRegistry::getFluid)
+ .filter(Objects::nonNull)
+ .map(FluidRegistry::getFluidID)
+ .collect(Collectors.toList());
+ GT_ModHandler.sSuperHeatedSteamFluidIDs = Arrays.stream(superHeatedSteamCandidates)
+ .map(FluidRegistry::getFluid)
+ .filter(Objects::nonNull)
+ .map(FluidRegistry::getFluidID)
+ .collect(Collectors.toList());
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java
new file mode 100644
index 0000000000..0ff53d0424
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java
@@ -0,0 +1,168 @@
+package gregtech.loaders.postload;
+
+import gregtech.api.enums.SoundResource;
+import gregtech.api.recipe.RecipeMaps;
+import gregtech.api.util.GT_ProcessingArray_Manager;
+
+public class GT_ProcessingArrayRecipeLoader {
+
+ public static void registerDefaultGregtechMaps() {
+
+ // Alloy Smelter
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.alloysmelter", RecipeMaps.alloySmelterRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.alloysmelter", SoundResource.IC2_MACHINES_INDUCTION_LOOP);
+ // Arc Furnace
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.arcfurnace", RecipeMaps.arcFurnaceRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.arcfurnace", SoundResource.IC2_MACHINES_INDUCTION_LOOP);
+ // Assembler
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.assembler", RecipeMaps.assemblerRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.assembler", SoundResource.NONE);
+ // Autoclave
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.autoclave", RecipeMaps.autoclaveRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.autoclave", SoundResource.NONE);
+ // Bender
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.bender", RecipeMaps.benderRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.bender", SoundResource.IC2_MACHINES_COMPRESSOR_OP);
+ // Boxinator
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.boxinator", RecipeMaps.packagerRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.boxinator", SoundResource.NONE);
+ // Brewery
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.brewery", RecipeMaps.brewingRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.brewery", SoundResource.NONE);
+ // Canner
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.canner", RecipeMaps.cannerRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.canner", SoundResource.IC2_MACHINES_EXTRACTOR_OP);
+ // Centrifuge
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.centrifuge", RecipeMaps.centrifugeNonCellRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.centrifuge", SoundResource.NONE);
+ // Chemical Bath
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.chemicalbath", RecipeMaps.chemicalBathRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.chemicalbath", SoundResource.NONE);
+ // Chemical Reactor
+ GT_ProcessingArray_Manager
+ .addRecipeMapToPA("basicmachine.chemicalreactor", RecipeMaps.multiblockChemicalReactorRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.chemicalreactor", SoundResource.IC2_MACHINES_EXTRACTOR_OP);
+ // Circuit Assembler
+ GT_ProcessingArray_Manager
+ .addRecipeMapToPA("basicmachine.circuitassembler", RecipeMaps.circuitAssemblerRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.circuitassembler", SoundResource.NONE);
+ // Compressor
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.compressor", RecipeMaps.compressorRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.compressor", SoundResource.IC2_MACHINES_COMPRESSOR_OP);
+ // Cutting Machine
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.cutter", RecipeMaps.cutterRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.cutter", SoundResource.NONE);
+ // Distillery
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.distillery", RecipeMaps.distilleryRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.distillery", SoundResource.GT_MACHINES_DISTILLERY_LOOP);
+ // Electrolyzer
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.electrolyzer", RecipeMaps.electrolyzerNonCellRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.electrolyzer", SoundResource.IC2_MACHINES_MAGNETIZER_LOOP);
+ // Extractor
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.extractor", RecipeMaps.extractorRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.extractor", SoundResource.IC2_MACHINES_EXTRACTOR_OP);
+ // Extruder
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.extruder", RecipeMaps.extruderRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.extruder", SoundResource.IC2_MACHINES_INDUCTION_LOOP);
+ // Fermenter
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fermenter", RecipeMaps.fermentingRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.fermenter", SoundResource.NONE);
+ // Fluid Canner
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fluidcanner", RecipeMaps.fluidCannerRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.fluidcanner", SoundResource.IC2_MACHINES_EXTRACTOR_OP);
+ // Fluid Extractor
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fluidextractor", RecipeMaps.fluidExtractionRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.fluidextractor", SoundResource.IC2_MACHINES_EXTRACTOR_OP);
+ // Fluid Heater
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fluidheater", RecipeMaps.fluidHeaterRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.fluidheater", SoundResource.NONE);
+ // Fluid Solidifier
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fluidsolidifier", RecipeMaps.fluidSolidifierRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.fluidsolidifier", SoundResource.NONE);
+ // Forge Hammer
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.hammer", RecipeMaps.hammerRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.hammer", SoundResource.RANDOM_ANVIL_USE);
+ // Forming Press
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.press", RecipeMaps.formingPressRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.press", SoundResource.IC2_MACHINES_COMPRESSOR_OP);
+ // Laser Engraver
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.laserengraver", RecipeMaps.laserEngraverRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.laserengraver", SoundResource.IC2_MACHINES_MAGNETIZER_LOOP);
+ // Lathe
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.lathe", RecipeMaps.latheRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.lathe", SoundResource.NONE);
+ // Macerator
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.macerator", RecipeMaps.maceratorRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.macerator", SoundResource.IC2_MACHINES_MACERATOR_OP);
+ // Magnetic Separator
+ GT_ProcessingArray_Manager
+ .addRecipeMapToPA("basicmachine.electromagneticseparator", RecipeMaps.electroMagneticSeparatorRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.electromagneticseparator", SoundResource.IC2_MACHINES_MAGNETIZER_LOOP);
+ // Matter Amplifier
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.amplifab", RecipeMaps.amplifierRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.amplifab", SoundResource.IC2_MACHINES_EXTRACTOR_OP);
+ // Microwave
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.microwave", RecipeMaps.microwaveRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.microwave", SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP);
+ // Mixer
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.mixer", RecipeMaps.mixerNonCellRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.mixer", SoundResource.NONE);
+ // Ore Washer
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.orewasher", RecipeMaps.oreWasherRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.orewasher", SoundResource.NONE);
+ // Plasma Arc Furnace
+ GT_ProcessingArray_Manager
+ .addRecipeMapToPA("basicmachine.plasmaarcfurnace", RecipeMaps.plasmaArcFurnaceRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.plasmaarcfurnace", SoundResource.IC2_MACHINES_INDUCTION_LOOP);
+ // Polarizer
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.polarizer", RecipeMaps.polarizerRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.polarizer", SoundResource.IC2_MACHINES_MAGNETIZER_LOOP);
+ // Printer
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.printer", RecipeMaps.printerRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.printer", SoundResource.IC2_MACHINES_COMPRESSOR_OP);
+ // Recycler
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.recycler", RecipeMaps.recyclerRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.recycler", SoundResource.IC2_MACHINES_RECYCLER_OP);
+ // Scanner
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.scanner", RecipeMaps.scannerFakeRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.scanner", SoundResource.IC2_MACHINES_MAGNETIZER_LOOP);
+ // Sifter
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.sifter", RecipeMaps.sifterRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.sifter", SoundResource.NONE);
+ // Slicer
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.slicer", RecipeMaps.slicerRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.slicer", SoundResource.NONE);
+ // Thermal Centrifuge
+ GT_ProcessingArray_Manager
+ .addRecipeMapToPA("basicmachine.thermalcentrifuge", RecipeMaps.thermalCentrifugeRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.thermalcentrifuge", SoundResource.NONE);
+ // Unboxinator
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.unboxinator", RecipeMaps.unpackagerRecipes);
+ GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.unboxinator", SoundResource.NONE);
+ // Wiremill
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.wiremill", RecipeMaps.wiremillRecipes);
+ GT_ProcessingArray_Manager
+ .addSoundResourceToPA("basicmachine.wiremill", SoundResource.IC2_MACHINES_RECYCLER_OP);
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_RecyclerBlacklistLoader.java b/src/main/java/gregtech/loaders/postload/GT_RecyclerBlacklistLoader.java
new file mode 100644
index 0000000000..70bb18527c
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_RecyclerBlacklistLoader.java
@@ -0,0 +1,107 @@
+package gregtech.loaders.postload;
+
+import static gregtech.api.enums.Mods.Chisel;
+import static gregtech.api.util.GT_ModHandler.addToRecyclerBlackList;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+import com.glodblock.github.loader.ItemAndBlockHolder;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Mods;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_ModHandler;
+
+public class GT_RecyclerBlacklistLoader implements Runnable {
+
+ @Override
+ public void run() {
+ GT_Log.out.println("GT_Mod: Adding Stuff to the Recycler Blacklist.");
+ addToRecyclerBlackList(new ItemStack(Items.arrow, 1, 0));
+ addToRecyclerBlackList(new ItemStack(Items.bone, 1, 0));
+ addToRecyclerBlackList(ItemList.Dye_Bonemeal.get(1L));
+
+ addToRecyclerBlackList(new ItemStack(Items.rotten_flesh, 1, 0));
+
+ addToRecyclerBlackList(new ItemStack(Items.string, 1, 0));
+
+ addToRecyclerBlackList(new ItemStack(Items.egg, 1, 0));
+ ItemStack tStack = new ItemStack(Blocks.cobblestone, 1, 0);
+ while (tStack != null) {
+ addToRecyclerBlackList(tStack);
+ tStack = GT_ModHandler
+ .getRecipeOutput(tStack, tStack, tStack, tStack, tStack, tStack, tStack, tStack, tStack);
+ }
+ addToRecyclerBlackList(new ItemStack(Blocks.gravel, 1, 32767));
+ addToRecyclerBlackList(new ItemStack(Items.flint, 1, 32767));
+ addToRecyclerBlackList(new ItemStack(Blocks.cobblestone_wall, 1, 32767));
+ addToRecyclerBlackList(new ItemStack(Blocks.sandstone_stairs, 1, 32767));
+ addToRecyclerBlackList(new ItemStack(Blocks.stone_stairs, 1, 32767));
+ addToRecyclerBlackList(new ItemStack(Blocks.stone_brick_stairs, 1, 32767));
+ addToRecyclerBlackList(GT_ModHandler.getSmeltingOutput(new ItemStack(Blocks.stone, 1, 0), false, null));
+ addToRecyclerBlackList(
+ GT_ModHandler
+ .getRecipeOutput(new ItemStack(Blocks.glass, 1, 0), null, null, new ItemStack(Blocks.glass, 1, 0)));
+ addToRecyclerBlackList(
+ GT_ModHandler
+ .getRecipeOutput(new ItemStack(Blocks.stone, 1, 0), null, null, new ItemStack(Blocks.stone, 1, 0)));
+ addToRecyclerBlackList(
+ GT_ModHandler.getRecipeOutput(
+ new ItemStack(Blocks.cobblestone, 1, 0),
+ null,
+ null,
+ new ItemStack(Blocks.cobblestone, 1, 0)));
+ addToRecyclerBlackList(
+ GT_ModHandler.getRecipeOutput(
+ new ItemStack(Blocks.stone, 1, 0),
+ null,
+ new ItemStack(Blocks.stone, 1, 0),
+ null,
+ new ItemStack(Blocks.stone, 1, 0)));
+ addToRecyclerBlackList(
+ GT_ModHandler.getRecipeOutput(
+ new ItemStack(Blocks.stone, 1, 0),
+ new ItemStack(Blocks.glass, 1, 0),
+ new ItemStack(Blocks.stone, 1, 0)));
+ addToRecyclerBlackList(
+ GT_ModHandler.getRecipeOutput(
+ new ItemStack(Blocks.cobblestone, 1, 0),
+ new ItemStack(Blocks.glass, 1, 0),
+ new ItemStack(Blocks.cobblestone, 1, 0)));
+ addToRecyclerBlackList(
+ GT_ModHandler.getRecipeOutput(
+ new ItemStack(Blocks.sandstone, 1, 0),
+ new ItemStack(Blocks.glass, 1, 0),
+ new ItemStack(Blocks.sandstone, 1, 0)));
+ addToRecyclerBlackList(
+ GT_ModHandler.getRecipeOutput(
+ new ItemStack(Blocks.sand, 1, 0),
+ new ItemStack(Blocks.glass, 1, 0),
+ new ItemStack(Blocks.sand, 1, 0)));
+ addToRecyclerBlackList(
+ GT_ModHandler.getRecipeOutput(
+ new ItemStack(Blocks.sandstone, 1, 0),
+ new ItemStack(Blocks.sandstone, 1, 0),
+ new ItemStack(Blocks.sandstone, 1, 0),
+ new ItemStack(Blocks.sandstone, 1, 0),
+ new ItemStack(Blocks.sandstone, 1, 0),
+ new ItemStack(Blocks.sandstone, 1, 0)));
+ addToRecyclerBlackList(GT_ModHandler.getRecipeOutput(new ItemStack(Blocks.glass, 1, 0)));
+ addToRecyclerBlackList(
+ GT_ModHandler.getRecipeOutput(new ItemStack(Blocks.glass, 1, 0), new ItemStack(Blocks.glass, 1, 0)));
+ if (Chisel.isModLoaded()) {
+ for (int i = 1; i <= 15; i++) {
+ addToRecyclerBlackList(GT_ModHandler.getModItem(Chisel.ID, "cobblestone", 1, i));
+ }
+ for (int i = 0; i <= 15; i++) {
+ addToRecyclerBlackList(GT_ModHandler.getModItem(Chisel.ID, "stonebricksmooth", 1, i));
+ }
+ }
+ if (Mods.AE2FluidCraft.isModLoaded()) {
+ addToRecyclerBlackList(new ItemStack(ItemAndBlockHolder.DROP));
+ addToRecyclerBlackList(new ItemStack(ItemAndBlockHolder.PACKET));
+ }
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_ScrapboxDropLoader.java b/src/main/java/gregtech/loaders/postload/GT_ScrapboxDropLoader.java
new file mode 100644
index 0000000000..6d466abaa9
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_ScrapboxDropLoader.java
@@ -0,0 +1,100 @@
+package gregtech.loaders.postload;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+
+public class GT_ScrapboxDropLoader implements Runnable {
+
+ @Override
+ public void run() {
+ GT_Log.out.println("GT_Mod: (re-)adding Scrapbox Drops.");
+
+ GT_ModHandler.addScrapboxDrop(9.5F, new ItemStack(Items.wooden_hoe));
+ GT_ModHandler.addScrapboxDrop(2.0F, new ItemStack(Items.wooden_axe));
+ GT_ModHandler.addScrapboxDrop(2.0F, new ItemStack(Items.wooden_sword));
+ GT_ModHandler.addScrapboxDrop(2.0F, new ItemStack(Items.wooden_shovel));
+ GT_ModHandler.addScrapboxDrop(2.0F, new ItemStack(Items.wooden_pickaxe));
+ GT_ModHandler.addScrapboxDrop(2.0F, new ItemStack(Items.sign));
+ GT_ModHandler.addScrapboxDrop(9.5F, new ItemStack(Items.stick));
+ GT_ModHandler.addScrapboxDrop(5.0F, new ItemStack(Blocks.dirt));
+ GT_ModHandler.addScrapboxDrop(3.0F, new ItemStack(Blocks.grass));
+ GT_ModHandler.addScrapboxDrop(3.0F, new ItemStack(Blocks.gravel));
+ GT_ModHandler.addScrapboxDrop(0.5F, new ItemStack(Blocks.pumpkin));
+ GT_ModHandler.addScrapboxDrop(1.0F, new ItemStack(Blocks.soul_sand));
+ GT_ModHandler.addScrapboxDrop(2.0F, new ItemStack(Blocks.netherrack));
+ GT_ModHandler.addScrapboxDrop(1.0F, new ItemStack(Items.bone));
+ GT_ModHandler.addScrapboxDrop(9.0F, new ItemStack(Items.rotten_flesh));
+ GT_ModHandler.addScrapboxDrop(0.4F, new ItemStack(Items.cooked_porkchop));
+ GT_ModHandler.addScrapboxDrop(0.4F, new ItemStack(Items.cooked_beef));
+ GT_ModHandler.addScrapboxDrop(0.4F, new ItemStack(Items.cooked_chicken));
+ GT_ModHandler.addScrapboxDrop(0.5F, new ItemStack(Items.apple));
+ GT_ModHandler.addScrapboxDrop(0.5F, new ItemStack(Items.bread));
+ GT_ModHandler.addScrapboxDrop(0.1F, new ItemStack(Items.cake));
+ GT_ModHandler.addScrapboxDrop(1.0F, ItemList.IC2_Food_Can_Filled.get(1L));
+ GT_ModHandler.addScrapboxDrop(2.0F, ItemList.IC2_Food_Can_Spoiled.get(1L));
+ GT_ModHandler.addScrapboxDrop(0.2F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1L));
+ GT_ModHandler.addScrapboxDrop(1.0F, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Water, 1L));
+ GT_ModHandler.addScrapboxDrop(2.0F, ItemList.Cell_Empty.get(1L));
+ GT_ModHandler.addScrapboxDrop(5.0F, GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 1L));
+ GT_ModHandler.addScrapboxDrop(1.0F, new ItemStack(Items.leather));
+ GT_ModHandler.addScrapboxDrop(1.0F, new ItemStack(Items.feather));
+ GT_ModHandler.addScrapboxDrop(0.7F, GT_ModHandler.getIC2Item("plantBall", 1L));
+ GT_ModHandler.addScrapboxDrop(3.8F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L));
+ GT_ModHandler.addScrapboxDrop(0.6F, new ItemStack(Items.slime_ball));
+ GT_ModHandler.addScrapboxDrop(0.8F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Rubber, 1L));
+ GT_ModHandler.addScrapboxDrop(2.7F, GT_ModHandler.getIC2Item("suBattery", 1L));
+ GT_ModHandler.addScrapboxDrop(3.6F, ItemList.Circuit_Primitive.get(1L));
+ GT_ModHandler.addScrapboxDrop(0.8F, ItemList.Circuit_Parts_Advanced.get(1L));
+ GT_ModHandler.addScrapboxDrop(1.8F, ItemList.Circuit_Board_Basic.get(1L));
+ GT_ModHandler.addScrapboxDrop(0.4F, ItemList.Circuit_Board_Advanced.get(1L));
+ GT_ModHandler.addScrapboxDrop(0.2F, ItemList.Circuit_Board_Elite.get(1L));
+ GT_ModHandler.addScrapboxDrop(0.9F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L));
+ GT_ModHandler.addScrapboxDrop(0.8F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L));
+ GT_ModHandler.addScrapboxDrop(0.8F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1L));
+ GT_ModHandler.addScrapboxDrop(2.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Charcoal, 1L));
+ GT_ModHandler.addScrapboxDrop(1.0F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1L));
+ GT_ModHandler.addScrapboxDrop(1.0F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1L));
+ GT_ModHandler.addScrapboxDrop(0.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 1L));
+ GT_ModHandler.addScrapboxDrop(0.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Electrum, 1L));
+ GT_ModHandler.addScrapboxDrop(1.2F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tin, 1L));
+ GT_ModHandler.addScrapboxDrop(1.2F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 1L));
+ GT_ModHandler.addScrapboxDrop(0.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bauxite, 1L));
+ GT_ModHandler.addScrapboxDrop(0.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1L));
+ GT_ModHandler.addScrapboxDrop(0.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lead, 1L));
+ GT_ModHandler.addScrapboxDrop(0.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1L));
+ GT_ModHandler.addScrapboxDrop(0.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 1L));
+ GT_ModHandler.addScrapboxDrop(0.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brass, 1L));
+ GT_ModHandler.addScrapboxDrop(0.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 1L));
+ GT_ModHandler.addScrapboxDrop(1.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Obsidian, 1L));
+ GT_ModHandler.addScrapboxDrop(1.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L));
+ GT_ModHandler.addScrapboxDrop(2.0F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 1L));
+ GT_ModHandler.addScrapboxDrop(2.0F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lazurite, 1L));
+ GT_ModHandler.addScrapboxDrop(2.0F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Pyrite, 1L));
+ GT_ModHandler.addScrapboxDrop(2.0F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 1L));
+ GT_ModHandler.addScrapboxDrop(2.0F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodalite, 1L));
+ GT_ModHandler.addScrapboxDrop(4.0F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 1L));
+ GT_ModHandler.addScrapboxDrop(4.0F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Flint, 1L));
+ GT_ModHandler.addScrapboxDrop(0.03F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 1L));
+ GT_ModHandler.addScrapboxDrop(0.03F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 1L));
+ GT_ModHandler.addScrapboxDrop(0.03F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 1L));
+ GT_ModHandler.addScrapboxDrop(0.03F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 1L));
+ GT_ModHandler.addScrapboxDrop(0.03F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 1L));
+ GT_ModHandler.addScrapboxDrop(0.03F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Endstone, 1L));
+ GT_ModHandler.addScrapboxDrop(0.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GarnetRed, 1L));
+ GT_ModHandler.addScrapboxDrop(0.5F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GarnetYellow, 1L));
+ GT_ModHandler.addScrapboxDrop(0.05F, GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Olivine, 1L));
+ GT_ModHandler.addScrapboxDrop(0.05F, GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Ruby, 1L));
+ GT_ModHandler.addScrapboxDrop(0.05F, GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Sapphire, 1L));
+ GT_ModHandler.addScrapboxDrop(0.05F, GT_OreDictUnificator.get(OrePrefixes.gem, Materials.GreenSapphire, 1L));
+ GT_ModHandler.addScrapboxDrop(0.05F, GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Emerald, 1L));
+ GT_ModHandler.addScrapboxDrop(0.05F, GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Diamond, 1L));
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/GT_Worldgenloader.java b/src/main/java/gregtech/loaders/postload/GT_Worldgenloader.java
new file mode 100644
index 0000000000..921f227b08
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_Worldgenloader.java
@@ -0,0 +1,33 @@
+package gregtech.loaders.postload;
+
+import bloodasp.galacticgreg.WorldGenGaGT;
+import gregtech.api.enums.GTStones;
+import gregtech.api.enums.OreMixes;
+import gregtech.api.enums.SmallOres;
+import gregtech.api.util.GT_Log;
+import gregtech.common.GT_Worldgenerator;
+
+public class GT_Worldgenloader implements Runnable {
+
+ public void run() {
+ new GT_Worldgenerator();
+
+ // GT Stones
+ for (GTStones stone : GTStones.values()) {
+ stone.addGTStone();
+ }
+
+ // GT Default Small Ores
+ for (SmallOres smallOre : SmallOres.values()) {
+ smallOre.addGTSmallOre();
+ }
+
+ // GT Veins registration
+ for (OreMixes oreMix : OreMixes.values()) {
+ oreMix.addGTOreLayer();
+ }
+
+ new WorldGenGaGT().run();
+ GT_Log.out.println("Started Galactic Greg ore gen code");
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/PartP2PGTPower.java b/src/main/java/gregtech/loaders/postload/PartP2PGTPower.java
new file mode 100644
index 0000000000..389ac1cc57
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/PartP2PGTPower.java
@@ -0,0 +1,104 @@
+package gregtech.loaders.postload;
+
+import java.lang.reflect.Field;
+
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import appeng.api.networking.IGridNode;
+import appeng.api.networking.ticking.IGridTickable;
+import appeng.api.networking.ticking.TickRateModulation;
+import appeng.api.networking.ticking.TickingRequest;
+import appeng.parts.AEBasePart;
+import appeng.parts.p2p.PartP2PIC2Power;
+import gregtech.api.interfaces.tileentity.IEnergyConnected;
+import gregtech.api.util.GT_Log;
+
+public class PartP2PGTPower extends PartP2PIC2Power implements IGridTickable {
+
+ public PartP2PGTPower(ItemStack is) {
+ super(is);
+ }
+
+ public final World getWorld() {
+ return getTile().getWorldObj();
+ }
+
+ public final int getXCoord() {
+ return getTile().xCoord;
+ }
+
+ public final short getYCoord() {
+ return (short) getTile().yCoord;
+ }
+
+ public final int getZCoord() {
+ return getTile().zCoord;
+ }
+
+ public final int getOffsetX(ForgeDirection side, int aMultiplier) {
+ return getXCoord() + side.offsetX * aMultiplier;
+ }
+
+ public final short getOffsetY(ForgeDirection side, int aMultiplier) {
+ return (short) (getYCoord() + side.offsetY * aMultiplier);
+ }
+
+ public final int getOffsetZ(ForgeDirection side, int aMultiplier) {
+ return getZCoord() + side.offsetZ * aMultiplier;
+ }
+
+ public final TileEntity getTileEntity(int aX, int aY, int aZ) {
+ return getWorld().getTileEntity(aX, aY, aZ);
+ }
+
+ public final TileEntity getTileEntityAtSide(ForgeDirection side) {
+ final int tX = getOffsetX(side, 1);
+ final int tY = getOffsetY(side, 1);
+ final int tZ = getOffsetZ(side, 1);
+ return getWorld().getTileEntity(tX, tY, tZ);
+ }
+
+ public boolean outputEnergy() {
+ if (getOfferedEnergy() == 0) {
+ return false;
+ }
+ final TileEntity te = getTileEntityAtSide(getSide());
+ if (te instanceof IEnergyConnected energyConnected) {
+ long voltage = 8L << (getSourceTier() * 2);
+ if (voltage > getOfferedEnergy()) {
+ voltage = (long) getOfferedEnergy();
+ }
+ if (energyConnected.injectEnergyUnits(getSide().getOpposite(), voltage, 1) > 0) {
+ drawEnergy(voltage);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public TickingRequest getTickingRequest(IGridNode iGridNode) {
+ return new TickingRequest(1, 20, false, false);
+ }
+
+ @Override
+ public TickRateModulation tickingRequest(IGridNode iGridNode, int i) {
+ return outputEnergy() ? TickRateModulation.FASTER : TickRateModulation.SLOWER;
+ }
+
+ @Override
+ public ForgeDirection getSide() {
+ try {
+ Field fSide = AEBasePart.class.getDeclaredField("side");
+ fSide.setAccessible(true);
+ return (ForgeDirection) fSide.get(this);
+ } catch (Exception e) {
+ GT_Log.out.println("A fatal error occured at the P2P tunnel for GT electricity");
+ e.printStackTrace(GT_Log.out);
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/PosteaTransformers.java b/src/main/java/gregtech/loaders/postload/PosteaTransformers.java
new file mode 100644
index 0000000000..ae24de26e8
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/PosteaTransformers.java
@@ -0,0 +1,76 @@
+package gregtech.loaders.postload;
+
+import net.minecraft.item.Item;
+import net.minecraft.nbt.NBTTagCompound;
+
+import com.gtnewhorizons.postea.api.ItemStackReplacementManager;
+import com.gtnewhorizons.postea.api.TileEntityReplacementManager;
+import com.gtnewhorizons.postea.utility.BlockInfo;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.GT_Values;
+import vexatos.tgregworks.reference.Mods;
+
+public class PosteaTransformers implements Runnable {
+
+ @Override
+ public void run() {
+ registerFrameboxTransformers();
+ }
+
+ private static NBTTagCompound passthrough(NBTTagCompound tag) {
+ return tag;
+ }
+
+ private void registerFrameboxTransformers() {
+ // These are used to convert old TileEntity frame boxes into the new system
+ // that does not use TEs by default
+
+ TileEntityReplacementManager.tileEntityTransformer("BaseMetaPipeEntity", (tag, world) -> {
+ // Read the MTE ID from the NBT data and try to figure out if this is a frame box
+ int id = tag.getInteger("mID");
+ // Framebox IDs start at 4096
+ int indexInMaterialList = id - 4096;
+ // The offset from 4096 is the index in the material list, so if this is outside the valid range then this
+ // is not a valid frame box, and we don't want to modify it
+ if (indexInMaterialList < 0 || indexInMaterialList >= GregTech_API.sGeneratedMaterials.length) {
+ // Do not modify this TE, so return null
+ return null;
+ }
+
+ // Now we know for sure that the tileentity is a frame box
+ // If this frame has a cover on it, we need to keep it, but we still need to make sure the block
+ // is the new frame block. We can make sure to keep the TE using a pass-through transformer.
+ // This works because between the old and new frame systems, the TileEntity used for covered frames
+ // is still the same
+ if (tag.hasKey(GT_Values.NBT.COVERS)) {
+ return new BlockInfo(GregTech_API.sBlockFrames, indexInMaterialList, PosteaTransformers::passthrough);
+ }
+
+ // If this frame has no covers, simply return a block and delete the TileEntity
+ return new BlockInfo(GregTech_API.sBlockFrames, indexInMaterialList);
+ });
+
+ ItemStackReplacementManager.addItemReplacement("gregtech:gt.blockmachines", (tag) -> {
+ // Get item meta id and see if this is a frame box, this works pretty much identically to the TE transformer
+ int id = tag.getInteger("Damage");
+ int indexInMaterialList = id - 4096;
+ // Not a frame box
+ if (indexInMaterialList < 0 || indexInMaterialList >= GregTech_API.sGeneratedMaterials.length) {
+ return tag;
+ }
+ // Not a frame box if the material for this id does not have a frame box associated with it.
+ // Apparently the DEFC ID overlaps with the material ID for a Bastnasite frame box for example
+ if ((GregTech_API.sGeneratedMaterials[indexInMaterialList].mTypes & 0x2) == 0) {
+ return tag;
+ }
+ Item frameItem = GameRegistry.findItem(Mods.GregTech, "gt.blockframes");
+ int itemId = Item.getIdFromItem(frameItem);
+ // Change this item into the correct frame item (make sure to keep amount)
+ tag.setInteger("id", itemId);
+ tag.setInteger("Damage", indexInMaterialList);
+ return tag;
+ });
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java b/src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java
new file mode 100644
index 0000000000..dfe14762c5
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java
@@ -0,0 +1,297 @@
+package gregtech.loaders.postload.chains;
+
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidHeaterRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
+import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+
+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.MaterialsOreAlum;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.TierEU;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
+public class GT_BauxiteRefineChain {
+
+ public static void run() {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Bauxite, 32),
+ Materials.SodiumHydroxide.getDust(9),
+ Materials.Quicklime.getDust(4),
+ GT_Utility.getIntegratedCircuit(8))
+ .fluidInputs(Materials.Water.getFluid(5000))
+ .fluidOutputs(MaterialsOreAlum.BauxiteSlurry.getFluid(8000))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(mixerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Bauxite, 32),
+ Materials.SodiumHydroxide.getDust(9),
+ Materials.Quicklime.getDust(4),
+ GT_Utility.getIntegratedCircuit(8))
+ .fluidInputs(Materials.Water.getFluid(5000))
+ .fluidOutputs(MaterialsOreAlum.BauxiteSlurry.getFluid(8000))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(mixerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(1))
+ .fluidInputs(MaterialsOreAlum.BauxiteSlurry.getFluid(2000))
+ .fluidOutputs(MaterialsOreAlum.HeatedBauxiteSlurry.getFluid(2000))
+ .duration(2 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .noOptimize()
+ .addTo(fluidHeaterRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Aluminiumhydroxide.getDust(1))
+ .itemOutputs(
+ Materials.Aluminiumoxide.getDust(64),
+ Materials.Aluminiumoxide.getDust(16),
+ Materials.SodiumCarbonate.getDust(9),
+ Materials.Calcite.getDust(10),
+ MaterialsOreAlum.BauxiteSlag.getDust(16))
+ .fluidInputs(Materials.CarbonDioxide.getGas(5000), MaterialsOreAlum.HeatedBauxiteSlurry.getFluid(8000))
+ .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(5000))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(multiblockChemicalReactorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(MaterialsOreAlum.BauxiteSlag.getDust(1))
+ .itemOutputs(
+ Materials.Rutile.getDust(1),
+ Materials.Gallium.getDust(1),
+ Materials.Quicklime.getDust(1),
+ Materials.SiliconDioxide.getDust(1),
+ Materials.Iron.getDust(1))
+ .outputChances(10000, 3000, 2000, 9000, 8000)
+ .duration(2 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(centrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Ilmenite, 1))
+ .itemOutputs(Materials.Rutile.getDust(2), MaterialsOreAlum.IlmeniteSlag.getDust(1))
+ .outputChances(10000, 3000)
+ .fluidInputs(Materials.SulfuricAcid.getFluid(1000))
+ .fluidOutputs(new FluidStack(ItemList.sGreenVitriol, 2000))
+ .duration(21 * SECONDS)
+ .eut(1000)
+ .addTo(chemicalBathRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Ilmenite, 1))
+ .itemOutputs(Materials.Rutile.getDust(2), MaterialsOreAlum.IlmeniteSlag.getDust(1))
+ .outputChances(10000, 6000)
+ .fluidInputs(Materials.SulfuricAcid.getFluid(1000))
+ .fluidOutputs(new FluidStack(ItemList.sGreenVitriol, 2000))
+ .duration(21 * SECONDS)
+ .eut(1000)
+ .addTo(chemicalBathRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(MaterialsOreAlum.IlmeniteSlag.getDust(1))
+ .itemOutputs(
+ Materials.Iron.getDust(1),
+ Materials.Niobium.getDust(1),
+ Materials.Tantalum.getDust(1),
+ Materials.Manganese.getDust(1),
+ Materials.Magnesium.getDust(1))
+ .outputChances(8000, 500, 2000, 5000, 6000)
+ .duration(2 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(centrifugeRecipes);
+
+ OrePrefixes[] washable = new OrePrefixes[] { OrePrefixes.crushed, OrePrefixes.crushedPurified,
+ OrePrefixes.dustImpure, OrePrefixes.dustPure };
+
+ for (OrePrefixes ore : washable) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(ore, Materials.Sapphire, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.SodiumHydroxide, 1),
+ GT_Utility.getIntegratedCircuit(1))
+ .fluidInputs(Materials.HydrochloricAcid.getFluid(1000))
+ .fluidOutputs(MaterialsOreAlum.SapphireJuice.getFluid(1000))
+ .duration(2 * SECONDS)
+ .eut(100)
+ .addTo(mixerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(ore, Materials.GreenSapphire, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.SodiumHydroxide, 1),
+ GT_Utility.getIntegratedCircuit(1))
+ .fluidInputs(Materials.HydrochloricAcid.getFluid(1000))
+ .fluidOutputs(MaterialsOreAlum.GreenSapphireJuice.getFluid(1000))
+ .duration(2 * SECONDS)
+ .eut(100)
+ .addTo(mixerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(ore, Materials.Ruby, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.SodiumHydroxide, 1),
+ GT_Utility.getIntegratedCircuit(1))
+ .fluidInputs(Materials.HydrochloricAcid.getFluid(1000))
+ .fluidOutputs(MaterialsOreAlum.RubyJuice.getFluid(1000))
+ .duration(2 * SECONDS)
+ .eut(100)
+ .addTo(mixerRecipes);
+ }
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(
+ Materials.Aluminiumhydroxide.getDust(3),
+ Materials.Iron.getDust(1),
+ Materials.Vanadium.getDust(1),
+ Materials.Magnesium.getDust(1))
+ .outputChances(10000, 300, 200, 200)
+ .fluidInputs(MaterialsOreAlum.SapphireJuice.getFluid(1000))
+ .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000))
+ .duration(2 * SECONDS + 5 * TICKS)
+ .eut(100)
+ .addTo(centrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(
+ Materials.Aluminiumhydroxide.getDust(3),
+ Materials.Iron.getDust(1),
+ Materials.Vanadium.getDust(1),
+ Materials.Manganese.getDust(1),
+ Materials.Beryllium.getDust(1))
+ .outputChances(10000, 300, 200, 200, 200)
+ .fluidInputs(MaterialsOreAlum.GreenSapphireJuice.getFluid(1000))
+ .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000))
+ .duration(2 * SECONDS + 5 * TICKS)
+ .eut(100)
+ .addTo(centrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(
+ Materials.Aluminiumhydroxide.getDust(3),
+ Materials.Chrome.getDust(1),
+ Materials.Iron.getDust(1),
+ Materials.Vanadium.getDust(1),
+ Materials.Magnesium.getDust(1))
+ .outputChances(10000, 5000, 300, 200, 200)
+ .fluidInputs(MaterialsOreAlum.RubyJuice.getFluid(1000))
+ .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000))
+ .duration(2 * SECONDS + 5 * TICKS)
+ .eut(100)
+ .addTo(centrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Pyrope.getDust(1))
+ .itemOutputs(
+ Materials.Aluminiumoxide.getDust(1),
+ Materials.Magnesia.getDust(1),
+ Materials.Silver.getDust(1),
+ Materials.Iron.getDust(1),
+ Materials.Calcite.getDust(1),
+ Materials.Vanadium.getDust(1))
+ .outputChances(5000, 4000, 300, 300, 300, 200)
+ .fluidInputs(Materials.NitricAcid.getFluid(10))
+ .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10))
+ .duration(2 * SECONDS + 5 * TICKS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(centrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Almandine.getDust(1))
+ .itemOutputs(
+ Materials.Aluminiumoxide.getDust(1),
+ Materials.Iron.getDust(1),
+ Materials.Gold.getDust(1),
+ Materials.Calcite.getDust(1),
+ Materials.Chrome.getDust(1),
+ Materials.Vanadium.getDust(1))
+ .outputChances(5000, 4000, 300, 300, 200, 200)
+ .fluidInputs(Materials.NitricAcid.getFluid(10))
+ .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10))
+ .duration(2 * SECONDS + 5 * TICKS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(centrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Spessartine.getDust(1))
+ .itemOutputs(
+ Materials.Aluminiumoxide.getDust(1),
+ Materials.Pyrolusite.getDust(1),
+ Materials.Iron.getDust(1),
+ Materials.Calcite.getDust(1),
+ Materials.Magnesium.getDust(1),
+ Materials.Tantalum.getDust(1))
+ .outputChances(5000, 4000, 300, 300, 300, 200)
+ .fluidInputs(Materials.NitricAcid.getFluid(10))
+ .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10))
+ .duration(2 * SECONDS + 5 * TICKS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(centrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Andradite.getDust(1))
+ .itemOutputs(
+ Materials.Quicklime.getDust(1),
+ Materials.Iron.getDust(1),
+ Materials.Aluminiumoxide.getDust(1),
+ Materials.Gold.getDust(1),
+ Materials.Vanadium.getDust(1),
+ Materials.Rutile.getDust(1))
+ .outputChances(5000, 4000, 300, 300, 200, 600)
+ .fluidInputs(Materials.NitricAcid.getFluid(10))
+ .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10))
+ .duration(2 * SECONDS + 5 * TICKS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(centrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Uvarovite.getDust(1))
+ .itemOutputs(
+ Materials.Quicklime.getDust(1),
+ Materials.Chrome.getDust(1),
+ Materials.Iron.getDust(1),
+ Materials.Silver.getDust(1),
+ Materials.Aluminiumoxide.getDust(1),
+ Materials.Manganese.getDust(1))
+ .outputChances(5000, 1000, 300, 300, 200, 200)
+ .fluidInputs(Materials.NitricAcid.getFluid(10))
+ .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10))
+ .duration(2 * SECONDS + 5 * TICKS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(centrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Grossular.getDust(1))
+ .itemOutputs(
+ Materials.Quicklime.getDust(1),
+ Materials.Aluminiumoxide.getDust(1),
+ Materials.Iron.getDust(1),
+ Materials.Gold.getDust(1),
+ Materials.Calcite.getDust(1),
+ Materials.Vanadium.getDust(1))
+ .outputChances(5000, 4000, 300, 300, 300, 200)
+ .fluidInputs(Materials.NitricAcid.getFluid(10))
+ .fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10))
+ .duration(2 * SECONDS + 5 * TICKS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(centrifugeRecipes);
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
new file mode 100644
index 0000000000..1b3802306c
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
@@ -0,0 +1,250 @@
+package gregtech.loaders.postload.chains;
+
+import static goodgenerator.loader.Loaders.huiCircuit;
+import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
+import static gregtech.api.recipe.RecipeMaps.nanoForgeRecipes;
+import static gregtech.api.util.GT_ModHandler.getModItem;
+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.NANO_FORGE_TIER;
+import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM;
+import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME;
+import static gtPlusPlus.core.block.ModBlocks.blockCompressedObsidian;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
+
+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;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+public class GT_NaniteChain {
+
+ public static void run() {
+
+ ItemStack aUVTierLens = getModItem(NewHorizonsCoreMod.ID, "item.MysteriousCrystalLens", 0);
+ ItemStack aUHVTierLens = getModItem(NewHorizonsCoreMod.ID, "item.ChromaticLens", 0);
+ ItemStack aUEVTierLens = getModItem(NewHorizonsCoreMod.ID, "item.RadoxPolymerLens", 0);
+ ItemStack aUIVTierLens = ItemList.EnergisedTesseract.get(0);
+ ItemStack aUMVTierLens = GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Dilithium, 0, false);
+
+ // Carbon Nanite Recipe Before Nano Forge
+ Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null
+ ? FluidRegistry.getFluid("molten.indalloy140")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, Materials.Carbon.getNanite(1))
+ .metadata(RESEARCH_TIME, 1 * HOURS)
+ .itemInputs(
+ ItemList.Hull_UV.get(16),
+ Materials.Carbon.getNanite(16),
+ ItemList.Field_Generator_ZPM.get(16),
+ ItemList.Conveyor_Module_UV.get(16),
+ ItemList.Electric_Motor_UV.get(32),
+ new Object[] { OrePrefixes.circuit.get(Materials.LuV), 16 },
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 32))
+ .fluidInputs(
+ new FluidStack(solderIndalloy, 144 * 32),
+ Materials.HSSS.getMolten(144L * 32),
+ Materials.Osmiridium.getMolten(144L * 16))
+ .itemOutputs(ItemList.NanoForge.get(1))
+ .eut(TierEU.RECIPE_ZPM)
+ .duration(5 * MINUTES)
+ .addTo(AssemblyLine);
+
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, ItemList.Circuit_Crystalmainframe.get(1))
+ .metadata(RESEARCH_TIME, 2 * HOURS)
+ .itemInputs(
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 16 },
+ ItemList.Robot_Arm_UV.get(16),
+ ItemList.Circuit_Chip_Stemcell.get(32),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NaquadahAlloy, 32),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahAlloy, 16),
+ Materials.Carbon.getDust(64))
+ .fluidInputs(Materials.UUMatter.getFluid(10000), new FluidStack(solderIndalloy, 144 * 32))
+ .itemOutputs(Materials.Carbon.getNanite(2))
+ .eut(TierEU.RECIPE_UV)
+ .duration(50 * SECONDS)
+ .addTo(AssemblyLine);
+
+ /*
+ * General Rules for making nanite recipes: 1. Never make a nanite that takes a long time to make and only gives
+ * 1, just to be consumed. 2. Nanites meant to be consumed should either have a short duration or a big output.
+ * 3. Nanites which aren't consumed should have a long duration and output less than 16. 4. Nanites should
+ * always take UUM as a fluid and a lot of power to make.
+ */
+
+ // Carbon Nanites - Used to make more Nano Forge Controllers
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUVTierLens,
+ new ItemStack(WerkstoffLoader.BWBlockCasingsAdvanced, 8, 31776),
+ ItemList.Circuit_Chip_SoC.get(64))
+ .itemOutputs(Materials.Carbon.getNanite(64))
+ .fluidInputs(Materials.UUMatter.getFluid(200_000))
+ .metadata(NANO_FORGE_TIER, 1)
+ .duration(8 * MINUTES + 20 * SECONDS)
+ .eut(10_000_000)
+ .addTo(nanoForgeRecipes);
+
+ // Silver Nanites - Used in Tier 2 PCB Factory to improve board production
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aUEVTierLens, Materials.Silver.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16))
+ .itemOutputs(Materials.Silver.getNanite(1))
+ .fluidInputs(Materials.UUMatter.getFluid(200_000))
+ .metadata(NANO_FORGE_TIER, 2)
+ .duration(12 * MINUTES + 30 * SECONDS)
+ .eut(10_000_000)
+ .addTo(nanoForgeRecipes);
+
+ // Neutronium Nanites - Used to upgrade the Nano Forge to Tier 2
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUHVTierLens,
+ Materials.Neutronium.getBlocks(8),
+ ItemList.Circuit_Chip_SoC2.get(64),
+ ItemList.Circuit_Chip_SoC2.get(32))
+ .itemOutputs(Materials.Neutronium.getNanite(1))
+ .fluidInputs(Materials.UUMatter.getFluid(200_000))
+ .metadata(NANO_FORGE_TIER, 1)
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(100_000_000)
+ .addTo(nanoForgeRecipes);
+
+ // Glowstone Nanites - Used in the optical circuit line
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUEVTierLens,
+ new ItemStack(blockCompressedObsidian, 8, 7), // Double compressed glowstone blocks (yes,
+ // it's not obsidian)
+ ItemList.Circuit_Chip_SoC2.get(64))
+ .itemOutputs(Materials.Glowstone.getNanite(64))
+ .fluidInputs(Materials.UUMatter.getFluid(50_000))
+ .metadata(NANO_FORGE_TIER, 2)
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(50_000_000)
+ .addTo(nanoForgeRecipes);
+
+ // Gold Nanites - Used in Tier 3 PCB Factory to improve board production
+ GT_Values.RA.stdBuilder()
+ .itemInputs(aUMVTierLens, Materials.Gold.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16))
+ .itemOutputs(Materials.Gold.getNanite(1))
+ .fluidInputs(Materials.UUMatter.getFluid(300_000))
+ .metadata(NANO_FORGE_TIER, 3)
+ .duration(16 * MINUTES + 40 * SECONDS)
+ .eut(100_000_000)
+ .addTo(nanoForgeRecipes);
+
+ // Transcendent Metal Nanites - Used to upgrade the Nano Forge to Tier 3
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUIVTierLens,
+ MaterialsUEVplus.TranscendentMetal.getBlocks(8),
+ ItemList.Circuit_Chip_SoC2.get(64),
+ ItemList.Circuit_Chip_SoC2.get(64),
+ ItemList.Circuit_Chip_SoC2.get(64))
+ .itemOutputs(MaterialsUEVplus.TranscendentMetal.getNanite(1))
+ .fluidInputs(Materials.UUMatter.getFluid(2_000_000))
+ .metadata(NANO_FORGE_TIER, 2)
+ .duration(12 * MINUTES + 30 * SECONDS)
+ .eut(1_000_000_000)
+ .addTo(nanoForgeRecipes);
+
+ // White Dwarf Matter Nanites. Used to make Magnetohydrodynamically constrained star matter.
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUMVTierLens,
+ new ItemStack(WerkstoffLoader.items.get(OrePrefixes.lens), 0, 36), // Magneto lens
+ GregtechItemList.Laser_Lens_Special.get(0), // Quantum Anomaly, couldn't find any better
+ // naming
+ MaterialsUEVplus.WhiteDwarfMatter.getBlocks(8),
+ getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32),
+ new ItemStack(huiCircuit, 1, 4) // Paradox circuit
+ )
+ .itemOutputs(MaterialsUEVplus.WhiteDwarfMatter.getNanite(4))
+ .fluidInputs(
+ Materials.UUMatter.getFluid(500_000),
+ MaterialsUEVplus.RawStarMatter.getFluid(50_000),
+ MaterialsUEVplus.Space.getMolten(720))
+ .metadata(NANO_FORGE_TIER, 3)
+ .duration(12 * MINUTES + 30 * SECONDS)
+ .eut(2_000_000_000)
+ .addTo(nanoForgeRecipes);
+
+ // Black Dwarf Matter Nanites. Used to make Magnetohydrodynamically constrained star matter.
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUMVTierLens,
+ new ItemStack(WerkstoffLoader.items.get(OrePrefixes.lens), 0, 36), // Magneto lens
+ GregtechItemList.Laser_Lens_Special.get(0), // Quantum Anomaly, couldn't find any better
+ // naming
+ MaterialsUEVplus.BlackDwarfMatter.getBlocks(8),
+ getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32),
+ new ItemStack(huiCircuit, 1, 4) // Paradox circuit
+ )
+ .itemOutputs(MaterialsUEVplus.BlackDwarfMatter.getNanite(4))
+ .fluidInputs(
+ Materials.UUMatter.getFluid(500_000),
+ MaterialsUEVplus.RawStarMatter.getFluid(50_000),
+ MaterialsUEVplus.Time.getMolten(720))
+ .metadata(NANO_FORGE_TIER, 3)
+ .duration(12 * MINUTES + 30 * SECONDS)
+ .eut(2_000_000_000)
+ .addTo(nanoForgeRecipes);
+
+ // Universium nanites.
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aUMVTierLens,
+ // Quantum Anomaly, couldn't find any better naming.
+ GregtechItemList.Laser_Lens_Special.get(0),
+ MaterialsUEVplus.Universium.getBlocks(8),
+ ItemList.Optically_Perfected_CPU.get(16),
+ ItemList.Optically_Compatible_Memory.get(16),
+ new ItemStack(huiCircuit, 1, 4) // Paradox circuit
+ )
+ .itemOutputs(MaterialsUEVplus.Universium.getNanite(2))
+ .fluidInputs(
+ MaterialsUEVplus.SpaceTime.getMolten(144),
+ Materials.Infinity.getMolten(576),
+ MaterialsUEVplus.PrimordialMatter.getFluid(64_000))
+ .metadata(NANO_FORGE_TIER, 3)
+ .duration(12 * MINUTES + 30 * SECONDS)
+ .eut(2_000_000_000)
+ .addTo(nanoForgeRecipes);
+
+ // Eternity nanites
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Forcicium, 0, false),
+ // Quantum Anomaly
+ GregtechItemList.Laser_Lens_Special.get(0),
+ MaterialsUEVplus.TranscendentMetal.getNanite(1),
+ MaterialsUEVplus.Eternity.getBlocks(8),
+ getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32),
+ ItemList.Timepiece.get(4))
+ .itemOutputs(MaterialsUEVplus.Eternity.getNanite(4))
+ .fluidInputs(
+ MaterialsUEVplus.Space.getMolten(1152),
+ MaterialsUEVplus.ExcitedDTSC.getFluid(50_000),
+ MaterialsUEVplus.PrimordialMatter.getFluid(64_000))
+ .metadata(NANO_FORGE_TIER, 3)
+ .duration(12 * MINUTES + 30 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .addTo(nanoForgeRecipes);
+
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java b/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java
new file mode 100644
index 0000000000..6be4ab534e
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java
@@ -0,0 +1,694 @@
+package gregtech.loaders.postload.chains;
+
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.metadata.PCBFactoryUpgrade.BIO;
+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 static gtPlusPlus.core.material.ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN;
+import static gtPlusPlus.core.material.ELEMENT.STANDALONE.CHRONOMATIC_GLASS;
+import static gtPlusPlus.core.material.ELEMENT.STANDALONE.HYPOGEN;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
+
+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.recipe.RecipeMaps;
+import gregtech.api.recipe.metadata.PCBFactoryTierKey;
+import gregtech.api.recipe.metadata.PCBFactoryUpgradeKey;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_PCBFactoryManager;
+import gregtech.api.util.GT_Utility;
+
+@SuppressWarnings("SpellCheckingInspection")
+public class GT_PCBFactoryRecipes {
+
+ private static final PCBFactoryTierKey TIER = PCBFactoryTierKey.INSTANCE;
+ private static final PCBFactoryUpgradeKey UPGRADE = PCBFactoryUpgradeKey.INSTANCE;
+
+ public static void load() {
+ final Fluid solderLuV = FluidRegistry.getFluid("molten.indalloy140") != null
+ ? FluidRegistry.getFluid("molten.indalloy140")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+
+ // Load Multi Recipes
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, ItemList.Circuit_Board_Wetware.get(1))
+ .metadata(RESEARCH_TIME, 3 * MINUTES)
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 32),
+ ItemList.Machine_ZPM_CircuitAssembler.get(4),
+ new Object[] { OrePrefixes.circuit.get(Materials.LuV), 16 },
+ ItemList.Robot_Arm_ZPM.get(8))
+ .fluidInputs(new FluidStack(solderLuV, 144 * 36), Materials.Naquadah.getMolten(144 * 18))
+ .itemOutputs(ItemList.PCBFactory.get(1))
+ .eut(TierEU.RECIPE_UV)
+ .duration(5 * MINUTES)
+ .addTo(AssemblyLine);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1),
+ Materials.get("Artherium-Sn")
+ .getPlates(6))
+ .itemOutputs(ItemList.BasicPhotolithographicFrameworkCasing.get(1))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1),
+ Materials.EnrichedHolmium.getPlates(6))
+ .itemOutputs(ItemList.ReinforcedPhotolithographicFrameworkCasing.get(1))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CELESTIAL_TUNGSTEN.getFrameBox(1),
+ Materials.get("Quantum")
+ .getPlates(6))
+ .itemOutputs(ItemList.RadiationProofPhotolithographicFrameworkCasing.get(1))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ HYPOGEN.getFrameBox(1),
+ GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 2),
+ Materials.Thulium.getPlates(6))
+ .itemOutputs(ItemList.InfinityCooledCasing.get(1))
+ .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(8 * 144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+
+ // Load CircuitBoard Recipes
+
+ // Plastic Circuit Board
+ for (int tier = 1; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 1))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(64));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.AnnealedCopper, (long) (16 * (Math.sqrt(tier)))),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, (long) (16 * (Math.sqrt(tier)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier)))),
+ Materials.IronIIIChloride.getFluid((long) (250 * (Math.sqrt(tier)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 1.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 1; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 0.5))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(64));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.AnnealedCopper, (long) (16 * (Math.sqrt(tier)))),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, (long) (16 * (Math.sqrt(tier)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier)))),
+ Materials.IronIIIChloride.getFluid((long) (250 * (Math.sqrt(tier)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 1.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 1; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(64));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.AnnealedCopper, (long) (16 * (Math.sqrt(tier)))),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, (long) (16 * (Math.sqrt(tier)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier)))),
+ Materials.IronIIIChloride.getFluid((long) (250 * (Math.sqrt(tier)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 1.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+
+ // Advanced Circuit Board
+ for (int tier = 2; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 2))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, (long) (16 * (Math.sqrt(tier - 1)))),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, (long) (16 * (Math.sqrt(tier - 1)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 1)))),
+ Materials.IronIIIChloride.getFluid((long) (500 * (Math.sqrt(tier - 1)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 2.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 2; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 1.5))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, (long) (16 * (Math.sqrt(tier - 1)))),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, (long) (16 * (Math.sqrt(tier - 1)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 1)))),
+ Materials.IronIIIChloride.getFluid((long) (500 * (Math.sqrt(tier - 1)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 2.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 2; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 1))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, (long) (16 * (Math.sqrt(tier - 1)))),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, (long) (16 * (Math.sqrt(tier - 1)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 1)))),
+ Materials.IronIIIChloride.getFluid((long) (500 * (Math.sqrt(tier - 1)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 2.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+
+ // More Advanced Circuit Board
+ for (int tier = 3; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 3))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.Aluminium, (long) (16 * (Math.sqrt(tier - 2)))),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.EnergeticAlloy, (long) (16 * (Math.sqrt(tier - 2)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 2)))),
+ Materials.IronIIIChloride.getFluid((long) (1000 * (Math.sqrt(tier - 2)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 3.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 3; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 2.5))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.Aluminium, (long) (16 * (Math.sqrt(tier - 2)))),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.EnergeticAlloy, (long) (16 * (Math.sqrt(tier - 2)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 2)))),
+ Materials.IronIIIChloride.getFluid((long) (1000 * (Math.sqrt(tier - 2)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 3.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 3; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 2))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.Aluminium, (long) (16 * (Math.sqrt(tier - 2)))),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.EnergeticAlloy, (long) (16 * (Math.sqrt(tier - 2)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 2)))),
+ Materials.IronIIIChloride.getFluid((long) (1000 * (Math.sqrt(tier - 2)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 3.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+
+ // Elite Circuit Board
+ for (int tier = 4; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 4))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.Palladium, (long) (16 * (Math.sqrt(tier - 3)))),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, (long) (16 * (Math.sqrt(tier - 3)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 3)))),
+ Materials.IronIIIChloride.getFluid((long) (2000 * (Math.sqrt(tier - 3)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 4.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 4; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 3.5))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.Palladium, (long) (16 * (Math.sqrt(tier - 3)))),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, (long) (16 * (Math.sqrt(tier - 3)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 3)))),
+ Materials.IronIIIChloride.getFluid((long) (2000 * (Math.sqrt(tier - 3)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 4.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 4; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 3))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.Palladium, (long) (16 * (Math.sqrt(tier - 3)))),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, (long) (16 * (Math.sqrt(tier - 3)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 3)))),
+ Materials.IronIIIChloride.getFluid((long) (2000 * (Math.sqrt(tier - 3)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 4.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+
+ // Wetware Circuit Board
+ for (int tier = 5; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 5))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.EnrichedHolmium, (long) (16 * (Math.sqrt(tier - 4)))),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.NiobiumTitanium, (long) (16 * (Math.sqrt(tier - 4)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 4)))),
+ Materials.IronIIIChloride.getFluid((long) (5000 * (Math.sqrt(tier - 4)))),
+ Materials.GrowthMediumSterilized.getFluid((long) (2000 * (Math.sqrt(tier - 4)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 5.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .metadata(UPGRADE, BIO)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 5; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 4.5))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.EnrichedHolmium, (long) (16 * (Math.sqrt(tier - 4)))),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.NiobiumTitanium, (long) (16 * (Math.sqrt(tier - 4)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 4)))),
+ Materials.IronIIIChloride.getFluid((long) (5000 * (Math.sqrt(tier - 4)))),
+ Materials.GrowthMediumSterilized.getFluid((long) (2000 * (Math.sqrt(tier - 4)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 5.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .metadata(UPGRADE, BIO)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 5; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 4))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.EnrichedHolmium, (long) (16 * (Math.sqrt(tier - 4)))),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.NiobiumTitanium, (long) (16 * (Math.sqrt(tier - 4)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 4)))),
+ Materials.IronIIIChloride.getFluid((long) (5000 * (Math.sqrt(tier - 4)))),
+ Materials.GrowthMediumSterilized.getFluid((long) (2000 * (Math.sqrt(tier - 4)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 5.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .metadata(UPGRADE, BIO)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+
+ // Bioware Circuit Board
+ for (int tier = 6; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 6))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil,
+ Materials.Longasssuperconductornameforuvwire,
+ (long) (16 * (Math.sqrt(tier - 5)))),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.Neutronium, (long) (16 * (Math.sqrt(tier - 5)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 5)))),
+ Materials.IronIIIChloride.getFluid((long) (7500 * (Math.sqrt(tier - 5)))),
+ Materials.BioMediumSterilized.getFluid((long) (4000 * (Math.sqrt(tier - 5)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 5.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .metadata(UPGRADE, BIO)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 6; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 5.5))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil,
+ Materials.Longasssuperconductornameforuvwire,
+ (long) (16 * (Math.sqrt(tier - 5)))),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.Neutronium, (long) (16 * (Math.sqrt(tier - 5)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 5)))),
+ Materials.IronIIIChloride.getFluid((long) (7500 * (Math.sqrt(tier - 5)))),
+ Materials.BioMediumSterilized.getFluid((long) (4000 * (Math.sqrt(tier - 5)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 6.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .metadata(UPGRADE, BIO)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 6; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 5))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil,
+ Materials.Longasssuperconductornameforuvwire,
+ (long) (16 * (Math.sqrt(tier - 5)))),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.Neutronium, (long) (16 * (Math.sqrt(tier - 5)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 5)))),
+ Materials.IronIIIChloride.getFluid((long) (7500 * (Math.sqrt(tier - 5)))),
+ Materials.BioMediumSterilized.getFluid((long) (4000 * (Math.sqrt(tier - 5)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 6.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .metadata(UPGRADE, BIO)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+
+ // Optical Circuit Board
+ for (int tier = 7; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 7))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Optical.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Optical.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ new ItemStack(
+ WerkstoffLoader.items.get(OrePrefixes.foil),
+ (int) (16 * (Math.sqrt(tier - 6))),
+ 10106),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.InfinityCatalyst, (long) (16 * (Math.sqrt(tier - 6)))),
+ CHRONOMATIC_GLASS.getFoil((int) (16 * (Math.sqrt(tier - 6)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 6)))),
+ Materials.IronIIIChloride.getFluid((long) (12500 * (Math.sqrt(tier - 6)))),
+ Materials.MysteriousCrystal.getMolten((long) (2880 * (Math.sqrt(tier - 6)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 5.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 7; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 6.5))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Optical.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Optical.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ new ItemStack(
+ WerkstoffLoader.items.get(OrePrefixes.foil),
+ (int) (16 * (Math.sqrt(tier - 6))),
+ 10106),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.InfinityCatalyst, (long) (16 * (Math.sqrt(tier - 6)))),
+ CHRONOMATIC_GLASS.getFoil((int) (16 * (Math.sqrt(tier - 6)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 6)))),
+ Materials.IronIIIChloride.getFluid((long) (12500 * (Math.sqrt(tier - 6)))),
+ Materials.MysteriousCrystal.getMolten((long) (2880 * (Math.sqrt(tier - 6)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 6.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ for (int tier = 7; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 6))));
+ List<ItemStack> aBoards = new ArrayList<>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Optical.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Optical.get(amountOfBoards));
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ new ItemStack(
+ WerkstoffLoader.items.get(OrePrefixes.foil),
+ (int) (16 * (Math.sqrt(tier - 6))),
+ 10106),
+ GT_OreDictUnificator
+ .get(OrePrefixes.foil, Materials.InfinityCatalyst, (long) (16 * (Math.sqrt(tier - 6)))),
+ CHRONOMATIC_GLASS.getFoil((int) (16 * (Math.sqrt(tier - 6)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 6)))),
+ Materials.IronIIIChloride.getFluid((long) (12500 * (Math.sqrt(tier - 6)))),
+ Materials.MysteriousCrystal.getMolten((long) (2880 * (Math.sqrt(tier - 6)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 6.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
+ }
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java b/src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java
new file mode 100644
index 0000000000..53abc9d1b8
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java
@@ -0,0 +1,324 @@
+package gregtech.loaders.postload.chains;
+
+import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.FluorBuergerit;
+import static gregtech.api.enums.MaterialsBotania.ManaDiamond;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes;
+import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes;
+import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes;
+import static gregtech.api.recipe.RecipeMaps.plasmaForgeRecipes;
+import static gregtech.api.recipe.RecipeMaps.purificationClarifierRecipes;
+import static gregtech.api.recipe.RecipeMaps.purificationDegasifierRecipes;
+import static gregtech.api.recipe.RecipeMaps.purificationFlocculationRecipes;
+import static gregtech.api.recipe.RecipeMaps.purificationOzonationRecipes;
+import static gregtech.api.recipe.RecipeMaps.purificationParticleExtractionRecipes;
+import static gregtech.api.recipe.RecipeMaps.purificationPhAdjustmentRecipes;
+import static gregtech.api.recipe.RecipeMaps.purificationPlasmaHeatingRecipes;
+import static gregtech.api.recipe.RecipeMaps.purificationUVTreatmentRecipes;
+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.COIL_HEAT;
+import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM;
+import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME;
+import static gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationUnitParticleExtractor.BARYONIC_MATTER_OUTPUT;
+
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+import goodgenerator.items.MyMaterial;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.HeatingCoilLevel;
+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.recipe.maps.PurificationUnitParticleExtractorFrontend;
+import gregtech.api.recipe.metadata.PurificationPlantBaseChanceKey;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationPlant;
+import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationUnitUVTreatment;
+import gtPlusPlus.core.material.Particle;
+
+public class GT_PurifiedWaterRecipes {
+
+ static final PurificationPlantBaseChanceKey BASE_CHANCE = PurificationPlantBaseChanceKey.INSTANCE;
+
+ public static void run() {
+ final int duration = GT_MetaTileEntity_PurificationPlant.CYCLE_TIME_TICKS;
+
+ // Grade 1 - Clarifier
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.ActivatedCarbonFilterMesh.get(1))
+ .fluidInputs(GT_ModHandler.getWater(1000L))
+ .fluidOutputs(Materials.Grade1PurifiedWater.getFluid(900L))
+ .itemOutputs(new ItemStack(Items.stick, 1), Materials.Stone.getDust(1), Materials.Gold.getNuggets(1))
+ .outputChances(1000, 500, 100)
+ .duration(duration)
+ .eut(TierEU.RECIPE_LuV)
+ .metadata(BASE_CHANCE, 70.0f)
+ .addTo(purificationClarifierRecipes);
+
+ // Activated Carbon Line
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Carbon.getDust(1))
+ .fluidInputs(Materials.PhosphoricAcid.getFluid(1000L))
+ .itemOutputs(Materials.PreActivatedCarbon.getDust(1))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(multiblockChemicalReactorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.PreActivatedCarbon.getDust(1))
+ .itemOutputs(Materials.DirtyActivatedCarbon.getDust(1))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .specialValue((int) HeatingCoilLevel.EV.getHeat())
+ .addTo(blastFurnaceRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.DirtyActivatedCarbon.getDust(1))
+ .fluidInputs(Materials.Water.getFluid(1000L))
+ .itemOutputs(Materials.ActivatedCarbon.getDust(1))
+ .fluidOutputs(Materials.PhosphoricAcid.getFluid(1000L))
+ .noOptimize()
+ .duration(2 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(chemicalBathRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ Materials.ActivatedCarbon.getDust(64),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Zinc, 16))
+ .itemOutputs(ItemList.ActivatedCarbonFilterMesh.get(1))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+
+ // Grade 2 - Ozonation
+ for (ItemStack lens : GT_OreDictUnificator.getOres("craftingLensBlue")) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(0, lens))
+ .noOptimize()
+ .fluidInputs(Materials.Air.getGas(10000L))
+ .fluidOutputs(Materials.Ozone.getGas(2000L))
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(laserEngraverRecipes);
+ }
+
+ // Recipes for ozonation, uses 128kL, 256kL, 512kL, 1m kL at each tier
+ // 20% boost per tier
+ // Gets you up to 80%, need to water boost for 95%
+ for (int tier = 1; tier <= 4; ++tier) {
+ GT_Values.RA.stdBuilder()
+ .noOptimize()
+ .fluidInputs(
+ Materials.Grade1PurifiedWater.getFluid(1000L),
+ Materials.Ozone.getGas(1000 * (long) Math.pow(2, (tier + 6))))
+ .fluidOutputs(Materials.Grade2PurifiedWater.getFluid(900L))
+ .itemOutputs(Materials.Manganese.getDust(1), Materials.Iron.getDust(1), Materials.Sulfur.getDust(1))
+ .outputChances(500, 500, 500)
+ .duration(duration)
+ .ignoreCollision()
+ .eut(TierEU.RECIPE_LuV)
+ .metadata(BASE_CHANCE, tier * 20.0f)
+ .addTo(purificationOzonationRecipes);
+ }
+
+ // Grade 3 - Flocculation.
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.Grade2PurifiedWater.getFluid(1000L))
+ .fluidOutputs(Materials.Grade3PurifiedWater.getFluid(900L))
+ .itemOutputs(
+ new ItemStack(Items.clay_ball, 1),
+ Materials.QuartzSand.getDust(1),
+ Materials.PolyvinylChloride.getNuggets(1))
+ .outputChances(1000, 500, 100)
+ .duration(duration)
+ .eut(TierEU.RECIPE_ZPM)
+ .metadata(BASE_CHANCE, 1 * 10.0f)
+ .addTo(purificationFlocculationRecipes);
+
+ // 2 Al(OH)3 + 3 HCl -> Al2(OH)3 Cl3 + 3 H2O
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.Aluminiumhydroxide.getDust(8))
+ .fluidInputs(Materials.HydrochloricAcid.getFluid(3000L))
+ .fluidOutputs(Materials.PolyAluminiumChloride.getFluid(1000L), Materials.Water.getFluid(3000L))
+ .duration(4 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(multiblockChemicalReactorRecipes);
+
+ // Diluted is twice what chem balance would suggest, but it is 2:1 with hydrochloric acid which makes it
+ // correct I believe.
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.FlocculationWasteLiquid.getFluid(1000L))
+ .itemOutputs(Materials.Aluminium.getDust(2))
+ .fluidOutputs(Materials.Oxygen.getGas(3000L), Materials.DilutedHydrochloricAcid.getFluid(6000L))
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(distillationTowerRecipes);
+
+ // Grade 4 - pH adjustment
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.Grade3PurifiedWater.getFluid(1000L))
+ .fluidOutputs(Materials.Grade4PurifiedWater.getFluid(900L))
+ .ignoreCollision()
+ .duration(duration)
+ .eut(TierEU.RECIPE_ZPM)
+ .metadata(BASE_CHANCE, 0.0f)
+ .addTo(purificationPhAdjustmentRecipes);
+
+ // Grade 5 - Plasma Heating
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.Grade4PurifiedWater.getFluid(1000L))
+ .fluidOutputs(Materials.Grade5PurifiedWater.getFluid(900L))
+ .ignoreCollision()
+ .duration(duration)
+ .eut(TierEU.RECIPE_UV)
+ .metadata(BASE_CHANCE, 0.0f)
+ .addTo(purificationPlasmaHeatingRecipes);
+
+ GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS.add(MyMaterial.orundum.get(OrePrefixes.lens, 1));
+ GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS
+ .add(GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Amber, 1));
+ GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS
+ .add(GT_OreDictUnificator.get(OrePrefixes.lens, Materials.InfusedAir, 1));
+ GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS
+ .add(GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Emerald, 1));
+ GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS
+ .add(GT_OreDictUnificator.get(OrePrefixes.lens, ManaDiamond, 1));
+ GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS
+ .add(GT_OreDictUnificator.get(OrePrefixes.lens, Materials.BlueTopaz, 1));
+ GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS
+ .add(GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Amethyst, 1));
+ GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS.add(FluorBuergerit.get(OrePrefixes.lens, 1));
+ GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS
+ .add(GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Dilithium, 1));
+
+ // Grade 6 - UV treatment
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.Grade5PurifiedWater.getFluid(1000L))
+ .fluidOutputs(Materials.Grade6PurifiedWater.getFluid(900L))
+ .ignoreCollision()
+ .duration(duration)
+ .eut(TierEU.RECIPE_UV)
+ .metadata(BASE_CHANCE, 0.0f)
+ .addTo(purificationUVTreatmentRecipes);
+
+ // Grade 7 - Degasification
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.Grade6PurifiedWater.getFluid(1000L))
+ .fluidOutputs(Materials.Grade7PurifiedWater.getFluid(900L))
+ .ignoreCollision()
+ .duration(duration)
+ .eut(TierEU.RECIPE_UHV)
+ .metadata(BASE_CHANCE, 0.0f)
+ .addTo(purificationDegasifierRecipes);
+
+ // Grade 8 - Quark Extraction
+
+ ItemStack[] catalystInputs = new ItemStack[] { ItemList.Quark_Creation_Catalyst_Up.get(1L),
+ ItemList.Quark_Creation_Catalyst_Down.get(1L), ItemList.Quark_Creation_Catalyst_Bottom.get(1L),
+ ItemList.Quark_Creation_Catalyst_Top.get(1L), ItemList.Quark_Creation_Catalyst_Strange.get(1L),
+ ItemList.Quark_Creation_Catalyst_Charm.get(1L) };
+
+ // Add all combinations of input items to the frontend map
+ for (int i = 0; i < catalystInputs.length; ++i) {
+ for (int j = 1; j < catalystInputs.length; ++j) {
+ PurificationUnitParticleExtractorFrontend.inputItems.add(catalystInputs[i]);
+ PurificationUnitParticleExtractorFrontend.inputItemsShuffled
+ .add(catalystInputs[(i + j) % catalystInputs.length]);
+ }
+ }
+
+ // Add re-alignment recipes
+ for (int i = 0; i < catalystInputs.length; ++i) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Quark_Creation_Catalyst_Unaligned.get(1), GT_Utility.getIntegratedCircuit(i + 1))
+ .fluidInputs(Materials.StableBaryonicMatter.getFluid(1000L))
+ .itemOutputs(catalystInputs[i])
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ // Not sure how I feel about it being in the laser engraver, but I don't see a better multi for it right
+ // now,
+ // and we can't really add a new one specifically for this (... for now)
+ .addTo(laserEngraverRecipes);
+ }
+
+ // Initial aligned quark catalysts, these are not meant to be done often, and simply exist to get you started
+ ItemStack[] quarks = new ItemStack[] { // make sure these are in the same order as the list above
+ Particle.getBaseParticle(Particle.UP), Particle.getBaseParticle(Particle.DOWN),
+ Particle.getBaseParticle(Particle.BOTTOM), Particle.getBaseParticle(Particle.TOP),
+ Particle.getBaseParticle(Particle.STRANGE), Particle.getBaseParticle(Particle.CHARM) };
+
+ for (int i = 0; i < catalystInputs.length; ++i) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Quark_Catalyst_Housing.get(1), quarks[i])
+ .fluidInputs(MaterialsUEVplus.ExcitedDTRC.getFluid(10000L))
+ .itemOutputs(catalystInputs[i])
+ .metadata(COIL_HEAT, 10800)
+ .eut(TierEU.RECIPE_UMV)
+ .duration(5 * MINUTES)
+ .addTo(plasmaForgeRecipes);
+ }
+
+ // Recipe for quark catalyst housing
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, ItemList.Electromagnet_Tengam.get(1))
+ .metadata(RESEARCH_TIME, 1 * HOURS)
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 16),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tritanium, 16),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 16),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.UHV, 16),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.UEV, 8),
+ ItemList.Field_Generator_UEV.get(4))
+ .fluidInputs(
+ Materials.Neutronium.getMolten(16 * 144),
+ Materials.Infinity.getMolten(16 * 144),
+ Materials.Tritanium.getMolten(16 * 144),
+ Materials.CosmicNeutronium.getMolten(16 * 144))
+ .itemOutputs(ItemList.Quark_Catalyst_Housing.get(1))
+ .eut(TierEU.RECIPE_UIV)
+ .duration(60 * SECONDS)
+ .addTo(AssemblyLine);
+
+ GT_Values.RA.stdBuilder()
+ // Fake item inputs
+ .itemInputs(ItemList.Quark_Creation_Catalyst_Charm.get(1), ItemList.Quark_Creation_Catalyst_Strange.get(1))
+ .fluidInputs(Materials.Grade7PurifiedWater.getFluid(1000L))
+ .fluidOutputs(
+ Materials.Grade8PurifiedWater.getFluid(900L),
+ Materials.StableBaryonicMatter.getFluid(BARYONIC_MATTER_OUTPUT))
+ .itemOutputs(ItemList.Quark_Creation_Catalyst_Unaligned.get(2L), Particle.getBaseParticle(Particle.UNKNOWN))
+ .outputChances(10000, 100)
+ .ignoreCollision()
+ .duration(duration)
+ .eut(TierEU.RECIPE_UEV)
+ .metadata(BASE_CHANCE, 0.0f)
+ .fake()
+ .addTo(purificationParticleExtractionRecipes);
+
+ // real recipe
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.Grade7PurifiedWater.getFluid(1000L))
+ .fluidOutputs(Materials.Grade8PurifiedWater.getFluid(900L))
+ .itemOutputs(ItemList.Quark_Creation_Catalyst_Unaligned.get(2L), Particle.getBaseParticle(Particle.UNKNOWN))
+ .outputChances(10000, 100)
+ .ignoreCollision()
+ .duration(duration)
+ .eut(TierEU.RECIPE_UEV)
+ .metadata(BASE_CHANCE, 0.0f)
+ .hidden()
+ .addTo(purificationParticleExtractionRecipes);
+ }
+}
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..c2631632c6
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java
@@ -0,0 +1,7213 @@
+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.BuildCraftFactory;
+import static gregtech.api.enums.Mods.ExtraUtilities;
+import static gregtech.api.enums.Mods.Forestry;
+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 static gtPlusPlus.core.material.ALLOY.INCONEL_690;
+
+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.dust, Materials.Redstone, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Spray_Empty.get(1L))
+ .duration(40 * SECONDS)
+ .eut(1)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Aluminium, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Aluminium, 2L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.ThermosCan_Empty.get(1L))
+ .duration(40 * SECONDS)
+ .eut(1)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Steel, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.AnyBronze, 4L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Large_Fluid_Cell_Steel.get(1L))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.TungstenSteel, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Platinum, 4L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Large_Fluid_Cell_TungstenSteel.get(1L))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Aluminium, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Silver, 4L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Large_Fluid_Cell_Aluminium.get(1L))
+ .duration(10 * SECONDS)
+ .eut(64)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.StainlessSteel, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Electrum, 4L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Large_Fluid_Cell_StainlessSteel.get(1L))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Titanium, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.RoseGold, 4L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Large_Fluid_Cell_Titanium.get(1L))
+ .duration(10 * SECONDS)
+ .eut(256)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Chrome, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Palladium, 4L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Large_Fluid_Cell_Chrome.get(1L))
+ .duration(10 * SECONDS)
+ .eut(1024)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Naquadah, 4L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Large_Fluid_Cell_Iridium.get(1L))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmium, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.ElectrumFlux, 4L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Large_Fluid_Cell_Osmium.get(1L))
+ .duration(10 * SECONDS)
+ .eut(4096)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Draconium, 4L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Large_Fluid_Cell_Neutronium.get(1L))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L),
+ ItemList.Large_Fluid_Cell_Aluminium.get(1),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Spray_Color_Remover_Empty.get(1L))
+ .duration(40 * SECONDS)
+ .eut(1)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Phosphorus, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Tool_Matches.get(1L))
+ .duration(16 * TICKS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.TricalciumPhosphate, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Tool_Matches.get(1L))
+ .duration(16 * TICKS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphorus, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Tool_Matches.get(4L))
+ .duration(3 * SECONDS + 4 * TICKS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TricalciumPhosphate, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Tool_Matches.get(4L))
+ .duration(3 * SECONDS + 4 * TICKS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Invar, 2L),
+ new ItemStack(Items.flint, 1),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Tool_Lighter_Invar_Empty.get(1L))
+ .duration(12 * SECONDS + 16 * TICKS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Platinum, 2L),
+ new ItemStack(Items.flint, 1),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Tool_Lighter_Platinum_Empty.get(1L))
+ .duration(12 * SECONDS + 16 * TICKS)
+ .eut(256)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 2L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Upgrade_Muffler.get(1L))
+ .duration(1 * MINUTES + 20 * SECONDS)
+ .eut(2)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Upgrade_Muffler.get(1L))
+ .duration(1 * MINUTES + 20 * SECONDS)
+ .eut(2)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 2L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Upgrade_Muffler.get(1L))
+ .duration(1 * MINUTES + 20 * SECONDS)
+ .eut(2)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Upgrade_Muffler.get(1L))
+ .duration(1 * MINUTES + 20 * SECONDS)
+ .eut(2)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 2L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Upgrade_Muffler.get(1L))
+ .duration(1 * MINUTES + 20 * SECONDS)
+ .eut(2)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Upgrade_Muffler.get(1L))
+ .duration(1 * MINUTES + 20 * SECONDS)
+ .eut(2)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Upgrade_Lock.get(1L))
+ .duration(5 * MINUTES + 20 * SECONDS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Upgrade_Lock.get(1L))
+ .duration(5 * MINUTES + 20 * SECONDS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Upgrade_Lock.get(1L))
+ .duration(5 * MINUTES + 20 * SECONDS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Sensor_EV.get(1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_PlayerDetector.get(1L))
+ .duration(2 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L),
+ ItemList.Cover_Drain.get(1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_Shutter.get(1L))
+ .duration(40 * SECONDS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L),
+ ItemList.Cover_Drain.get(1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_Shutter.get(1L))
+ .duration(40 * SECONDS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L),
+ ItemList.Cover_Drain.get(1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_Shutter.get(1L))
+ .duration(40 * SECONDS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2L),
+ new ItemStack(Blocks.iron_bars, 2),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_Drain.get(1L))
+ .duration(40 * SECONDS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 2L),
+ new ItemStack(Blocks.iron_bars, 2),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_Drain.get(1L))
+ .duration(40 * SECONDS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 2L),
+ new ItemStack(Blocks.iron_bars, 2),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_Drain.get(1L))
+ .duration(40 * SECONDS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L),
+ new ItemStack(Blocks.crafting_table, 1),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_Crafting.get(1L))
+ .duration(40 * SECONDS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L),
+ new ItemStack(Blocks.crafting_table, 1),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_Crafting.get(1L))
+ .duration(40 * SECONDS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L),
+ new ItemStack(Blocks.crafting_table, 1),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_Crafting.get(1L))
+ .duration(40 * SECONDS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Cover_Screen.get(1L),
+ ItemList.Cover_FluidDetector.get(1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_FluidStorageMonitor.get(1L))
+ .duration(40 * SECONDS)
+ .eut(4)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Sensor_LV.get(1L), ItemList.Emitter_LV.get(1L), GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.NC_SensorKit.get(1L))
+ .duration(1 * MINUTES + 20 * SECONDS)
+ .eut(2)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Emitter_EV.get(1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_RedstoneTransmitterExternal.get(1L))
+ .duration(2 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Sensor_EV.get(1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_RedstoneReceiverExternal.get(1L))
+ .duration(2 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Emitter_MV.get(1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Cover_NeedsMaintainance.get(1L))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tin, 2L),
+ ItemList.Component_Filter.get(1L),
+ ItemList.Conveyor_Module_LV.get(1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.ItemFilter_Export.get(1L))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tin, 2L),
+ ItemList.Component_Filter.get(1L),
+ ItemList.Conveyor_Module_LV.get(1L),
+ GT_Utility.getIntegratedCircuit(2))
+ .itemOutputs(ItemList.ItemFilter_Import.get(1L))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Aluminium, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlueSteel, 2L))
+ .itemOutputs(ItemList.BatteryHull_EV.get(1L))
+ .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(144L))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Platinum, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RoseGold, 6L))
+ .itemOutputs(ItemList.BatteryHull_IV.get(1L))
+ .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(288L))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedSteel, 18L))
+ .itemOutputs(ItemList.BatteryHull_LuV.get(1L))
+ .fluidInputs(Materials.Polybenzimidazole.getMolten(144L))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 6L))
+ .itemOutputs(ItemList.BatteryHull_ZPM.get(1L))
+ .fluidInputs(Materials.Polybenzimidazole.getMolten(288L))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.ElectrumFlux, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 18L))
+ .itemOutputs(ItemList.BatteryHull_UV.get(1L))
+ .fluidInputs(Materials.Polybenzimidazole.getMolten(576L))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.ElectrumFlux, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 24L))
+ .itemOutputs(ItemList.BatteryHull_UHV.get(1L))
+ .fluidInputs(Materials.Polybenzimidazole.getMolten(1152L))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.ElectrumFlux, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahEnriched, 36L))
+ .itemOutputs(ItemList.BatteryHull_UEV.get(1L))
+ .fluidInputs(Materials.Polybenzimidazole.getMolten(2304L))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.ElectrumFlux, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 48L))
+ .itemOutputs(ItemList.BatteryHull_UIV.get(1L))
+ .fluidInputs(Materials.Polybenzimidazole.getMolten(4608L))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 56L))
+ .itemOutputs(ItemList.BatteryHull_UMV.get(1L))
+ .fluidInputs(Materials.Polybenzimidazole.getMolten(9216L))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.DraconiumAwakened, 64L))
+ .itemOutputs(ItemList.BatteryHull_UxV.get(1L))
+ .fluidInputs(Materials.Polybenzimidazole.getMolten(18432L))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ }
+
+ // If Cleanroom is enabled, add an assembler recipe
+ if (GT_Mod.gregtechproxy.mEnableCleanroom) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_HV.get(1L),
+ ItemList.Component_Filter.get(3L),
+ GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 1L),
+ ItemList.Electric_Motor_HV.get(2L),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.HV, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Machine_Multi_Cleanroom.get(1L))
+ .fluidInputs(Materials.StainlessSteel.getMolten(144L))
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ }
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Cover_Shutter.get(1L),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.LV, 1),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.FluidFilter.get(1L))
+ .duration(40 * SECONDS)
+ .eut(4)
+ .addTo(assemblerRecipes);
+
+ 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.EV), 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.LV), 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.MV), 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.HV), 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.EV), 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.IV), 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.LuV), 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.ZPM), 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.UV), 2),
+ GT_Utility.getIntegratedCircuit(3))
+ .itemOutputs(ItemList.FluidRegulator_UV.get(1))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Steam_Valve_LV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.LV), 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.MV), 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.HV), 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.EV), 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.IV), 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.LV), 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.MV), 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.HV), 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(TierEU.RECIPE_UV)
+ .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(TierEU.RECIPE_UHV)
+ .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(TierEU.RECIPE_UV)
+ .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(TierEU.RECIPE_UHV)
+ .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);
+
+ 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);
+
+ 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);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Wood, 1),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1),
+ GT_Utility.getIntegratedCircuit(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),
+ GT_Utility.getIntegratedCircuit(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),
+ GT_Utility.getIntegratedCircuit(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),
+ GT_Utility.getIntegratedCircuit(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),
+ GT_Utility.getIntegratedCircuit(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),
+ GT_Utility.getIntegratedCircuit(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),
+ GT_Utility.getIntegratedCircuit(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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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),
+ GT_Utility.getIntegratedCircuit(1))
+ .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_UHV.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_UHV.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() {
+
+ 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() {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Electric_Pump_EV.get(4),
+ ItemList.Field_Generator_EV.get(4),
+ INCONEL_690.getPlate(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.EV, 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.MV), 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.MV), 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..2b4e957d34
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/AssemblyLineRecipes.java
@@ -0,0 +1,889 @@
+package gregtech.loaders.postload.recipes;
+
+import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
+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 com.github.technus.tectech.thing.CustomItemList;
+
+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 = FluidRegistry.getFluid("molten.indalloy140");
+
+ 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.LuV), 2 },
+ new Object[] { OrePrefixes.circuit.get(Materials.IV), 4 },
+ new Object[] { OrePrefixes.circuit.get(Materials.EV), 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.ZPM), 2 },
+ new Object[] { OrePrefixes.circuit.get(Materials.LuV), 4 },
+ new Object[] { OrePrefixes.circuit.get(Materials.IV), 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.UV), 2 },
+ new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 4 },
+ new Object[] { OrePrefixes.circuit.get(Materials.LuV), 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.LuV), 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.ZPM), 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.UV), 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.LuV), 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.ZPM), 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.UV), 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.ZPM), 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.UV), 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.UHV), 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.LuV), 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.ZPM), 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.UV), 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.LuV), 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.ZPM), 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.UV), 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.ZPM), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 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.UV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 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.UHV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 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.ZPM), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 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.UV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 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.UEV), 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.UV), 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("fluid.rocketfuelmixc", 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.UEV), 4 },
+ ItemList.Field_Generator_UV.get(16),
+ ItemList.Gravistar.get(8),
+ ItemList.Emitter_UV.get(4),
+ CustomItemList.hatch_CreativeMaintenance.get(16),
+ ItemList.Energy_Cluster.get(8),
+ ItemList.Cover_WirelessNeedsMaintainance.get(1))
+ .itemOutputs(ItemList.TierdDrone2.get(1))
+ .fluidInputs(
+ new FluidStack(solderIndalloy, 144000),
+ FluidRegistry.getFluidStack("molten.ethylcyanoacrylatesuperglue", 2000))
+ .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..6a95493f8c
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java
@@ -0,0 +1,685 @@
+package gregtech.loaders.postload.recipes;
+
+import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
+import static gregtech.api.recipe.RecipeMaps.primitiveBlastRecipes;
+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 com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
+
+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);
+
+ 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(TierEU.RECIPE_UIV)
+ .metadata(COIL_HEAT, 11701)
+ .addTo(blastFurnaceRecipes);
+
+ // Rh + 3Cl = RhCl3
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ new ItemStack(WerkstoffLoader.items.get(OrePrefixes.dust), 1, 78),
+ GT_Utility.getIntegratedCircuit(2))
+ .itemOutputs(MaterialsKevlar.RhodiumChloride.getDust(4))
+ .fluidInputs(Materials.Chlorine.getGas(3000))
+ .duration(30 * SECONDS)
+ .eut(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..c9e8e631bf
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/CannerRecipes.java
@@ -0,0 +1,251 @@
+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.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;
+
+public class CannerRecipes implements Runnable {
+
+ @Override
+ public void run() {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cadmium, 2L),
+ ItemList.Battery_Hull_LV.get(1L))
+ .itemOutputs(ItemList.Battery_RE_LV_Cadmium.get(1L))
+ .duration(5 * SECONDS)
+ .eut(2)
+ .addTo(cannerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 2L),
+ ItemList.Battery_Hull_LV.get(1L))
+ .itemOutputs(ItemList.Battery_RE_LV_Lithium.get(1L))
+ .duration(5 * SECONDS)
+ .eut(2)
+ .addTo(cannerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 2L),
+ ItemList.Battery_Hull_LV.get(1L))
+ .itemOutputs(ItemList.Battery_RE_LV_Sodium.get(1L))
+ .duration(5 * SECONDS)
+ .eut(2)
+ .addTo(cannerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cadmium, 8L),
+ ItemList.Battery_Hull_MV.get(1L))
+ .itemOutputs(ItemList.Battery_RE_MV_Cadmium.get(1L))
+ .duration(20 * SECONDS)
+ .eut(2)
+ .addTo(cannerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 8L),
+ ItemList.Battery_Hull_MV.get(1L))
+ .itemOutputs(ItemList.Battery_RE_MV_Lithium.get(1L))
+ .duration(20 * SECONDS)
+ .eut(2)
+ .addTo(cannerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 8L),
+ ItemList.Battery_Hull_MV.get(1L))
+ .itemOutputs(ItemList.Battery_RE_MV_Sodium.get(1L))
+ .duration(20 * SECONDS)
+ .eut(2)
+ .addTo(cannerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cadmium, 32L),
+ ItemList.Battery_Hull_HV.get(1L))
+ .itemOutputs(ItemList.Battery_RE_HV_Cadmium.get(1L))
+ .duration(1 * MINUTES + 20 * SECONDS)
+ .eut(2)
+ .addTo(cannerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 32L),
+ ItemList.Battery_Hull_HV.get(1L))
+ .itemOutputs(ItemList.Battery_RE_HV_Lithium.get(1L))
+ .duration(1 * MINUTES + 20 * SECONDS)
+ .eut(2)
+ .addTo(cannerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 32L),
+ ItemList.Battery_Hull_HV.get(1L))
+ .itemOutputs(ItemList.Battery_RE_HV_Sodium.get(1L))
+ .duration(1 * MINUTES + 20 * SECONDS)
+ .eut(2)
+ .addTo(cannerRecipes);
+ // Recipes to actually fill the empty hulls with content
+ // IV 2048
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sunnarium, 4L),
+ ItemList.BatteryHull_EV.get(1L))
+ .itemOutputs(ItemList.BatteryHull_EV_Full.get(1L))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(cannerRecipes);
+ // EV 8192
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sunnarium, 16L),
+ ItemList.BatteryHull_IV.get(1L))
+ .itemOutputs(ItemList.BatteryHull_IV_Full.get(1L))
+ .duration(7 * SECONDS + 10 * TICKS)
+ .eut(1024)
+ .addTo(cannerRecipes);
+ // LuV 32768
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sunnarium, 32L),
+ ItemList.BatteryHull_LuV.get(1L))
+ .itemOutputs(ItemList.BatteryHull_LuV_Full.get(1L))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(cannerRecipes);
+ // ZPM 131072
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadria, 16L),
+ ItemList.BatteryHull_ZPM.get(1L))
+ .itemOutputs(ItemList.BatteryHull_ZPM_Full.get(1L))
+ .duration(12 * SECONDS + 10 * TICKS)
+ .eut(4096)
+ .addTo(cannerRecipes);
+ // UV 524288
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadria, 32L),
+ ItemList.BatteryHull_UV.get(1L))
+ .itemOutputs(ItemList.BatteryHull_UV_Full.get(1L))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(cannerRecipes);
+ // UHV 2097152
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Neutronium, 16L),
+ ItemList.BatteryHull_UHV.get(1L))
+ .itemOutputs(ItemList.BatteryHull_UHV_Full.get(1L))
+ .duration(17 * SECONDS + 10 * TICKS)
+ .eut(15720)
+ .addTo(cannerRecipes);
+ // UEV 8388608
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Neutronium, 32L),
+ ItemList.BatteryHull_UEV.get(1L))
+ .itemOutputs(ItemList.BatteryHull_UEV_Full.get(1L))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(cannerRecipes);
+ // UIV 33554432
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Neutronium, 64L),
+ ItemList.BatteryHull_UIV.get(1L))
+ .itemOutputs(ItemList.BatteryHull_UIV_Full.get(1L))
+ .duration(22 * SECONDS + 10 * TICKS)
+ .eut(62880)
+ .addTo(cannerRecipes);
+ // UMV 134217728
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Infinity, 4L),
+ ItemList.BatteryHull_UMV.get(1L))
+ .itemOutputs(ItemList.BatteryHull_UMV_Full.get(1L))
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(cannerRecipes);
+ // UxV 536870912
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Infinity, 8L),
+ ItemList.BatteryHull_UxV.get(1L))
+ .itemOutputs(ItemList.BatteryHull_UxV_Full.get(1L))
+ .duration(30 * SECONDS)
+ .eut(251520)
+ .addTo(cannerRecipes);
+
+ // 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..c4cfca5aba
--- /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.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 gregtech.loaders.misc.GT_Bees.combs;
+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(TierEU.RECIPE_UHV)
+ .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(new ItemStack(combs, 1, 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(new ItemStack(combs, 1, 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(new ItemStack(combs, 1, 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(new ItemStack(combs, 1, 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(new ItemStack(combs, 1, 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(new ItemStack(combs, 1, 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(new ItemStack(combs, 1, 152), GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(getModItem(ThaumicTinkerer.ID, "kamiResource", 1L, 6))
+ .duration(6 * SECONDS + 8 * TICKS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(centrifugeRecipes);
+
+ // Endshard
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(combs, 1, 153), GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(getModItem(ThaumicTinkerer.ID, "kamiResource", 1L, 7))
+ .duration(6 * SECONDS + 8 * TICKS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(centrifugeRecipes);
+ }
+
+ if (ExtraUtilities.isModLoaded()) {
+ // Caelestis red
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(combs, 1, 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(new ItemStack(combs, 1, 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(new ItemStack(combs, 1, 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..3df932edd2
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java
@@ -0,0 +1,5967 @@
+package gregtech.loaders.postload.recipes;
+
+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 gtPlusPlus.core.material.MISC_MATERIALS.CALCIUM_CHLORIDE;
+import static gtPlusPlus.core.material.MISC_MATERIALS.SODIUM_NITRATE;
+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 com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+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;
+import gtPlusPlus.core.item.ModItems;
+
+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(TierEU.RECIPE_UV)
+ .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);
+
+ // 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),
+ new ItemStack(WerkstoffLoader.items.get(OrePrefixes.dust), 3, 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),
+ new ItemStack(WerkstoffLoader.items.get(OrePrefixes.dust), 6, 10052))
+ .fluidInputs(Materials.SiliconTetrachloride.getFluid(1000))
+ .duration(20 * SECONDS)
+ .eut(30)
+ .addTo(UniversalChemical);
+
+ // 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( // very poor way of looking for it, but getModItem on GT++ within GT5U jar is prohibited now,
+ // and i don't feel like reworking GT++ cell registration for now
+ GameRegistry.findItemStack(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(new ItemStack(ModItems.dustCalciumHydroxide, 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), SODIUM_NITRATE.getDust(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(TierEU.RECIPE_UV)
+ .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(TierEU.RECIPE_UV)
+ .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(TierEU.RECIPE_UV)
+ .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.Methanol.getFluid(1000), Materials.Butane.getGas(1000))
+ .fluidOutputs(Materials.MTBEMixtureAlt.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(TierEU.RECIPE_UV)
+ .addTo(multiblockChemicalReactorRecipes);
+
+ // 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(TierEU.RECIPE_UV)
+ .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(TierEU.RECIPE_UV)
+ .addTo(multiblockChemicalReactorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
+ CALCIUM_CHLORIDE.getDust(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(TierEU.RECIPE_UV)
+ .addTo(multiblockChemicalReactorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(9),
+ CALCIUM_CHLORIDE.getDust(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(TierEU.RECIPE_UV)
+ .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(TierEU.RECIPE_UV)
+ .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..072992d07e
--- /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.LV, 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.LV, 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.LV, 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.MV, 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.MV, 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.MV, 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.HV, 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.HV, 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.HV, 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.ULV, 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.LV, 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.MV, 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.HV, 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.ULV, 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.LV, 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.MV, 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.HV, 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..78d8319907
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java
@@ -0,0 +1,259 @@
+package gregtech.loaders.postload.recipes;
+
+import static gregtech.api.enums.Mods.AppliedEnergistics2;
+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 static gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator.sapling_Rainforest;
+
+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(ItemList.Cell_Empty.get(1))
+ .itemOutputs(ItemList.Cell_Air.get(1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Blocks.sand, 4))
+ .itemOutputs(new ItemStack(Blocks.sandstone, 1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getIC2Item("iridiumShard", 9))
+ .itemOutputs(GT_ModHandler.getIC2Item("iridiumOre", 1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Items.clay_ball, 4))
+ .itemOutputs(new ItemStack(Blocks.clay, 1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Items.brick, 4))
+ .itemOutputs(new ItemStack(Blocks.brick_block, 1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Items.netherbrick, 4))
+ .itemOutputs(new ItemStack(Blocks.nether_brick, 1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getIC2Item("smallPlutonium", 9))
+ .itemOutputs(GT_ModHandler.getIC2Item("Plutonium", 1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getIC2Item("smallUran235", 9))
+ .itemOutputs(GT_ModHandler.getIC2Item("Uran235", 1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Items.water_bucket, 1))
+ .itemOutputs(new ItemStack(Blocks.snow, 1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Items.snowball, 4))
+ .itemOutputs(new ItemStack(Blocks.snow, 1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Cell_Water.get(1))
+ .itemOutputs(new ItemStack(Blocks.snow, 1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Blocks.snow, 1))
+ .itemOutputs(new ItemStack(Blocks.ice, 1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getIC2Item("carbonMesh", 1))
+ .itemOutputs(GT_ModHandler.getIC2Item("carbonPlate", 1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_ModHandler.getIC2Item("coalBall", 1))
+ .itemOutputs(ItemList.IC2_Compressed_Coal_Ball.get(1))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 8L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Wood, 1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(sapling_Rainforest, 8))
+ .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..6fc53a5675
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java
@@ -0,0 +1,161 @@
+package gregtech.loaders.postload.recipes;
+
+import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes;
+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.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;
+
+ 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);
+ }
+
+ 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..1d0eeecd8b
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/CuttingRecipes.java
@@ -0,0 +1,316 @@
+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);
+ // Naq wafer also gets recipes using purified water
+ recipeWithPurifiedWater(
+ new ItemStack[] { ItemList.Circuit_Silicon_Ingot3.get(1) },
+ new ItemStack[] { ItemList.Circuit_Silicon_Wafer3.get(128),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 16) },
+ Materials.Grade1PurifiedWater,
+ Materials.Grade2PurifiedWater,
+ (int) ((1 * MINUTES + 20 * SECONDS) * 0.75),
+ (1 * MINUTES + 20 * SECONDS) / 2,
+ TierEU.RECIPE_HV);
+
+ recipeWithPurifiedWater(
+ 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) },
+ Materials.Grade3PurifiedWater,
+ Materials.Grade4PurifiedWater,
+ 2 * MINUTES,
+ 1 * MINUTES,
+ TierEU.RECIPE_EV);
+
+ recipeWithPurifiedWater(
+ 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) },
+ Materials.Grade5PurifiedWater,
+ Materials.Grade6PurifiedWater,
+ 2 * MINUTES + 40 * SECONDS,
+ (2 * MINUTES + 40 * SECONDS) / 2,
+ TierEU.RECIPE_IV);
+
+ }
+
+ // 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 recipeWithPurifiedWater(ItemStack[] inputs, ItemStack[] outputs, Materials lowTierWater,
+ Materials highTierWater, int duration, int boostedDuration, long eut) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(inputs)
+ .itemOutputs(outputs)
+ .fluidInputs(lowTierWater.getFluid(100L))
+ .duration(duration)
+ .eut(eut)
+ .addTo(cutterRecipes);
+ // Bonus for using higher tier water
+ GT_Values.RA.stdBuilder()
+ .itemInputs(inputs)
+ .itemOutputs(outputs)
+ .fluidInputs(highTierWater.getFluid(100L))
+ .duration(boostedDuration)
+ .eut(eut)
+ .addTo(cutterRecipes);
+ }
+
+ 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..dfbb2501f0
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/DistilleryRecipes.java
@@ -0,0 +1,1255 @@
+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.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(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(1000))
+ .fluidOutputs(
+ Materials.SulfuricHeavyFuel.getFluid(70),
+ Materials.SulfuricLightFuel.getFluid(130),
+ Materials.SulfuricNaphtha.getFluid(200),
+ MaterialsKevlar.NaphthenicAcid.getFluid(15),
+ Materials.SulfuricGas.getGas(1600))
+ .duration(1 * SECONDS + 1 * 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(1000L))
+ .fluidOutputs(
+ Materials.SulfuricHeavyFuel.getFluid(300),
+ Materials.SulfuricLightFuel.getFluid(1000),
+ Materials.SulfuricNaphtha.getFluid(400),
+ MaterialsKevlar.NaphthenicAcid.getFluid(50),
+ Materials.SulfuricGas.getGas(1200))
+ .duration(3 * SECONDS + 4 * 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(450),
+ Materials.SulfuricLightFuel.getFluid(150),
+ Materials.SulfuricNaphtha.getFluid(300),
+ 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()
+ .fluidInputs(Materials.MTBEMixtureAlt.getGas(900L))
+ .fluidOutputs(
+ Materials.AntiKnock.getFluid(400L),
+ Materials.Methanol.getFluid(500L),
+ Materials.Butane.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(100),
+ new ItemStack[] { GT_Utility.getIntegratedCircuit(1) },
+ new FluidStack[] { Materials.SulfuricHeavyFuel.getFluid(7), Materials.SulfuricLightFuel.getFluid(13),
+ Materials.SulfuricNaphtha.getFluid(20), Materials.SulfuricGas.getGas(160) },
+ null,
+ 10,
+ 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(100L),
+ new ItemStack[] { GT_Utility.getIntegratedCircuit(1) },
+ new FluidStack[] { Materials.SulfuricHeavyFuel.getFluid(30), Materials.SulfuricLightFuel.getFluid(100),
+ Materials.SulfuricNaphtha.getFluid(40), Materials.SulfuricGas.getGas(120) },
+ null,
+ 30,
+ 96);
+ addUniversalDistillationRecipewithCircuit(
+ Materials.OilHeavy.getFluid(100),
+ new ItemStack[] { GT_Utility.getIntegratedCircuit(1) },
+ new FluidStack[] { Materials.SulfuricHeavyFuel.getFluid(100), Materials.SulfuricLightFuel.getFluid(45),
+ Materials.SulfuricNaphtha.getFluid(15), Materials.SulfuricGas.getGas(60) },
+ null,
+ 40,
+ 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);
+ }
+
+ 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..363f279de5
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/ElectrolyzerRecipes.java
@@ -0,0 +1,357 @@
+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);
+ // CO2 = C + 2O
+
+ 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(45 * 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(45 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(electrolyzerRecipes);
+ // CO = C + O
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(Materials.Carbon.getDust(1))
+ .fluidInputs(Materials.CarbonMonoxide.getGas(1000))
+ .fluidOutputs(Materials.Oxygen.getGas(1000))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(electrolyzerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(11), Materials.Empty.getCells(1))
+ .itemOutputs(Materials.Carbon.getDust(1), Materials.Oxygen.getCells(1))
+ .fluidInputs(Materials.CarbonMonoxide.getGas(1000))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(electrolyzerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(Materials.CarbonMonoxide.getCells(1))
+ .itemOutputs(Materials.Carbon.getDust(1), Materials.Oxygen.getCells(1))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(electrolyzerRecipes);
+
+ // H2S = S + 2H
+
+ GT_Values.RA.stdBuilder()
+ .itemOutputs(Materials.Sulfur.getDust(1))
+ .fluidInputs(Materials.HydricSulfide.getGas(1000))
+ .fluidOutputs(Materials.Hydrogen.getGas(2000))
+ .duration(3 * SECONDS + 12 * TICKS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(electrolyzerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemOutputs(Materials.Sulfur.getDust(1), Materials.Hydrogen.getCells(2))
+ .itemInputs(Materials.HydricSulfide.getCells(1), Materials.Empty.getCells(1))
+ .duration(3 * SECONDS + 12 * TICKS)
+ .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);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cell, Materials.PhosphoricAcid, 1L),
+ ItemList.Cell_Empty.get(6L))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 3L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphorus, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 4L))
+ .duration(27 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .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..06ad1fa994
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/ExtractorRecipes.java
@@ -0,0 +1,205 @@
+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));
+ addExtractionRecipe(getIC2Item("filledTinCan", 1), getIC2Item("tinCan", 1));
+ addExtractionRecipe(new ItemStack(Blocks.clay, 1), new ItemStack(Items.clay_ball, 4));
+ addExtractionRecipe(new ItemStack(Blocks.brick_block, 1), new ItemStack(Items.brick, 4));
+ addExtractionRecipe(new ItemStack(Blocks.nether_brick, 1), new ItemStack(Items.netherbrick, 4));
+ addExtractionRecipe(new ItemStack(Blocks.snow, 1), new ItemStack(Items.snowball, 4));
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_SU_LV_SulfuricAcid.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_LV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_SU_LV_Mercury.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_LV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_SU_MV_SulfuricAcid.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_MV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_SU_MV_Mercury.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_MV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_SU_HV_SulfuricAcid.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_HV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_SU_HV_Mercury.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_HV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_RE_LV_Cadmium.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_LV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_RE_LV_Lithium.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_LV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_RE_LV_Sodium.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_LV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_RE_MV_Cadmium.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_MV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_RE_MV_Lithium.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_MV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_RE_MV_Sodium.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_MV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_RE_HV_Cadmium.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_HV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_RE_HV_Lithium.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_HV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_RE_HV_Sodium.get(1L))
+ .itemOutputs(ItemList.Battery_Hull_HV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.BatteryHull_EV_Full.get(1L))
+ .itemOutputs(ItemList.BatteryHull_EV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.BatteryHull_IV_Full.get(1L))
+ .itemOutputs(ItemList.BatteryHull_IV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.BatteryHull_LuV_Full.get(1L))
+ .itemOutputs(ItemList.BatteryHull_LuV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.BatteryHull_ZPM_Full.get(1L))
+ .itemOutputs(ItemList.BatteryHull_ZPM.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.BatteryHull_UV_Full.get(1L))
+ .itemOutputs(ItemList.BatteryHull_UV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.BatteryHull_UHV_Full.get(1L))
+ .itemOutputs(ItemList.BatteryHull_UHV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.BatteryHull_UEV_Full.get(1L))
+ .itemOutputs(ItemList.BatteryHull_UEV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.BatteryHull_UIV_Full.get(1L))
+ .itemOutputs(ItemList.BatteryHull_UIV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.BatteryHull_UMV_Full.get(1L))
+ .itemOutputs(ItemList.BatteryHull_UMV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.BatteryHull_UxV_Full.get(1L))
+ .itemOutputs(ItemList.BatteryHull_UxV.get(1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ }
+
+ 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..d27e85ab2d
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java
@@ -0,0 +1,566 @@
+package gregtech.loaders.postload.recipes;
+
+import static gregtech.api.enums.Mods.Forestry;
+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 gregtech.loaders.misc.GT_Bees.combs;
+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(TierEU.RECIPE_MV)
+ .addTo(fluidExtractionRecipes);
+
+ // Beecombs fluid extractor recipes
+ // xenon
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(combs, 1, 134))
+ .fluidOutputs(getFluidStack("xenon", 250))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(fluidExtractionRecipes);
+
+ // neon
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(combs, 1, 135))
+ .fluidOutputs(getFluidStack("neon", 250))
+ .duration(15 * TICKS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(fluidExtractionRecipes);
+
+ // krpton
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(combs, 1, 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..4ebb4b8da6
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/ForgeHammerRecipes.java
@@ -0,0 +1,156 @@
+package gregtech.loaders.postload.recipes;
+
+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;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+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.Fireclay.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);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Tesseract.get(1L), GregtechItemList.Laser_Lens_Special.get(1))
+ .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..9780a0a7ba
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/FormingPressRecipes.java
@@ -0,0 +1,188 @@
+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.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_MV)
+ .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(
+ 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..88c07e365e
--- /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(TierEU.RECIPE_EV)
+ .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(TierEU.RECIPE_IV)
+ .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(TierEU.RECIPE_IV)
+ .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(TierEU.RECIPE_IV)
+ .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..9e0d3e4780
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java
@@ -0,0 +1,1722 @@
+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(TierEU.RECIPE_HV)
+ .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(TierEU.RECIPE_EV)
+ .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(TierEU.RECIPE_EV)
+ .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(TierEU.RECIPE_EV)
+ .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(TierEU.RECIPE_HV)
+ .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(TierEU.RECIPE_IV)
+ .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);
+
+ // McGuffium239 is non-renewable and only obtainable though world gen.
+ // It's a meme, don't think too deep about it.
+ 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.Methanol.getCells(1), Materials.Butane.getCells(1))
+ .itemOutputs(Materials.MTBEMixtureAlt.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(4),
+ ItemList.SFMixture.get(8),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Block_SSFUEL.get(4))
+ .fluidInputs(Materials.GasolinePremium.getFluid(480))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(mixerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ EnumCube.COKE_BLOCK.getItem(4),
+ ItemList.SFMixture.get(8),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.Block_SSFUEL.get(4))
+ .fluidInputs(Materials.NitroFuel.getFluid(1200))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .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..4ff99582c2
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/PackagerRecipes.java
@@ -0,0 +1,67 @@
+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.Tool_Matches.get(16L),
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Paper, 1L))
+ .itemOutputs(ItemList.Tool_MatchBox_Full.get(1L))
+ .duration(3 * SECONDS + 4 * TICKS)
+ .eut(16)
+ .addTo(packagerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.Tool_MatchBox_Full.get(1L))
+ .itemOutputs(ItemList.Tool_Matches.get(16L))
+ .duration(1 * SECONDS + 12 * TICKS)
+ .eut(16)
+ .addTo(packagerRecipes);
+
+ 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..2763bb8d77
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java
@@ -0,0 +1,53 @@
+package gregtech.loaders.postload.recipes;
+
+import static goodgenerator.loader.Loaders.huiCircuit;
+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 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.TierEU;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+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(
+ new ItemStack(ModItems.itemStandarParticleBase, 1, 24),
+ getModItem(NewHorizonsCoreMod.ID, "item.ChromaticLens", 0),
+ new ItemStack(huiCircuit, 0, 4))
+ .fluidInputs(MaterialsUEVplus.ExcitedDTRC.getFluid(92), Materials.Duranium.getMolten(144))
+ .itemOutputs(GregtechItemList.Laser_Lens_Special.get(1))
+ .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..e700ee0730
--- /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))
+ .special(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))
+ .special(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))
+ .special(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..75a81448e0
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/Pulverizer.java
@@ -0,0 +1,603 @@
+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.getIC2Item;
+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.poisonous_potato, 1))
+ .itemOutputs(ItemList.IC2_Grin_Powder.get(1L))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(maceratorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Items.spider_eye, 1))
+ .itemOutputs(ItemList.IC2_Grin_Powder.get(1L))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(maceratorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Items.bone, 1))
+ .itemOutputs(new ItemStack(Items.dye, 4, 15))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(maceratorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.IC2_EnergyCrystal.get(1))
+ .itemOutputs(getIC2Item("energiumDust", 9))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(maceratorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(getIC2Item("biochaff", 1))
+ .itemOutputs(new ItemStack(Blocks.dirt, 1))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(maceratorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Blocks.quartz_stairs, 1))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NetherQuartz, 6))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .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.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..441da5a116
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/ThaumcraftRecipes.java
@@ -0,0 +1,960 @@
+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.MV, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L),
+ ItemList.Sensor_MV.get(2L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.MV, 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.HV, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Thaumium, 1L),
+ ItemList.Sensor_HV.get(2L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.HV, 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.EV, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Thaumium, 1L),
+ ItemList.Field_Generator_MV.get(1L),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.EV, 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.MV, 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.HV, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Thaumium, 1L), ItemList.Sensor_HV.get(2L),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.HV, 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.EV, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Void, 1),
+ ItemList.Field_Generator_MV.get(1L),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.EV, 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.IV, 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.IV, 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..8e06eec1e0
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/ThermalCentrifugeRecipes.java
@@ -0,0 +1,121 @@
+package gregtech.loaders.postload.recipes;
+
+import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes;
+import static gregtech.api.util.GT_ModHandler.getIC2Item;
+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.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);
+
+ // Recipes from the old ic2 recipe maps
+ GT_Values.RA.stdBuilder()
+ .itemInputs(getIC2Item("reactorDepletedMOXSimple", 1))
+ .itemOutputs(
+ getIC2Item("smallPlutonium", 1),
+ getIC2Item("Plutonium", 3),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1))
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(thermalCentrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(getIC2Item("reactorDepletedMOXDual", 1))
+ .itemOutputs(
+ getIC2Item("smallPlutonium", 2),
+ getIC2Item("Plutonium", 6),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 3))
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(thermalCentrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(getIC2Item("reactorDepletedMOXQuad", 1))
+ .itemOutputs(
+ getIC2Item("smallPlutonium", 4),
+ getIC2Item("Plutonium", 12),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 6))
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(thermalCentrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(getIC2Item("reactorDepletedUraniumSimple", 1))
+ .itemOutputs(
+ getIC2Item("smallPlutonium", 1),
+ getIC2Item("Uran238", 4),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1))
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(thermalCentrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(getIC2Item("reactorDepletedUraniumDual", 1))
+ .itemOutputs(
+ getIC2Item("smallPlutonium", 2),
+ getIC2Item("Uran238", 8),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 3))
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(thermalCentrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(getIC2Item("reactorDepletedUraniumQuad", 1))
+ .itemOutputs(
+ getIC2Item("smallPlutonium", 4),
+ getIC2Item("Uran238", 16),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 6))
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(thermalCentrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(getIC2Item("RTGPellets", 1))
+ .itemOutputs(getIC2Item("Plutonium", 3), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 54))
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(thermalCentrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherQuartz, 2))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lithium, 1))
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(thermalCentrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Clay, 4))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1))
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(thermalCentrifugeRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(Blocks.cobblestone, 1))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 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..b3fd9a392b
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java
@@ -0,0 +1,413 @@
+package gregtech.loaders.postload.recipes;
+
+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);
+ }
+
+ // 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..b91163619b
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/recipes/WiremillRecipes.java
@@ -0,0 +1,41 @@
+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_RecipeRegistrator.registerWiremillRecipes;
+
+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.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);
+ }
+}