aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/core/recipe
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
commit6d1b2216464d4dad449ac6fcfec476832224a55e (patch)
tree526a0c15f7056313c80e6c0386e025e9b3f61781 /src/main/java/gtPlusPlus/core/recipe
parentb5d35f40afa606ed1b07061dad82e0521a59c186 (diff)
downloadGT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.gz
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.bz2
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.zip
Merge addon sources
Diffstat (limited to 'src/main/java/gtPlusPlus/core/recipe')
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java114
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java1806
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java475
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java135
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java10
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java2960
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java168
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java142
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_Tools.java118
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPE_Batteries.java62
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/ShapedRecipeObject.java50
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/common/CI.java1008
12 files changed, 7048 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java b/src/main/java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java
new file mode 100644
index 0000000000..a10d2cd05b
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java
@@ -0,0 +1,114 @@
+package gtPlusPlus.core.recipe;
+
+import gregtech.api.enums.ItemList;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
+public class LOADER_Machine_Components {
+
+ public static void initialise() {
+ registerDefaultComponents();
+
+ registerGTNHComponents();
+ }
+
+ private static void registerDefaultComponents() {
+ // Machine Components
+ CI.electricMotor_LV = ItemList.Electric_Motor_LV.get(1);
+ CI.electricMotor_MV = ItemList.Electric_Motor_MV.get(1);
+ CI.electricMotor_HV = ItemList.Electric_Motor_HV.get(1);
+ CI.electricMotor_EV = ItemList.Electric_Motor_EV.get(1);
+ CI.electricMotor_IV = ItemList.Electric_Motor_IV.get(1);
+ CI.electricPump_LV = ItemList.Electric_Pump_LV.get(1);
+ CI.electricPump_MV = ItemList.Electric_Pump_MV.get(1);
+ CI.electricPump_HV = ItemList.Electric_Pump_HV.get(1);
+ CI.electricPump_EV = ItemList.Electric_Pump_EV.get(1);
+ CI.electricPump_IV = ItemList.Electric_Pump_IV.get(1);
+ CI.electricPiston_LV = ItemList.Electric_Piston_LV.get(1);
+ CI.electricPiston_MV = ItemList.Electric_Piston_MV.get(1);
+ CI.electricPiston_HV = ItemList.Electric_Piston_HV.get(1);
+ CI.electricPiston_EV = ItemList.Electric_Piston_EV.get(1);
+ CI.electricPiston_IV = ItemList.Electric_Piston_IV.get(1);
+ CI.robotArm_LV = ItemList.Robot_Arm_LV.get(1);
+ CI.robotArm_MV = ItemList.Robot_Arm_MV.get(1);
+ CI.robotArm_HV = ItemList.Robot_Arm_HV.get(1);
+ CI.robotArm_EV = ItemList.Robot_Arm_EV.get(1);
+ CI.robotArm_IV = ItemList.Robot_Arm_IV.get(1);
+ CI.conveyorModule_LV = ItemList.Conveyor_Module_LV.get(1);
+ CI.conveyorModule_MV = ItemList.Conveyor_Module_MV.get(1);
+ CI.conveyorModule_HV = ItemList.Conveyor_Module_HV.get(1);
+ CI.conveyorModule_EV = ItemList.Conveyor_Module_EV.get(1);
+ CI.conveyorModule_IV = ItemList.Conveyor_Module_IV.get(1);
+ CI.emitter_LV = ItemList.Emitter_LV.get(1);
+ CI.emitter_MV = ItemList.Emitter_MV.get(1);
+ CI.emitter_HV = ItemList.Emitter_HV.get(1);
+ CI.emitter_EV = ItemList.Emitter_EV.get(1);
+ CI.emitter_IV = ItemList.Emitter_IV.get(1);
+ CI.fieldGenerator_LV = ItemList.Field_Generator_LV.get(1);
+ CI.fieldGenerator_MV = ItemList.Field_Generator_MV.get(1);
+ CI.fieldGenerator_HV = ItemList.Field_Generator_HV.get(1);
+ CI.fieldGenerator_EV = ItemList.Field_Generator_EV.get(1);
+ CI.fieldGenerator_IV = ItemList.Field_Generator_IV.get(1);
+ CI.sensor_LV = ItemList.Sensor_LV.get(1);
+ CI.sensor_MV = ItemList.Sensor_MV.get(1);
+ CI.sensor_HV = ItemList.Sensor_HV.get(1);
+ CI.sensor_EV = ItemList.Sensor_EV.get(1);
+ CI.sensor_IV = ItemList.Sensor_IV.get(1);
+ CI.fluidRegulator_LV = ItemList.FluidRegulator_LV.get(1);
+ CI.fluidRegulator_MV = ItemList.FluidRegulator_MV.get(1);
+ CI.fluidRegulator_HV = ItemList.FluidRegulator_HV.get(1);
+ CI.fluidRegulator_EV = ItemList.FluidRegulator_EV.get(1);
+ CI.fluidRegulator_IV = ItemList.FluidRegulator_IV.get(1);
+ }
+
+ private static void registerGTNHComponents() {
+ // Machine Components
+ CI.electricMotor_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32606, 1);
+ CI.electricMotor_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32607, 1);
+ CI.electricMotor_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32608, 1);
+
+ CI.electricPump_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32615, 1);
+ CI.electricPump_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32616, 1);
+ CI.electricPump_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32617, 1);
+
+ CI.electricPiston_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32645, 1);
+ CI.electricPiston_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32646, 1);
+ CI.electricPiston_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32647, 1);
+
+ CI.robotArm_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32655, 1);
+ CI.robotArm_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32656, 1);
+ CI.robotArm_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32657, 1);
+
+ CI.conveyorModule_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32635, 1);
+ CI.conveyorModule_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32636, 1);
+ CI.conveyorModule_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32637, 1);
+
+ CI.emitter_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32685, 1);
+ CI.emitter_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32686, 1);
+ CI.emitter_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32687, 1);
+
+ CI.fieldGenerator_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32675, 1);
+ CI.fieldGenerator_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32676, 1);
+ CI.fieldGenerator_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32677, 1);
+
+ CI.sensor_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32695, 1);
+ CI.sensor_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32696, 1);
+ CI.sensor_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32697, 1);
+
+ CI.fluidRegulator_LuV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32665, 1);
+ CI.fluidRegulator_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32666, 1);
+ CI.fluidRegulator_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32667, 1);
+
+ // Thanks 0lafe
+ CI.electricMotor_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32596, 1);
+ CI.electricPump_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32618, 1);
+ CI.electricPiston_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32648, 1);
+ CI.robotArm_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32658, 1);
+ CI.conveyorModule_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32638, 1);
+ CI.emitter_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32688, 1);
+ CI.fieldGenerator_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32678, 1);
+ CI.sensor_UHV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32698, 1);
+
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
new file mode 100644
index 0000000000..0900bbb4fa
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -0,0 +1,1806 @@
+package gtPlusPlus.core.recipe;
+
+import static gregtech.api.enums.Mods.Backpack;
+import static gregtech.api.enums.Mods.Baubles;
+import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
+import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
+import static gregtech.api.recipe.RecipeMaps.brewingRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.compressorRecipes;
+import static gregtech.api.recipe.RecipeMaps.cutterRecipes;
+import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes;
+import static gregtech.api.recipe.RecipeMaps.distilleryRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes;
+import static gregtech.api.recipe.RecipeMaps.extruderRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidHeaterRecipes;
+import static gregtech.api.recipe.RecipeMaps.fusionRecipes;
+import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
+import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.BUCKETS;
+import static gregtech.api.util.GT_RecipeBuilder.HOURS;
+import static gregtech.api.util.GT_RecipeBuilder.INGOTS;
+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.AssemblyLine;
+import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
+import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD;
+import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM;
+import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME;
+import static gregtech.api.util.GT_RecipeConstants.UniversalChemical;
+import static gtPlusPlus.api.recipe.GTPPRecipeMaps.thermalBoilerRecipes;
+
+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 cpw.mods.fml.common.Loader;
+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_RecipeConstants;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.item.chemistry.AgriculturalChem;
+import gtPlusPlus.core.item.chemistry.GenericChem;
+import gtPlusPlus.core.item.chemistry.IonParticles;
+import gtPlusPlus.core.item.crafting.ItemDummyResearch;
+import gtPlusPlus.core.item.crafting.ItemDummyResearch.ASSEMBLY_LINE_RESEARCH;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.MISC_MATERIALS;
+import gtPlusPlus.core.material.ORES;
+import gtPlusPlus.core.material.Particle;
+import gtPlusPlus.core.material.nuclear.FLUORIDES;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+public class RECIPES_GREGTECH {
+
+ public static void run() {
+ Logger.INFO("Loading Recipes through GregAPI for Industrial Multiblocks.");
+ execute();
+ }
+
+ private static void execute() {
+ electrolyzerRecipes();
+ assemblerRecipes();
+ distilleryRecipes();
+ extractorRecipes();
+ fluidExtractorRecipes();
+ chemicalReactorRecipes();
+ dehydratorRecipes();
+ blastFurnaceRecipes();
+ largeChemReactorRecipes();
+ fusionRecipes();
+ compressorRecipes();
+ mixerRecipes();
+ macerationRecipes();
+ centrifugeRecipes();
+ cyclotronRecipes();
+ blastSmelterRecipes();
+ extruderRecipes();
+ cuttingSawRecipes();
+ breweryRecipes();
+ laserEngraverRecipes();
+ assemblyLineRecipes();
+ fluidHeaterRecipes();
+ chemplantRecipes();
+ alloySmelterRecipes();
+ thermalBoilerRecipes();
+
+ /*
+ * Special Recipe handlers
+ */
+ RECIPES_SeleniumProcessing.init();
+ RECIPES_RareEarthProcessing.init();
+
+ addFuels();
+ }
+
+ private static void alloySmelterRecipes() {
+
+ // Wood's Glass Laser Lens
+ GT_Values.RA.stdBuilder()
+ .itemInputs(MISC_MATERIALS.WOODS_GLASS.getDust(5), ItemList.Shape_Mold_Ball.get(0))
+ .itemOutputs(GregtechItemList.Laser_Lens_WoodsGlass.get(1))
+ .duration(5 * MINUTES)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(alloySmelterRecipes);
+ }
+
+ private static void chemplantRecipes() {
+
+ // This is subsequently absorbed in water to form nitric acid and nitric oxide.
+ // 3 NO2 (g) + H2O (l) → 2 HNO3 (aq) + NO (g) (ΔH = −117 kJ/mol)
+ // The nitric oxide is cycled back for reoxidation. Alternatively, if the last step is carried out in air:
+ // 4 NO2 (g) + O2 (g) + 2 H2O (l) → 4 HNO3 (aq)
+
+ // Advanced method for Nitric Acid Production
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getPinkCatalyst(0), },
+ new FluidStack[] { Materials.NitrogenDioxide.getGas(4000L), FluidUtils.getAir(4000),
+ FluidUtils.getWater(2000), },
+ new ItemStack[] {},
+ new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 4000), },
+ 10 * 20,
+ 480,
+ 3);
+
+ // Advanced recipe for Fluorine Production
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getPurpleCatalyst(0),
+ ItemUtils.getSimpleStack(Blocks.sandstone, 64), ItemUtils.getSimpleStack(Blocks.sandstone, 64) },
+ new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 4000), FluidUtils.getAir(8000) },
+ new ItemStack[] { FLUORIDES.FLUORITE.getOre(8), FLUORIDES.FLUORITE.getOre(4), FLUORIDES.FLUORITE.getOre(4),
+ FLUORIDES.FLUORITE.getOre(4), },
+ new FluidStack[] {},
+ new int[] { 0, 2500, 2000, 1500 },
+ 10 * 20,
+ 1024,
+ 5);
+
+ // Advanced recipe for Fluorine Production
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getPurpleCatalyst(0),
+ ItemUtils.getSimpleStack(Blocks.sand, 64), ItemUtils.getSimpleStack(Blocks.sand, 64) },
+ new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 5000), FluidUtils.getAir(12000) },
+ new ItemStack[] { FLUORIDES.FLUORITE.getOre(4), FLUORIDES.FLUORITE.getOre(2), FLUORIDES.FLUORITE.getOre(2),
+ FLUORIDES.FLUORITE.getOre(2), },
+ new FluidStack[] {},
+ new int[] { 7500, 1500, 1000, 500 },
+ 10 * 20,
+ 1024,
+ 5);
+
+ // 3NO2 + H2O = 2HNO3 + NO
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(16), CI.getPinkCatalyst(0), },
+ new FluidStack[] { Materials.NitrogenDioxide.getGas(3000L), FluidUtils.getDistilledWater(1000) },
+ new ItemStack[] {},
+ new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 2000), Materials.NitricOxide.getGas(1000L), },
+ 10 * 20,
+ 480,
+ 2);
+
+ // Produce Boric Acid
+ // Na2B4O7·10H2O + 2HCl = 4B(OH)3 + 2NaCl + 5H2O
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(21),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustBorax", 23), },
+ new FluidStack[] { FluidUtils.getFluidStack(GenericChem.HydrochloricAcid, 2000) },
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustSalt", 4), },
+ new FluidStack[] { FluidUtils.getFluidStack("boricacid", 4000), FluidUtils.getWater(5000) },
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(3),
+ 3);
+
+ // Produce Th232
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(22), ELEMENT.getInstance().THORIUM.getDust(16) },
+ new FluidStack[] { FluidUtils.getDistilledWater(2000), FluidUtils.getFluidStack("boricacid", 1500) },
+ new ItemStack[] { ELEMENT.getInstance().THORIUM.getSmallDust(32),
+ ELEMENT.getInstance().THORIUM232.getDust(2), ELEMENT.getInstance().THORIUM232.getSmallDust(2),
+ ELEMENT.getInstance().URANIUM232.getDust(1), },
+ new FluidStack[] {},
+ new int[] { 0, 0, 1000, 250 },
+ 20 * 300,
+ MaterialUtils.getVoltageForTier(4),
+ 4);
+
+ // Modify Sapling into Pine Sapling
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] { CI.getNumberedBioCircuit(6), ItemUtils.getSimpleStack(Blocks.sapling, 32) },
+ new FluidStack[] { FluidUtils.getFluidStack("fluid.geneticmutagen", 2000),
+ FluidUtils.getDistilledWater(8000) },
+ new ItemStack[] { ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Pine, 16) },
+ new FluidStack[] {},
+ 120 * 20,
+ 64,
+ 2);
+
+ int aLaureniumTier = ALLOY.LAURENIUM.vTier;
+ // Adding Recipes for Casings
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(12), CI.getTieredMachineCasing(aLaureniumTier - 1),
+ ALLOY.LAURENIUM.getPlate(8), CI.getGear(aLaureniumTier, 2) },
+ new FluidStack[] { CI.getTieredFluid(aLaureniumTier, 2 * 144),
+ CI.getAlternativeTieredFluid(aLaureniumTier - 1, 4 * 144),
+ CI.getTertiaryTieredFluid(aLaureniumTier - 2, 6 * 144) },
+ new ItemStack[] { GregtechItemList.Casing_Machine_Custom_3.get(1) },
+ new FluidStack[] {},
+ 20 * 20,
+ MaterialUtils.getVoltageForTier(aLaureniumTier - 2),
+ 5);
+
+ int aBotmiumTier = ALLOY.BOTMIUM.vTier;
+ // Adding Recipes for Casings
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(12), CI.getTieredMachineCasing(aBotmiumTier - 1),
+ ALLOY.BOTMIUM.getPlate(8), CI.getGear(aBotmiumTier, 2) },
+ new FluidStack[] { CI.getTieredFluid(aBotmiumTier, 2 * 144),
+ CI.getAlternativeTieredFluid(aBotmiumTier - 1, 4 * 144),
+ CI.getTertiaryTieredFluid(aBotmiumTier - 2, 6 * 144) },
+ new ItemStack[] { GregtechItemList.Casing_Machine_Custom_4.get(1) },
+ new FluidStack[] {},
+ 20 * 20,
+ MaterialUtils.getVoltageForTier(aBotmiumTier - 2),
+ 6);
+
+ // Refine GT HF into GT++ HF
+ if (FluidUtils.doesHydrofluoricAcidGtExist()) {
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(22), },
+ new FluidStack[] { FluidUtils.getHydrofluoricAcid(2000), FluidUtils.getHydrofluoricAcidGT(5000) },
+ new ItemStack[] {},
+ new FluidStack[] { FluidUtils.getHydrofluoricAcid(4500) },
+ 30 * 20,
+ 480,
+ 3);
+ }
+ }
+
+ private static void fluidHeaterRecipes() {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(20))
+ .fluidInputs(Materials.Water.getFluid(1000))
+ .fluidOutputs(FluidUtils.getHotWater(1000))
+ .duration(1 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(fluidHeaterRecipes);
+ }
+
+ private static void fusionRecipes() {
+ // Hypogen
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(
+ ELEMENT.STANDALONE.DRAGON_METAL.getFluidStack(144),
+ ELEMENT.STANDALONE.RHUGNOR.getFluidStack(288))
+ .fluidOutputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(36))
+ .duration(6 * MINUTES + 49 * SECONDS + 12 * TICKS)
+ .eut(TierEU.RECIPE_UHV)
+ .metadata(FUSION_THRESHOLD, 1_200_000_000)
+ .addTo(fusionRecipes);
+
+ // Rhugnor
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(
+ MaterialUtils.getMaterial("Infinity", "Neutronium")
+ .getMolten(144),
+ ALLOY.QUANTUM.getFluidStack(288))
+ .fluidOutputs(ELEMENT.STANDALONE.RHUGNOR.getFluidStack(144))
+ .duration(25 * SECONDS + 12 * TICKS)
+ .eut(TierEU.RECIPE_UV)
+ .metadata(FUSION_THRESHOLD, 2_000_000_000)
+ .addTo(fusionRecipes);
+ }
+
+ private static void assemblyLineRecipes() {
+
+ // Containment Casings
+ GT_Values.RA.stdBuilder()
+ .metadata(
+ RESEARCH_ITEM,
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_1_CONTAINMENT, 1))
+ .metadata(RESEARCH_TIME, 30 * MINUTES)
+ .itemInputs(
+ ItemList.Field_Generator_IV.get(32),
+ ItemList.Electric_Motor_EV.get(64),
+ ItemList.Energy_LapotronicOrb.get(32),
+ CI.getTieredComponent(OrePrefixes.cableGt12, 7, 32),
+ CI.getTieredComponent(OrePrefixes.wireGt16, 6, 64),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadria, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gadolinium, 32L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Samarium, 16L),
+ ALLOY.ARCANITE.getGear(8),
+ new Object[] { CI.getTieredCircuitOreDictName(5), 64 },
+ new Object[] { CI.getTieredCircuitOreDictName(6), 32 },
+ new Object[] { CI.getTieredCircuitOreDictName(7), 16 },
+ GregtechItemList.Laser_Lens_Special.get(1),
+ ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 3, 64))
+ .fluidInputs(
+ ALLOY.NITINOL_60.getFluidStack(144 * 9 * 4),
+ ALLOY.ENERGYCRYSTAL.getFluidStack(144 * 9 * 8),
+ ALLOY.TUMBAGA.getFluidStack(144 * 9 * 32),
+ Materials.Nichrome.getMolten(16 * INGOTS))
+ .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockCasings3Misc, 15, 32))
+ .eut(TierEU.RECIPE_LuV)
+ .duration(20 * MINUTES)
+ .addTo(AssemblyLine);
+
+ // Turbine Automation Port
+ GT_Values.RA.stdBuilder()
+ .metadata(
+ RESEARCH_ITEM,
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_8_TURBINE_AUTOMATION, 1))
+ .metadata(RESEARCH_TIME, 24 * HOURS)
+ .itemInputs(
+ CI.getTieredMachineHull(8, 4),
+ CI.getConveyor(8, 24),
+ CI.getElectricMotor(7, 32),
+ CI.getElectricPiston(7, 16),
+ CI.getEnergyCore(6, 8),
+ CI.getPlate(8, 24),
+ CI.getTieredComponent(OrePrefixes.screw, 8, 48),
+ CI.getTieredComponent(OrePrefixes.bolt, 7, 32),
+ CI.getTieredComponent(OrePrefixes.rod, 6, 12),
+ new Object[] { CI.getTieredCircuitOreDictName(7), 20 },
+ CI.getTieredComponent(OrePrefixes.rotor, 6, 16))
+ .fluidInputs(
+ CI.getTieredFluid(8, 144 * 32),
+ CI.getAlternativeTieredFluid(7, 144 * 16),
+ CI.getTertiaryTieredFluid(7, 144 * 16),
+ ALLOY.BABBIT_ALLOY.getFluidStack(128 * 144))
+ .itemOutputs(GregtechItemList.Hatch_Input_TurbineHousing.get(4))
+ .eut(TierEU.RECIPE_UV)
+ .duration(2 * HOURS)
+ .addTo(AssemblyLine);
+
+ /*
+ * Containment casings
+ */
+ ItemStack[] aCoilWire = new ItemStack[] { ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 0, 64),
+ ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 1, 64),
+ ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 2, 64),
+ ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 3, 64), };
+ ItemStack[] aGemCasings = new ItemStack[] { GregtechItemList.Battery_Casing_Gem_1.get(1),
+ GregtechItemList.Battery_Casing_Gem_2.get(1), GregtechItemList.Battery_Casing_Gem_3.get(1),
+ GregtechItemList.Battery_Casing_Gem_4.get(1), };
+ ItemStack[] aResearch = new ItemStack[] { Particle.getBaseParticle(Particle.UNKNOWN),
+ GregtechItemList.Battery_Casing_Gem_1.get(1), GregtechItemList.Battery_Casing_Gem_2.get(1),
+ GregtechItemList.Battery_Casing_Gem_3.get(1), };
+
+ int aCasingSlot = 0;
+ for (int j = 6; j < 10; j++) {
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, aResearch[aCasingSlot])
+ .metadata(RESEARCH_TIME, 1 * HOURS)
+ .itemInputs(
+ CI.getTieredComponent(OrePrefixes.plate, j - 1, 16),
+ CI.getTieredComponent(OrePrefixes.cableGt08, j + 1, 32),
+ CI.getTieredComponent(OrePrefixes.gearGt, j - 1, 4),
+ aCoilWire[aCasingSlot])
+ .fluidInputs(
+ CI.getTieredFluid(j, 144 * 8),
+ CI.getTertiaryTieredFluid(j - 2, 144 * 16),
+ CI.getAlternativeTieredFluid(j, 144 * 16))
+ .itemOutputs(aGemCasings[aCasingSlot++])
+ .eut(GT_Values.V[j])
+ .duration(2 * MINUTES)
+ .addTo(AssemblyLine);
+ }
+
+ /*
+ * Gem Battery Recipes
+ */
+
+ ItemStack[] aGemBatteries = new ItemStack[] { GregtechItemList.Battery_Gem_1.get(1),
+ GregtechItemList.Battery_Gem_2.get(1), GregtechItemList.Battery_Gem_3.get(1),
+ GregtechItemList.Battery_Gem_4.get(1), };
+
+ ItemStack[] aExoticInputs = new ItemStack[] { Particle.getBaseParticle(Particle.PROTON),
+ Particle.getBaseParticle(Particle.ELECTRON), Particle.getBaseParticle(Particle.CHARM),
+ Particle.getBaseParticle(Particle.GRAVITON) };
+ aCasingSlot = 0;
+ for (int j = 6; j < 10; j++) {
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, aExoticInputs[aCasingSlot])
+ .metadata(RESEARCH_TIME, 5 * HOURS)
+ .itemInputs(
+ aGemCasings[aCasingSlot],
+ ItemUtils.getSimpleStack(aExoticInputs[aCasingSlot], 16),
+ CI.getTieredComponent(OrePrefixes.plate, j, 16),
+ new Object[] { CI.getTieredCircuitOreDictName(j), 8 },
+ CI.getTieredComponent(OrePrefixes.wireGt16, j + 1, 32),
+ CI.getTieredComponent(OrePrefixes.bolt, j, 8),
+ CI.getTieredComponent(OrePrefixes.screw, j - 1, 8))
+ .fluidInputs(
+ CI.getTieredFluid(j, 144 * 1 * 16),
+ CI.getTertiaryTieredFluid(j - 2, 144 * 2 * 16),
+ CI.getAlternativeTieredFluid(j, 144 * 16),
+ CI.getTertiaryTieredFluid(j - 1, 144 * 16))
+ .itemOutputs(aGemBatteries[aCasingSlot++])
+ .eut(GT_Values.V[j])
+ .duration(2 * MINUTES)
+ .addTo(AssemblyLine);
+ }
+
+ if (Baubles.isModLoaded()) {
+ // Nano Healer
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, ItemUtils.simpleMetaStack(Items.golden_apple, 1, 1))
+ .metadata(RESEARCH_TIME, 10 * MINUTES)
+ .itemInputs(
+ ItemUtils.getSimpleStack(aGemCasings[2], 4),
+ CI.getTieredComponent(OrePrefixes.plate, 8, 32),
+ new Object[] { CI.getTieredCircuitOreDictName(7), 16 },
+ CI.getTieredComponent(OrePrefixes.cableGt02, 7, 16),
+ CI.getTieredComponent(OrePrefixes.gearGt, 6, 6),
+ CI.getTieredComponent(OrePrefixes.screw, 7, 16),
+ CI.getTieredComponent(OrePrefixes.bolt, 5, 24),
+ CI.getTieredComponent(OrePrefixes.frameGt, 4, 12),
+ ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 3, 64))
+ .fluidInputs(
+ CI.getTieredFluid(7, 144 * 18 * 16),
+ CI.getTertiaryTieredFluid(7, 144 * 18 * 16),
+ CI.getAlternativeTieredFluid(6, 144 * 18 * 16),
+ CI.getAlternativeTieredFluid(7, 144 * 18 * 16))
+ .itemOutputs(ItemUtils.getItemStackFromFQRN("miscutils:personalHealingDevice", 1))
+ .eut(TierEU.RECIPE_ZPM)
+ .duration(1 * HOURS)
+ .addTo(AssemblyLine);
+
+ // Charge Pack LuV-UV
+
+ ItemStack[] aChargeResearch = new ItemStack[] {
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore7", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore8", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore9", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore10", 1), };
+
+ ItemStack[] aChargeOutputs = new ItemStack[] { ItemUtils.getSimpleStack(ModItems.itemChargePack_High_1, 1),
+ ItemUtils.getSimpleStack(ModItems.itemChargePack_High_2, 1),
+ ItemUtils.getSimpleStack(ModItems.itemChargePack_High_3, 1),
+ ItemUtils.getSimpleStack(ModItems.itemChargePack_High_4, 1), };
+
+ int aCurrSlot = 0;
+ for (int h = 6; h < 10; h++) {
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, aChargeResearch[aCurrSlot])
+ .metadata(RESEARCH_TIME, 10 * (aCurrSlot + 1) * MINUTES)
+ .itemInputs(
+ ItemUtils.getSimpleStack(aGemBatteries[aCurrSlot], 2),
+ aCoilWire[aCurrSlot],
+ CI.getTieredComponent(OrePrefixes.plate, h, 8),
+ new Object[] { CI.getTieredCircuitOreDictName(h), 4 },
+ new Object[] { CI.getTieredCircuitOreDictName(h - 1), 8 },
+ CI.getTieredComponent(OrePrefixes.cableGt12, h - 1, 16),
+ CI.getTieredComponent(OrePrefixes.screw, h, 16),
+ CI.getTieredComponent(OrePrefixes.bolt, h - 2, 32),
+ CI.getFieldGenerator(h - 1, 1))
+ .fluidInputs(
+ CI.getTieredFluid(h, 144 * 4 * 8),
+ CI.getTertiaryTieredFluid(h - 1, 144 * 4 * 8),
+ CI.getAlternativeTieredFluid(h - 1, 144 * 4 * 8),
+ CI.getAlternativeTieredFluid(h - 2, 144 * 4 * 8))
+ .itemOutputs(aChargeOutputs[aCurrSlot])
+ .eut(GT_Values.V[h])
+ .duration((aCurrSlot + 1) * HOURS)
+ .addTo(AssemblyLine);
+ aCurrSlot++;
+ }
+
+ // Cloaking device
+ GT_Values.RA.stdBuilder()
+ .metadata(
+ RESEARCH_ITEM,
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_9_CLOAKING, 1))
+ .metadata(RESEARCH_TIME, 10 * MINUTES)
+ .itemInputs(
+ ItemUtils.getSimpleStack(aGemCasings[3], 4),
+ CI.getTieredComponent(OrePrefixes.plate, 8, 32),
+ new Object[] { CI.getTieredCircuitOreDictName(7), 16 },
+ CI.getTieredComponent(OrePrefixes.cableGt04, 8, 16),
+ CI.getTieredComponent(OrePrefixes.gearGt, 7, 6),
+ CI.getTieredComponent(OrePrefixes.screw, 8, 16),
+ CI.getTieredComponent(OrePrefixes.bolt, 7, 24),
+ CI.getTieredComponent(OrePrefixes.frameGt, 5, 12),
+ ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 3, 64))
+ .fluidInputs(
+ CI.getTieredFluid(8, 144 * 18 * 16),
+ CI.getTertiaryTieredFluid(8, 144 * 18 * 16),
+ CI.getAlternativeTieredFluid(7, 144 * 18 * 16),
+ CI.getAlternativeTieredFluid(8, 144 * 18 * 16))
+ .itemOutputs(ItemUtils.getItemStackFromFQRN("miscutils:personalCloakingDevice-0.0", 1))
+ .eut(TierEU.RECIPE_UV)
+ .duration(1 * HOURS)
+ .addTo(AssemblyLine);
+ }
+
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, GregtechItemList.Industrial_AlloyBlastSmelter.get(1, new Object() {}))
+ .metadata(RESEARCH_TIME, 30 * MINUTES)
+ .itemInputs(
+ GregtechItemList.Industrial_AlloyBlastSmelter.get(64L, new Object() {}),
+ GregtechItemList.Industrial_AlloyBlastSmelter.get(64L, new Object() {}),
+ GregtechItemList.Industrial_AlloyBlastSmelter.get(64L, new Object() {}),
+ GregtechItemList.Industrial_AlloyBlastSmelter.get(64L, new Object() {}),
+ ItemList.UV_Coil.get(16L, new Object() {}),
+ ItemList.Conveyor_Module_UV.get(4L, new Object() {}),
+ new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 8 },
+ new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 16 },
+ ItemList.Circuit_Chip_PPIC.get(16, new Object() {}),
+ ALLOY.PIKYONIUM.getPlate(16),
+ ALLOY.CINOBITE.getScrew(32))
+ .fluidInputs(
+ ALLOY.PIKYONIUM.getFluidStack(144 * 8),
+ ALLOY.INDALLOY_140.getFluidStack(144 * 9),
+ Materials.SolderingAlloy.getMolten(144 * 10))
+ .itemOutputs(GregtechItemList.Mega_AlloyBlastSmelter.get(1L))
+ .eut(TierEU.RECIPE_UHV / 2)
+ .duration(1 * MINUTES)
+ .addTo(AssemblyLine);
+ }
+
+ private static void laserEngraverRecipes() {
+
+ // Laser Sensors and Emitters together
+ GregtechItemList[] aTransParts = new GregtechItemList[] { GregtechItemList.TransmissionComponent_LV,
+ GregtechItemList.TransmissionComponent_MV, GregtechItemList.TransmissionComponent_HV,
+ GregtechItemList.TransmissionComponent_EV, GregtechItemList.TransmissionComponent_IV,
+ GregtechItemList.TransmissionComponent_LuV, GregtechItemList.TransmissionComponent_ZPM,
+ GregtechItemList.TransmissionComponent_UV, GregtechItemList.TransmissionComponent_UHV, };
+ for (int i = 1; i < aTransParts.length; i++) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getEmitter(i, 2), CI.getSensor(i, 2))
+ .itemOutputs(aTransParts[i - 1].get(1))
+ .duration(5 * SECONDS)
+ .eut(GT_Values.VP[i])
+ .addTo(laserEngraverRecipes);
+ }
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 6L),
+ GregtechItemList.Laser_Lens_Special.get(0))
+ .itemOutputs(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getDust(1))
+ .duration(3 * MINUTES)
+ .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.vTier))
+ .addTo(laserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 8L),
+ GregtechItemList.Laser_Lens_Special.get(0))
+ .itemOutputs(ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(1))
+ .duration(2 * MINUTES)
+ .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ASTRAL_TITANIUM.vTier))
+ .addTo(laserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ALLOY.NITINOL_60.getBlock(2), GregtechItemList.Laser_Lens_Special.get(0))
+ .itemOutputs(ELEMENT.STANDALONE.ADVANCED_NITINOL.getBlock(1))
+ .duration(1 * MINUTES)
+ .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ADVANCED_NITINOL.vTier))
+ .addTo(laserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 64L),
+ GregtechItemList.Laser_Lens_Special.get(0))
+ .itemOutputs(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getDust(1))
+ .duration(5 * MINUTES)
+ .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.vTier))
+ .addTo(laserEngraverRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getFieldGenerator(6, 1), CI.getEmitter(7, 2))
+ .itemOutputs(ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_1_CONTAINMENT, 1))
+ .duration(5 * MINUTES)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(laserEngraverRecipes);
+
+ // Distillus Upgrade Chip
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GregtechItemList.Laser_Lens_WoodsGlass.get(0),
+ ItemUtils.simpleMetaStack(AgriculturalChem.mBioCircuit, 20, 1))
+ .itemOutputs(GregtechItemList.Distillus_Upgrade_Chip.get(1))
+ .duration(5 * MINUTES)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(laserEngraverRecipes);
+ }
+
+ private static void breweryRecipes() {
+
+ if (Loader.isModLoaded("OpenBlocks")) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(14))
+ .fluidInputs(FluidRegistry.getFluidStack("mobessence", 100))
+ .fluidOutputs(FluidRegistry.getFluidStack("liquidxp", 1332))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(brewingRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(14))
+ .fluidInputs(FluidRegistry.getFluidStack("liquidxp", 1332))
+ .fluidOutputs(FluidRegistry.getFluidStack("mobessence", 100))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(brewingRecipes);
+ }
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest))
+ .fluidInputs(Materials.Water.getFluid(100L))
+ .fluidOutputs(Materials.Biomass.getFluid(100L))
+ .duration(1 * MINUTES)
+ .eut(3)
+ .addTo(brewingRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest))
+ .fluidInputs(Materials.Honey.getFluid(100L))
+ .fluidOutputs(Materials.Biomass.getFluid(100L))
+ .duration(1 * MINUTES)
+ .eut(3)
+ .addTo(brewingRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest))
+ .fluidInputs(FluidUtils.getFluidStack("juice", 100))
+ .fluidOutputs(Materials.Biomass.getFluid(100L))
+ .duration(1 * MINUTES)
+ .eut(3)
+ .addTo(brewingRecipes);
+ }
+
+ private static void cuttingSawRecipes() {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("blockMeatRaw", 1))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("plateMeatRaw", 9))
+ .duration(16 * TICKS)
+ .eut(TierEU.RECIPE_ULV)
+ .addTo(cutterRecipes);
+ }
+
+ private static void electrolyzerRecipes() {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getSimpleStack(ModItems.dustDecayedRadium226, 1))
+ .fluidOutputs(FluidUtils.getFluidStack("radon", 144))
+ .duration(1 * MINUTES + 30 * SECONDS)
+ .eut(TierEU.RECIPE_HV / 2)
+ .addTo(electrolyzerRecipes);
+ }
+
+ private static void extruderRecipes() {
+ // Osmium Credits
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("blockOsmium", 1), ItemList.Shape_Mold_Credit.get(0))
+ .itemOutputs(ItemList.Credit_Greg_Osmium.get(1))
+ .duration(6 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_EV / 2)
+ .addTo(extruderRecipes);
+ }
+
+ private static void blastSmelterRecipes() {
+
+ // Eglin Steel
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(6), ELEMENT.getInstance().IRON.getDust(4),
+ ALLOY.KANTHAL.getDust(1), ALLOY.INVAR.getDust(5), ELEMENT.getInstance().SULFUR.getDust(1),
+ ELEMENT.getInstance().CARBON.getDust(1), ELEMENT.getInstance().SILICON.getDust(4) },
+ ALLOY.EGLIN_STEEL.getFluidStack(16 * 144),
+ 0,
+ 20 * 45,
+ 120);
+
+ // HG1223
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(5), ELEMENT.getInstance().BARIUM.getDust(2),
+ ELEMENT.getInstance().CALCIUM.getDust(2), ELEMENT.getInstance().COPPER.getDust(3), },
+ new FluidStack[] { ELEMENT.getInstance().OXYGEN.getFluidStack(8000),
+ ELEMENT.getInstance().MERCURY.getFluidStack(1000), },
+ ALLOY.HG1223.getFluidStack(16 * 144),
+ null,
+ new int[] { 10000 }, // Output Chance
+ 20 * 120,
+ 30720);
+
+ // NITINOL_60
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(2), ELEMENT.getInstance().TITANIUM.getDust(3),
+ ELEMENT.getInstance().NICKEL.getDust(2) },
+ ALLOY.NITINOL_60.getFluidStack(5 * 144),
+ 0,
+ 20 * 75,
+ 7680);
+
+ // INDALLOY_140
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(5), ELEMENT.getInstance().BISMUTH.getDust(47),
+ ELEMENT.getInstance().LEAD.getDust(25), ELEMENT.getInstance().TIN.getDust(13),
+ ELEMENT.getInstance().CADMIUM.getDust(10), ELEMENT.getInstance().INDIUM.getDust(5) },
+ ALLOY.INDALLOY_140.getFluidStack(100 * 144),
+ 0,
+ 20 * 40,
+ 7680);
+
+ // Germanium Roasting
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(15),
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedSphalerite", 8),
+ ELEMENT.getInstance().CARBON.getDust(32), },
+ Materials.SulfuricAcid.getFluid(2000),
+ ELEMENT.getInstance().GERMANIUM.getFluidStack(288),
+ 0,
+ 20 * 300,
+ 4000);
+
+ // Rhenium Roasting
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(20),
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedScheelite", 8),
+ ELEMENT.getInstance().CARBON.getDust(32), },
+ Materials.SulfuricAcid.getFluid(10000),
+ ELEMENT.getInstance().RHENIUM.getFluidStack(144),
+ 0,
+ 20 * 300,
+ 4000);
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(20),
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMolybdenite", 8),
+ ELEMENT.getInstance().CARBON.getDust(32), },
+ Materials.SulfuricAcid.getFluid(7500),
+ ELEMENT.getInstance().RHENIUM.getFluidStack(144),
+ 0,
+ 20 * 300,
+ 4000);
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(20),
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMolybdenum", 8),
+ ELEMENT.getInstance().CARBON.getDust(32), },
+ Materials.SulfuricAcid.getFluid(5000),
+ ELEMENT.getInstance().RHENIUM.getFluidStack(288),
+ 0,
+ 20 * 300,
+ 4000);
+
+ // Thallium Roasting
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(21),
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedZinc", 3),
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPyrite", 4),
+ ELEMENT.getInstance().CARBON.getDust(16), },
+ Materials.SulfuricAcid.getFluid(1250),
+ ELEMENT.getInstance().THALLIUM.getFluidStack(288),
+ new ItemStack[] {},
+ new int[] { 0 },
+ 20 * 75,
+ 8000,
+ 3700,
+ false);
+
+ // Strontium processing
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(21), MISC_MATERIALS.STRONTIUM_OXIDE.getDust(8),
+ ELEMENT.getInstance().ALUMINIUM.getDust(8), },
+ (FluidStack) null,
+ ELEMENT.getInstance().OXYGEN.getFluidStack(8000),
+ new ItemStack[] { ELEMENT.getInstance().ALUMINIUM.getIngot(8),
+ ELEMENT.getInstance().STRONTIUM.getIngot(8) },
+ new int[] { 10000, 10000 }, // Output Chance
+ 20 * 120,
+ 480 * 4);
+
+ // molten botmium
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(4),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustNitinol60", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 6),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRuthenium", 6),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustThallium", 3) },
+ GT_Values.NF,
+ ALLOY.BOTMIUM.getFluidStack(2304),
+ 0,
+ 20 * 120,
+ 491520);
+
+ // molten precious metals alloy
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(6),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRuthenium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustRhodium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustPalladium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustPlatinum", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 1) },
+ GT_Values.NF,
+ FluidUtils.getFluidStack("molten.precious metals alloy", 864),
+ 0,
+ 20 * 540,
+ 7864320);
+ }
+
+ private static void dehydratorRecipes() {
+ Logger.INFO("Loading Recipes for Chemical Dehydrator.");
+
+ ItemStack cropGrape = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cropGrape", 1);
+ ItemStack foodRaisins = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("foodRaisins", 1);
+
+ if (cropGrape != null && foodRaisins != null) CORE.RA.addDehydratorRecipe(
+ new ItemStack[] { CI.getNumberedBioCircuit(20), cropGrape }, // Item
+ null, // Fluid input (slot 1)
+ null, // Fluid output (slot 2)
+ new ItemStack[] { foodRaisins }, // Output
+ new int[] { 10000 },
+ 10, // Time in ticks
+ 2); // EU
+
+ // Process Waste Water
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] { CI.getNumberedBioCircuit(21) },
+ FluidUtils.getFluidStack("fluid.sludge", 1000),
+ FluidUtils.getFluidStack("nitricacid", 10),
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustTinyIron", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyCopper", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyTin", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyNickel", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyCobalt", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAluminium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinySilver", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyGold", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyIridium", 1) },
+ new int[] { 10, 5, 5, 4, 4, 3, 2, 2, 1 },
+ 2 * 20,
+ 500); // EU
+
+ // C8H10 = C8H8 + 2H
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), CI.emptyCells(3) },
+ FluidUtils.getFluidStack("fluid.ethylbenzene", 1000),
+ null,
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellStyrene", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 2) },
+ new int[] { 10000, 10000 },
+ 3 * 20,
+ 30);
+
+ /*
+ * Add custom recipes for drying leather
+ */
+ if (Backpack.isModLoaded()) {
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), new ItemStack(Items.leather, 2) },
+ FluidUtils.getFluidStack("fluid.ethylbenzene", 1000),
+ null,
+ new ItemStack[] { ItemUtils.getCorrectStacktype("Backpack:tannedLeather", 1) },
+ new int[] { 10000 },
+ 5 * 20,
+ 180);
+ if (NewHorizonsCoreMod.isModLoaded()) {
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18),
+ GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.ArtificialLeather", 2L, 0) },
+ FluidUtils.getFluidStack("fluid.ethylbenzene", 1000),
+ null,
+ new ItemStack[] { ItemUtils.getCorrectStacktype("Backpack:tannedLeather", 1) },
+ new int[] { 10000 },
+ 5 * 20,
+ 180);
+ }
+ }
+ // Alternative ACETIC ANHYDRIDE recipe for Kevlar Line
+ // 2C2H4O2 = C4H6O3 + H2O
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), CI.emptyCells(1) },
+ FluidUtils.getFluidStack("aceticacid", 2000),
+ MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000),
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 1), },
+ new int[] { 10000 },
+ 30 * 20,
+ 480);
+ }
+
+ private static void largeChemReactorRecipes() {
+ // Styrene
+ // C8H10 = C8H8 + 2H
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(24))
+ .itemOutputs()
+ .fluidInputs(FluidUtils.getFluidStack("fluid.ethylbenzene", 1000))
+ .fluidOutputs(Materials.Styrene.getFluid(1000L), Materials.Hydrogen.getGas(2000))
+ .duration(1 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(multiblockChemicalReactorRecipes);
+
+ // Short-cut Styrene
+ // C6H6 + C2H4 = C8H8 + 2H
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(24))
+ .itemOutputs()
+ .fluidInputs(Materials.Ethylene.getGas(500L), Materials.Benzene.getFluid(500L))
+ .fluidOutputs(Materials.Styrene.getFluid(500L), Materials.Hydrogen.getGas(1000))
+ .duration(12 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(multiblockChemicalReactorRecipes);
+ }
+
+ private static void assemblerRecipes() {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Vanadium, 32L),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.VanadiumSteel, 8L))
+ .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 4))
+ .fluidInputs(Materials.Oxygen.getGas(8000L))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_MV / 2)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VanadiumGallium, 8L))
+ .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 8))
+ .fluidInputs(Materials.Tantalum.getMolten(4 * INGOTS))
+ .duration(32 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Lead, 4L),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(3), 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorHV, 2L))
+ .itemOutputs(ItemUtils.getSimpleStack(GregtechItemList.Casing_Vanadium_Redox.get(1), 1))
+ .fluidInputs(Materials.Oxygen.getGas(16 * BUCKETS))
+ .duration(3 * SECONDS + 4 * TICKS)
+ .eut(TierEU.RECIPE_HV / 2)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GregtechItemList.Casing_Vanadium_Redox.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Titanium, 4L),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(4), 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorEV, 2L))
+ .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_IV.get(1))
+ .fluidInputs(Materials.Nitrogen.getGas(16 * BUCKETS))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GregtechItemList.Casing_Vanadium_Redox_IV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TungstenSteel, 4L),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(5), 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorIV, 2L))
+ .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_LuV.get(1))
+ .fluidInputs(Materials.Helium.getGas(8 * BUCKETS))
+ .duration(12 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GregtechItemList.Casing_Vanadium_Redox_LuV.get(1),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateAlloyIridium", 16),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 2L))
+ .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_ZPM.get(1))
+ .fluidInputs(Materials.Argon.getGas(4 * BUCKETS))
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GregtechItemList.Casing_Vanadium_Redox_ZPM.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Naquadah, 4L),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 2L))
+ .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_UV.get(1))
+ .fluidInputs(Materials.Radon.getGas(4 * BUCKETS))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GregtechItemList.Casing_Vanadium_Redox_UV.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Americium, 4L),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(8), 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUV, 2L))
+ .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_MAX.get(1))
+ .fluidInputs(FluidUtils.getFluidStack("krypton", 500))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getSimpleStack(CI.explosiveITNT, 2),
+ ItemUtils.getSimpleStack(CI.explosiveTNT, 4),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iron, 1L))
+ .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockMiningExplosive, 3))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_MV / 2)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherStar, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 8L),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.BlackSteel, 8L))
+ .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockWitherGuard, 64))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.fluidRegulator_LV,
+ CI.electricMotor_LV,
+ CI.getTieredComponent(OrePrefixes.bolt, 1, 8),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Brass, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Brass, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 2L))
+ .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 1, 1))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.fluidRegulator_MV,
+ CI.electricMotor_MV,
+ CI.getTieredComponent(OrePrefixes.bolt, 2, 8),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Invar, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Invar, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2L))
+ .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 2, 1))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.fluidRegulator_HV,
+ CI.electricMotor_HV,
+ CI.getTieredComponent(OrePrefixes.bolt, 3, 8),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Chrome, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Chrome, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 2L))
+ .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 3, 1))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.fluidRegulator_EV,
+ CI.electricMotor_EV,
+ CI.getTieredComponent(OrePrefixes.bolt, 4, 8),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Titanium, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Titanium, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2L))
+ .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1))
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 1, 1), GT_Utility.getIntegratedCircuit(20))
+ .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1000, 1))
+ .duration(1 * SECONDS + 10 * TICKS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 2, 1), GT_Utility.getIntegratedCircuit(20))
+ .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1001, 1))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 3, 1), GT_Utility.getIntegratedCircuit(20))
+ .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1002, 1))
+ .duration(24 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1), GT_Utility.getIntegratedCircuit(20))
+ .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1003, 1))
+ .duration(1 * MINUTES + 36 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+
+ // Low tier Charge Packs
+
+ final ItemStack[] aPackBatteries = new ItemStack[] { ItemList.Battery_RE_LV_Lithium.get(4),
+ ItemList.Battery_RE_MV_Lithium.get(4), ItemList.Battery_RE_HV_Lithium.get(4),
+ GregtechItemList.Battery_RE_EV_Lithium.get(4), ItemList.Energy_LapotronicOrb.get(4), };
+ final ItemStack[] aPackPlates = new ItemStack[] { CI.getPlate(1, 8), CI.getPlate(2, 8), CI.getPlate(3, 8),
+ CI.getPlate(4, 8), CI.getPlate(5, 8), };
+ final ItemStack[] aPackWire = new ItemStack[] { CI.getTieredComponent(OrePrefixes.wireGt02, 1, 6),
+ CI.getTieredComponent(OrePrefixes.wireGt04, 2, 6), CI.getTieredComponent(OrePrefixes.wireGt08, 3, 6),
+ CI.getTieredComponent(OrePrefixes.wireGt12, 4, 6), CI.getTieredComponent(OrePrefixes.wireGt16, 5, 6), };
+ final ItemStack[] aPackCircuit = new ItemStack[] { CI.getTieredComponent(OrePrefixes.circuit, 1, 4),
+ CI.getTieredComponent(OrePrefixes.circuit, 2, 4), CI.getTieredComponent(OrePrefixes.circuit, 3, 4),
+ CI.getTieredComponent(OrePrefixes.circuit, 4, 4), CI.getTieredComponent(OrePrefixes.circuit, 5, 4), };
+ final ItemStack[] aPackRing = new ItemStack[] { CI.getTieredComponent(OrePrefixes.ring, 1, 12),
+ CI.getTieredComponent(OrePrefixes.ring, 2, 12), CI.getTieredComponent(OrePrefixes.ring, 3, 12),
+ CI.getTieredComponent(OrePrefixes.ring, 4, 12), CI.getTieredComponent(OrePrefixes.ring, 5, 12), };
+ final ItemStack[] aPackOutput = new ItemStack[] { ItemUtils.getSimpleStack(ModItems.itemChargePack_Low_1),
+ ItemUtils.getSimpleStack(ModItems.itemChargePack_Low_2),
+ ItemUtils.getSimpleStack(ModItems.itemChargePack_Low_3),
+ ItemUtils.getSimpleStack(ModItems.itemChargePack_Low_4),
+ ItemUtils.getSimpleStack(ModItems.itemChargePack_Low_5) };
+
+ for (int i = 1; i < 6; i++) {
+
+ int aAS = i - 1;
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ aPackPlates[aAS],
+ aPackRing[aAS],
+ aPackWire[aAS],
+ aPackCircuit[aAS],
+ aPackBatteries[aAS],
+ CI.getSensor(i, 4))
+ .itemOutputs(aPackOutput[aAS])
+ .fluidInputs(CI.getTieredFluid(i, (144 * 4)))
+ .duration(30 * i * SECONDS)
+ .eut(GT_Values.V[i])
+ .addTo(assemblerRecipes);
+ }
+
+ if (Baubles.isModLoaded()) {
+
+ // Turbine Housing Research Page
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(17),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Trinium, 64L),
+ CI.getSensor(6, 6),
+ CI.getBolt(7, 64),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Platinum, 64L),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), 12))
+ .itemOutputs(
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_8_TURBINE_AUTOMATION, 1))
+ .fluidInputs(CI.getAlternativeTieredFluid(7, 144 * 32))
+ .duration(5 * MINUTES)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+
+ // Cloaking Device Research Page
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(17),
+ ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, 4),
+ CI.getFieldGenerator(6, 16),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Palladium, 32L),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 12))
+ .itemOutputs(ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_9_CLOAKING, 1))
+ .fluidInputs(CI.getAlternativeTieredFluid(7, 144 * 32))
+ .duration(10 * MINUTES)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ }
+ }
+
+ private static void distilleryRecipes() {
+ Logger.INFO("Registering Distillery/Distillation Tower Recipes.");
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(4))
+ .fluidInputs(Materials.Air.getGas(1000L))
+ .fluidOutputs(Materials.Helium.getGas(1L))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(distilleryRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.Air.getGas(20000L))
+ .fluidOutputs(Materials.Helium.getGas(25L))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_MV / 2)
+ .addTo(distillationTowerRecipes);
+
+ // Apatite Distillation
+ /*
+ * so if you dissolve aparite in sulphuric acid you'll get a mixture of SO2, H2O, HF and HCl
+ */
+
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(FluidUtils.getFluidStack("sulfuricapatite", 5200))
+ .fluidOutputs(
+ FluidUtils.getFluidStack("sulfurousacid", 3800),
+ FluidUtils.getFluidStack("hydrogenchloride", 1000),
+ FluidUtils.getFluidStack("hydrofluoricacid", 400))
+ .duration(45 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(distillationTowerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(FluidUtils.getFluidStack("sulfurousacid", 1000))
+ .fluidOutputs(Materials.SulfurDioxide.getGas(500), Materials.Water.getFluid(500))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_MV / 2)
+ .addTo(distillationTowerRecipes);
+ }
+
+ private static void thermalBoilerRecipes() {
+ Logger.INFO("Registering Thermal Boiler Recipes.");
+
+ // Recipes with special value -1 display additional tooltip in NEI about lava filters.
+
+ // Lava
+
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(FluidUtils.getLava(1000), FluidUtils.getWater(16_000 / GT_Values.STEAM_PER_WATER))
+ .fluidOutputs(FluidUtils.getPahoehoeLava(1000), FluidUtils.getSteam(16_000))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1),
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1),
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Gold, 1),
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Silver, 1),
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tantalum, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungstate, 1),
+ new ItemStack(Blocks.obsidian, 1, 0))
+ .outputChances(444, 222, 56, 56, 56, 125, 1000)
+ .specialValue(-1)
+ .duration(1 * SECONDS)
+ .eut(0)
+ .addTo(thermalBoilerRecipes);
+
+ // Pahoehoe Lava
+
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(FluidUtils.getPahoehoeLava(1000), FluidUtils.getWater(16_000 / GT_Values.STEAM_PER_WATER))
+ .fluidOutputs(FluidUtils.getSteam(16_000))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 1),
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Electrum, 1),
+ GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tantalum, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungstate, 1),
+ new ItemStack(Blocks.obsidian, 1, 0))
+ .outputChances(167, 56, 56, 125, 3700)
+ .specialValue(-1)
+ .duration(1 * SECONDS)
+ .eut(0)
+ .addTo(thermalBoilerRecipes);
+
+ // Hot Coolant
+
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(
+ FluidUtils.getFluidStack("ic2hotcoolant", 500),
+ FluidUtils.getWater(100_000 / GT_Values.STEAM_PER_WATER))
+ .fluidOutputs(FluidUtils.getFluidStack("ic2coolant", 500), FluidUtils.getSuperHeatedSteam(100_000))
+ .duration(1 * SECONDS)
+ .eut(0)
+ .addTo(thermalBoilerRecipes);
+
+ // Solar Salt (Hot)
+
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(
+ MISC_MATERIALS.SOLAR_SALT_HOT.getFluidStack(100),
+ FluidUtils.getWater(100_000 / GT_Values.STEAM_PER_WATER))
+ .fluidOutputs(MISC_MATERIALS.SOLAR_SALT_COLD.getFluidStack(100), FluidUtils.getSuperHeatedSteam(100_000))
+ .duration(1 * SECONDS)
+ .eut(0)
+ .addTo(thermalBoilerRecipes);
+ }
+
+ private static void addFuels() {
+ Logger.INFO("Registering New Fuels.");
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getSimpleStack(Items.lava_bucket))
+ .metadata(FUEL_VALUE, 32)
+ .metadata(FUEL_TYPE, 2)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getIC2Cell(2))
+ .metadata(FUEL_VALUE, 32)
+ .metadata(FUEL_TYPE, 2)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getIC2Cell(11))
+ .metadata(FUEL_VALUE, 24)
+ .metadata(FUEL_TYPE, 2)
+ .duration(0)
+ .eut(0)
+ .addTo(GT_RecipeConstants.Fuel);
+ }
+
+ private static void extractorRecipes() {
+ Logger.INFO("Registering Extractor Recipes.");
+ GT_ModHandler.addExtractionRecipe(
+ GregtechItemList.Battery_RE_EV_Sodium.get(1L, new Object[0]),
+ ItemList.Battery_Hull_HV.get(4L, new Object[0]));
+ GT_ModHandler.addExtractionRecipe(
+ GregtechItemList.Battery_RE_EV_Cadmium.get(1L, new Object[0]),
+ ItemList.Battery_Hull_HV.get(4L, new Object[0]));
+ GT_ModHandler.addExtractionRecipe(
+ GregtechItemList.Battery_RE_EV_Lithium.get(1L, new Object[0]),
+ ItemList.Battery_Hull_HV.get(4L, new Object[0]));
+ }
+
+ private static void fluidExtractorRecipes() {
+ // Gelid Cryotheum
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cryotheum, 1L))
+ .fluidOutputs(FluidUtils.getFluidStack("cryotheum", 250))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV / 2)
+ .addTo(fluidExtractionRecipes);
+
+ // Ender Fluid
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getSimpleStack(Items.ender_pearl))
+ .fluidOutputs(FluidUtils.getFluidStack("ender", 250))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(fluidExtractionRecipes);
+
+ // Blazing Pyrotheum
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Pyrotheum, 1L))
+ .fluidOutputs(FluidUtils.getFluidStack("pyrotheum", 250))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV / 2)
+ .addTo(fluidExtractionRecipes);
+ }
+
+ private static void centrifugeRecipes() {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(CI.getNumberedAdvancedCircuit(2), MISC_MATERIALS.SOLAR_SALT_COLD.getCell(1))
+ .itemOutputs(
+ MISC_MATERIALS.SODIUM_NITRATE.getDust(3),
+ MISC_MATERIALS.POTASSIUM_NITRATE.getDust(2),
+ CI.emptyCells(1))
+ .duration(6 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(centrifugeRecipes);
+ }
+
+ private static void mixerRecipes() {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.getNumberedAdvancedCircuit(2),
+ CI.emptyCells(1),
+ MISC_MATERIALS.SODIUM_NITRATE.getDust(3),
+ MISC_MATERIALS.POTASSIUM_NITRATE.getDust(2))
+ .itemOutputs(MISC_MATERIALS.SOLAR_SALT_COLD.getCell(1))
+ .duration(2 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(mixerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.getNumberedAdvancedCircuit(2),
+ Materials.Titanium.getDust(9),
+ Materials.Carbon.getDust(9),
+ Materials.Potassium.getDust(9),
+ Materials.Lithium.getDust(9),
+ Materials.Sulfur.getDust(9))
+ .itemOutputs(ALLOY.LEAGRISIUM.getDust(50))
+ .fluidInputs(Materials.Hydrogen.getGas(5000))
+ .duration(1 * MINUTES)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(mixerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.getNumberedAdvancedCircuit(2),
+ Materials.Steel.getDust(16),
+ Materials.Molybdenum.getDust(1),
+ Materials.Titanium.getDust(1),
+ Materials.Nickel.getDust(4),
+ Materials.Cobalt.getDust(2))
+ .itemOutputs(ALLOY.MARAGING250.getDust(24))
+ .duration(1 * MINUTES)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(mixerRecipes);
+ }
+
+ private static void chemicalReactorRecipes() {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.getNumberedAdvancedCircuit(21),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Apatite, 32L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Sulfur, 8L))
+ .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 4000))
+ .fluidOutputs(FluidUtils.getFluidStack("sulfuricapatite", 8000))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
+
+ // KOH + HNO3 = KNO3 + H2O
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getSimpleStack(GenericChem.mPotassiumHydroxide, 3), CI.getNumberedAdvancedCircuit(1))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PotassiumNitrade, 5L))
+ .fluidInputs(Materials.NitricAcid.getFluid(1000))
+ .fluidOutputs(Materials.Water.getFluid(1000))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
+
+ // Na2CO3 + 2HNO3 = 2NaNO3 + CO2 + H2O
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 6),
+ CI.getNumberedAdvancedCircuit(1))
+ .itemOutputs(MISC_MATERIALS.SODIUM_NITRATE.getDust(10))
+ .fluidInputs(Materials.NitricAcid.getFluid(2000))
+ .fluidOutputs(Materials.CarbonDioxide.getGas(1000))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(UniversalChemical);
+ }
+
+ private static void blastFurnaceRecipes() {
+
+ // Synthetic Graphite
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ALLOY.SILICON_CARBIDE.getDust(16), GT_Utility.getIntegratedCircuit(22))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 8L),
+ GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Silicon, 8L))
+ .fluidInputs(Materials.Nitrogen.getGas(4000))
+ .fluidOutputs()
+ .duration(1 * MINUTES)
+ .eut(TierEU.RECIPE_IV)
+ .metadata(COIL_HEAT, 4500)
+ .addTo(blastFurnaceRecipes);
+
+ }
+
+ private static void compressorRecipes() {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Clay, 1L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Clay, 1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 9L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, Materials.MeatRaw, 1L))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(compressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.FusionComputer_UV.get(9))
+ .itemOutputs(GregtechItemList.Compressed_Fusion_Reactor.get(1))
+ .duration(1 * HOURS + 50 * MINUTES)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(compressorRecipes);
+ }
+
+ private static void macerationRecipes() {
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.block, Materials.MeatRaw, 1L))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 9L))
+ .duration(44 * SECONDS)
+ .eut(4)
+ .addTo(maceratorRecipes);
+
+ if (ItemUtils.simpleMetaStack("chisel:limestone", 0, 1) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("limestone", 1))
+ .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 4L))
+ .duration(20 * SECONDS)
+ .eut(2)
+ .addTo(maceratorRecipes);
+ }
+ }
+
+ private static void cyclotronRecipes() {
+
+ // Polonium
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(1),
+ FluidUtils.getFluidStack("molten.bismuth", 1),
+ new ItemStack[] { GregtechItemList.Pellet_RTG_PO210.get(1) },
+ null,
+ new int[] { 100 },
+ 20 * 300 * 100,
+ 2040 * 4,
+ 500 * 20);
+
+ // Americium
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(1),
+ FluidUtils.getFluidStack("molten.americium", 1),
+ new ItemStack[] { GregtechItemList.Pellet_RTG_AM241.get(4) },
+ null,
+ new int[] { 2500 },
+ 20 * 300 * 100,
+ 1020 * 4,
+ 500 * 20); // PO Special Value
+
+ // Strontium u235
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(1),
+ FluidUtils.getFluidStack("molten.uranium235", 10),
+ new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) },
+ null,
+ new int[] { 570 },
+ 20 * 300 * 100,
+ 1020 * 4,
+ 500 * 20); // PO Special Value
+
+ // Strontium u233
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(1),
+ FluidUtils.getFluidStack("molten.uranium233", 10),
+ new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) },
+ null,
+ new int[] { 660 },
+ 20 * 300 * 100,
+ 1020 * 4,
+ 500 * 20); // PO Special Value
+
+ // Strontium pu239
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(1),
+ FluidUtils.getFluidStack("molten.plutonium", 10),
+ new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) },
+ null,
+ new int[] { 220 },
+ 20 * 300 * 100,
+ 1020 * 4,
+ 500 * 20); // PO Special Value
+
+ // Plutonium
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(1),
+ FluidUtils.getFluidStack("molten.plutonium238", 1),
+ new ItemStack[] { GregtechItemList.Pellet_RTG_PU238.get(2) },
+ null,
+ new int[] { 780 },
+ 20 * 300 * 100,
+ 1020 * 4,
+ 500 * 20); // PO Special Value
+
+ // Neptunium
+ CORE.RA.addCyclotronRecipe(
+ new ItemStack[] { ELEMENT.getInstance().URANIUM238.getDust(1) },
+ FluidUtils.getFluidStack("deuterium", 400),
+ new ItemStack[] { ItemUtils.getSimpleStack(ModItems.dustNeptunium238) },
+ null,
+ new int[] { 500 },
+ 20 * 5,
+ 500 * 4,
+ 500 * 20); // PO Special Value
+
+ /*
+ * Particle Science
+ */
+
+ // Quark Smash
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(3),
+ FluidUtils.getFluidStack("plasma.hydrogen", 100),
+ new ItemStack[] { Particle.getBaseParticle(Particle.UP), Particle.getBaseParticle(Particle.DOWN),
+ Particle.getBaseParticle(Particle.CHARM), Particle.getBaseParticle(Particle.STRANGE),
+ Particle.getBaseParticle(Particle.TOP), Particle.getBaseParticle(Particle.BOTTOM), },
+ null,
+ new int[] { 50, 50, 50, 50, 50, 50 },
+ 20 * 300 * 9,
+ (int) MaterialUtils.getVoltageForTier(7),
+ 750 * 20);
+
+ // Lepton Smash
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(6),
+ FluidUtils.getFluidStack("plasma.helium", 1500),
+ new ItemStack[] { Particle.getBaseParticle(Particle.ELECTRON), Particle.getBaseParticle(Particle.MUON),
+ Particle.getBaseParticle(Particle.TAU), Particle.getBaseParticle(Particle.ELECTRON_NEUTRINO),
+ Particle.getBaseParticle(Particle.MUON_NEUTRINO), Particle.getBaseParticle(Particle.TAU_NEUTRINO), },
+ null,
+ new int[] { 600, 40, 20, 15, 10, 5 },
+ 20 * 300 * 8,
+ (int) MaterialUtils.getVoltageForTier(7),
+ 750 * 20);
+
+ // Boson Smash
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(9),
+ FluidUtils.getFluidStack("plasma.helium", 1500),
+ new ItemStack[] { Particle.getBaseParticle(Particle.GLUON), Particle.getBaseParticle(Particle.PHOTON),
+ Particle.getBaseParticle(Particle.Z_BOSON), Particle.getBaseParticle(Particle.W_BOSON),
+ Particle.getBaseParticle(Particle.HIGGS_BOSON), },
+ null,
+ new int[] { 160, 260, 150, 150, 1 },
+ 20 * 300 * 6,
+ (int) MaterialUtils.getVoltageForTier(7),
+ 750 * 20);
+
+ // Mixed Smash 1
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(12),
+ Materials.Americium.getPlasma(2500),
+ new ItemStack[] { Particle.getBaseParticle(Particle.GRAVITON), Particle.getBaseParticle(Particle.ETA_MESON),
+ Particle.getBaseParticle(Particle.PION), Particle.getBaseParticle(Particle.PROTON),
+ Particle.getBaseParticle(Particle.NEUTRON), Particle.getBaseParticle(Particle.LAMBDA),
+ Particle.getBaseParticle(Particle.OMEGA), Particle.getBaseParticle(Particle.HIGGS_BOSON), },
+ null,
+ new int[] { 50, 50, 50, 40, 30, 20, 20, 10 },
+ 1000 * 20,
+ (int) MaterialUtils.getVoltageForTier(8),
+ 750 * 20);
+
+ // Mixed Smash 1
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(12),
+ new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 2500),
+ new ItemStack[] { Particle.getBaseParticle(Particle.GRAVITON), Particle.getBaseParticle(Particle.ETA_MESON),
+ Particle.getBaseParticle(Particle.PION), Particle.getBaseParticle(Particle.PROTON),
+ Particle.getBaseParticle(Particle.NEUTRON), Particle.getBaseParticle(Particle.LAMBDA),
+ Particle.getBaseParticle(Particle.OMEGA), Particle.getBaseParticle(Particle.HIGGS_BOSON), },
+ null,
+ new int[] { 5000, 200, 200, 100, 80, 60, 40, 30 },
+ 100 * 20,
+ (int) MaterialUtils.getVoltageForTier(8),
+ 750 * 20);
+
+ // Graviton Smash
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(15),
+ FluidUtils.getFluidStack("plasma.hydrogen", 100),
+ new ItemStack[] { Particle.getBaseParticle(Particle.GRAVITON), Particle.getBaseParticle(Particle.UNKNOWN) },
+ null,
+ new int[] { 1000, 100 },
+ 20 * (90),
+ (int) MaterialUtils.getVoltageForTier(6),
+ 1000 * 20);
+
+ FluidStack aPlasma = Materials.Duranium.getMolten(40);
+ FluidStack aPlasma_NULL = Materials._NULL.getPlasma(1);
+
+ if (aPlasma == null || aPlasma.isFluidEqual(aPlasma_NULL)) {
+ aPlasma = Materials.Americium.getMolten(20);
+ }
+
+ // Quantum Anomaly
+ CORE.RA.addCyclotronRecipe(
+ new ItemStack[] { CI.getNumberedCircuit(24), Particle.getBaseParticle(Particle.UNKNOWN), },
+ aPlasma,
+ new ItemStack[] { GregtechItemList.Laser_Lens_Special.get(1) },
+ null,
+ new int[] { 100 },
+ 20 * (25),
+ (int) MaterialUtils.getVoltageForTier(8),
+ 500 * 20);
+
+ /*
+ * Ions
+ */
+
+ int IonCount = 2;
+ int tenCountA = 2;
+ int tenCountB = 0;
+ for (String y : IonParticles.MetaToNameMap.values()) {
+ if (y.toLowerCase()
+ .contains("hydrogen")) {
+ continue;
+ }
+ FluidStack aPlasma2 = FluidUtils.getFluidStack("plasma." + y.toLowerCase(), 2);
+ Materials aTestMat = MaterialUtils.getMaterial(y);
+ FluidStack aPlasma3 = aTestMat != null ? aTestMat.getPlasma(2) : aPlasma2;
+
+ // Ionize Plasma
+ if ((aPlasma2 != null && !aPlasma2.isFluidEqual(aPlasma_NULL))
+ || (aPlasma3 != null && !aPlasma3.isFluidEqual(aPlasma_NULL))) {
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(1 + (tenCountA - 1)),
+ aPlasma2 != null ? aPlasma2 : aPlasma3,
+ new ItemStack[] { Particle.getIon(y, 1), Particle.getIon(y, 2), Particle.getIon(y, 3),
+ Particle.getIon(y, -1), Particle.getIon(y, -2), Particle.getIon(y, -3), Particle.getIon(y, 1),
+ Particle.getIon(y, 2), Particle.getIon(y, -1), },
+ null,
+ new int[] { 275, 250, 225, 275, 250, 225, 275, 250, 275 },
+ 20 * 20 * (IonCount++) * tenCountA,
+ (int) MaterialUtils.getVoltageForTier(7),
+ 1500 * 20 * tenCountA);
+ } else {
+ Logger.INFO("Plasma for " + y + " does not exist, please report this to Alkalus.");
+ }
+
+ if (tenCountB == 12) {
+ tenCountB = 0;
+ tenCountA++;
+ } else {
+ tenCountB++;
+ }
+ }
+
+ // Generate Hydrogen Ion Recipe
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(24),
+ FluidUtils.getWildcardFluidStack("hydrogen", 1000),
+ new ItemStack[] { Particle.getIon("Hydrogen", 1), Particle.getIon("Hydrogen", 2),
+ Particle.getIon("Hydrogen", 3), Particle.getIon("Hydrogen", 1), Particle.getIon("Hydrogen", 2),
+ Particle.getIon("Hydrogen", 3), Particle.getIon("Hydrogen", -1), Particle.getIon("Hydrogen", -2),
+ Particle.getIon("Hydrogen", -3) },
+ null,
+ new int[] { 500, 500, 500, 500, 500, 500, 500, 500, 500 },
+ 20 * 20,
+ (int) MaterialUtils.getVoltageForTier(6),
+ 2500);
+
+ // Generate Hydrogen Plasma Recipe
+ CORE.RA.addCyclotronRecipe(
+ new ItemStack[] { CI.getNumberedCircuit(21), Particle.getIon("Hydrogen", 0), },
+ FluidUtils.getFluidStack("hydrogen", 1000),
+ new ItemStack[] { Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.NEUTRON),
+ Particle.getBaseParticle(Particle.ELECTRON), Particle.getBaseParticle(Particle.UNKNOWN),
+ Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.UNKNOWN), },
+ FluidUtils.getFluidStack("plasma.hydrogen", 100),
+ new int[] { 1250, 1250, 1250, 750, 750, 750 },
+ 20 * 60 * 2,
+ (int) MaterialUtils.getVoltageForTier(6),
+ 750 * 20);
+
+ // Generate Protons Easily
+ CORE.RA.addCyclotronRecipe(
+ new ItemStack[] { CI.getNumberedCircuit(20), Particle.getIon("Hydrogen", 0) },
+ FluidUtils.getWildcardFluidStack("hydrogen", 100),
+ new ItemStack[] { Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON),
+ Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON),
+ Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON),
+ Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON),
+ Particle.getBaseParticle(Particle.PROTON), },
+ null,
+ new int[] { 750, 750, 750, 750, 750, 750, 750, 750, 750 },
+ 20 * 20,
+ (int) MaterialUtils.getVoltageForTier(6),
+ 1500);
+
+ CORE.RA.addCyclotronRecipe(
+ new ItemStack[] { CI.getNumberedCircuit(22), Particle.getBaseParticle(Particle.UNKNOWN), },
+ FluidUtils.getWildcardFluidStack("hydrogen", 100),
+ new ItemStack[] { Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON),
+ Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON),
+ Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON),
+ Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON),
+ Particle.getBaseParticle(Particle.PROTON), },
+ null,
+ new int[] { 375, 375, 375, 375, 375, 375, 375, 375, 375 },
+ 20 * 20,
+ (int) MaterialUtils.getVoltageForTier(6),
+ 1500);
+
+ // Create Strange Dust
+ CORE.RA.addCyclotronRecipe(
+ new ItemStack[] { ELEMENT.getInstance().PLUTONIUM238.getDust(1), Particle.getBaseParticle(Particle.UNKNOWN),
+ Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.UNKNOWN),
+ Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.UNKNOWN),
+ Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.UNKNOWN),
+ Particle.getBaseParticle(Particle.UNKNOWN), },
+ FluidUtils.getFluidStack(FluidUtils.getWildcardFluidStack("ender", 1000), 1000),
+ new ItemStack[] { ORES.DEEP_EARTH_REACTOR_FUEL_DEPOSIT.getDust(1) },
+ null,
+ new int[] { 2500 },
+ 20 * 60 * 15,
+ (int) MaterialUtils.getVoltageForTier(7),
+ 250);
+ }
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java
new file mode 100644
index 0000000000..5e198bfac4
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java
@@ -0,0 +1,475 @@
+package gtPlusPlus.core.recipe;
+
+import static gregtech.api.enums.Mods.EnderIO;
+import static gregtech.api.enums.Mods.Thaumcraft;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gtPlusPlus.core.recipe.common.CI.bitsd;
+import static gtPlusPlus.core.util.minecraft.ItemUtils.getSimpleStack;
+import static gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechConduits.generatePipeRecipes;
+import static gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechConduits.generateWireRecipes;
+
+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.TierEU;
+import gregtech.api.util.GT_ModHandler;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
+import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
+import gtPlusPlus.xmod.gregtech.common.helpers.VolumetricFlaskHelper;
+
+public class RECIPES_General {
+
+ static final ItemStack NULL = null;
+ static ItemStack RECIPE_Paper;
+ static ItemStack RECIPE_Dirt;
+ static ItemStack RECIPE_Snow;
+ static ItemStack RECIPE_Obsidian;
+ static String RECIPE_LapisDust = "dustLazurite";
+ static ItemStack OUTPUT_Blueprint;
+ static ItemStack RECIPE_CraftingTable;
+ static ItemStack RECIPE_BasicCasingIC2;
+
+ public static void loadRecipes() {
+ RECIPE_Paper = ItemUtils.getSimpleStack(Items.paper);
+ RECIPE_Dirt = ItemUtils.getSimpleStack(Blocks.dirt);
+ RECIPE_Snow = ItemUtils.getSimpleStack(Blocks.snow);
+ RECIPE_Obsidian = ItemUtils.getSimpleStack(Blocks.obsidian);
+ RECIPE_CraftingTable = ItemUtils.getSimpleStack(Blocks.crafting_table);
+ RECIPE_BasicCasingIC2 = ItemUtils.getItemStackFromFQRN("IC2:blockMachine", 1);
+ OUTPUT_Blueprint = ItemUtils.getSimpleStack(ModItems.itemBlueprintBase, 2);
+ run();
+ addCompressedObsidian();
+ migratedRecipes();
+ }
+
+ private static void run() {
+ // Workbench Blueprint
+ RecipeUtils.addShapedRecipe(
+ RECIPE_Paper,
+ RECIPE_LapisDust,
+ NULL,
+ RECIPE_Paper,
+ RECIPE_LapisDust,
+ NULL,
+ RECIPE_LapisDust,
+ RECIPE_LapisDust,
+ NULL,
+ OUTPUT_Blueprint);
+
+ // Rainforest oak Sapling
+ if (RecipeUtils.addShapedRecipe(
+ "stickWood",
+ "stickWood",
+ "stickWood",
+ "stickWood",
+ "treeSapling",
+ "stickWood",
+ "stickWood",
+ "dustBone",
+ "stickWood",
+ ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest))) {
+ Logger.INFO("Added a recipe for Rainforest oak Saplings.");
+ }
+
+ // Iron bars
+ final ItemStack ironBars = ItemUtils.getItemStackFromFQRN("dreamcraft:item.SteelBars", 1);
+
+ // Fish Trap
+ if (RecipeUtils.addShapedRecipe(
+ ironBars,
+ ironBars,
+ ironBars,
+ ironBars,
+ "frameGtWroughtIron",
+ ironBars,
+ ironBars,
+ ironBars,
+ ironBars,
+ ItemUtils.getSimpleStack(ModBlocks.blockFishTrap))) {
+ Logger.INFO("Added a recipe for the Fish Trap.");
+ }
+
+ // Potin
+ if (RecipeUtils.addShapelessGregtechRecipe(
+ new Object[] { "dustLead", "dustBronze", "dustTin", "dustLead", "dustBronze" },
+ ALLOY.POTIN.getDust(5))) {
+ Logger.INFO("Added shapeless recipe for Potin Dust.");
+ }
+
+ // Tumbaga
+ if (RecipeUtils.addShapelessGregtechRecipe(
+ new Object[] { "dustGold", "dustGold", "dustCopper" },
+ ItemUtils.getSimpleStack(ModItems.dustTumbagaMix))) {
+ Logger.INFO("Added shapeless recipe for Tumbaga Mix.");
+ }
+ if (RecipeUtils.addShapelessGregtechRecipe(
+ new Object[] { ItemUtils.getSimpleStack(ModItems.dustTumbagaMix),
+ ItemUtils.getSimpleStack(ModItems.dustTumbagaMix), ItemUtils.getSimpleStack(ModItems.dustTumbagaMix),
+ "dustGold" },
+ ALLOY.TUMBAGA.getDust(10))) {
+ Logger.INFO("Added shapeless recipe for Tumbaga Dust.");
+ }
+
+ if (CORE.ConfigSwitches.enableMachine_Pollution) {
+ RecipeUtils.addShapedRecipe(
+ CI.craftingToolFile,
+ "plateIron",
+ "stickIron",
+ "plateIron",
+ "ringIron",
+ "plateIron",
+ "stickIron",
+ "plateIron",
+ CI.craftingToolHammer_Hard,
+ ItemUtils.simpleMetaStack(ModItems.itemBasicTurbine, 0, 1));
+ RecipeUtils.addShapedRecipe(
+ CI.craftingToolFile,
+ "plateBronze",
+ "stickBronze",
+ "plateBronze",
+ "ringBronze",
+ "plateBronze",
+ "stickBronze",
+ "plateBronze",
+ CI.craftingToolHammer_Hard,
+ ItemUtils.simpleMetaStack(ModItems.itemBasicTurbine, 1, 1));
+ RecipeUtils.addShapedRecipe(
+ CI.craftingToolFile,
+ "plateSteel",
+ "stickSteel",
+ "plateSteel",
+ "ringSteel",
+ "plateSteel",
+ "stickSteel",
+ "plateSteel",
+ CI.craftingToolHammer_Hard,
+ ItemUtils.simpleMetaStack(ModItems.itemBasicTurbine, 2, 1));
+ }
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getSimpleStack(Blocks.glass, 16),
+ ItemUtils.getSimpleStack(Blocks.glowstone, 16),
+ ItemList.Large_Fluid_Cell_Steel.get(1),
+ CI.getNumberedAdvancedCircuit(4))
+ .itemOutputs(VolumetricFlaskHelper.getLargeVolumetricFlask(2))
+ .fluidInputs(FluidUtils.getFluidStack("molten.borosilicateglass", 2000))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getSimpleStack(Blocks.glass, 64),
+ ItemUtils.getSimpleStack(Blocks.glowstone, 64),
+ ItemList.Large_Fluid_Cell_TungstenSteel.get(1),
+ CI.getNumberedAdvancedCircuit(5))
+ .itemOutputs(VolumetricFlaskHelper.getGiganticVolumetricFlask(2))
+ .fluidInputs(FluidUtils.getFluidStack("molten.borosilicateglass", 8000))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+
+ // Mining Explosive
+ Logger.RECIPE("[Inspection] Explosives");
+ if (RecipeUtils.addShapedRecipe(
+ CI.explosiveITNT,
+ CI.explosiveTNT,
+ CI.explosiveITNT,
+ CI.explosiveTNT,
+ "frameGtIron",
+ CI.explosiveTNT,
+ "dustSulfur",
+ CI.explosiveTNT,
+ "dustSulfur",
+ ItemUtils.getSimpleStack(ModBlocks.blockMiningExplosive, 3))) {
+ Logger.INFO("Added a recipe for Mining Explosives.");
+ }
+
+ // Alkalus Coin
+ if (RecipeUtils.addShapedRecipe(
+ "gemExquisiteRuby",
+ "gemFlawlessDiamond",
+ "gemExquisiteDiamond",
+ "gemFlawlessRuby",
+ ItemList.Credit_Greg_Osmium.get(1),
+ "gemFlawlessSapphire",
+ "gemExquisiteEmerald",
+ "gemFlawlessEmerald",
+ "gemExquisiteSapphire",
+ ItemUtils.getSimpleStack(ModItems.itemAlkalusDisk))) {
+ Logger.INFO("Added a recipe for The Alkalus Disk.");
+ }
+
+ /*
+ * final String fancyGems[] = new String[]{"gemExquisiteDiamond", "gemExquisiteEmerald", "gemExquisiteRuby",
+ * "gemExquisiteSapphire"}; final ItemStack gemShards[] = new
+ * ItemStack[]{ItemUtils.simpleMetaStack(ModItems.itemGemShards, 0, 1),
+ * ItemUtils.simpleMetaStack(ModItems.itemGemShards, 1, 1), ItemUtils.simpleMetaStack(ModItems.itemGemShards, 2,
+ * 1), ItemUtils.simpleMetaStack(ModItems.itemGemShards, 3, 1)}; int l=0; for (final String gem : fancyGems){
+ * GameRegistry.addShapelessRecipe( gemShards[l], ItemUtils.getItemStackOfAmountFromOreDict(gem, 1), new
+ * ItemStack(ModItems.itemAlkalusDisk, 1, OreDictionary.WILDCARD_VALUE)); l++; }
+ */
+
+ Logger.RECIPE("[Inspection] Wither Cage");
+ if (RecipeUtils.addShapedRecipe(
+ "stickBlackSteel",
+ "plateTungstenSteel",
+ "stickBlackSteel",
+ "plateTungstenSteel",
+ getSimpleStack(Items.nether_star),
+ "plateTungstenSteel",
+ "stickBlackSteel",
+ "plateTungstenSteel",
+ "stickBlackSteel",
+ ItemUtils.getSimpleStack(ModBlocks.blockWitherGuard, 32))) {
+ Logger.INFO("Added a recipe for Wither Cages.");
+ }
+
+ // Magic Feather
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ ItemUtils.getSimpleStack(Items.feather, 64),
+ ItemUtils.getSimpleStack(Blocks.emerald_block, 32),
+ ItemUtils.getSimpleStack(Blocks.diamond_block, 32),
+ Materials.Ruby.getBlocks(32),
+ Materials.Sapphire.getBlocks(32),
+ ItemUtils.getSimpleStack(Blocks.gold_block, 32))
+ .itemOutputs(ItemUtils.getSimpleStack(ModItems.itemMagicFeather, 1))
+ .fluidInputs(Materials.Silver.getMolten(32 * 144))
+ .duration(2 * MINUTES)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+
+ // Pest Killer
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ CI.getTieredMachineCasing(1),
+ CI.getElectricPump(2, 1),
+ CI.getPlate(2, 4),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(0), 2),
+ CI.getNumberedCircuit(16))
+ .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockPestKiller))
+ .fluidInputs(FluidUtils.getHotWater(500))
+ .duration(1 * MINUTES)
+ .eut(TierEU.RECIPE_LV / 2)
+ .addTo(assemblerRecipes);
+ }
+
+ private static boolean addCompressedObsidian() {
+ // Invert Obsidian
+ ItemStack aInvertedObsidian = ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, 5, 1);
+ if (RecipeUtils.addShapedRecipe(
+ getSimpleStack(Items.redstone),
+ getSimpleStack(Items.glowstone_dust),
+ getSimpleStack(Items.redstone),
+ getSimpleStack(Items.glowstone_dust),
+ ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, 1, 1),
+ getSimpleStack(Items.glowstone_dust),
+ getSimpleStack(Items.redstone),
+ getSimpleStack(Items.glowstone_dust),
+ getSimpleStack(Items.redstone),
+ aInvertedObsidian)) {
+ Logger.INFO("Added a recipe for Inverted Obsidian.");
+ }
+
+ final ItemStack[] mItems = new ItemStack[6];
+ mItems[0] = ItemUtils.getSimpleStack(Blocks.obsidian);
+ for (int r = 0; r < 5; r++) {
+ mItems[r + 1] = ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, r, 1);
+ }
+
+ final ItemStack[] mItems2 = new ItemStack[6];
+ mItems2[0] = ItemUtils.getSimpleStack(Blocks.glowstone);
+ for (int r = 0; r < 5; r++) {
+ mItems2[r + 1] = ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, 6 + r, 1);
+ }
+
+ // Compressed Obsidian 1-5
+ for (int r = 0; r < 5; r++) {
+
+ final ItemStack input = mItems[r];
+ final ItemStack output = mItems[r + 1];
+
+ if (RecipeUtils.addShapedRecipe(input, input, input, input, input, input, input, input, input, output)) {
+ Logger.INFO("Added a recipe for Compressed Obsidian [" + r + "]");
+ }
+
+ if (RecipeUtils
+ .addShapelessGregtechRecipe(new ItemStack[] { output }, ItemUtils.getSimpleStack(input, 9))) {
+ Logger.INFO("Added a shapeless recipe for Compressed Obsidian [" + r + "]");
+ }
+ }
+
+ // Compressed Glowstone 1-5
+ for (int r = 0; r < 5; r++) {
+
+ final ItemStack input = mItems2[r];
+ final ItemStack output = mItems2[r + 1];
+
+ if (RecipeUtils.addShapedRecipe(
+ input,
+ input,
+ input,
+ input,
+ r == 2 ? aInvertedObsidian : input,
+ input,
+ input,
+ input,
+ input,
+ output)) {
+ Logger.INFO("Added a recipe for Compressed Glowstone [" + r + "]");
+ }
+
+ if (RecipeUtils
+ .addShapelessGregtechRecipe(new ItemStack[] { output }, ItemUtils.getSimpleStack(input, 9))) {
+ Logger.INFO("Added a shapeless recipe for Compressed Glowstone [" + r + "]");
+ }
+ }
+ return true;
+ }
+
+ private static void migratedRecipes() {
+
+ RecipeUtils.generateMortarRecipe(
+ ItemUtils.getSimpleStack(ModItems.itemPlateRawMeat),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustMeatRaw", 1));
+
+ generateWireRecipes(ELEMENT.getInstance().ZIRCONIUM);
+ generateWireRecipes(ALLOY.HG1223);
+ generateWireRecipes(ALLOY.LEAGRISIUM);
+ generateWireRecipes(ALLOY.TRINIUM_TITANIUM);
+ generateWireRecipes(ELEMENT.STANDALONE.HYPOGEN);
+ generateWireRecipes(ELEMENT.STANDALONE.CHRONOMATIC_GLASS);
+
+ // No Material for void, natch.
+ if (Thaumcraft.isModLoaded()) {
+ generatePipeRecipes(GT_Materials.Void.mDefaultLocalName, GT_Materials.Void.getMass(), 16);
+ }
+
+ Material[] gtpp = new Material[] { ALLOY.STABALLOY, ALLOY.TANTALLOY_60, ALLOY.TANTALLOY_61, ALLOY.POTIN,
+ ALLOY.MARAGING300, ALLOY.MARAGING350, ALLOY.INCONEL_690, ALLOY.INCONEL_792, ALLOY.HASTELLOY_X,
+ ALLOY.TRINIUM_NAQUADAH_CARBON };
+
+ for (Material mat : gtpp) {
+ // generatePipeRecipes multiplies the voltage multiplier by 8 because ??! reasons.
+ generatePipeRecipes(mat.getLocalizedName(), mat.getMass(), mat.vVoltageMultiplier / 8);
+ }
+
+ Materials[] h = new Materials[] { Materials.Europium, Materials.Tungsten, Materials.DarkSteel, Materials.Clay,
+ Materials.Lead, };
+
+ for (Materials e : h) {
+ if (e == Materials.DarkSteel) {
+ if (!EnderIO.isModLoaded()) {
+ continue;
+ }
+ }
+ int tVoltageMultiplier = (e.mBlastFurnaceTemp >= 2800) ? 64 : 16;
+ generatePipeRecipes(e.mDefaultLocalName, e.getMass(), tVoltageMultiplier);
+ }
+
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[6],
+ ALLOY.MARAGING250.getGear(1),
+ CI.component_Plate[6],
+ CI.getTieredCircuitOreDictName(4),
+ GregtechItemList.Casing_AdvancedVacuum.get(1),
+ CI.getTieredCircuitOreDictName(4),
+ CI.component_Plate[5],
+ ItemList.Hatch_Input_IV.get(1),
+ CI.component_Plate[5],
+ GregtechItemList.Hatch_Input_Cryotheum.get(1L));
+
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[6],
+ ALLOY.MARAGING300.getGear(1),
+ CI.component_Plate[6],
+ CI.getTieredCircuitOreDictName(5),
+ GregtechItemList.Casing_Adv_BlastFurnace.get(1),
+ CI.getTieredCircuitOreDictName(5),
+ CI.component_Plate[6],
+ ItemList.Hatch_Input_IV.get(1),
+ CI.component_Plate[6],
+ GregtechItemList.Hatch_Input_Pyrotheum.get(1L));
+
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[8],
+ ALLOY.PIKYONIUM.getGear(1),
+ CI.component_Plate[9],
+ CI.getTieredCircuitOreDictName(7),
+ GregtechItemList.Casing_Naq_Reactor_A.get(1),
+ CI.getTieredCircuitOreDictName(7),
+ CI.component_Plate[9],
+ ItemList.Hatch_Input_ZPM.get(1),
+ CI.component_Plate[8],
+ GregtechItemList.Hatch_Input_Naquadah.get(1L, new Object[0]));
+
+ if (PollutionUtils.isPollutionEnabled()) {
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Hatch_Muffler_Adv_LV.get(1L, new Object[0]),
+ bitsd,
+ new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_LV.get(1),
+ Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_LV.get(1) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Hatch_Muffler_Adv_MV.get(1L, new Object[0]),
+ bitsd,
+ new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_MV.get(1),
+ Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_MV.get(1) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Hatch_Muffler_Adv_HV.get(1L, new Object[0]),
+ bitsd,
+ new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_HV.get(1),
+ Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_HV.get(1) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Hatch_Muffler_Adv_EV.get(1L, new Object[0]),
+ bitsd,
+ new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_EV.get(1),
+ Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_EV.get(1) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Hatch_Muffler_Adv_IV.get(1L, new Object[0]),
+ bitsd,
+ new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_IV.get(1),
+ Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_IV.get(1) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Hatch_Muffler_Adv_LuV.get(1L, new Object[0]),
+ bitsd,
+ new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_LuV.get(1),
+ Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_LuV.get(1) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Hatch_Muffler_Adv_ZPM.get(1L, new Object[0]),
+ bitsd,
+ new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_ZPM.get(1),
+ Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_ZPM.get(1) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Hatch_Muffler_Adv_UV.get(1L, new Object[0]),
+ bitsd,
+ new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_UV.get(1),
+ Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_UV.get(1) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Hatch_Muffler_Adv_MAX.get(1L, new Object[0]),
+ bitsd,
+ new Object[] { "M", "P", Character.valueOf('M'), ItemList.Hatch_Muffler_MAX.get(1),
+ Character.valueOf('P'), GregtechItemList.Pollution_Cleaner_MAX.get(1) });
+ }
+ }
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java
new file mode 100644
index 0000000000..1f8d5d9a8e
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java
@@ -0,0 +1,135 @@
+package gtPlusPlus.core.recipe;
+
+import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes;
+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 net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OreDictNames;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.TierEU;
+import gregtech.api.interfaces.IOreRecipeRegistrator;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
+
+public class RECIPES_LaserEngraver implements IOreRecipeRegistrator {
+
+ public RECIPES_LaserEngraver() {
+ OrePrefixes.crafting.add(this);
+ }
+
+ @Override
+ public void registerOre(final OrePrefixes aPrefix, final Materials aMaterial, final String aOreDictName,
+ final String aModName, final ItemStack aStack) {
+ if (aOreDictName.equals(OreDictNames.craftingLensWhite.toString())) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lithium, 2L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("plateDoubleLithium7", 1))
+ .duration(4 * MINUTES)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(laserEngraverRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 3L),
+ GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 1))
+ .duration(2 * MINUTES)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(laserEngraverRecipes);
+
+ } else if (aOreDictName.equals(OreDictNames.craftingLensLime.toString())) {
+ // Coil Wires
+ ItemStack coilWire1 = ItemUtils
+ .getItemStackWithMeta(true, "miscutils:itemDehydratorCoilWire", "coilWire1", 0, 1);
+ ItemStack coilWire2 = ItemUtils
+ .getItemStackWithMeta(true, "miscutils:itemDehydratorCoilWire:1", "coilWire2", 1, 1);
+ ItemStack coilWire3 = ItemUtils
+ .getItemStackWithMeta(true, "miscutils:itemDehydratorCoilWire:2", "coilWire3", 2, 1);
+ ItemStack coilWire4 = ItemUtils
+ .getItemStackWithMeta(true, "miscutils:itemDehydratorCoilWire:3", "coilWire4", 3, 1);
+
+ // Simple Life
+ String wire = "wireGt02";
+
+ // Wires to Laser
+ ItemStack wireT1a = ItemUtils.getItemStackOfAmountFromOreDict(wire + "Aluminium", 1);
+ ItemStack wireT1b = ItemUtils.getItemStackOfAmountFromOreDict(wire + "Nichrome", 1);
+ ItemStack wireT2a = ItemUtils.getItemStackOfAmountFromOreDict(wire + "Osmium", 1);
+ ItemStack wireT2b = ItemUtils.getItemStackOfAmountFromOreDict(wire + "Platinum", 1);
+ ItemStack wireT3a = ItemUtils.getItemStackOfAmountFromOreDict(wire + "VanadiumGallium", 1);
+ ItemStack wireT3b = ItemUtils.getItemStackOfAmountFromOreDict(wire + "YttriumBariumCuprate", 1);
+ ItemStack wireT3c = ItemUtils.getItemStackOfAmountFromOreDict(wire + "NiobiumTitanium", 1);
+ ItemStack wireT4a = ItemUtils.getItemStackOfAmountFromOreDict(wire + "Naquadah", 1);
+
+ // T1
+ GT_Values.RA.stdBuilder()
+ .itemInputs(wireT1a, GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(coilWire1)
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(laserEngraverRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(wireT1b, GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(coilWire1)
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(laserEngraverRecipes);
+ // T2
+ GT_Values.RA.stdBuilder()
+ .itemInputs(wireT2a, GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(coilWire2)
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(laserEngraverRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(wireT2b, GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(coilWire2)
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(laserEngraverRecipes);
+ // T3
+ GT_Values.RA.stdBuilder()
+ .itemInputs(wireT3a, GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(coilWire3)
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(laserEngraverRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(wireT3b, GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(coilWire3)
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(laserEngraverRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(wireT3c, GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(coilWire3)
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(laserEngraverRecipes);
+ // T4
+ GT_Values.RA.stdBuilder()
+ .itemInputs(wireT4a, GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(coilWire4)
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(laserEngraverRecipes);
+
+ } else if (aOreDictName.equals(OreDictNames.craftingLensOrange.toString())) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(ItemUtils.getSimpleStack(ModItems.itemAlkalusDisk), GT_Utility.copyAmount(0L, aStack))
+ .itemOutputs(ItemUtils.getSimpleStack(Dimension_Everglades.portalItem))
+ .duration(3 * HOURS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(laserEngraverRecipes);
+ }
+ }
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java
new file mode 100644
index 0000000000..4929872caa
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java
@@ -0,0 +1,10 @@
+package gtPlusPlus.core.recipe;
+
+public class RECIPES_MachineComponents {
+
+ // Fluid Pipe
+ public static String pipeTier7 = "pipeHugeSteel";
+ public static String pipeTier8 = "pipeHugeStainlessSteel";
+ public static String pipeTier9 = "pipeHugeTitanium";
+
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
new file mode 100644
index 0000000000..2f9e347b52
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -0,0 +1,2960 @@
+package gtPlusPlus.core.recipe;
+
+import static gregtech.api.enums.Mods.BartWorks;
+import static gregtech.api.enums.Mods.EternalSingularity;
+import static gregtech.api.enums.Mods.GoodGenerator;
+import static gregtech.api.enums.Mods.GregTech;
+import static gregtech.api.enums.Mods.Railcraft;
+import static gregtech.api.enums.Mods.RemoteIO;
+
+import java.util.List;
+
+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 net.minecraftforge.oredict.OreDictionary;
+
+import com.github.technus.tectech.recipe.TT_recipeAdder;
+import com.github.technus.tectech.thing.CustomItemList;
+import com.google.common.collect.ImmutableList;
+
+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.OrePrefixes;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.block.ModBlocks;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.item.chemistry.AgriculturalChem;
+import gtPlusPlus.core.item.crafting.ItemDummyResearch;
+import gtPlusPlus.core.item.crafting.ItemDummyResearch.ASSEMBLY_LINE_RESEARCH;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.MISC_MATERIALS;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.covers.CoverManager;
+import gtPlusPlus.xmod.gregtech.common.helpers.VolumetricFlaskHelper;
+
+public class RECIPES_Machines {
+
+ // Outputs
+ public static ItemStack RECIPE_Buffer_ULV = GregtechItemList.Energy_Buffer_1by1_ULV.get(1);
+ public static ItemStack RECIPE_Buffer_LV = GregtechItemList.Energy_Buffer_1by1_LV.get(1);
+ public static ItemStack RECIPE_Buffer_MV = GregtechItemList.Energy_Buffer_1by1_MV.get(1);
+ public static ItemStack RECIPE_Buffer_HV = GregtechItemList.Energy_Buffer_1by1_HV.get(1);
+ public static ItemStack RECIPE_Buffer_EV = GregtechItemList.Energy_Buffer_1by1_EV.get(1);
+ public static ItemStack RECIPE_Buffer_IV = GregtechItemList.Energy_Buffer_1by1_IV.get(1);
+ public static ItemStack RECIPE_Buffer_LuV = GregtechItemList.Energy_Buffer_1by1_LuV.get(1);
+ public static ItemStack RECIPE_Buffer_ZPM = GregtechItemList.Energy_Buffer_1by1_ZPM.get(1);
+ public static ItemStack RECIPE_Buffer_UV = GregtechItemList.Energy_Buffer_1by1_UV.get(1);
+ public static ItemStack RECIPE_Buffer_MAX = GregtechItemList.Energy_Buffer_1by1_MAX.get(1);
+ // Industrial Centrifuge
+ public static ItemStack RECIPE_IndustrialCentrifugeController;
+ public static ItemStack RECIPE_IndustrialCentrifugeCasing;
+ // Industrial Coke Oven
+ public static ItemStack RECIPE_IndustrialCokeOvenController;
+ public static ItemStack RECIPE_IndustrialCokeOvenFrame;
+ public static ItemStack RECIPE_IndustrialCokeOvenCasingA;
+ public static ItemStack RECIPE_IndustrialCokeOvenCasingB;
+ // Industrial Electrolyzer
+ public static ItemStack RECIPE_IndustrialElectrolyzerController;
+ public static ItemStack RECIPE_IndustrialElectrolyzerFrame;
+ // Industrial Material Press
+ public static ItemStack RECIPE_IndustrialMaterialPressController;
+ public static ItemStack RECIPE_IndustrialMaterialPressFrame;
+ // Industrial Maceration Stack
+ public static ItemStack RECIPE_IndustrialMacerationStackController;
+ public static ItemStack RECIPE_IndustrialMacerationStackFrame;
+ // Industrial Wire Factory
+ public static ItemStack RECIPE_IndustrialWireFactoryController;
+ public static ItemStack RECIPE_IndustrialWireFactoryFrame;
+ // Industrial Multi Tank
+ public static ItemStack RECIPE_IndustrialMultiTankController;
+ public static ItemStack RECIPE_IndustrialMultiTankFrame;
+ // Industrial Matter Fabricator
+ public static ItemStack RECIPE_IndustrialMatterFabController;
+ public static ItemStack RECIPE_IndustrialMatterFabFrame;
+ public static ItemStack RECIPE_IndustrialMatterFabCoil;
+ // Industrial Blast Smelter
+ public static ItemStack RECIPE_IndustrialBlastSmelterController;
+ public static ItemStack RECIPE_IndustrialBlastSmelterFrame;
+ public static ItemStack RECIPE_IndustrialBlastSmelterCoil;
+ // Industrial Sieve
+ public static ItemStack RECIPE_IndustrialSieveController;
+ public static ItemStack RECIPE_IndustrialSieveFrame;
+ public static ItemStack RECIPE_IndustrialSieveGrate;
+ // Industrial Tree Farmer
+ public static ItemStack RECIPE_TreeFarmController;
+ public static ItemStack RECIPE_TreeFarmFrame;
+ // Tesseracts
+ public static ItemStack RECIPE_TesseractGenerator;
+ public static ItemStack RECIPE_TesseractTerminal;
+ // Thermal Boiler
+ public static ItemStack RECIPE_ThermalBoilerController;
+ public static ItemStack RECIPE_ThermalBoilerCasing;
+
+ // Thorium Reactor
+ public static ItemStack RECIPE_LFTRController;
+ public static ItemStack RECIPE_LFTROuterCasing;
+ public static ItemStack RECIPE_LFTRInnerCasing;
+
+ // Nuclear Salt Processing Plant
+ public static ItemStack RECIPE_SaltPlantController;
+
+ // Cyclotron
+ public static ItemStack RECIPE_CyclotronController;
+ public static ItemStack RECIPE_CyclotronOuterCasing;
+ public static ItemStack RECIPE_CyclotronInnerCoil;
+
+ // Wire
+ public static String cableTier4 = "cableGt04Gold";
+ public static String cableTier6 = "cableGt04Tungsten";
+
+ public static String pipeTier1 = "pipeHuge" + "Clay";
+ public static String pipeTier2 = "pipeHuge" + "Potin";
+ public static String pipeTier3 = "pipeHuge" + "Steel";
+ public static String pipeTier4 = "pipeHuge" + "StainlessSteel";
+ public static String pipeTier7 = "pipeHuge" + "Tantalloy60";
+
+ // EV/IV MACHINES
+ public static ItemStack IV_MACHINE_Electrolyzer;
+ public static ItemStack EV_MACHINE_Centrifuge;
+ public static ItemStack EV_MACHINE_BendingMachine;
+ public static ItemStack IV_MACHINE_Wiremill;
+ public static ItemStack EV_MACHINE_Macerator;
+ public static ItemStack IV_MACHINE_Macerator;
+ public static ItemStack IV_MACHINE_Cutter;
+ public static ItemStack IV_MACHINE_Extruder;
+ public static ItemStack HV_MACHINE_Sifter;
+ public static ItemStack EV_MACHINE_ThermalCentrifuge;
+ public static ItemStack EV_MACHINE_OreWasher;
+ public static ItemStack IV_MACHINE_AlloySmelter;
+ public static ItemStack IV_MACHINE_Mixer;
+ public static ItemStack EV_MACHINE_ChemicalBath;
+
+ // Plates
+ public static String plateBronze = "plateBronze";
+ public static String plateSteel = "plateSteel";
+
+ // Pipes
+ public static String pipeHugeStainlessSteel = "pipeHugeStainlessSteel";
+
+ // Lava Boiler
+ public static ItemStack boiler_Coal;
+ public static ItemStack IC2MFE;
+ public static ItemStack IC2MFSU;
+
+ // Misc
+ public static ItemStack INPUT_RCCokeOvenBlock;
+
+ public static final void loadRecipes() {
+ run();
+ Logger.INFO("Loading Recipes for the Various machine blocks.");
+ }
+
+ private static void run() {
+
+ initModItems();
+ tieredMachineHulls();
+ energyCores();
+ wirelessChargers();
+ largeArcFurnace();
+ industrialVacuumFurnace();
+ fakeMachineCasingCovers();
+ overflowValveCovers();
+ superBuses();
+ distillus();
+ algaeFarm();
+ chemPlant();
+ zyngen();
+ milling();
+ sparging();
+ chisels();
+ rockBreaker();
+ thermicFluidHeater();
+ advHeatExchanger();
+ chiselBuses();
+ solidifierHatches();
+
+ gt4FarmManager();
+ gt4Inventory();
+
+ multiForgeHammer();
+ multiMolecularTransformer();
+ multiXlTurbines();
+ multiSolarTower();
+ multiElementalDuplicator();
+
+ resonanceChambers();
+ modulators();
+ }
+
+ private static void thermicFluidHeater() {
+
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getPlate(5, 1),
+ CI.circuitTier5,
+ CI.getPlate(5, 1),
+ pipeTier7,
+ ItemList.Machine_IV_FluidHeater.get(1),
+ pipeTier7,
+ CI.getPlate(5, 1),
+ CI.circuitTier4,
+ CI.getPlate(5, 1),
+ GregtechItemList.Controller_IndustrialFluidHeater.get(1));
+ }
+
+ private static void advHeatExchanger() {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Machine_Multi_HeatExchanger.get(1),
+ CI.getDoublePlate(6, 8), CI.getScrew(6, 16), CI.getCircuit(5, 8) },
+ CI.tieredMaterials[5].getMolten(144 * 8),
+ GregtechItemList.XL_HeatExchanger.get(1),
+ 20 * 60,
+ MaterialUtils.getVoltageForTier(6));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_StableTitanium.get(1),
+ CI.getPlate(5, 4), CI.getScrew(5, 8), },
+ CI.tieredMaterials[5].getMolten(144 * 2),
+ GregtechItemList.Casing_XL_HeatExchanger.get(1),
+ 20 * 5,
+ MaterialUtils.getVoltageForTier(6));
+ }
+
+ private static void gt4FarmManager() {
+
+ ItemList[] aInputHatches = new ItemList[] { ItemList.Hatch_Input_LV, ItemList.Hatch_Input_MV,
+ ItemList.Hatch_Input_HV, ItemList.Hatch_Input_EV, ItemList.Hatch_Input_IV, ItemList.Hatch_Input_LuV,
+ ItemList.Hatch_Input_ZPM, ItemList.Hatch_Input_UV };
+ GregtechItemList[] aOutputMachines = new GregtechItemList[] { GregtechItemList.GT4_Crop_Harvester_LV,
+ GregtechItemList.GT4_Crop_Harvester_MV, GregtechItemList.GT4_Crop_Harvester_HV,
+ GregtechItemList.GT4_Crop_Harvester_EV, GregtechItemList.GT4_Crop_Harvester_IV,
+ GregtechItemList.GT4_Crop_Harvester_LuV, GregtechItemList.GT4_Crop_Harvester_ZPM,
+ GregtechItemList.GT4_Crop_Harvester_UV };
+
+ int aTier = 1;
+ for (int i = 0; i < 8; i++) {
+ RecipeUtils.addShapedRecipe(
+ CI.getRobotArm(aTier, 1),
+ CI.getSensor(aTier, 1),
+ CI.getRobotArm(aTier, 1),
+ ItemUtils.getOrePrefixStack(OrePrefixes.toolHeadSense, CI.tieredMaterials[aTier], 1),
+ CI.getTieredMachineHull(aTier, 1),
+ ItemUtils.getOrePrefixStack(OrePrefixes.toolHeadSense, CI.tieredMaterials[aTier], 1),
+ CI.getTieredCircuitOreDictName(aTier),
+ aInputHatches[i].get(1),
+ CI.getTieredCircuitOreDictName(aTier),
+ aOutputMachines[i].get(1));
+ aTier++;
+ }
+ }
+
+ private static void gt4Inventory() {
+
+ GregtechItemList[] aOutputElectricCraftingTable = new GregtechItemList[] {
+ GregtechItemList.GT4_Electric_Auto_Workbench_LV, GregtechItemList.GT4_Electric_Auto_Workbench_MV,
+ GregtechItemList.GT4_Electric_Auto_Workbench_HV, GregtechItemList.GT4_Electric_Auto_Workbench_EV,
+ GregtechItemList.GT4_Electric_Auto_Workbench_IV, GregtechItemList.GT4_Electric_Auto_Workbench_LuV,
+ GregtechItemList.GT4_Electric_Auto_Workbench_ZPM, GregtechItemList.GT4_Electric_Auto_Workbench_UV };
+
+ int aTier = 1;
+ for (int i = 0; i < 8; i++) {
+ RecipeUtils.addShapedRecipe(
+ ItemUtils.getOrePrefixStack(OrePrefixes.plate, CI.tieredMaterials[aTier], 1),
+ ItemUtils.getSimpleStack(Blocks.crafting_table),
+ ItemUtils.getOrePrefixStack(OrePrefixes.plate, CI.tieredMaterials[aTier], 1),
+ CI.getTieredCircuitOreDictName(aTier),
+ CI.getTieredMachineHull(aTier),
+ CI.getTieredCircuitOreDictName(aTier),
+ ItemUtils.getOrePrefixStack(OrePrefixes.plate, CI.tieredMaterials[aTier], 1),
+ CI.getRobotArm(aTier, 1),
+ ItemUtils.getOrePrefixStack(OrePrefixes.plate, CI.tieredMaterials[aTier], 1),
+ aOutputElectricCraftingTable[i].get(1));
+ aTier++;
+ }
+ }
+
+ private static void multiForgeHammer() {
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemUtils.getSimpleStack(CI.machineHull_IV, 2), ItemList.Machine_IV_Hammer.get(1),
+ CI.getPlate(4, 8), CI.getBolt(5, 32), ELEMENT.getInstance().ZIRCONIUM.getFineWire(32),
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitElite", 4) },
+ CI.getTieredFluid(4, 144 * 12),
+ GregtechItemList.Controller_IndustrialForgeHammer.get(1),
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(5));
+
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Casing_IndustrialForgeHammer.get(1),
+ CI.bitsd,
+ new Object[] { "IBI", "HCH", "IHI", 'I', CI.getPlate(4, 1), 'B', ALLOY.BABBIT_ALLOY.getPlate(1), 'C',
+ ItemList.Casing_HeatProof.get(1), 'H', ALLOY.HASTELLOY_X.getRod(1) });
+ }
+
+ private static void multiMolecularTransformer() {
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getTieredGTPPMachineCasing(6, 1), CI.getPlate(5, 16), CI.getBolt(5, 32),
+ ALLOY.HG1223.getFineWire(64), CI.getEmitter(4, 8),
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitMaster", 10) },
+ CI.getTieredFluid(5, 144 * 16),
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_11_MOLECULAR_TRANSFORMER, 1),
+ 20 * 60,
+ MaterialUtils.getVoltageForTier(5));
+
+ CORE.RA.addAssemblylineRecipe(
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_11_MOLECULAR_TRANSFORMER, 1),
+ 20 * 60 * 30,
+ new Object[] { ALLOY.HG1223.getFineWire(64), ALLOY.HG1223.getFineWire(64),
+ ItemList.Electric_Motor_IV.get(16), ItemList.Energy_LapotronicOrb.get(16),
+ CI.getTieredComponent(OrePrefixes.cableGt12, 6, 16), CI.getTieredComponent(OrePrefixes.wireGt16, 5, 32),
+ ALLOY.ZERON_100.getFrameBox(4), ALLOY.ZIRCONIUM_CARBIDE.getPlateDouble(32),
+ ALLOY.BABBIT_ALLOY.getPlate(64), ALLOY.LEAGRISIUM.getGear(8),
+ new Object[] { CI.getTieredCircuitOreDictName(4), 64 },
+ new Object[] { CI.getTieredCircuitOreDictName(5), 32 },
+ new Object[] { CI.getTieredCircuitOreDictName(6), 16 },
+ GregtechItemList.Laser_Lens_WoodsGlass.get(1), },
+ new FluidStack[] { ALLOY.NITINOL_60.getFluidStack(144 * 9 * (2)),
+ ALLOY.INCOLOY_MA956.getFluidStack(144 * 9 * (8)), ALLOY.KANTHAL.getFluidStack(144 * 1 * (4)), },
+ GregtechItemList.Controller_MolecularTransformer.get(1),
+ 20 * 60 * 10 * (1),
+ MaterialUtils.getVoltageForTier(6));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(16), CI.getPlate(6, 4), CI.getScrew(6, 8),
+ ELEMENT.getInstance().PALLADIUM.getFineWire(16), CI.getSensor(5, 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitElite", 4) },
+ CI.getTieredFluid(5, 144 * 4),
+ GregtechItemList.Casing_Molecular_Transformer_1.get(1),
+ 20 * 20,
+ MaterialUtils.getVoltageForTier(5));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(16), CI.getPlate(5, 4), CI.getScrew(5, 8),
+ ItemList.Casing_Coil_Nichrome.get(2), CI.getFieldGenerator(3, 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitData", 8) },
+ CI.getTieredFluid(5, 144 * 4),
+ GregtechItemList.Casing_Molecular_Transformer_2.get(1),
+ 20 * 20,
+ MaterialUtils.getVoltageForTier(5));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(16), ItemUtils.getSimpleStack(Blocks.glowstone, 16),
+ CI.getGear(5, 8), ELEMENT.getInstance().TITANIUM.getWire04(4), CI.getFieldGenerator(4, 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitData", 8) },
+ CI.getTieredFluid(5, 144 * 4),
+ GregtechItemList.Casing_Molecular_Transformer_3.get(1),
+ 20 * 60,
+ MaterialUtils.getVoltageForTier(5));
+ }
+
+ private static void multiXlTurbines() {
+
+ RecipeUtils.addShapedRecipe(
+ CI.getDoublePlate(4, 1),
+ CI.getElectricMotor(3, 1),
+ CI.getDoublePlate(4, 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellLubricant", 1),
+ ItemList.Casing_Gearbox_Titanium.get(1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellLubricant", 1),
+ CI.getDoublePlate(4, 1),
+ CI.getElectricMotor(3, 1),
+ CI.getDoublePlate(4, 1),
+ GregtechItemList.Casing_Turbine_Shaft.get(1));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine.get(1), CI.getPlate(4, 4),
+ CI.getScrew(4, 8), CI.getCircuit(4, 4), CI.getGear(3, 8) },
+ CI.tieredMaterials[3].getMolten(144 * 8),
+ GregtechItemList.Hatch_Turbine_Rotor.get(1),
+ 20 * 60,
+ MaterialUtils.getVoltageForTier(4));
+
+ // Steam
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine.get(1), CI.getPlate(3, 4),
+ CI.getScrew(3, 8), },
+ CI.tieredMaterials[2].getMolten(144 * 2),
+ GregtechItemList.Casing_Turbine_LP.get(1),
+ 20 * 5,
+ MaterialUtils.getVoltageForTier(3));
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.LargeSteamTurbine.get(1), CI.getPlate(4, 8),
+ CI.getScrew(4, 16), CI.getGear(4, 4), CI.getCircuit(4, 8) },
+ CI.tieredMaterials[4].getMolten(144 * 8),
+ GregtechItemList.Large_Steam_Turbine.get(1),
+ 20 * 60,
+ MaterialUtils.getVoltageForTier(4));
+
+ // Gas
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine1.get(1), CI.getPlate(4, 4),
+ CI.getScrew(4, 8), },
+ CI.tieredMaterials[3].getMolten(144 * 2),
+ GregtechItemList.Casing_Turbine_Gas.get(1),
+ 20 * 5,
+ MaterialUtils.getVoltageForTier(4));
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.LargeGasTurbine.get(1), CI.getPlate(5, 8),
+ CI.getScrew(5, 16), CI.getGear(5, 4), CI.getCircuit(5, 8) },
+ CI.tieredMaterials[5].getMolten(144 * 8),
+ GregtechItemList.Large_Gas_Turbine.get(1),
+ 20 * 60,
+ MaterialUtils.getVoltageForTier(5));
+
+ // HP Steam
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine2.get(1), CI.getPlate(5, 4),
+ CI.getScrew(5, 8), },
+ CI.tieredMaterials[4].getMolten(144 * 2),
+ GregtechItemList.Casing_Turbine_HP.get(1),
+ 20 * 5,
+ MaterialUtils.getVoltageForTier(5));
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.LargeHPSteamTurbine.get(1), CI.getPlate(6, 8),
+ CI.getScrew(6, 16), CI.getGear(6, 4), CI.getCircuit(6, 8) },
+ CI.tieredMaterials[6].getMolten(144 * 8),
+ GregtechItemList.Large_HPSteam_Turbine.get(1),
+ 20 * 60,
+ MaterialUtils.getVoltageForTier(6));
+
+ // Plasma
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine3.get(1), CI.getPlate(6, 4),
+ CI.getScrew(6, 8), },
+ CI.tieredMaterials[5].getMolten(144 * 2),
+ GregtechItemList.Casing_Turbine_Plasma.get(1),
+ 20 * 5,
+ MaterialUtils.getVoltageForTier(6));
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.LargePlasmaTurbine.get(1), CI.getPlate(7, 8),
+ CI.getScrew(7, 16), CI.getGear(7, 4), CI.getCircuit(7, 8) },
+ CI.tieredMaterials[7].getMolten(144 * 8),
+ GregtechItemList.Large_Plasma_Turbine.get(1),
+ 20 * 60,
+ MaterialUtils.getVoltageForTier(7));
+ if (GoodGenerator.isModLoaded()) {
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18),
+ GT_ModHandler.getModItem(GoodGenerator.ID, "supercriticalFluidTurbineCasing", 1),
+ GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedplate", 4, 10101),
+ GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedscrew", 8, 10101) },
+ FluidRegistry.getFluidStack("molten.adamantium alloy", 144 * 2),
+ GregtechItemList.Casing_Turbine_SC.get(1),
+ 20 * 5,
+ MaterialUtils.getVoltageForTier(6));
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(18),
+ GT_ModHandler.getModItem(GregTech.ID, "gt.blockmachines", 1, 32016),
+ GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedplate", 8, 10104),
+ GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedscrew", 16, 10104),
+ GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedgearGt", 4, 10104), CI.getCircuit(7, 8) },
+ FluidRegistry.getFluidStack("molten.hikarium", 144 * 8),
+ GregtechItemList.Large_SCSteam_Turbine.get(1),
+ 20 * 60,
+ MaterialUtils.getVoltageForTier(7));
+ }
+ }
+
+ private static void multiSolarTower() {
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getTieredGTPPMachineCasing(3, 4),
+ ALLOY.MARAGING250.getPlate(8), ALLOY.MARAGING250.getBolt(8), ALLOY.MARAGING250.getScrew(8),
+ CI.getCircuit(5, 8) },
+ CI.getTieredFluid(3, 144 * 16),
+ GregtechItemList.Industrial_Solar_Tower.get(1),
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(4));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(17), ALLOY.MARAGING350.getFrameBox(1),
+ ALLOY.STAINLESS_STEEL.getPlate(4), ALLOY.MARAGING350.getScrew(8) },
+ CI.getTieredFluid(3, 144 * 4),
+ GregtechItemList.Casing_SolarTower_Structural.get(1),
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(3));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(17), ALLOY.MARAGING250.getFrameBox(1),
+ ALLOY.STAINLESS_STEEL.getPlate(4), ALLOY.MARAGING250.getBolt(16),
+ ELEMENT.getInstance().ALUMINIUM.getScrew(8) },
+ CI.getTieredFluid(3, 144 * 4),
+ GregtechItemList.Casing_SolarTower_SaltContainment.get(1),
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(3));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(17), ALLOY.MARAGING250.getFrameBox(1),
+ ALLOY.STEEL_BLACK.getPlate(4), ALLOY.MARAGING250.getScrew(8) },
+ CI.getAlternativeTieredFluid(3, 144 * 4),
+ GregtechItemList.Casing_SolarTower_HeatContainment.get(1),
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(3));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getTieredGTPPMachineCasing(2, 1), CI.getPlate(3, 2),
+ CI.getGear(3, 4), CI.getElectricMotor(3, 2), CI.getCircuit(3, 4) },
+ CI.getTertiaryTieredFluid(3, 144 * 4),
+ GregtechItemList.Solar_Tower_Reflector.get(1),
+ 20 * 60,
+ MaterialUtils.getVoltageForTier(3));
+ }
+
+ private static void multiElementalDuplicator() {
+
+ CORE.RA.addAssemblylineRecipe(
+ ItemList.Machine_IV_Replicator.get(1),
+ 20 * 60 * 60 * 12,
+ new Object[] { CI.getTieredMachineHull(7, 4), CI.getFieldGenerator(5, 16), CI.getElectricMotor(7, 16),
+ CI.getElectricPiston(7, 4), CI.getEnergyCore(6, 2), CI.getPlate(7, 16), CI.getScrew(7, 32),
+ CI.getBolt(6, 32), CI.getTieredComponent(OrePrefixes.rod, 6, 10),
+ new Object[] { CI.getTieredCircuitOreDictName(7), 20 }, ItemList.Tool_DataOrb.get(32),
+ GregtechItemList.Laser_Lens_Special.get(1) },
+ new FluidStack[] { CI.getTieredFluid(7, 144 * 32), CI.getAlternativeTieredFluid(6, 144 * 16),
+ CI.getTertiaryTieredFluid(6, 144 * 16), ALLOY.BABBIT_ALLOY.getFluidStack(128 * 144), },
+ GregtechItemList.Controller_ElementalDuplicator.get(1),
+ 20 * 60 * 60,
+ (int) MaterialUtils.getVoltageForTier(7));
+
+ CORE.RA.addAssemblylineRecipe(
+ GregtechItemList.Modulator_III.get(1),
+ 20 * 60 * 60 * 4,
+ new Object[] { CI.getTieredGTPPMachineCasing(7, 2), CI.getFieldGenerator(4, 4), CI.getEnergyCore(4, 2),
+ CI.getPlate(7, 8), CI.getScrew(6, 16), CI.getBolt(6, 16), CI.getTieredComponent(OrePrefixes.rod, 5, 16),
+ new Object[] { CI.getTieredCircuitOreDictName(6), 32 }, ItemList.Tool_DataOrb.get(32), },
+ new FluidStack[] { CI.getTieredFluid(6, 144 * 16), CI.getAlternativeTieredFluid(5, 144 * 8),
+ CI.getTertiaryTieredFluid(5, 144 * 8), ALLOY.BABBIT_ALLOY.getFluidStack(64 * 144), },
+ GregtechItemList.Hatch_Input_Elemental_Duplicator.get(1),
+ 20 * 60 * 60 * (2),
+ (int) MaterialUtils.getVoltageForTier(6));
+
+ CORE.RA.addAssemblylineRecipe(
+ GregtechItemList.ResonanceChamber_III.get(1),
+ 20 * 60 * 60 * 2,
+ new Object[] { CI.getTieredMachineHull(6, 5), CI.getFieldGenerator(3, 16), CI.getEnergyCore(2, 2),
+ CI.getPlate(7, 4), CI.getScrew(7, 4), CI.getBolt(6, 8), CI.getTieredComponent(OrePrefixes.rod, 5, 4),
+ new Object[] { CI.getTieredCircuitOreDictName(5), 4 }, ItemList.Tool_DataStick.get(4), },
+ new FluidStack[] { CI.getTieredFluid(5, 144 * 16), CI.getAlternativeTieredFluid(4, 144 * 8),
+ CI.getTertiaryTieredFluid(4, 144 * 8), ALLOY.BABBIT_ALLOY.getFluidStack(16 * 144), },
+ GregtechItemList.Casing_ElementalDuplicator.get(1),
+ 20 * 60 * (10),
+ (int) MaterialUtils.getVoltageForTier(6));
+ }
+
+ private static void resonanceChambers() {
+ int aFieldTier = 1;
+ int aCasingTier = 4;
+ for (int i = 0; i < 4; i++) {
+ RecipeUtils.addShapedRecipe(
+ CI.getDoublePlate(aCasingTier, 1),
+ CI.getFieldGenerator(aFieldTier, 1),
+ CI.getDoublePlate(aCasingTier, 1),
+ CI.getFieldGenerator(aFieldTier, 1),
+ CI.getTieredMachineCasing(aCasingTier),
+ CI.getFieldGenerator(aFieldTier, 1),
+ CI.getDoublePlate(aCasingTier, 1),
+ CI.getFieldGenerator(aFieldTier, 1),
+ CI.getDoublePlate(aCasingTier, 1),
+ ItemUtils.simpleMetaStack(ModBlocks.blockSpecialMultiCasings2, i, 1));
+ aCasingTier++;
+ aFieldTier++;
+ }
+ }
+
+ private static void modulators() {
+ int aCasingTier = 4;
+ for (int i = 4; i < 8; i++) {
+ RecipeUtils.addShapedRecipe(
+ CI.getTieredCircuitOreDictName(aCasingTier),
+ CI.getPlate(aCasingTier, 1),
+ CI.getTieredCircuitOreDictName(aCasingTier),
+ CI.getPlate(aCasingTier, 1),
+ CI.getTieredMachineCasing(aCasingTier),
+ CI.getPlate(aCasingTier, 1),
+ CI.getTieredCircuitOreDictName(aCasingTier),
+ CI.getPlate(aCasingTier, 1),
+ CI.getTieredCircuitOreDictName(aCasingTier),
+ ItemUtils.simpleMetaStack(ModBlocks.blockSpecialMultiCasings2, i, 1));
+ aCasingTier++;
+ }
+ }
+
+ private static void zyngen() {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(6), CI.getTieredMachineHull(4),
+ ItemList.Machine_IV_AlloySmelter.get(1), CI.getGear(3, 16), CI.getBolt(3, 64), CI.getPlate(4, 16) },
+ CI.getAlternativeTieredFluid(4, 144 * 8),
+ GregtechItemList.Industrial_AlloySmelter.get(1),
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(4));
+ }
+
+ private static void chemPlant() {
+
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Casing_Machine_Custom_1.get(2L, new Object[0]),
+ CI.bits,
+ new Object[] { "PhP", "PFP", "PwP", 'P', OrePrefixes.plate.get(Materials.Bronze), 'F',
+ OrePrefixes.frameGt.get(Materials.Bronze) });
+
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Casing_Machine_Custom_2.get(2L, new Object[0]),
+ CI.bits,
+ new Object[] { "PPP", "hFw", "PPP", 'P', OrePrefixes.plate.get(Materials.Aluminium), 'F',
+ OrePrefixes.frameGt.get(Materials.Aluminium) });
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedBioCircuit(19), CI.getTieredGTPPMachineCasing(2, 4),
+ CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.gearGt, 4),
+ CI.getTieredComponentOfMaterial(Materials.AnnealedCopper, OrePrefixes.plate, 16),
+ CI.getTieredComponentOfMaterial(Materials.Plastic, OrePrefixes.pipeLarge, 4),
+ CI.getTieredComponent(OrePrefixes.frameGt, 2, 4), },
+ ALLOY.STEEL_BLACK.getFluidStack(2 * (144 * 4)),
+ GregtechItemList.ChemicalPlant_Controller.get(1),
+ 120 * 20,
+ MaterialUtils.getVoltageForTier(2));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedBioCircuit(15), CI.getTieredGTPPMachineCasing(1, 2),
+ ItemList.Hatch_Input_Bus_MV.get(1),
+ CI.getTieredComponentOfMaterial(Materials.Bronze, OrePrefixes.gearGt, 8),
+ CI.getTieredComponentOfMaterial(Materials.Lead, OrePrefixes.plate, 48),
+ CI.getTieredComponentOfMaterial(Materials.SolderingAlloy, OrePrefixes.wireFine, 16), },
+ ALLOY.BRONZE.getFluidStack(2 * (144 * 4)),
+ GregtechItemList.Bus_Catalysts.get(1),
+ 60 * 20,
+ MaterialUtils.getVoltageForTier(2));
+ }
+
+ private static void algaeFarm() {
+
+ // Give the bad algae a use.
+ CORE.RA.addDistilleryRecipe(
+ ItemUtils.getSimpleStack(AgriculturalChem.mAlgaeBiosmass, 32),
+ null,
+ null,
+ ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 4),
+ 20 * 15,
+ 16,
+ false);
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedBioCircuit(21), CI.getTieredGTPPMachineCasing(0, 4),
+ CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.rod, 12),
+ CI.getTieredComponentOfMaterial(Materials.Wood, OrePrefixes.plate, 32),
+ CI.getTieredComponentOfMaterial(Materials.Steel, OrePrefixes.bolt, 16),
+ CI.getTieredComponentOfMaterial(Materials.Redstone, OrePrefixes.dust, 32), },
+ ALLOY.POTIN.getFluidStack(2 * (144 * 4)),
+ GregtechItemList.AlgaeFarm_Controller.get(1),
+ 60 * 20,
+ MaterialUtils.getVoltageForTier(2));
+ }
+
+ private static void distillus() {
+
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(19), ItemList.Distillation_Tower.get(2),
+ GregtechItemList.GTPP_Casing_IV.get(16), CI.getTieredComponent(OrePrefixes.circuit, 6, 8) },
+ new FluidStack[] { ALLOY.AQUATIC_STEEL.getFluidStack(144 * 32), ALLOY.BABBIT_ALLOY.getFluidStack(144 * 16),
+ ALLOY.BRONZE.getFluidStack(144 * 64), ALLOY.KANTHAL.getFluidStack(144 * 16), },
+ new ItemStack[] { GregtechItemList.Machine_Adv_DistillationTower.get(1) },
+ new FluidStack[] {},
+ 20 * 600,
+ MaterialUtils.getVoltageForTier(6),
+ 5);
+ }
+
+ private static void overflowValveCovers() {
+ ItemStack aOutputs[] = new ItemStack[] { GregtechItemList.Cover_Overflow_LV.get(1L),
+ GregtechItemList.Cover_Overflow_MV.get(1L), GregtechItemList.Cover_Overflow_HV.get(1L),
+ GregtechItemList.Cover_Overflow_EV.get(1L), GregtechItemList.Cover_Overflow_IV.get(1L), };
+
+ for (int tier = 1; tier < aOutputs.length + 1; tier++) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedBioCircuit(19), CI.getElectricPump(tier, 2),
+ CI.getElectricMotor(tier, 2), CI.getPlate(tier, 4) },
+ Materials.SolderingAlloy.getFluid(tier * (144)),
+ aOutputs[tier - 1].copy(),
+ 20 * 20,
+ MaterialUtils.getVoltageForTier(tier));
+ }
+ }
+
+ private static void tieredMachineHulls() {
+
+ GregtechItemList[] aHulls = new GregtechItemList[] { GregtechItemList.GTPP_Casing_ULV,
+ GregtechItemList.GTPP_Casing_LV, GregtechItemList.GTPP_Casing_MV, GregtechItemList.GTPP_Casing_HV,
+ GregtechItemList.GTPP_Casing_EV, GregtechItemList.GTPP_Casing_IV, GregtechItemList.GTPP_Casing_LuV,
+ GregtechItemList.GTPP_Casing_ZPM, GregtechItemList.GTPP_Casing_UV, GregtechItemList.GTPP_Casing_UHV };
+
+ for (int i = 0; i < 10; i++) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedBioCircuit(20), CI.getTieredMachineCasing(i), CI.getPlate(i, 8),
+ CI.getGear(i, 2), CI.getTieredComponent(OrePrefixes.cableGt02, i, 4),
+ CI.getTieredComponent(OrePrefixes.circuit, i, 2) },
+ CI.getAlternativeTieredFluid(i, 144 * (i + 1) * 2),
+ aHulls[i].get(1),
+ 20 * 20,
+ MaterialUtils.getVoltageForTier(i));
+ }
+ }
+
+ private static void initModItems() {
+ IC2MFE = ItemUtils.getItemStackWithMeta(true, "IC2:blockElectric", "IC2_MFE", 1, 1);
+ IC2MFSU = ItemUtils.getItemStackWithMeta(true, "IC2:blockElectric", "IC2_MFSU", 2, 1);
+
+ // Lava Boiler
+ boiler_Coal = ItemList.Machine_Bronze_Boiler.get(1);
+
+ // IV/EV/HV MACHINES
+ IV_MACHINE_Electrolyzer = ItemList.Machine_IV_Electrolyzer.get(1);
+ EV_MACHINE_Centrifuge = ItemList.Machine_EV_Centrifuge.get(1);
+ EV_MACHINE_BendingMachine = ItemList.Machine_EV_Bender.get(1);
+ IV_MACHINE_Wiremill = ItemList.Machine_IV_Wiremill.get(1);
+ EV_MACHINE_Macerator = ItemList.Machine_EV_Macerator.get(1);
+ IV_MACHINE_Macerator = ItemList.Machine_IV_Macerator.get(1);
+ IV_MACHINE_Cutter = ItemList.Machine_IV_Cutter.get(1);
+ IV_MACHINE_Extruder = ItemList.Machine_IV_Extruder.get(1);
+ HV_MACHINE_Sifter = ItemList.Machine_HV_Sifter.get(1);
+ EV_MACHINE_ThermalCentrifuge = ItemList.Machine_EV_ThermalCentrifuge.get(1);
+ EV_MACHINE_OreWasher = ItemList.Machine_EV_OreWasher.get(1);
+ IV_MACHINE_AlloySmelter = ItemList.Machine_IV_AlloySmelter.get(1);
+ IV_MACHINE_Mixer = ItemList.Machine_IV_Mixer.get(1);
+ EV_MACHINE_ChemicalBath = ItemList.Machine_EV_ChemicalBath.get(1);
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialCokeOven) {
+ if (Railcraft.isModLoaded()) {
+ // Misc
+ INPUT_RCCokeOvenBlock = ItemUtils
+ .getItemStackWithMeta(Railcraft.isModLoaded(), "Railcraft:machine.alpha", "Coke_Oven_RC", 7, 1);
+ }
+ }
+ runModRecipes();
+ }
+
+ private static void runModRecipes() {
+ // Computer Cube
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemUtils.getSimpleStack(CI.getDataOrb(), 4 * (1)), ItemList.Cover_Screen.get(4),
+ CI.machineHull_IV, ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), 2) },
+ ELEMENT.getInstance().TANTALUM.getFluidStack(144 * 16),
+ GregtechItemList.Gregtech_Computer_Cube.get(1),
+ 60 * 20 * 3,
+ 8000);
+
+ // Circuit programmer
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemUtils.getSimpleStack(CI.robotArm_LV, 4 * (1)),
+ ItemList.Cover_Controller.get(1, CI.electricMotor_MV), CI.machineHull_MV,
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(1), 2),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(2), 2) },
+ ELEMENT.getInstance().IRON.getFluidStack(144 * 4),
+ ItemUtils.getSimpleStack(ModBlocks.blockCircuitProgrammer),
+ 60 * 10 * 1,
+ 30);
+
+ // Lead Lined Chest
+ for (ItemStack plateRubber : OreDictionary.getOres("plateAnyRubber")) CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.machineHull_LV, GT_Utility.copyAmount(32, plateRubber),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateDenseLead", 9),
+ ItemUtils.getSimpleStack(Blocks.chest) },
+ ELEMENT.getInstance().LEAD.getFluidStack(144 * 16),
+ ItemUtils.getSimpleStack(ModBlocks.blockDecayablesChest),
+ 60 * 10 * 3,
+ 60);
+
+ // RTG
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemUtils.getItemStackWithMeta(true, "IC2:blockGenerator:6", "IC2-RTG", 6, 1),
+ ALLOY.NITINOL_60.getPlate(8), ALLOY.MARAGING350.getGear(4),
+ ItemUtils.getSimpleStack(CI.fieldGenerator_EV, 8),
+ ItemUtils.getItemStackOfAmountFromOreDict("wireFinePlatinum", 32),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 4) },
+ ALLOY.NIOBIUM_CARBIDE.getFluidStack(144 * 16),
+ GregtechItemList.RTG.get(1),
+ 60 * 20 * 10,
+ 8000);
+
+ // Super Jukebox
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.machineHull_LV, ItemUtils.getItemStackOfAmountFromOreDict("circuitBasic", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateTumbaga", 8),
+ ItemUtils.getSimpleStack(Blocks.jukebox) },
+ ELEMENT.getInstance().COPPER.getFluidStack(144 * 2),
+ ItemUtils.getSimpleStack(ModBlocks.blockCustomJukebox),
+ 20 * 30,
+ 30);
+
+ // Poo Collector
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.machineHull_MV, ItemList.FluidRegulator_MV.get(2),
+ CI.getTieredComponent(OrePrefixes.pipeMedium, 2, 2), ALLOY.EGLIN_STEEL.getPlate(4),
+ ALLOY.POTIN.getScrew(6) },
+ ALLOY.TUMBAGA.getFluidStack(144 * 4),
+ ItemUtils.getSimpleStack(ModBlocks.blockPooCollector),
+ 20 * 60,
+ 30);
+
+ // Adv. Poo Collector
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getTieredMachineHull(-1), ItemUtils.getSimpleStack(ModBlocks.blockPooCollector),
+ ItemList.FluidRegulator_IV.get(2), CI.getTieredComponent(OrePrefixes.pipeHuge, 6, 4),
+ CI.getTieredComponent(OrePrefixes.screw, 6, 16) },
+ CI.getAlternativeTieredFluid(5, 144 * 9),
+ ItemUtils.getSimpleStack(ModBlocks.blockPooCollector, 8, 1),
+ 20 * 60 * 5,
+ 500);
+
+ ItemStack aBronzeBricks = ItemUtils.simpleMetaStack(GregTech_API.sBlockCasings1, 10, 1);
+ // Steam Macerator Multi
+ RecipeUtils.addShapedGregtechRecipe(
+ aBronzeBricks,
+ "gemDiamond",
+ aBronzeBricks,
+ "craftingPiston",
+ ALLOY.TUMBAGA.getFrameBox(1),
+ "craftingPiston",
+ aBronzeBricks,
+ "gemDiamond",
+ aBronzeBricks,
+ GregtechItemList.Controller_SteamMaceratorMulti.get(1));
+ // Steam Compressor Multi
+ RecipeUtils.addShapedGregtechRecipe(
+ aBronzeBricks,
+ "craftingPiston",
+ aBronzeBricks,
+ ALLOY.TUMBAGA.getGear(1),
+ ALLOY.TUMBAGA.getFrameBox(1),
+ ALLOY.TUMBAGA.getGear(1),
+ aBronzeBricks,
+ "craftingPiston",
+ aBronzeBricks,
+ GregtechItemList.Controller_SteamCompressorMulti.get(1));
+
+ // Steam Hatch
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateBronze",
+ "pipeMediumBronze",
+ "plateBronze",
+ "plateBronze",
+ GregtechItemList.GT_FluidTank_ULV.get(1),
+ "plateBronze",
+ "plateBronze",
+ "pipeMediumBronze",
+ "plateBronze",
+ GregtechItemList.Hatch_Input_Steam.get(1));
+
+ // Steam Input Bus
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateBronze",
+ ALLOY.TUMBAGA.getPlate(1),
+ "plateBronze",
+ "plateTin",
+ ItemUtils.getSimpleStack(Blocks.hopper),
+ "plateTin",
+ "plateBronze",
+ ALLOY.TUMBAGA.getPlate(1),
+ "plateBronze",
+ GregtechItemList.Hatch_Input_Bus_Steam.get(1));
+
+ // Steam Output Bus
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateBronze",
+ "plateTin",
+ "plateBronze",
+ ALLOY.TUMBAGA.getPlate(1),
+ ItemUtils.getSimpleStack(Blocks.hopper),
+ ALLOY.TUMBAGA.getPlate(1),
+ "plateBronze",
+ "plateTin",
+ "plateBronze",
+ GregtechItemList.Hatch_Output_Bus_Steam.get(1));
+
+ // Flask Configurator
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(8), CI.getTieredMachineHull(2),
+ ItemUtils.getSimpleStack(ModBlocks.blockCircuitProgrammer), VolumetricFlaskHelper.getVolumetricFlask(8),
+ CI.getTieredComponent(OrePrefixes.pipeSmall, 2, 2), CI.getPlate(2, 4) },
+ CI.getAlternativeTieredFluid(1, 144 * 8),
+ ItemUtils.getSimpleStack(ModBlocks.blockVolumetricFlaskSetter, 1),
+ 20 * 60,
+ 120);
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialCentrifuge) {
+ // Industrial Centrifuge
+ RECIPE_IndustrialCentrifugeController = GregtechItemList.Industrial_Centrifuge.get(1);
+ RECIPE_IndustrialCentrifugeCasing = GregtechItemList.Casing_Centrifuge1.get(1);
+
+ // Industrial Centrifuge
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.circuitTier4,
+ pipeHugeStainlessSteel,
+ CI.circuitTier4,
+ CI.component_Plate[6],
+ EV_MACHINE_Centrifuge,
+ CI.component_Plate[6],
+ CI.component_Plate[8],
+ CI.machineCasing_EV,
+ CI.component_Plate[8],
+ RECIPE_IndustrialCentrifugeController);
+ // Centrifuge Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[6],
+ "stickTumbaga",
+ CI.component_Plate[6],
+ CI.component_Plate[8],
+ "stickTumbaga",
+ CI.component_Plate[8],
+ CI.component_Plate[6],
+ "stickTumbaga",
+ CI.component_Plate[6],
+ RECIPE_IndustrialCentrifugeCasing);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.MARAGING250.getPlate(4), ALLOY.INCONEL_792.getPlate(2), ALLOY.TUMBAGA.getRod(3),
+ GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ RECIPE_IndustrialCentrifugeCasing,
+ 50,
+ 16);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialCokeOven) {
+ // Industrial Coke Oven
+ RECIPE_IndustrialCokeOvenController = GregtechItemList.Industrial_CokeOven.get(1);
+ RECIPE_IndustrialCokeOvenFrame = GregtechItemList.Casing_CokeOven.get(1);
+ RECIPE_IndustrialCokeOvenCasingA = GregtechItemList.Casing_CokeOven_Coil1.get(1);
+ RECIPE_IndustrialCokeOvenCasingB = GregtechItemList.Casing_CokeOven_Coil2.get(1);
+
+ if (Railcraft.isModLoaded()) {
+ // Industrial Coke Oven
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[7],
+ CI.circuitTier4,
+ CI.component_Plate[7],
+ CI.machineCasing_EV,
+ INPUT_RCCokeOvenBlock,
+ CI.machineCasing_EV,
+ CI.component_Plate[7],
+ CI.circuitTier4,
+ CI.component_Plate[7],
+ RECIPE_IndustrialCokeOvenController);
+ }
+ // Coke Oven Frame Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[7],
+ CI.component_Rod[7],
+ CI.component_Plate[7],
+ CI.component_Rod[7],
+ "frameGtTantalloy61",
+ CI.component_Rod[7],
+ CI.component_Plate[7],
+ CI.component_Rod[7],
+ CI.component_Plate[7],
+ RECIPE_IndustrialCokeOvenFrame);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.TANTALLOY_61.getPlate(4), ALLOY.TANTALLOY_61.getRod(4),
+ ALLOY.TANTALLOY_61.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ RECIPE_IndustrialCokeOvenFrame,
+ 50,
+ 16);
+ // Coke Oven Coil 1
+ RecipeUtils.addShapedGregtechRecipe(
+ plateBronze,
+ plateBronze,
+ plateBronze,
+ "frameGtBronze",
+ CI.gearboxCasing_Tier_1,
+ "frameGtBronze",
+ plateBronze,
+ plateBronze,
+ plateBronze,
+ RECIPE_IndustrialCokeOvenCasingA);
+ // Coke Oven Coil 2
+ RecipeUtils.addShapedGregtechRecipe(
+ plateSteel,
+ plateSteel,
+ plateSteel,
+ "frameGtSteel",
+ CI.gearboxCasing_Tier_2,
+ "frameGtSteel",
+ plateSteel,
+ plateSteel,
+ plateSteel,
+ RECIPE_IndustrialCokeOvenCasingB);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialElectrolyzer) {
+ // Industrial Electrolyzer
+ RECIPE_IndustrialElectrolyzerController = GregtechItemList.Industrial_Electrolyzer.get(1);
+ RECIPE_IndustrialElectrolyzerFrame = GregtechItemList.Casing_Electrolyzer.get(1);
+
+ // Electrolyzer Frame Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "platePotin",
+ "stickLongChrome",
+ "platePotin",
+ "stickLongPotin",
+ "frameGtPotin",
+ "stickLongPotin",
+ "platePotin",
+ "stickLongPotin",
+ "platePotin",
+ RECIPE_IndustrialElectrolyzerFrame);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.POTIN.getPlate(4), ALLOY.POTIN.getLongRod(3),
+ GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Chrome, 1), ALLOY.POTIN.getFrameBox(1),
+ GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ RECIPE_IndustrialElectrolyzerFrame,
+ 50,
+ 16);
+ // Industrial Electrolyzer
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateStellite",
+ CI.circuitTier5,
+ "plateStellite",
+ CI.machineCasing_IV,
+ IV_MACHINE_Electrolyzer,
+ CI.machineCasing_IV,
+ "plateStellite",
+ "rotorStellite",
+ "plateStellite",
+ RECIPE_IndustrialElectrolyzerController);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialPlatePress) {
+ // Industrial Material Press
+ RECIPE_IndustrialMaterialPressController = GregtechItemList.Industrial_PlatePress.get(1);
+ RECIPE_IndustrialMaterialPressFrame = GregtechItemList.Casing_MaterialPress.get(1);
+
+ // Material Press Frame Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateTitanium",
+ "stickLongTumbaga",
+ "plateTitanium",
+ "stickTantalloy60",
+ "frameGtTumbaga",
+ "stickTantalloy60",
+ "plateTitanium",
+ "stickLongTumbaga",
+ "plateTitanium",
+ RECIPE_IndustrialMaterialPressFrame);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 4),
+ ALLOY.TANTALLOY_60.getRod(2), ALLOY.TUMBAGA.getLongRod(2), ALLOY.TUMBAGA.getFrameBox(1),
+ GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ RECIPE_IndustrialMaterialPressFrame,
+ 50,
+ 16);
+ // Industrial Material Press
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateTitanium",
+ CI.circuitTier4,
+ "plateTitanium",
+ CI.machineCasing_EV,
+ EV_MACHINE_BendingMachine,
+ CI.machineCasing_EV,
+ "plateTitanium",
+ CI.circuitTier4,
+ "plateTitanium",
+ RECIPE_IndustrialMaterialPressController);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialMacerationStack) {
+ // Industrial Maceration Stack
+ RECIPE_IndustrialMacerationStackController = GregtechItemList.Industrial_MacerationStack.get(1);
+ RECIPE_IndustrialMacerationStackFrame = GregtechItemList.Casing_MacerationStack.get(1);
+
+ // Maceration Frame Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "platePalladium",
+ "platePalladium",
+ "platePalladium",
+ "stickPlatinum",
+ "frameGtInconel625",
+ "stickPlatinum",
+ "platePalladium",
+ "stickLongPalladium",
+ "platePalladium",
+ RECIPE_IndustrialMacerationStackFrame);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Palladium, 5),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Platinum, 2),
+ GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Palladium, 1),
+ ALLOY.INCONEL_625.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ RECIPE_IndustrialMacerationStackFrame,
+ 50,
+ 16);
+ // Industrial Maceration stack
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateTitanium",
+ EV_MACHINE_Macerator,
+ "plateTitanium",
+ EV_MACHINE_Macerator,
+ CI.circuitTier4,
+ EV_MACHINE_Macerator,
+ "plateTitanium",
+ EV_MACHINE_Macerator,
+ "plateTitanium",
+ RECIPE_IndustrialMacerationStackController);
+ // T2-Upgrade Card
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateTungstenCarbide",
+ IV_MACHINE_Macerator,
+ "plateTungstenCarbide",
+ IV_MACHINE_Macerator,
+ CI.circuitTier7,
+ IV_MACHINE_Macerator,
+ "plateTungstenCarbide",
+ IV_MACHINE_Macerator,
+ "plateTungstenCarbide",
+ GregtechItemList.Maceration_Upgrade_Chip.get(1));
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialWireMill) {
+ // Industrial Wire Factory
+ RECIPE_IndustrialWireFactoryController = GregtechItemList.Industrial_WireFactory.get(1);
+ RECIPE_IndustrialWireFactoryFrame = GregtechItemList.Casing_WireFactory.get(1);
+
+ // Wire Factory Frame Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateBlueSteel",
+ "stickBlueSteel",
+ "plateBlueSteel",
+ "stickBlueSteel",
+ "frameGtBlueSteel",
+ "stickBlueSteel",
+ "plateBlueSteel",
+ "stickBlueSteel",
+ "plateBlueSteel",
+ RECIPE_IndustrialWireFactoryFrame);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlueSteel, 4),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.BlueSteel, 4),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.BlueSteel, 1),
+ GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ RECIPE_IndustrialWireFactoryFrame,
+ 50,
+ 16);
+ // Industrial Wire Factory
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateZeron100",
+ CI.machineCasing_IV,
+ "plateZeron100",
+ CI.circuitTier5,
+ IV_MACHINE_Wiremill,
+ CI.circuitTier5,
+ "plateZeron100",
+ CI.machineCasing_IV,
+ "plateZeron100",
+ RECIPE_IndustrialWireFactoryController);
+ }
+
+ // Tiered Tanks
+ if (CORE.ConfigSwitches.enableMachine_FluidTanks) {
+ CI.component_Plate[1] = "plateTin";
+ pipeTier1 = "pipeLargeClay";
+ CI.circuitTier1 = ItemList.Circuit_Primitive.get(1);
+ CI.component_Plate[2] = "plateCopper";
+ pipeTier2 = "pipeHugeClay";
+ CI.component_Plate[3] = "plateBronze";
+ pipeTier3 = "pipeMediumBronze";
+ CI.component_Plate[4] = "plateIron";
+ pipeTier4 = "pipeMediumSteel";
+ CI.component_Plate[5] = "plateSteel";
+ CI.component_Plate[6] = "plateRedstone";
+ CI.component_Plate[7] = "plateAluminium";
+ CI.component_Plate[8] = "plateDarkSteel";
+ ItemStack waterBucket = ItemUtils.getSimpleStack(Items.water_bucket);
+
+ // Allows clearing stored fluids.
+ GregtechItemList[] aTanks = new GregtechItemList[] { GregtechItemList.GT_FluidTank_ULV,
+ GregtechItemList.GT_FluidTank_LV, GregtechItemList.GT_FluidTank_MV, GregtechItemList.GT_FluidTank_HV };
+ for (GregtechItemList aTank : aTanks) {
+ RecipeUtils.addShapelessGregtechRecipe(new Object[] { aTank.get(1) }, aTank.get(1));
+ }
+
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[1],
+ CI.component_Plate[5],
+ CI.component_Plate[1],
+ CI.component_Plate[4],
+ pipeTier1,
+ CI.component_Plate[4],
+ CI.component_Plate[4],
+ waterBucket,
+ CI.component_Plate[4],
+ GregtechItemList.GT_FluidTank_ULV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[5],
+ CI.component_Plate[4],
+ CI.component_Plate[5],
+ CI.component_Plate[3],
+ pipeTier2,
+ CI.component_Plate[3],
+ CI.component_Plate[3],
+ CI.electricPump_LV,
+ CI.component_Plate[3],
+ GregtechItemList.GT_FluidTank_LV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[8],
+ CI.component_Plate[3],
+ CI.component_Plate[8],
+ CI.component_Plate[5],
+ pipeTier3,
+ CI.component_Plate[5],
+ CI.component_Plate[5],
+ CI.electricPump_LV,
+ CI.component_Plate[5],
+ GregtechItemList.GT_FluidTank_MV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.circuitTier1,
+ CI.component_Plate[7],
+ CI.circuitTier1,
+ CI.component_Plate[8],
+ pipeTier4,
+ CI.component_Plate[8],
+ CI.circuitTier1,
+ CI.electricPump_MV,
+ CI.circuitTier1,
+ GregtechItemList.GT_FluidTank_HV.get(1));
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_MultiTank) {
+ // Industrial Multi Tank
+ // RECIPE_IndustrialMultiTankController = GregtechItemList.Industrial_MultiTank.get(1);
+ RECIPE_IndustrialMultiTankFrame = GregtechItemList.Casing_MultitankExterior.get(1);
+
+ // Industrial Multi Tank Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "stickGrisium",
+ "plateGrisium",
+ "stickGrisium",
+ "plateGrisium",
+ "frameGtGrisium",
+ "plateGrisium",
+ "plateGrisium",
+ "plateGrisium",
+ "plateGrisium",
+ RECIPE_IndustrialMultiTankFrame);
+ // Industrial Multi Tank
+ RecipeUtils.addShapedGregtechRecipe(
+ "pipeHugeTantalloy60",
+ "gearGrisium",
+ "pipeHugeTantalloy60",
+ CI.circuitTier4,
+ RECIPE_IndustrialMultiTankFrame,
+ CI.circuitTier4,
+ "plateDoubleGrisium",
+ "rotorGrisium",
+ "plateDoubleGrisium",
+ RECIPE_IndustrialMultiTankController);
+ }
+ // TODO
+
+ // Semi-Fluid Generators
+ ItemStack[][] aSemiFluidInputs = new ItemStack[5][10];
+ aSemiFluidInputs[0] = new ItemStack[] { CI.getNumberedBioCircuit(14), CI.getTieredMachineHull(1, 1),
+ CI.getElectricMotor(1, 2), CI.getElectricPiston(1, 2), CI.getTieredComponent(OrePrefixes.cableGt01, 1, 1),
+ CI.getTieredComponent(OrePrefixes.circuit, 1, 1), CI.getGear(1, 2) };
+ aSemiFluidInputs[1] = new ItemStack[] { CI.getNumberedBioCircuit(14), CI.getTieredMachineHull(2, 1),
+ CI.getElectricMotor(2, 2), CI.getElectricPiston(2, 2), CI.getTieredComponent(OrePrefixes.cableGt01, 2, 1),
+ CI.getTieredComponent(OrePrefixes.circuit, 2, 1), CI.getGear(2, 2) };
+ aSemiFluidInputs[2] = new ItemStack[] { CI.getNumberedBioCircuit(14), CI.getTieredMachineHull(3, 1),
+ CI.getElectricMotor(3, 2), CI.getElectricPiston(3, 2), CI.getTieredComponent(OrePrefixes.cableGt01, 3, 1),
+ CI.getTieredComponent(OrePrefixes.circuit, 3, 1),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Chrome, 2) };
+ aSemiFluidInputs[3] = new ItemStack[] { CI.getNumberedBioCircuit(14), CI.getTieredMachineHull(4, 1),
+ CI.getElectricMotor(4, 2), CI.getElectricPiston(4, 2), CI.getTieredComponent(OrePrefixes.cableGt01, 4, 1),
+ CI.getTieredComponent(OrePrefixes.circuit, 4, 1), CI.getGear(4, 2) };
+ aSemiFluidInputs[4] = new ItemStack[] { CI.getNumberedBioCircuit(14), CI.getTieredMachineHull(5, 1),
+ CI.getElectricMotor(5, 2), CI.getElectricPiston(5, 2), CI.getTieredComponent(OrePrefixes.cableGt01, 5, 1),
+ CI.getTieredComponent(OrePrefixes.circuit, 5, 1), CI.getGear(5, 2) };
+ FluidStack[] aSemiFluidFluidInputs = new FluidStack[] { ALLOY.POLYETHYLENE.getFluidStack(144),
+ ALLOY.POLYETHYLENE.getFluidStack(144), ALLOY.POLYETHYLENE.getFluidStack(144),
+ ALLOY.POLYETHYLENE.getFluidStack(144), ALLOY.POLYTETRAFLUOROETHYLENE.getFluidStack(144) };
+
+ ItemStack[] aSemifluids = new ItemStack[] { GregtechItemList.Generator_SemiFluid_LV.get(1),
+ GregtechItemList.Generator_SemiFluid_MV.get(1), GregtechItemList.Generator_SemiFluid_HV.get(1),
+ GregtechItemList.Generator_SemiFluid_EV.get(1), GregtechItemList.Generator_SemiFluid_IV.get(1) };
+ for (int o = 0; o < 5; o++) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ aSemiFluidInputs[o],
+ aSemiFluidFluidInputs[o],
+ aSemifluids[o],
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(o + 1));
+ }
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Generator_SemiFluid_LV.get(1L),
+ new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_LV, 'P', ItemList.Electric_Piston_LV, 'E',
+ ItemList.Electric_Motor_LV, 'C', OrePrefixes.circuit.get(Materials.Basic), 'W',
+ OrePrefixes.cableGt01.get(Materials.Tin), 'G', ALLOY.TUMBAGA.getGear(2) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Generator_SemiFluid_MV.get(1L),
+ new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_MV, 'P', ItemList.Electric_Piston_MV, 'E',
+ ItemList.Electric_Motor_MV, 'C', OrePrefixes.circuit.get(Materials.Good), 'W',
+ OrePrefixes.cableGt01.get(Materials.AnyCopper), 'G', ALLOY.EGLIN_STEEL.getGear(2) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Generator_SemiFluid_HV.get(1L),
+ new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_HV, 'P', ItemList.Electric_Piston_HV, 'E',
+ ItemList.Electric_Motor_HV, 'C', OrePrefixes.circuit.get(Materials.Advanced), 'W',
+ OrePrefixes.cableGt01.get(Materials.Gold), 'G',
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Chrome, 1) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Generator_SemiFluid_EV.get(1L),
+ new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_EV, 'P', ItemList.Electric_Piston_EV, 'E',
+ ItemList.Electric_Motor_EV, 'C', OrePrefixes.circuit.get(Materials.Data), 'W',
+ OrePrefixes.cableGt01.get(Materials.Aluminium), 'G', ALLOY.INCOLOY_DS.getGear(1) });
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Generator_SemiFluid_IV.get(1L),
+ new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_IV, 'P', ItemList.Electric_Piston_IV, 'E',
+ ItemList.Electric_Motor_IV, 'C', OrePrefixes.circuit.get(Materials.Elite), 'W',
+ OrePrefixes.cableGt01.get(Materials.Tungsten), 'G', ALLOY.NITINOL_60.getGear(1) });
+
+ if (CORE.ConfigSwitches.enableMultiblock_AlloyBlastSmelter) {
+ // Industrial Blast Smelter
+ RECIPE_IndustrialBlastSmelterController = GregtechItemList.Industrial_AlloyBlastSmelter.get(1);
+ RECIPE_IndustrialBlastSmelterFrame = GregtechItemList.Casing_BlastSmelter.get(1);
+ RECIPE_IndustrialBlastSmelterCoil = GregtechItemList.Casing_Coil_BlastSmelter.get(1);
+
+ // Blast Smelter
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateZirconiumCarbide",
+ CI.circuitTier5,
+ "plateZirconiumCarbide",
+ cableTier6,
+ IV_MACHINE_AlloySmelter,
+ cableTier6,
+ "plateZirconiumCarbide",
+ CI.circuitTier5,
+ "plateZirconiumCarbide",
+ RECIPE_IndustrialBlastSmelterController);
+ // Blast Smelter Frame Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateZirconiumCarbide",
+ CI.craftingToolHammer_Hard,
+ "plateZirconiumCarbide",
+ "plateZirconiumCarbide",
+ "frameGtZirconiumCarbide",
+ "plateZirconiumCarbide",
+ "plateZirconiumCarbide",
+ CI.craftingToolWrench,
+ "plateZirconiumCarbide",
+ RECIPE_IndustrialBlastSmelterFrame);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.ZIRCONIUM_CARBIDE.getPlate(6), ALLOY.ZIRCONIUM_CARBIDE.getFrameBox(1),
+ GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ RECIPE_IndustrialBlastSmelterFrame,
+ 50,
+ 16);
+ // Blast Smelter Coil
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateStaballoy",
+ "plateStaballoy",
+ "plateStaballoy",
+ "frameGtStaballoy",
+ CI.gearboxCasing_Tier_3,
+ "frameGtStaballoy",
+ "plateStaballoy",
+ "plateStaballoy",
+ "plateStaballoy",
+ RECIPE_IndustrialBlastSmelterCoil);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.STABALLOY.getPlate(6), ALLOY.STABALLOY.getFrameBox(2), CI.gearboxCasing_Tier_3,
+ GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ RECIPE_IndustrialBlastSmelterCoil,
+ 50,
+ 16);
+ }
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemList.Casing_Coil_Infinity.get(1), ItemList.Reactor_Coolant_Sp_6.get(4),
+ ALLOY.LAURENIUM.getPlateDouble(2), CustomItemList.eM_Coil.get(1) },
+ ALLOY.QUANTUM.getFluidStack(144 * 4),
+ GregtechItemList.Casing_Coil_QuantumForceTransformer.get(1),
+ 60 * 30,
+ MaterialUtils.getVoltageForTier(6));
+
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ GregtechItemList.Casing_Coil_QuantumForceTransformer.get(1),
+ 2048 * 120 * 20,
+ 2048,
+ (int) GT_Values.VP[11],
+ 16,
+ new Object[] { GregtechItemList.Controller_MolecularTransformer.get(1),
+ GT_ModHandler.getModItem(EternalSingularity.ID, "eternal_singularity", 1),
+ new Object[] { OrePrefixes.circuit.get(Materials.Bio), 8 }, ItemList.Electric_Pump_UEV.get(4),
+ ItemList.Field_Generator_UEV.get(4), GregtechItemList.Laser_Lens_Special.get(1) },
+ new FluidStack[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 10),
+ ALLOY.PIKYONIUM.getFluidStack(144 * 32) },
+ GregtechItemList.QuantumForceTransformer.get(1),
+ 1200 * 20,
+ (int) GT_Values.VP[11]);
+
+ if (CORE.ConfigSwitches.enableMultiblock_MatterFabricator) {
+ // Industrial Matter Fabricator
+ RECIPE_IndustrialMatterFabController = GregtechItemList.Industrial_MassFab.get(1);
+ RECIPE_IndustrialMatterFabFrame = GregtechItemList.Casing_MatterFab.get(1);
+ RECIPE_IndustrialMatterFabCoil = GregtechItemList.Casing_MatterGen.get(1);
+
+ // Matter Fabricator CPU
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getPlate(8, 1),
+ CI.circuitTier8,
+ CI.getPlate(8, 1),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04.get(Materials.NaquadahAlloy), 1L),
+ CI.machineCasing_UV,
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04.get(Materials.NaquadahAlloy), 1L),
+ CI.getPlate(8, 1),
+ CI.circuitTier8,
+ CI.getPlate(8, 1),
+ RECIPE_IndustrialMatterFabController);
+ // Matter Fabricator Frame Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateNiobiumCarbide",
+ CI.component_Rod[8],
+ "plateNiobiumCarbide",
+ CI.component_Rod[8],
+ "frameGtInconel690",
+ CI.component_Rod[8],
+ "plateNiobiumCarbide",
+ CI.component_Rod[8],
+ "plateNiobiumCarbide",
+ RECIPE_IndustrialMatterFabFrame);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.NIOBIUM_CARBIDE.getPlate(4), ALLOY.INCONEL_792.getRod(4),
+ ALLOY.INCONEL_690.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ RECIPE_IndustrialMatterFabFrame,
+ 50,
+ 16);
+ // Matter Fabricator Coil
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getPlate(6, 1),
+ CI.getPlate(7, 1),
+ CI.getPlate(6, 1),
+ "frameGtStellite",
+ CI.machineCasing_UV,
+ "frameGtStellite",
+ CI.getPlate(6, 1),
+ CI.getPlate(7, 1),
+ CI.getPlate(6, 1),
+ RECIPE_IndustrialMatterFabCoil);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { CI.machineCasing_UV, ALLOY.ZERON_100.getPlate(4), ALLOY.PIKYONIUM.getPlate(2),
+ ALLOY.STELLITE.getFrameBox(2), GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ RECIPE_IndustrialMatterFabCoil,
+ 50,
+ 16);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialSifter) {
+ // Industrial Sieve
+ RECIPE_IndustrialSieveController = GregtechItemList.Industrial_Sifter.get(1);
+ RECIPE_IndustrialSieveFrame = GregtechItemList.Casing_Sifter.get(1);
+ RECIPE_IndustrialSieveGrate = GregtechItemList.Casing_SifterGrate.get(1);
+
+ // Industrial Sieve
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateEglinSteel",
+ CI.circuitTier3,
+ "plateEglinSteel",
+ cableTier4,
+ HV_MACHINE_Sifter,
+ cableTier4,
+ "plateEglinSteel",
+ CI.circuitTier3,
+ "plateEglinSteel",
+ RECIPE_IndustrialSieveController);
+ // Industrial Sieve Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateEglinSteel",
+ "plateEglinSteel",
+ "plateEglinSteel",
+ "plateEglinSteel",
+ "frameGtTumbaga",
+ "plateEglinSteel",
+ "plateEglinSteel",
+ "plateEglinSteel",
+ "plateEglinSteel",
+ RECIPE_IndustrialSieveFrame);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.EGLIN_STEEL.getPlate(8), ALLOY.TUMBAGA.getFrameBox(1),
+ GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ RECIPE_IndustrialSieveFrame,
+ 50,
+ 16);
+ // Industrial Sieve Grate
+ RecipeUtils.addShapedGregtechRecipe(
+ "frameGtEglinSteel",
+ "wireFineSteel",
+ "frameGtEglinSteel",
+ "wireFineSteel",
+ "wireFineSteel",
+ "wireFineSteel",
+ "frameGtEglinSteel",
+ "wireFineSteel",
+ "frameGtEglinSteel",
+ RECIPE_IndustrialSieveGrate);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 5),
+ ALLOY.EGLIN_STEEL.getFrameBox(4), GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ RECIPE_IndustrialSieveGrate,
+ 50,
+ 16);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_TreeFarmer) {
+ // Industrial Tree Farmer
+ RECIPE_TreeFarmController = GregtechItemList.Industrial_TreeFarm.get(1);
+ RECIPE_TreeFarmFrame = GregtechItemList.Casing_PLACEHOLDER_TreeFarmer.get(1);
+ // Industrial Tree Farm Controller
+ RecipeUtils.addShapedGregtechRecipe(
+ ItemList.Field_Generator_IV.get(1),
+ ALLOY.INCOLOY_MA956.getRotor(1),
+ ItemList.Field_Generator_IV.get(1),
+ ALLOY.NITINOL_60.getPlate(1),
+ GregtechItemList.GTPP_Casing_IV.get(1),
+ ALLOY.NITINOL_60.getPlate(1),
+ ItemList.Field_Generator_IV.get(1),
+ ALLOY.INCONEL_792.getComponentByPrefix(OrePrefixes.pipeMedium, 1),
+ ItemList.Field_Generator_IV.get(1),
+ RECIPE_TreeFarmController);
+ // Industrial Tree Farm Frame
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { GT_Utility.getIntegratedCircuit(2), ALLOY.TUMBAGA.getFrameBox(1),
+ ItemUtils.getItemStackOfAmountFromOreDict("pipeTinySteel", 1), ItemList.MV_Coil.get(1),
+ ItemList.IC2_Plantball.get(4), GT_OreDictUnificator.get(OrePrefixes.plank, Materials.Wood, 8), },
+ GT_ModHandler.getDistilledWater(2000),
+ RECIPE_TreeFarmFrame,
+ 200,
+ 64);
+ }
+
+ if (CORE.ConfigSwitches.enableMachine_Tesseracts) {
+ // Tesseracts
+ RECIPE_TesseractGenerator = GregtechItemList.GT4_Tesseract_Generator.get(1);
+ RECIPE_TesseractTerminal = GregtechItemList.GT4_Tesseract_Terminal.get(1);
+ // Tesseract Generator
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateTitanium",
+ "circuitMaster",
+ "plateTitanium",
+ "circuitMaster",
+ ItemUtils.getSimpleStack(Blocks.ender_chest),
+ "circuitMaster",
+ "plateTitanium",
+ GregtechItemList.Gregtech_Computer_Cube.get(1),
+ "plateTitanium",
+ RECIPE_TesseractGenerator);
+ // Tesseract Terminal
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateTitanium",
+ "circuitElite",
+ "plateTitanium",
+ "circuitElite",
+ ItemUtils.getSimpleStack(Blocks.ender_chest),
+ "circuitElite",
+ "plateTitanium",
+ CI.machineHull_EV,
+ "plateTitanium",
+ RECIPE_TesseractTerminal);
+ }
+
+ if (CORE.ConfigSwitches.enableMachine_SimpleWasher) {
+ final List<ItemStack> washers = ImmutableList.of(
+ GregtechItemList.SimpleDustWasher_LV.get(1),
+ GregtechItemList.SimpleDustWasher_MV.get(1),
+ GregtechItemList.SimpleDustWasher_HV.get(1),
+ GregtechItemList.SimpleDustWasher_EV.get(1),
+ GregtechItemList.SimpleDustWasher_IV.get(1),
+ GregtechItemList.SimpleDustWasher_LuV.get(1),
+ GregtechItemList.SimpleDustWasher_ZPM.get(1),
+ GregtechItemList.SimpleDustWasher_UV.get(1));
+
+ for (int i = 0; i < washers.size(); i++) {
+ final int tier = i + 1;
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getTieredMachineHull(tier),
+ CI.getTieredComponent(OrePrefixes.screw, tier, tier * 4),
+ CI.getTieredComponent(OrePrefixes.plate, tier - 1, tier * 2),
+ CI.getTieredComponent(OrePrefixes.rod, tier, tier),
+ CI.getTieredComponent(OrePrefixes.circuit, tier, 1) },
+ CI.getTieredFluid(tier, 144 * tier),
+ washers.get(i),
+ 20 * 5 * tier,
+ (int) GT_Values.V[tier]);
+ }
+ }
+
+ if (CORE.ConfigSwitches.enableMachine_Pollution && PollutionUtils.isPollutionEnabled()) {
+
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateCarbon",
+ "plateCarbon",
+ "plateCarbon",
+ "dustCarbon",
+ "dustCarbon",
+ "dustCarbon",
+ "plateCarbon",
+ "plateCarbon",
+ "plateCarbon",
+ ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1));
+
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateCarbon",
+ "plateCarbon",
+ "plateCarbon",
+ "cellLithiumPeroxide",
+ "dustCarbon",
+ "cellLithiumPeroxide",
+ "plateCarbon",
+ "plateCarbon",
+ "plateCarbon",
+ ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 1, 1));
+
+ // Pollution Detector
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateSteel",
+ CI.sensor_LV,
+ "plateSteel",
+ "plateSteel",
+ CI.electricMotor_LV,
+ "plateSteel",
+ CI.getTieredCircuit(1),
+ CI.machineHull_LV,
+ CI.getTieredCircuit(1),
+ GregtechItemList.Pollution_Detector.get(1));
+
+ // LV
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[1],
+ ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1),
+ CI.component_Plate[1],
+ CI.component_Plate[1],
+ CI.electricMotor_LV,
+ CI.component_Plate[1],
+ CI.getTieredCircuit(1),
+ CI.machineHull_LV,
+ CI.getTieredCircuit(1),
+ GregtechItemList.Pollution_Cleaner_LV.get(1));
+ // MV
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[2],
+ ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1),
+ CI.component_Plate[2],
+ CI.component_Plate[2],
+ CI.electricMotor_MV,
+ CI.component_Plate[2],
+ CI.getTieredCircuit(2),
+ CI.machineHull_MV,
+ CI.getTieredCircuit(2),
+ GregtechItemList.Pollution_Cleaner_MV.get(1));
+ // HV
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[3],
+ ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1),
+ CI.component_Plate[3],
+ CI.component_Plate[3],
+ CI.electricMotor_HV,
+ CI.component_Plate[3],
+ CI.getTieredCircuit(3),
+ CI.machineHull_HV,
+ CI.getTieredCircuit(3),
+ GregtechItemList.Pollution_Cleaner_HV.get(1));
+ // EV
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[4],
+ ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1),
+ CI.component_Plate[4],
+ CI.component_Plate[4],
+ CI.electricMotor_EV,
+ CI.component_Plate[4],
+ CI.getTieredCircuit(4),
+ CI.machineHull_EV,
+ CI.getTieredCircuit(4),
+ GregtechItemList.Pollution_Cleaner_EV.get(1));
+ // IV
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[5],
+ ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 1, 1),
+ CI.component_Plate[5],
+ CI.component_Plate[5],
+ CI.electricMotor_IV,
+ CI.component_Plate[5],
+ CI.getTieredCircuit(5),
+ CI.machineHull_IV,
+ CI.getTieredCircuit(5),
+ GregtechItemList.Pollution_Cleaner_IV.get(1));
+ // LuV
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[6],
+ ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 1, 1),
+ CI.component_Plate[6],
+ CI.component_Plate[6],
+ CI.electricMotor_LuV,
+ CI.component_Plate[6],
+ CI.getTieredCircuit(6),
+ CI.machineHull_LuV,
+ CI.getTieredCircuit(6),
+ GregtechItemList.Pollution_Cleaner_LuV.get(1));
+ // ZPM
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[7],
+ ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 1, 1),
+ CI.component_Plate[7],
+ CI.component_Plate[7],
+ CI.electricMotor_ZPM,
+ CI.component_Plate[7],
+ CI.getTieredCircuit(7),
+ CI.machineHull_ZPM,
+ CI.getTieredCircuit(7),
+ GregtechItemList.Pollution_Cleaner_ZPM.get(1));
+ // UV
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[8],
+ ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 1, 1),
+ CI.component_Plate[8],
+ CI.component_Plate[8],
+ CI.electricMotor_UV,
+ CI.component_Plate[8],
+ CI.getTieredCircuit(8),
+ CI.machineHull_UV,
+ CI.getTieredCircuit(8),
+ GregtechItemList.Pollution_Cleaner_UV.get(1));
+ // MAX
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[9],
+ ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 1, 1),
+ CI.component_Plate[9],
+ CI.component_Plate[9],
+ CI.electricMotor_UHV,
+ CI.component_Plate[9],
+ CI.getTieredCircuit(9),
+ CI.machineHull_UHV,
+ CI.getTieredCircuit(9),
+ GregtechItemList.Pollution_Cleaner_MAX.get(1));
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_ThermalBoiler) {
+ RECIPE_ThermalBoilerController = GregtechItemList.GT4_Thermal_Boiler.get(1);
+ RECIPE_ThermalBoilerCasing = GregtechItemList.Casing_ThermalContainment.get(2);
+ ItemStack centrifugeEV = ItemList.Machine_EV_Centrifuge.get(1);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ "craftingGeothermalGenerator",
+ centrifugeEV,
+ "craftingGeothermalGenerator",
+ "gearGtTitanium",
+ CI.getTieredCircuitOreDictName(6),
+ "gearGtTitanium",
+ "craftingGeothermalGenerator",
+ centrifugeEV,
+ "craftingGeothermalGenerator",
+ RECIPE_ThermalBoilerController);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ "craftingGeothermalGenerator",
+ centrifugeEV,
+ "craftingGeothermalGenerator",
+ "gearGtTungstenSteel",
+ CI.getTieredCircuitOreDictName(5),
+ "gearGtTungstenSteel",
+ "craftingGeothermalGenerator",
+ centrifugeEV,
+ "craftingGeothermalGenerator",
+ RECIPE_ThermalBoilerController);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ ALLOY.MARAGING350.getPlate(1),
+ "plateStainlessSteel",
+ ALLOY.MARAGING350.getPlate(1),
+ "circuitAdvanced",
+ CI.machineCasing_HV,
+ "circuitAdvanced",
+ ALLOY.MARAGING350.getPlate(1),
+ ALLOY.MARAGING350.getPlate(1),
+ ALLOY.MARAGING350.getPlate(1),
+ RECIPE_ThermalBoilerCasing);
+
+ // Lava Filter Recipe
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedCircuit(18),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 32),
+ ItemUtils.getItemStackOfAmountFromOreDict("wireFineSteel", 32),
+ ItemUtils.getItemStackOfAmountFromOreDict("ringTumbaga", 16),
+ ItemUtils.getItemStackOfAmountFromOreDict("foilCopper", 4),
+ ItemUtils.getItemStackWithMeta(true, "IC2:itemPartCarbonMesh", "RawCarbonMesh", 0, 64), },
+ CI.getTieredFluid(3, 144),
+ ItemUtils.getSimpleStack(ModItems.itemLavaFilter, 16),
+ 1600,
+ 240);
+ }
+
+ // Air Intake Hatch
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[6],
+ ItemList.Casing_Grate.get(1),
+ CI.component_Plate[6],
+ CI.component_Plate[6],
+ CI.getFluidRegulator(5, 1),
+ CI.component_Plate[6],
+ CI.getTieredCircuit(5),
+ ItemList.Hatch_Input_IV.get(1),
+ CI.getTieredCircuit(5),
+ GregtechItemList.Hatch_Air_Intake.get(1));
+
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getPlate(7, 1),
+ GregtechItemList.Hatch_Air_Intake.get(1),
+ CI.getPlate(7, 1),
+ CI.getPlate(7, 1),
+ CI.getFluidRegulator(7, 1),
+ CI.getPlate(7, 1),
+ CI.getTieredCircuit(7),
+ ItemList.Hatch_Input_ZPM.get(1),
+ CI.getTieredCircuit(7),
+ GregtechItemList.Hatch_Air_Intake_Extreme.get(1));
+
+ if (CORE.ConfigSwitches.enableMultiblock_LiquidFluorideThoriumReactor) {
+
+ // Thorium Reactor
+ RECIPE_LFTRController = GregtechItemList.ThoriumReactor.get(1);
+ RECIPE_LFTRInnerCasing = GregtechItemList.Casing_Reactor_II.get(1); // Zeron
+ RECIPE_LFTROuterCasing = GregtechItemList.Casing_Reactor_I.get(1); // Hastelloy
+
+ ItemStack controlCircuit = ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR);
+ RecipeUtils.addShapedGregtechRecipe(
+ controlCircuit,
+ "cableGt12Naquadah",
+ controlCircuit,
+ "plateDoubleHastelloyN",
+ GregtechItemList.Gregtech_Computer_Cube.get(1),
+ "plateDoubleHastelloyN",
+ "plateThorium232",
+ CI.machineHull_IV,
+ "plateThorium232",
+ RECIPE_LFTRController);
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateDoubleHastelloyC276",
+ CI.craftingToolScrewdriver,
+ "plateDoubleHastelloyC276",
+ "gearGtTalonite",
+ CI.fieldGenerator_LV,
+ "gearGtTalonite",
+ "plateDoubleHastelloyC276",
+ CI.craftingToolHammer_Hard,
+ "plateDoubleHastelloyC276",
+ RECIPE_LFTRInnerCasing);
+
+ ItemStack IC2HeatPlate = ItemUtils.getItemStackFromFQRN("IC2:reactorPlatingHeat", 1);
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateDoubleHastelloyN",
+ IC2HeatPlate,
+ "plateDoubleHastelloyN",
+ IC2HeatPlate,
+ "frameGtHastelloyC276",
+ IC2HeatPlate,
+ "plateDoubleHastelloyN",
+ IC2HeatPlate,
+ "plateDoubleHastelloyN",
+ RECIPE_LFTROuterCasing);
+
+ // LFTR Control Circuit
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 1),
+ CI.fieldGenerator_HV },
+ null,
+ controlCircuit,
+ 240 * 20,
+ 500);
+
+ // Fission Fuel Plant
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getTieredCircuitOreDictName(5),
+ CI.craftingToolSolderingIron,
+ CI.getTieredCircuitOreDictName(5),
+ "plateDenseTungstenSteel",
+ GregtechItemList.Gregtech_Computer_Cube.get(1),
+ "plateDenseTungstenSteel",
+ "gearGtStellite",
+ CI.machineHull_IV,
+ "gearGtStellite",
+ GregtechItemList.Industrial_FuelRefinery.get(1));
+
+ ItemStack mInnerTank = ItemList.Super_Tank_IV.get(1);
+
+ // Incoloy Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateIncoloyDS",
+ "pipeHugeStaballoy",
+ "plateIncoloyDS",
+ "gearGtIncoloyDS",
+ mInnerTank,
+ "gearGtIncoloyDS",
+ "plateIncoloyDS",
+ "pipeHugeStaballoy",
+ "plateIncoloyDS",
+ GregtechItemList.Casing_Refinery_Internal.get(1));
+
+ // Hastelloy-N Sealant Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateIncoloyMA956",
+ "plateHastelloyN",
+ "plateIncoloyMA956",
+ "plateHastelloyN",
+ "frameGtHastelloyC276",
+ "plateHastelloyN",
+ "plateIncoloyMA956",
+ "plateHastelloyN",
+ "plateIncoloyMA956",
+ GregtechItemList.Casing_Refinery_External.get(1));
+
+ // Hastelloy-X Structural Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "ringInconel792",
+ "gearGtHastelloyX",
+ CI.component_Plate[5],
+ CI.craftingToolHammer_Hard,
+ "frameGtHastelloyC276",
+ CI.craftingToolWrench,
+ CI.component_Plate[5],
+ CI.getTieredMachineCasing(4),
+ "ringInconel792",
+ GregtechItemList.Casing_Refinery_Structural.get(1));
+
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getPlate(5, 1),
+ ALLOY.HASTELLOY_X.getPlateDouble(1),
+ CI.getPlate(5, 1),
+ CI.getPlate(5, 1),
+ CI.getTieredMachineCasing(5),
+ CI.getPlate(5, 1),
+ CI.getRobotArm(5, 1),
+ ItemList.Casing_FrostProof.get(1),
+ CI.getRobotArm(5, 1),
+ GregtechItemList.ColdTrap_IV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getPlate(7, 1),
+ ALLOY.HS188A.getPlateDouble(1),
+ CI.getPlate(7, 1),
+ CI.getPlate(7, 1),
+ GregtechItemList.ColdTrap_IV.get(1),
+ CI.getPlate(7, 1),
+ CI.getRobotArm(7, 1),
+ ItemList.Casing_FrostProof.get(1),
+ CI.getRobotArm(7, 1),
+ GregtechItemList.ColdTrap_ZPM.get(1));
+
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getFieldGenerator(3, 1),
+ CI.getRobotArm(5, 1),
+ CI.getPlate(5, 1),
+ ALLOY.HASTELLOY_N.getPlateDouble(1),
+ ItemList.Machine_IV_ChemicalReactor.get(1),
+ ALLOY.HASTELLOY_N.getPlateDouble(1),
+ CI.getPlate(5, 1),
+ ALLOY.HASTELLOY_N.getPlateDouble(1),
+ CI.getFieldGenerator(3, 1),
+ GregtechItemList.ReactorProcessingUnit_IV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getFieldGenerator(5, 1),
+ CI.getRobotArm(7, 1),
+ CI.getPlate(7, 1),
+ ALLOY.HS188A.getPlateDouble(1),
+ GregtechItemList.ReactorProcessingUnit_IV.get(1),
+ ALLOY.HS188A.getPlateDouble(1),
+ CI.getPlate(7, 1),
+ ALLOY.HS188A.getPlateDouble(1),
+ CI.getFieldGenerator(5, 1),
+ GregtechItemList.ReactorProcessingUnit_ZPM.get(1));
+
+ // Nuclear Salt Processing Plant Controller
+ RECIPE_SaltPlantController = GregtechItemList.Nuclear_Salt_Processing_Plant.get(1);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateOsmiridium",
+ GregtechItemList.ReactorProcessingUnit_IV.get(1),
+ "plateOsmiridium",
+ "plateRuridit",
+ CI.getTieredCircuitOreDictName(7),
+ "plateRuridit",
+ "plateOsmiridium",
+ GregtechItemList.ColdTrap_IV.get(1),
+ "plateOsmiridium",
+ RECIPE_SaltPlantController);
+ }
+
+ // Cyclotron
+ if (CORE.ConfigSwitches.enableMultiblock_Cyclotron) {
+ RECIPE_CyclotronController = GregtechItemList.COMET_Cyclotron.get(1);
+ RECIPE_CyclotronOuterCasing = GregtechItemList.Casing_Cyclotron_External.get(1);
+ RECIPE_CyclotronInnerCoil = GregtechItemList.Casing_Cyclotron_Coil.get(1);
+
+ // Outer Casing
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemList.Casing_FrostProof.get(1),
+ ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 0, 4), ALLOY.INCOLOY_DS.getPlate(8),
+ ALLOY.INCONEL_690.getScrew(16), ALLOY.EGLIN_STEEL.getLongRod(4), CI.getElectricPiston(3, 2) },
+ ALLOY.ZIRCONIUM_CARBIDE.getFluidStack(144 * 8), // Input Fluid
+ RECIPE_CyclotronOuterCasing,
+ 30 * 20 * 2,
+ MaterialUtils.getVoltageForTier(4));
+
+ // Inner Coil
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemList.Casing_Coil_Nichrome.get(1),
+ ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 1, 8),
+ ALLOY.INCOLOY_MA956.getPlate(8), ALLOY.TANTALLOY_61.getBolt(16), ALLOY.INCOLOY_020.getScrew(32),
+ CI.getFieldGenerator(4, 1) },
+ ALLOY.HG1223.getFluidStack(144 * 5), // Input Fluid
+ RECIPE_CyclotronInnerCoil,
+ 60 * 20 * 2,
+ MaterialUtils.getVoltageForTier(5));
+
+ // Controller
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.machineHull_IV, ItemUtils.getSimpleStack(RECIPE_CyclotronInnerCoil, 2),
+ ALLOY.INCOLOY_020.getPlate(8), ALLOY.TANTALLOY_61.getGear(2), ALLOY.INCOLOY_MA956.getScrew(16),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(5), 16) },
+ ALLOY.INCOLOY_020.getFluidStack(144 * 9), // Input Fluid
+ RECIPE_CyclotronController,
+ 60 * 20 * 5,
+ MaterialUtils.getVoltageForTier(5));
+ }
+
+ // Mazut
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Controller_LargeSemifluidGenerator.get(1L),
+ CI.bitsd,
+ new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_EV, 'P', ItemList.Electric_Piston_EV, 'E',
+ ItemList.Electric_Pump_EV, 'C', OrePrefixes.circuit.get(Materials.Data), 'W',
+ OrePrefixes.cableGt08.get(Materials.Electrum), 'G', ALLOY.INCONEL_792.getGear(1) });
+
+ if (CORE.ConfigSwitches.enableMultiblock_PowerSubstation) {
+ RecipeUtils.addShapedRecipe(
+ "screwTitanium",
+ "plateIncoloy020",
+ "screwTitanium",
+ "plateIncoloy020",
+ "frameGtIncoloyMA956",
+ "plateIncoloy020",
+ "screwTitanium",
+ "plateIncoloy020",
+ "screwTitanium",
+ GregtechItemList.Casing_Power_SubStation.get(1));
+
+ ItemStack mBattery = ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR);
+
+ RecipeUtils.addShapedRecipe(
+ "plateIncoloyMA956",
+ mBattery,
+ "plateIncoloyMA956",
+ GregtechItemList.Casing_Power_SubStation.get(1),
+ GregtechItemList.Casing_Vanadium_Redox.get(1),
+ GregtechItemList.Casing_Power_SubStation.get(1),
+ "plateIncoloy020",
+ "plateIncoloyMA956",
+ "plateIncoloy020",
+ GregtechItemList.PowerSubStation.get(1));
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialThermalCentrifuge) {
+ RecipeUtils.addShapedRecipe(
+ "plateRedSteel",
+ CI.craftingToolHammer_Hard,
+ "plateRedSteel",
+ "plateRedSteel",
+ "frameGtBlackSteel",
+ "plateRedSteel",
+ "plateRedSteel",
+ CI.craftingToolWrench,
+ "plateRedSteel",
+ GregtechItemList.Casing_ThermalCentrifuge.get(1));
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedSteel, 6),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.BlackSteel, 1),
+ GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ GregtechItemList.Casing_ThermalCentrifuge.get(1L),
+ 50,
+ 16);
+
+ RecipeUtils.addShapedRecipe(
+ "plateRedSteel",
+ "circuitData",
+ "plateRedSteel",
+ "stickTalonite",
+ EV_MACHINE_ThermalCentrifuge,
+ "stickTalonite",
+ "plateRedSteel",
+ "gearGtTalonite",
+ "plateRedSteel",
+ GregtechItemList.Industrial_ThermalCentrifuge.get(1));
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialWashPlant) {
+ RecipeUtils.addShapedRecipe(
+ "plateGrisium",
+ CI.craftingToolHammer_Hard,
+ "plateGrisium",
+ "plateTalonite",
+ "frameGtGrisium",
+ "plateTalonite",
+ "plateGrisium",
+ CI.craftingToolWrench,
+ "plateGrisium",
+ GregtechItemList.Casing_WashPlant.get(1));
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.LEAGRISIUM.getPlate(4), ALLOY.TALONITE.getPlate(2),
+ ALLOY.LEAGRISIUM.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ GregtechItemList.Casing_WashPlant.get(1L),
+ 50,
+ 16);
+
+ RecipeUtils.addShapedRecipe(
+ "plateGrisium",
+ EV_MACHINE_OreWasher,
+ "plateGrisium",
+ "plateTalonite",
+ "circuitData",
+ "plateTalonite",
+ "plateGrisium",
+ EV_MACHINE_ChemicalBath,
+ "plateGrisium",
+ GregtechItemList.Industrial_WashPlant.get(1));
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_LargeAutoCrafter) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), 1),
+ ItemList.Block_IridiumTungstensteel.get(1), CI.getTieredComponent(OrePrefixes.circuit, 2, 16),
+ CI.getTieredComponent(OrePrefixes.screw, 5, 32), CI.getTieredComponent(OrePrefixes.bolt, 5, 12),
+ CI.getTieredComponent(OrePrefixes.plate, 6, 8), },
+ CI.getTertiaryTieredFluid(6, 144 * (4)),
+ GregtechItemList.Casing_Autocrafter.get(1),
+ 20 * 60 * 2,
+ MaterialUtils.getVoltageForTier(5));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { GregtechItemList.Casing_Refinery_Structural.get(4),
+ ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, 1),
+ CI.getTieredComponent(OrePrefixes.cableGt08, 6, 16), CI.getTransmissionComponent(5, 2),
+ GregtechItemList.Gregtech_Computer_Cube.get(1), },
+ CI.getTieredFluid(7, 144 * 8),
+ GregtechItemList.GT4_Multi_Crafter.get(1),
+ 20 * 60 * 5,
+ MaterialUtils.getVoltageForTier(5));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), 1),
+ CI.getEmitter(4, 2), CI.getRobotArm(4, 2), CI.getTieredComponent(OrePrefixes.circuit, 2, 8),
+ CI.getTieredComponent(OrePrefixes.screw, 3, 8), CI.getTieredComponent(OrePrefixes.plate, 5, 4), },
+ CI.getAlternativeTieredFluid(5, 144 * 4),
+ ItemUtils.getSimpleStack(ModBlocks.blockProjectTable),
+ 20 * 30 * 3,
+ MaterialUtils.getVoltageForTier(4));
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialCuttingMachine) {
+ ItemStack plate = ALLOY.MARAGING300.getPlate(1);
+ RecipeUtils.addShapedRecipe(
+ plate,
+ CI.craftingToolHammer_Hard,
+ plate,
+ "plateStellite",
+ "frameGtTalonite",
+ "plateStellite",
+ plate,
+ CI.craftingToolWrench,
+ plate,
+ GregtechItemList.Casing_CuttingFactoryFrame.get(1));
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.MARAGING300.getPlate(4), ALLOY.STELLITE.getPlate(2),
+ ALLOY.TALONITE.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ GregtechItemList.Casing_CuttingFactoryFrame.get(1L),
+ 50,
+ 16);
+
+ RecipeUtils.addShapedRecipe(
+ plate,
+ CI.getTieredCircuit(4),
+ plate,
+ "wireFinePlatinum",
+ IV_MACHINE_Cutter,
+ "wireFinePlatinum",
+ plate,
+ CI.getTieredCircuit(4),
+ plate,
+ GregtechItemList.Industrial_CuttingFactoryController.get(1));
+ }
+
+ // IV_MACHINE_Extruder
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialExtrudingMachine) {
+ ItemStack plate = ALLOY.INCONEL_690.getPlate(1);
+ RecipeUtils.addShapedRecipe(
+ plate,
+ CI.craftingToolHammer_Hard,
+ plate,
+ "plateTalonite",
+ "frameGtStaballoy",
+ "plateTalonite",
+ plate,
+ CI.craftingToolWrench,
+ plate,
+ GregtechItemList.Casing_Extruder.get(1));
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.INCONEL_690.getPlate(4), ALLOY.TALONITE.getPlate(2),
+ ALLOY.STABALLOY.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ GregtechItemList.Casing_Extruder.get(1L),
+ 50,
+ 16);
+
+ RecipeUtils.addShapedRecipe(
+ plate,
+ CI.getTieredCircuit(5),
+ plate,
+ CI.electricPiston_IV,
+ IV_MACHINE_Extruder,
+ CI.electricPiston_IV,
+ plate,
+ CI.getTieredCircuit(5),
+ plate,
+ GregtechItemList.Industrial_Extruder.get(1));
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialFishingPort) {
+ ItemStack plate = ALLOY.AQUATIC_STEEL.getPlate(1);
+ RecipeUtils.addShapedRecipe(
+ plate,
+ CI.craftingToolHammer_Hard,
+ plate,
+ "plateEglinSteel",
+ "frameGtEglinSteel",
+ "plateEglinSteel",
+ plate,
+ CI.craftingToolWrench,
+ plate,
+ GregtechItemList.Casing_FishPond.get(1));
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.AQUATIC_STEEL.getPlate(4), ALLOY.EGLIN_STEEL.getPlate(2),
+ ALLOY.EGLIN_STEEL.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ GregtechItemList.Casing_FishPond.get(1L),
+ 50,
+ 16);
+ RecipeUtils.addShapedRecipe(
+ plate,
+ CI.getTieredCircuit(5),
+ plate,
+ "wireFineElectrum",
+ ItemUtils.getSimpleStack(ModBlocks.blockFishTrap),
+ "wireFineElectrum",
+ plate,
+ CI.getTieredCircuit(5),
+ plate,
+ GregtechItemList.Industrial_FishingPond.get(1));
+ }
+
+ if (true) {
+ // Advanced Vacuum Freezer
+ ItemStack plate = ALLOY.HG1223.getPlateDouble(1);
+ ItemStack gear = ALLOY.INCOLOY_MA956.getGear(1);
+ ItemStack frame = ALLOY.LAFIUM.getFrameBox(1);
+ ItemStack cell1 = ItemList.Reactor_Coolant_He_6.get(1);
+ ItemStack cell2 = ItemList.Reactor_Coolant_NaK_6.get(1);
+
+ RecipeUtils.addShapedRecipe(
+ plate,
+ gear,
+ plate,
+ cell1,
+ frame,
+ cell2,
+ plate,
+ gear,
+ plate,
+ GregtechItemList.Casing_AdvancedVacuum.get(1));
+ RecipeUtils.addShapedRecipe(
+ gear,
+ CI.getTieredCircuit(6),
+ gear,
+ CI.electricPiston_IV,
+ GregtechItemList.Casing_AdvancedVacuum.get(1),
+ CI.electricPiston_IV,
+ plate,
+ GregtechItemList.Gregtech_Computer_Cube.get(1),
+ plate,
+ GregtechItemList.Industrial_Cryogenic_Freezer.get(1));
+
+ // Advanced Blast Furnace
+ plate = ALLOY.HASTELLOY_N.getPlateDouble(1);
+ gear = ALLOY.HASTELLOY_W.getGear(1);
+ frame = ALLOY.HASTELLOY_X.getFrameBox(1);
+ cell1 = ItemUtils.simpleMetaStack("IC2:reactorHeatSwitchDiamond:1", 1, 1);
+ cell2 = ItemUtils.simpleMetaStack("IC2:reactorVentGold:1", 1, 1);
+ ItemStack cell3 = ItemUtils.simpleMetaStack("IC2:reactorVentDiamond:1:1", 1, 1);
+
+ RecipeUtils.addShapedRecipe(
+ plate,
+ cell1,
+ plate,
+ cell3,
+ frame,
+ cell2,
+ plate,
+ gear,
+ plate,
+ GregtechItemList.Casing_Adv_BlastFurnace.get(1));
+ RecipeUtils.addShapedRecipe(
+ gear,
+ CI.getTieredCircuit(6),
+ gear,
+ CI.robotArm_IV,
+ GregtechItemList.Casing_Adv_BlastFurnace.get(1),
+ CI.robotArm_IV,
+ plate,
+ GregtechItemList.Gregtech_Computer_Cube.get(1),
+ plate,
+ GregtechItemList.Machine_Adv_BlastFurnace.get(1));
+ // Hatch_Input_Pyrotheum
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ItemList.Hatch_Input_IV.get(1), GregtechItemList.Casing_Adv_BlastFurnace.get(1),
+ ALLOY.MARAGING250.getPlate(4), ALLOY.MARAGING300.getGear(1),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 2),
+ GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ GregtechItemList.Hatch_Input_Pyrotheum.get(1L),
+ 50,
+ 16);
+ // Casing_Adv_BlastFurnace
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.HASTELLOY_X.getFrameBox(1), ALLOY.HASTELLOY_N.getPlateDouble(4),
+ ALLOY.HASTELLOY_W.getGear(1), ItemUtils.simpleMetaStack("IC2:reactorHeatSwitchDiamond:1", 1, 1),
+ ItemUtils.simpleMetaStack("IC2:reactorVentGold:1", 1, 1),
+ ItemUtils.simpleMetaStack("IC2:reactorVentDiamond:1:1", 1, 1),
+ GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ GregtechItemList.Casing_Adv_BlastFurnace.get(1L),
+ 50,
+ 16);
+
+ // Advanced Implosion Compressor
+ plate = ItemUtils.getItemStackOfAmountFromOreDict("plateAlloyIridium", 1);
+ gear = ALLOY.LEAGRISIUM.getGear(1);
+ frame = ALLOY.CINOBITE.getFrameBox(1);
+ cell1 = ItemUtils.simpleMetaStack("IC2:reactorHeatSwitchDiamond:1", 1, 1);
+ cell2 = ItemUtils.simpleMetaStack("IC2:reactorVentGold:1", 1, 1);
+
+ RecipeUtils.addShapedRecipe(
+ gear,
+ CI.getTieredCircuit(6),
+ gear,
+ CI.fieldGenerator_IV,
+ CI.machineHull_ZPM,
+ CI.robotArm_IV,
+ plate,
+ GregtechItemList.Gregtech_Computer_Cube.get(1),
+ plate,
+ GregtechItemList.Machine_Adv_ImplosionCompressor.get(1));
+
+ // Supply Depot
+ plate = ALLOY.TUNGSTEN_CARBIDE.getPlateDouble(1);
+ gear = ALLOY.TRINIUM_TITANIUM.getRing(1);
+ frame = ALLOY.TUNGSTEN_CARBIDE.getFrameBox(1);
+ cell1 = CI.conveyorModule_LuV;
+ cell2 = CI.electricMotor_LuV;
+ ItemStack casingAmazon = GregtechItemList.Casing_AmazonWarehouse.get(1);
+
+ RecipeUtils.addShapedRecipe(
+ plate,
+ ItemUtils.getItemStackOfAmountFromOreDict("cableGt12VanadiumGallium", 1),
+ plate,
+ cell1,
+ frame,
+ cell2,
+ plate,
+ gear,
+ plate,
+ GregtechItemList.Casing_AmazonWarehouse.get(1));
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.TUNGSTEN_CARBIDE.getFrameBox(1), ALLOY.TUNGSTEN_CARBIDE.getPlateDouble(4),
+ ALLOY.TRINIUM_TITANIUM.getRing(1), ItemList.Electric_Motor_LuV.get(1),
+ ItemList.Conveyor_Module_LuV.get(1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cableGt12VanadiumGallium", 1),
+ GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ GregtechItemList.Casing_AmazonWarehouse.get(1L),
+ 50,
+ 16);
+ RecipeUtils.addShapedRecipe(
+ casingAmazon,
+ CI.getTieredCircuit(7),
+ casingAmazon,
+ CI.robotArm_LuV,
+ ItemList.Machine_LuV_Unboxinator.get(1),
+ CI.robotArm_LuV,
+ CI.conveyorModule_LuV,
+ GregtechItemList.Gregtech_Computer_Cube.get(1),
+ CI.conveyorModule_LuV,
+ GregtechItemList.Amazon_Warehouse_Controller.get(1));
+
+ // Industrial Mixing Machine
+ RecipeUtils.addShapedRecipe(
+ "plateStaballoy",
+ CI.getTieredCircuit(5),
+ "plateStaballoy",
+ "plateZirconiumCarbide",
+ IV_MACHINE_Mixer,
+ "plateZirconiumCarbide",
+ "plateStaballoy",
+ CI.getTieredCircuit(5),
+ "plateStaballoy",
+ GregtechItemList.Industrial_Mixer.get(1));
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialMultiMachine) {
+ ItemStack plate = ALLOY.STABALLOY.getPlate(1);
+
+ ItemStack o_Compressor = ItemList.Machine_IV_Compressor.get(1);
+ ItemStack o_Lathe = ItemList.Machine_IV_Lathe.get(1);
+ ItemStack o_Electromagnet = ItemList.Machine_IV_Polarizer.get(1);
+ ItemStack o_Fermenter = ItemList.Machine_IV_Fermenter.get(1);
+ ItemStack o_Distillery = ItemList.Machine_IV_FluidExtractor.get(1);
+ ItemStack o_Extractor = ItemList.Machine_IV_Extractor.get(1);
+
+ RecipeUtils.addShapedRecipe(
+ plate,
+ CI.craftingToolHammer_Hard,
+ plate,
+ "plateStainlessSteel",
+ "frameGtZirconiumCarbide",
+ "plateStainlessSteel",
+ plate,
+ CI.craftingToolWrench,
+ plate,
+ GregtechItemList.Casing_Multi_Use.get(1));
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ALLOY.STABALLOY.getPlate(4),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 2),
+ ALLOY.ZIRCONIUM_CARBIDE.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), },
+ GT_Values.NF,
+ GregtechItemList.Casing_Multi_Use.get(1L),
+ 50,
+ 16);
+
+ RecipeUtils.addShapedRecipe(
+ o_Compressor,
+ o_Lathe,
+ o_Electromagnet,
+ plate,
+ ItemUtils.getSimpleStack(ModBlocks.blockProjectTable),
+ plate,
+ o_Fermenter,
+ o_Distillery,
+ o_Extractor,
+ GregtechItemList.Industrial_MultiMachine.get(1));
+ }
+
+ /*
+ * 6/1/19 - Content additions
+ */
+
+ // Drilling Platform Casings
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("frameGtTriniumNaquadahCarbonite", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateDoubleTriniumTitaniumAlloy", 1 * (1)),
+ ItemUtils.getItemStackOfAmountFromOreDict("gearGtPikyonium64B", 2 * (1)),
+ ALLOY.TRINIUM_REINFORCED_STEEL.getPlateDouble(4 * 1),
+ ItemUtils.getSimpleStack((CI.machineHull_LuV), 1 * 1), },
+ ALLOY.MARAGING350.getFluidStack(144 * 16 * 1),
+ GregtechItemList.Casing_BedrockMiner.get(1),
+ (int) GT_Values.V[4],
+ (int) GT_Values.V[6]);
+
+ int aCostMultiplier = 1;
+
+ // Reservoir Hatch
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ItemList.Hatch_Input_EV.get(1), GT_ModHandler.getModItem(RemoteIO.ID, "tile.machine", 1),
+ ItemList.Electric_Pump_EV.get(1) },
+ GT_Values.NF,
+ GregtechItemList.Hatch_Reservoir.get(1),
+ 100,
+ 1920);
+
+ // Mystic Frame
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { GregtechItemList.Casing_Multi_Use.get(1),
+ ItemList.Field_Generator_MV.get(1, CI.circuitTier7),
+ ItemList.Field_Generator_HV.get(1, CI.circuitTier7), ItemList.Emitter_HV.get(1, CI.circuitTier7),
+ ItemList.Sensor_HV.get(1, CI.circuitTier7),
+ CI.getTieredComponent(OrePrefixes.plate, 7, 8 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.wireGt08, 8, 4 * aCostMultiplier), },
+ CI.getTieredFluid(6, (144 * 8)), // Input Fluid
+ ItemUtils.getSimpleStack(Dimension_Everglades.blockPortalFrame, 2),
+ 45 * 20 * 1 * (6),
+ MaterialUtils.getVoltageForTier(6));
+
+ // Player Doors
+ ItemStack[] aDoorInputs = new ItemStack[] { ItemUtils.getSimpleStack(Blocks.log2),
+ ItemUtils.getSimpleStack(Blocks.iron_block), ItemUtils.getSimpleStack(Blocks.glass),
+ ItemUtils.getSimpleStack(Blocks.packed_ice), ItemUtils.getSimpleStack(Blocks.cactus), };
+ ItemStack[] aDoorOutputs = new ItemStack[] { ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorWooden),
+ ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorIron),
+ ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorCustom_Glass),
+ ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorCustom_Ice),
+ ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorCustom_Cactus), };
+
+ for (int y = 0; y < aDoorInputs.length; y++) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemUtils.getSimpleStack(Items.iron_door), aDoorInputs[y],
+ ItemList.Sensor_LV.get(1, CI.circuitTier7),
+ CI.getTieredComponent(OrePrefixes.plate, 1, 2 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.wireGt02, 1, 2 * aCostMultiplier),
+ ItemUtils.getSimpleStack(Items.redstone, 16) },
+ CI.getTieredFluid(1, (144 * 2)), // Input Fluid
+ aDoorOutputs[y],
+ 100,
+ MaterialUtils.getVoltageForTier(1));
+ }
+
+ Logger.INFO("Done loading recipes for the Various machine blocks.");
+ }
+
+ private static void energyCores() {
+
+ ItemStack[] aBufferOutput = new ItemStack[] { RECIPE_Buffer_ULV, RECIPE_Buffer_LV, RECIPE_Buffer_MV,
+ RECIPE_Buffer_HV, RECIPE_Buffer_EV, RECIPE_Buffer_IV, RECIPE_Buffer_LuV, RECIPE_Buffer_ZPM,
+ RECIPE_Buffer_UV, RECIPE_Buffer_MAX };
+
+ ItemStack[] aOutput = new ItemStack[] {
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "1", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "2", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "3", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "4", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "5", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "6", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "7", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "8", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "9", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "10", 1) };
+
+ for (int i = 0; i < 10; i++) {
+
+ ItemStack aPrevTier = (i == 0 ? CI.getTieredMachineHull(1) : aOutput[i - 1]);
+ aPrevTier.stackSize = 1;
+ int aTier = (i + 1);
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { aPrevTier, CI.getTieredComponent(OrePrefixes.plate, aTier, 4),
+ CI.getTieredComponent(OrePrefixes.cableGt04, i, 2),
+ CI.getTieredComponent(OrePrefixes.circuit, aTier, 2),
+ CI.getTieredComponent(OrePrefixes.screw, aTier, 6),
+ CI.getTieredComponent(OrePrefixes.bolt, i, 12), },
+ CI.getTieredFluid(i, (144 * 4 * aTier)), // Input Fluid
+ aOutput[i],
+ 45 * 10 * 1 * (aTier),
+ MaterialUtils.getVoltageForTier(i));
+
+ // Energy Buffer
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemUtils.getSimpleStack(aOutput[i], 4),
+ CI.getTieredComponent(OrePrefixes.plate, aTier, 8),
+ CI.getTieredComponent(OrePrefixes.wireGt08, i, 4), CI.getTieredComponent(OrePrefixes.circuit, i, 4),
+ CI.getTieredComponent(OrePrefixes.stickLong, aTier, 4),
+ CI.getTieredComponent(OrePrefixes.gearGt, i, 5), },
+ CI.getTieredFluid(aTier, (144 * 16 * aTier)), // Input Fluid
+ aBufferOutput[i],
+ 45 * 20 * 1 * (aTier),
+ MaterialUtils.getVoltageForTier(i));
+ }
+ }
+
+ private static void wirelessChargers() {
+
+ ItemStack[] aChargers = new ItemStack[] { GregtechItemList.Charger_LV.get(1),
+ GregtechItemList.Charger_MV.get(1), GregtechItemList.Charger_HV.get(1), GregtechItemList.Charger_EV.get(1),
+ GregtechItemList.Charger_IV.get(1), GregtechItemList.Charger_LuV.get(1),
+ GregtechItemList.Charger_ZPM.get(1), GregtechItemList.Charger_UV.get(1),
+ GregtechItemList.Charger_UHV.get(1) };
+
+ for (int tier = 1; tier < aChargers.length + 1; tier++) {
+
+ ItemStack[] aInputs = new ItemStack[] { CI.getTieredMachineHull(tier, 1),
+ CI.getTransmissionComponent(tier, 2), CI.getFieldGenerator(tier, 1),
+ CI.getTieredComponent(OrePrefixes.plate, tier + 1, 4),
+ CI.getTieredComponent(OrePrefixes.circuit, tier + 1, 2), };
+ CORE.RA.addSixSlotAssemblingRecipe(
+ aInputs,
+ CI.getAlternativeTieredFluid(tier, (144 * 2 * (tier + 1))), // Input Fluid
+ aChargers[tier - 1],
+ 45 * 10 * (tier + 1),
+ MaterialUtils.getVoltageForTier(tier));
+ }
+ }
+
+ private static void largeArcFurnace() {
+ int aCostMultiplier = 1;
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { GregtechItemList.Casing_Multi_Use.get(aCostMultiplier),
+ CI.getTransmissionComponent(2, 2 * aCostMultiplier), CI.getElectricPiston(4, 2 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.plate, 5, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.pipeSmall, 4, 1 * aCostMultiplier), },
+ CI.getAlternativeTieredFluid(5, (144 * 2 * 4)), // Input Fluid
+ GregtechItemList.Casing_Industrial_Arc_Furnace.get(1),
+ 20 * 10 * 1 * (6),
+ MaterialUtils.getVoltageForTier(5));
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { GregtechItemList.Casing_Industrial_Arc_Furnace.get(1),
+ CI.getFieldGenerator(4, 2 * aCostMultiplier), CI.getRobotArm(5, 4 * aCostMultiplier),
+ CI.getEnergyCore(4, 2 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.plate, 6, 8 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.circuit, 5, 8 * aCostMultiplier), },
+ CI.getAlternativeTieredFluid(6, (144 * 4 * 5)), // Input Fluid
+ GregtechItemList.Industrial_Arc_Furnace.get(1),
+ 60 * 20 * 8,
+ MaterialUtils.getVoltageForTier(6));
+ }
+
+ private static void industrialVacuumFurnace() {
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { GregtechItemList.Casing_Multi_Use.get(1), CI.getHeatCoil(2), CI.getElectricPiston(3, 2),
+ CI.getTieredComponent(OrePrefixes.plate, 6, 4), CI.getTieredComponent(OrePrefixes.gearGt, 6, 2), },
+ CI.getTertiaryTieredFluid(5, (144 * 2 * 4)), // Input Fluid
+ GregtechItemList.Casing_Vacuum_Furnace.get(1),
+ 20 * 10 * 6,
+ MaterialUtils.getVoltageForTier(6));
+
+ ;
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { GregtechItemList.Casing_Vacuum_Furnace.get(1),
+ CI.getTieredComponent(OrePrefixes.wireGt16, 7, 4), CI.getEnergyCore(5, 1), CI.getRobotArm(4, 4),
+ CI.getTieredComponent(OrePrefixes.plate, 6, 8), CI.getTieredComponent(OrePrefixes.circuit, 6, 8), },
+ CI.getTieredFluid(6, (144 * 4 * 5)), // Input Fluid
+ GregtechItemList.Controller_Vacuum_Furnace.get(1),
+ 60 * 20 * 12,
+ MaterialUtils.getVoltageForTier(6));
+ }
+
+ private static void milling() {
+
+ /*
+ * public static ItemStack RECIPE_ISAMill_Controller; public static ItemStack RECIPE_ISAMill_Gearbox; public
+ * static ItemStack RECIPE_ISAMill_Casing; public static ItemStack RECIPE_ISAMill_Hatch; public static ItemStack
+ * RECIPE_Flotation_Controller; public static ItemStack RECIPE_Flotation_Casing;
+ */
+
+ // Isa Mill Controller
+ CORE.RA.addAssemblylineRecipe(
+ ItemList.Machine_IV_Macerator.get(1),
+ 20 * 60 * 20,
+ new Object[] { GregtechItemList.Casing_IsaMill_Gearbox.get(4), CI.getTieredGTPPMachineCasing(6, 4),
+ ItemList.Component_Grinder_Tungsten.get(16), new Object[] { CI.getTieredCircuitOreDictName(6), 8 },
+ ALLOY.INCONEL_625.getGear(8), ALLOY.INCONEL_625.getPlate(32), ALLOY.ZERON_100.getPlateDouble(8),
+ ALLOY.ZERON_100.getPlateDouble(8), ALLOY.ZERON_100.getScrew(64),
+ CI.getTieredComponentOfMaterial(Materials.NiobiumTitanium, OrePrefixes.wireFine, 32),
+ CI.getTieredComponentOfMaterial(Materials.NiobiumTitanium, OrePrefixes.wireFine, 32),
+ CI.getTieredComponentOfMaterial(Materials.Titanium, OrePrefixes.foil, 16),
+ CI.getTieredComponentOfMaterial(Materials.Titanium, OrePrefixes.foil, 16), },
+ new FluidStack[] { CI.getTieredFluid(6, 16 * 144), CI.getAlternativeTieredFluid(6, 32 * 144),
+ CI.getTertiaryTieredFluid(6, 32 * 144) },
+ GregtechItemList.Controller_IsaMill.get(1),
+ 20 * 60 * 10,
+ MaterialUtils.getVoltageForTier(6));
+
+ // Isa Mill Gearbox
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(7), ItemList.Casing_Gearbox_Titanium.get(2),
+ ALLOY.INCONEL_625.getGear(4),
+ CI.getTieredComponentOfMaterial(Materials.HSSE, OrePrefixes.gearGtSmall, 8),
+ ALLOY.INCONEL_625.getPlate(16), ALLOY.ZERON_100.getBolt(16), },
+ ALLOY.TUNGSTENSTEEL.getFluidStack(8 * 144),
+ GregtechItemList.Casing_IsaMill_Gearbox.get(1),
+ 60 * 20 * 2,
+ MaterialUtils.getVoltageForTier(6));
+
+ // Isa Mill Casing
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(7), CI.getTieredGTPPMachineCasing(5, 1),
+ ALLOY.INCONEL_625.getPlate(8), ALLOY.ZERON_100.getRod(4),
+ CI.getTieredComponentOfMaterial(Materials.HSSG, OrePrefixes.gearGtSmall, 4),
+ ALLOY.ZERON_100.getScrew(8), },
+ ELEMENT.getInstance().TITANIUM.getFluidStack(4 * 144),
+ GregtechItemList.Casing_IsaMill_Casing.get(1),
+ 60 * 20 * 2,
+ MaterialUtils.getVoltageForTier(6));
+
+ // Isa Mill Pipe
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(7), CI.getTieredGTPPMachineCasing(4, 2),
+ ALLOY.INCONEL_625.getPlateDouble(4), ALLOY.INCOLOY_MA956.getRing(8),
+ CI.getTieredComponentOfMaterial(Materials.HSSE, OrePrefixes.plate, 8),
+ ALLOY.INCOLOY_MA956.getBolt(16), },
+ ELEMENT.getInstance().ALUMINIUM.getFluidStack(8 * 144),
+ GregtechItemList.Casing_IsaMill_Pipe.get(1),
+ 60 * 20 * 8,
+ MaterialUtils.getVoltageForTier(4));
+
+ // Flotation Cell Controller
+ CORE.RA.addAssemblylineRecipe(
+ ItemList.Distillation_Tower.get(1),
+ 20 * 60 * 20,
+ new Object[] { GregtechItemList.Casing_Flotation_Cell.get(4), CI.getTieredGTPPMachineCasing(5, 4),
+ ItemList.Machine_IV_Distillery.get(1), new Object[] { CI.getTieredCircuitOreDictName(6), 8 },
+ ALLOY.STELLITE.getGear(8), ALLOY.STELLITE.getPlate(32), ALLOY.HASTELLOY_N.getPlateDouble(8),
+ ALLOY.HASTELLOY_N.getPlateDouble(8), ALLOY.HASTELLOY_N.getScrew(64),
+ CI.getTieredComponentOfMaterial(Materials.YttriumBariumCuprate, OrePrefixes.wireFine, 64),
+ CI.getTieredComponentOfMaterial(Materials.YttriumBariumCuprate, OrePrefixes.wireFine, 64),
+ CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32),
+ CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32), },
+ new FluidStack[] { CI.getTieredFluid(5, 16 * 144), CI.getAlternativeTieredFluid(4, 32 * 144),
+ CI.getTertiaryTieredFluid(4, 32 * 144) },
+ GregtechItemList.Controller_Flotation_Cell.get(1),
+ 20 * 60 * 10,
+ MaterialUtils.getVoltageForTier(6));
+
+ // Flotation Cell Casing
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(7), CI.getTieredGTPPMachineCasing(4, 1),
+ ALLOY.AQUATIC_STEEL.getPlate(8), ALLOY.STELLITE.getRing(8),
+ CI.getTieredComponentOfMaterial(Materials.HSSG, OrePrefixes.plateDouble, 4),
+ ALLOY.HASTELLOY_N.getScrew(8), },
+ ALLOY.STAINLESS_STEEL.getFluidStack(8 * 144),
+ GregtechItemList.Casing_Flotation_Cell.get(1),
+ 60 * 20 * 2,
+ MaterialUtils.getVoltageForTier(6));
+
+ // Milling Bus
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(7), CI.getTieredGTPPMachineCasing(5, 1),
+ ItemList.Hatch_Input_Bus_EV.get(1),
+ CI.getTieredComponentOfMaterial(Materials.Titanium, OrePrefixes.gearGt, 8),
+ CI.getTieredComponentOfMaterial(Materials.TungstenSteel, OrePrefixes.plate, 32),
+ CI.getTieredComponentOfMaterial(Materials.SolderingAlloy, OrePrefixes.wireFine, 16), },
+ ELEMENT.getInstance().TUNGSTEN.getFluidStack(8 * 144),
+ GregtechItemList.Bus_Milling_Balls.get(1),
+ 60 * 20 * 4,
+ MaterialUtils.getVoltageForTier(5));
+ }
+
+ private static void sparging() {
+
+ // Sparge Tower Research
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(8), ELEMENT.getInstance().HELIUM.getCell(8),
+ ELEMENT.getInstance().FLUORINE.getCell(8), ALLOY.HS188A.getIngot(8),
+ ItemList.Distillation_Tower.get(1) },
+ null,
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_10_SPARGING, 1),
+ 60 * 20 * 5,
+ MaterialUtils.getVoltageForTier(5));
+
+ // Sparge Tower Controller
+ CORE.RA.addAssemblylineRecipe(
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_10_SPARGING, 1),
+ 20 * 60 * 20,
+ new Object[] { GregtechItemList.Casing_Sparge_Tower_Exterior.get(4), CI.getTieredGTPPMachineCasing(4, 4),
+ ItemList.Machine_IV_Distillery.get(1), new Object[] { CI.getTieredCircuitOreDictName(5), 8 },
+ ALLOY.HS188A.getGear(8), ALLOY.HS188A.getPlate(32), ALLOY.HASTELLOY_N.getPlateDouble(8),
+ ALLOY.HASTELLOY_N.getPlateDouble(8), ALLOY.HASTELLOY_N.getScrew(64),
+ CI.getTieredComponentOfMaterial(Materials.YttriumBariumCuprate, OrePrefixes.wireFine, 64),
+ CI.getTieredComponentOfMaterial(Materials.YttriumBariumCuprate, OrePrefixes.wireFine, 64),
+ CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32),
+ CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32), },
+ new FluidStack[] { CI.getTieredFluid(4, 16 * 144), CI.getAlternativeTieredFluid(3, 32 * 144),
+ CI.getTertiaryTieredFluid(3, 32 * 144) },
+ GregtechItemList.Controller_Sparge_Tower.get(1),
+ 20 * 60 * 10,
+ MaterialUtils.getVoltageForTier(6));
+
+ // Sparge Tower Casing
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(8), CI.getTieredGTPPMachineCasing(3, 1),
+ ALLOY.HS188A.getPlate(2), ALLOY.HASTELLOY_N.getRing(4),
+ CI.getTieredComponentOfMaterial(Materials.TungstenSteel, OrePrefixes.plateDouble, 4),
+ ALLOY.HASTELLOY_N.getScrew(4), },
+ ALLOY.STAINLESS_STEEL.getFluidStack(8 * 144),
+ GregtechItemList.Casing_Sparge_Tower_Exterior.get(1),
+ 60 * 20 * 2,
+ MaterialUtils.getVoltageForTier(5));
+ }
+
+ private static void chisels() {
+ ItemStack[] aChisels = new ItemStack[] { GregtechItemList.GT_Chisel_LV.get(1),
+ GregtechItemList.GT_Chisel_MV.get(1), GregtechItemList.GT_Chisel_HV.get(1), };
+ for (int i = 1; i < 4; i++) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedBioCircuit(10 + i), CI.getTieredMachineCasing(i), CI.getPlate(i, 4),
+ CI.getElectricMotor(i, 2), CI.getConveyor(i, 2), CI.getRobotArm(i, 1) },
+ CI.getTieredFluid(i, 144 * 4),
+ aChisels[i - 1],
+ 20 * 20,
+ MaterialUtils.getVoltageForTier(i));
+ }
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedBioCircuit(14), aChisels[2], CI.getPlate(4, 8), CI.getElectricMotor(4, 8),
+ CI.getConveyor(4, 8), CI.getRobotArm(4, 4) },
+ CI.getTieredFluid(4, 144 * 8),
+ GregtechItemList.Controller_IndustrialAutoChisel.get(1),
+ 20 * 20,
+ MaterialUtils.getVoltageForTier(4));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedBioCircuit(14), ItemList.Casing_SolidSteel.get(2), CI.getPlate(4, 2),
+ CI.getTieredComponent(OrePrefixes.plate, 3, 4), CI.getTieredComponent(OrePrefixes.ring, 3, 8),
+ CI.getTieredComponent(OrePrefixes.rod, 2, 4), },
+ CI.getTieredFluid(2, 144 * 2),
+ GregtechItemList.Casing_IndustrialAutoChisel.get(1),
+ 20 * 20,
+ MaterialUtils.getVoltageForTier(3));
+ }
+
+ private static void rockBreaker() {
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(12), ItemList.Machine_EV_RockBreaker.get(1),
+ ALLOY.STAINLESS_STEEL.getPlate(8), ALLOY.STAINLESS_STEEL.getRing(4),
+ CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.plateDouble, 8),
+ ALLOY.EGLIN_STEEL.getScrew(8), },
+ ELEMENT.getInstance().ALUMINIUM.getFluidStack(144 * 8),
+ GregtechItemList.Controller_IndustrialRockBreaker.get(1),
+ 60 * 20 * 2,
+ MaterialUtils.getVoltageForTier(4));
+ }
+
+ private static void fakeMachineCasingCovers() {
+ int aMaxTier = GT_Values.VOLTAGE_NAMES.length;
+ ItemStack aTier[] = new ItemStack[aMaxTier];
+ for (int i = 0; i < aMaxTier; i++) {
+ aTier[i] = ItemUtils.simpleMetaStack(CoverManager.Cover_Gt_Machine_Casing, i, 7);
+ }
+ // Add recipes for new ones
+ for (int i = 0; i < aMaxTier; i++) {
+ GT_Values.RA
+ .addCutterRecipe(CI.getTieredMachineCasing(i), aTier[i], null, 20 * 5 * i, (int) GT_Values.V[i]);
+ }
+ }
+
+ private static void superBuses() {
+ GregtechItemList[] mSuperBusesInput = new GregtechItemList[] { GregtechItemList.Hatch_SuperBus_Input_LV,
+ GregtechItemList.Hatch_SuperBus_Input_MV, GregtechItemList.Hatch_SuperBus_Input_HV,
+ GregtechItemList.Hatch_SuperBus_Input_EV, GregtechItemList.Hatch_SuperBus_Input_IV,
+ GregtechItemList.Hatch_SuperBus_Input_LuV, GregtechItemList.Hatch_SuperBus_Input_ZPM,
+ GregtechItemList.Hatch_SuperBus_Input_UV, GregtechItemList.Hatch_SuperBus_Input_MAX, };
+
+ GregtechItemList[] mSuperBusesOutput = new GregtechItemList[] { GregtechItemList.Hatch_SuperBus_Output_LV,
+ GregtechItemList.Hatch_SuperBus_Output_MV, GregtechItemList.Hatch_SuperBus_Output_HV,
+ GregtechItemList.Hatch_SuperBus_Output_EV, GregtechItemList.Hatch_SuperBus_Output_IV,
+ GregtechItemList.Hatch_SuperBus_Output_LuV, GregtechItemList.Hatch_SuperBus_Output_ZPM,
+ GregtechItemList.Hatch_SuperBus_Output_UV, GregtechItemList.Hatch_SuperBus_Output_MAX, };
+
+ ItemStack[] mInputHatch = new ItemStack[] { ItemList.Hatch_Input_Bus_EV.get(1),
+ ItemList.Hatch_Input_Bus_IV.get(1), ItemList.Hatch_Input_Bus_LuV.get(1),
+ ItemList.Hatch_Input_Bus_ZPM.get(1), ItemList.Hatch_Input_Bus_UV.get(1),
+ ItemList.Hatch_Input_Bus_MAX.get(1), GregtechItemList.Hatch_SuperBus_Input_LV.get(1),
+ GregtechItemList.Hatch_SuperBus_Input_MV.get(1), GregtechItemList.Hatch_SuperBus_Input_HV.get(1),
+ GregtechItemList.Hatch_SuperBus_Input_EV.get(1), };
+
+ ItemStack[] mOutputHatch = new ItemStack[] { ItemList.Hatch_Output_Bus_EV.get(1),
+ ItemList.Hatch_Output_Bus_IV.get(1), ItemList.Hatch_Output_Bus_LuV.get(1),
+ ItemList.Hatch_Output_Bus_ZPM.get(1), ItemList.Hatch_Output_Bus_UV.get(1),
+ ItemList.Hatch_Output_Bus_MAX.get(1), GregtechItemList.Hatch_SuperBus_Output_LV.get(1),
+ GregtechItemList.Hatch_SuperBus_Output_MV.get(1), GregtechItemList.Hatch_SuperBus_Output_HV.get(1),
+ GregtechItemList.Hatch_SuperBus_Output_EV.get(1), };
+
+ // Input Buses
+ for (int tier = 1; tier < mSuperBusesInput.length + 1; tier++) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedCircuit(17), mInputHatch[tier - 1], CI.getElectricMotor(tier, 2),
+ CI.getConveyor(tier, 5), CI.getBolt(tier, 16),
+ CI.getTieredComponent(OrePrefixes.circuit, tier, 2) },
+ CI.getAlternativeTieredFluid(tier, 144 * 8),
+ mSuperBusesInput[tier - 1].get(1),
+ 20 * 30 * 2,
+ (int) GT_Values.V[tier]);
+ }
+ // Output Buses
+ for (int tier = 1; tier < mSuperBusesOutput.length + 1; tier++) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedCircuit(18), mOutputHatch[tier - 1], CI.getElectricPiston(tier, 2),
+ CI.getConveyor(tier, 5), CI.getGear(tier, 3), CI.getTieredComponent(OrePrefixes.circuit, tier, 2) },
+ CI.getTertiaryTieredFluid(tier, 144 * 8),
+ mSuperBusesOutput[tier - 1].get(1),
+ 20 * 30 * 2,
+ (int) GT_Values.V[tier]);
+ }
+ }
+
+ private static void chiselBuses() {
+ ItemStack[] mSuperBusesInput = new ItemStack[] { GregtechItemList.Hatch_SuperBus_Input_LV.get(1),
+ GregtechItemList.Hatch_SuperBus_Input_MV.get(1), GregtechItemList.Hatch_SuperBus_Input_HV.get(1), };
+
+ ItemStack[] mChiselBuses = new ItemStack[] { GregtechItemList.GT_MetaTileEntity_ChiselBus_LV.get(1),
+ GregtechItemList.GT_MetaTileEntity_ChiselBus_MV.get(1),
+ GregtechItemList.GT_MetaTileEntity_ChiselBus_HV.get(1), };
+
+ for (int tier = 1; tier < mChiselBuses.length + 1; tier++) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedCircuit(17), mSuperBusesInput[tier - 1], CI.getSensor(tier, 1),
+ CI.getRobotArm(tier, 2), CI.getBolt(tier, 16), ItemUtils.getSimpleStack(Blocks.chest) },
+ CI.getAlternativeTieredFluid(tier, 144 * 2),
+ mChiselBuses[tier - 1],
+ 20 * 30 * 2,
+ (int) GT_Values.VP[tier + 1]);
+ }
+ }
+
+ private static void solidifierHatches() {
+ ItemStack[] mSuperBusesInput = new ItemStack[] { ItemList.Hatch_Input_IV.get(1),
+ ItemList.Hatch_Input_LuV.get(1), ItemList.Hatch_Input_ZPM.get(1), ItemList.Hatch_Input_UV.get(1), };
+
+ ItemStack[] mSolidifierHatches = new ItemStack[] { GregtechItemList.GT_MetaTileEntity_Solidifier_I.get(1),
+ GregtechItemList.GT_MetaTileEntity_Solidifier_II.get(1),
+ GregtechItemList.GT_MetaTileEntity_Solidifier_III.get(1),
+ GregtechItemList.GT_MetaTileEntity_Solidifier_IV.get(1), };
+
+ for (int i = 0; i < 4; i++) {
+ int componentTier = i + 5;
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { CI.getNumberedCircuit(17), mSuperBusesInput[i], CI.getSensor(componentTier, 1),
+ CI.getFluidRegulator(componentTier, 1),
+ CI.getTieredComponent(OrePrefixes.circuit, componentTier + 1, 4),
+ ItemUtils.getSimpleStack(Blocks.chest) },
+ CI.getTieredFluid(componentTier, 144 * 2),
+ mSolidifierHatches[i],
+ 20 * 30,
+ (int) GT_Values.VP[componentTier]);
+ }
+ }
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java
new file mode 100644
index 0000000000..0cf0152c53
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java
@@ -0,0 +1,168 @@
+package gtPlusPlus.core.recipe;
+
+import static gregtech.api.recipe.RecipeMaps.brewingRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes;
+import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gtPlusPlus.core.material.MISC_MATERIALS.BRINE;
+import static gtPlusPlus.core.material.MISC_MATERIALS.HYDROGEN_CHLORIDE;
+import static gtPlusPlus.core.material.MISC_MATERIALS.HYDROGEN_CHLORIDE_MIX;
+import static gtPlusPlus.core.material.MISC_MATERIALS.RARE_EARTH_HIGH;
+import static gtPlusPlus.core.material.MISC_MATERIALS.RARE_EARTH_LOW;
+import static gtPlusPlus.core.material.MISC_MATERIALS.RARE_EARTH_MID;
+
+import net.minecraftforge.fluids.Fluid;
+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_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.material.MaterialGenerator;
+import gtPlusPlus.core.material.ORES;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+public class RECIPES_RareEarthProcessing {
+
+ public static void init() {
+
+ // Brine Check and assignment
+ FluidStack mBrine = FluidUtils.getFluidStack("brine", 1000);
+ if (mBrine == null) {
+ Fluid f = BRINE.generateFluid();
+ BRINE.registerComponentForMaterial(FluidUtils.getFluidStack(f, 1000));
+ mBrine = BRINE.getFluidStack(1000);
+ } else {
+ BRINE.registerComponentForMaterial(FluidUtils.getFluidStack(mBrine, 1000));
+ }
+
+ // Hydrogen Chloride Check and assignment
+ FluidStack mHydrogenChloride = FluidUtils.getFluidStack("hydrogenchloride", 1000);
+ if (mHydrogenChloride == null) {
+ HYDROGEN_CHLORIDE.generateFluid();
+ mHydrogenChloride = BRINE.getFluidStack(1000);
+ } else {
+ HYDROGEN_CHLORIDE.registerComponentForMaterial(FluidUtils.getFluidStack(mHydrogenChloride, 1000));
+ }
+
+ // Add Process for creating Brine
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 16L))
+ .fluidInputs(Materials.SaltWater.getFluid(2000L))
+ .fluidOutputs(FluidUtils.getFluidStack(mBrine, 4000))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(brewingRecipes);
+
+ // Chloralkali process
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.getIntegratedCircuit(1), ItemList.Cell_Empty.get(2L))
+ .itemOutputs(
+ GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Chlorine, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 1L))
+ .fluidInputs(FluidUtils.getFluidStack(mBrine, 2000))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(electrolyzerRecipes);
+
+ // Generate Special Laser Recipe
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Chlorine, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L),
+ CI.getNumberedBioCircuit(2))
+ .itemOutputs(ItemUtils.getSimpleStack(ModItems.cellHydrogenChlorideMix, 2))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(mixerRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GregtechItemList.Laser_Lens_WoodsGlass.get(0))
+ .fluidInputs(HYDROGEN_CHLORIDE_MIX.getFluidStack(4000))
+ .fluidOutputs(HYDROGEN_CHLORIDE.getFluidStack(4000))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .noOptimize()
+ .addTo(laserEngraverRecipes);
+
+ // Set Material Tiers correctly
+ ORES.GREENOCKITE.vTier = 1;
+ RARE_EARTH_LOW.vTier = 1;
+ RARE_EARTH_MID.vTier = 3;
+ RARE_EARTH_HIGH.vTier = 5;
+
+ // Set Material Voltages correctly
+ ORES.GREENOCKITE.vVoltageMultiplier = 30;
+ RARE_EARTH_LOW.vVoltageMultiplier = 30;
+ RARE_EARTH_MID.vVoltageMultiplier = 480;
+ RARE_EARTH_HIGH.vVoltageMultiplier = 7680;
+
+ // Set Material Tooltips to be shorter
+ RARE_EARTH_LOW.vChemicalFormula = "??????";
+ RARE_EARTH_MID.vChemicalFormula = "??????";
+ RARE_EARTH_HIGH.vChemicalFormula = "??????";
+
+ // Set Material Tooltips to be shorter
+ RARE_EARTH_LOW.vChemicalSymbol = "??";
+ RARE_EARTH_MID.vChemicalSymbol = "??";
+ RARE_EARTH_HIGH.vChemicalSymbol = "??";
+
+ // Generate Ore Materials
+ MaterialGenerator.generateOreMaterial(RARE_EARTH_LOW);
+ MaterialGenerator.generateOreMaterial(RARE_EARTH_MID);
+ MaterialGenerator.generateOreMaterial(RARE_EARTH_HIGH);
+
+ // industrial strength HCl
+ Fluid aHydrochloric = FluidUtils.getFluidStack("hydrogenchloride", 1)
+ .getFluid();
+
+ // LV Rare Earth
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 3L))
+ .itemOutputs(RARE_EARTH_LOW.getCrushed(2), RARE_EARTH_LOW.getCrushed(2), RARE_EARTH_LOW.getCrushed(2))
+ .fluidInputs(Materials.SulfuricAcid.getFluid(1000L))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(chemicalBathRecipes);
+
+ // HV Rare Earth
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 3L))
+ .itemOutputs(RARE_EARTH_MID.getCrushed(2), RARE_EARTH_MID.getCrushed(2), RARE_EARTH_MID.getCrushed(2))
+ .outputChances(10000, 9000, 8000)
+ .fluidInputs(FluidUtils.getFluidStack(aHydrochloric, 1000))
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(chemicalBathRecipes);
+
+ // IV Rare Earth
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 3L))
+ .itemOutputs(RARE_EARTH_HIGH.getCrushed(2), RARE_EARTH_HIGH.getCrushed(2), RARE_EARTH_HIGH.getCrushed(2))
+ .outputChances(10000, 9000, 8000)
+ .fluidInputs(FluidUtils.getHydrofluoricAcid(1000))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(chemicalBathRecipes);
+
+ // IV Rare Earth
+ GT_Values.RA.stdBuilder()
+ .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 3L))
+ .itemOutputs(RARE_EARTH_HIGH.getCrushed(2), RARE_EARTH_HIGH.getCrushed(2), RARE_EARTH_HIGH.getCrushed(2))
+ .outputChances(9000, 8000, 7000)
+ .fluidInputs(Materials.HydrofluoricAcid.getFluid(2000L))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(chemicalBathRecipes);
+ }
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java
new file mode 100644
index 0000000000..b7a7b43549
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java
@@ -0,0 +1,142 @@
+package gtPlusPlus.core.recipe;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.MISC_MATERIALS;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.core.util.reflect.AddGregtechRecipe;
+
+public class RECIPES_SeleniumProcessing {
+
+ public static void init() {
+
+ // We need this
+ MaterialUtils.generateSpecialDustAndAssignToAMaterial(MISC_MATERIALS.SELENIUM_DIOXIDE, false);
+
+ // Makes Selenium Dioxide
+ processCopperRecipes();
+
+ // Liquify the Dried Dioxide
+ AddGregtechRecipe.addCokeAndPyrolyseRecipes(
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1),
+ 13,
+ FluidUtils.getSteam(500),
+ null,
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(1000),
+ 20,
+ 1024);
+
+ // Produce Selenious Acid
+ AddGregtechRecipe.addCokeAndPyrolyseRecipes(
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getCell(1),
+ 14,
+ FluidUtils.getHotWater(4000),
+ CI.emptyCells(1),
+ MISC_MATERIALS.SELENIOUS_ACID.getFluidStack(1000),
+ 20,
+ 2048);
+
+ // Make Selenium
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] { ItemUtils.getGregtechCircuit(14), ELEMENT.getInstance().CARBON.getDust(16), },
+ new FluidStack[] { MISC_MATERIALS.SELENIOUS_ACID.getFluidStack(750),
+ Materials.SulfuricAcid.getFluid(8000), },
+ ELEMENT.getInstance().SELENIUM.getFluidStack(144 * 1),
+ new ItemStack[] { ELEMENT.getInstance().SELENIUM.getIngot(1), ELEMENT.getInstance().SELENIUM.getIngot(1), },
+ new int[] { 10000, 2000, 2000 },
+ 20 * 300,
+ 7200);
+
+ /*
+ * // Old recipes for Selenium Roasting CORE.RA.addBlastSmelterRecipe( new ItemStack[] {
+ * ItemUtils.getGregtechCircuit(16), ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPyrite", 8),
+ * ELEMENT.getInstance().CARBON.getDust(32), }, Materials.SulfuricAcid.getFluid(4000),
+ * ELEMENT.getInstance().SELENIUM.getFluid(144), 0, 20 * 300, 2000); CORE.RA.addBlastSmelterRecipe( new
+ * ItemStack[] { ItemUtils.getGregtechCircuit(17),
+ * ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedChalcopyrite", 8),
+ * ELEMENT.getInstance().CARBON.getDust(32), }, Materials.SulfuricAcid.getFluid(4000),
+ * ELEMENT.getInstance().SELENIUM.getFluid(144), 0, 20 * 300, 2000); CORE.RA.addBlastSmelterRecipe( new
+ * ItemStack[] { ItemUtils.getGregtechCircuit(18),
+ * ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedGalena", 8),
+ * ELEMENT.getInstance().CARBON.getDust(32), }, Materials.SulfuricAcid.getFluid(4000),
+ * ELEMENT.getInstance().SELENIUM.getFluid(144), 0, 20 * 300, 2000);
+ */
+ }
+
+ public static void processCopperRecipes() {
+
+ // Copper
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(23),
+ ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Copper, 1), // Item Input
+ },
+ FluidUtils.getHotWater(1000), // Fluid
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(20), // Fluid
+ new ItemStack[] { ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Copper, 1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), }, // Output
+ new int[] { 10000, 100, 100, 500, 500, 500, 1000, 1000, 1000 },
+ 40 * 20, // Time in ticks
+ 1024); // EU
+
+ // Tetra
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(23),
+ ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Tetrahedrite, 1), // Item
+ // Input
+ },
+ FluidUtils.getHotWater(1000), // Fluid
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(10), // Fluid
+ new ItemStack[] { ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Tetrahedrite, 1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), }, // Output
+ new int[] { 10000, 100, 100, 300, 300, 300, 800, 800, 800 },
+ 40 * 20, // Time in ticks
+ 1024); // EU
+
+ // Chalco
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(23),
+ ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Chalcopyrite, 1), // Item
+ // Input
+ },
+ FluidUtils.getHotWater(1000), // Fluid
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(10), // Fluid
+ new ItemStack[] { ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Chalcopyrite, 1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), }, // Output
+ new int[] { 10000, 100, 100, 300, 300, 300, 800, 800, 800 },
+ 40 * 20, // Time in ticks
+ 1024); // EU
+
+ // Malachite
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] { CI.getNumberedAdvancedCircuit(23),
+ ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Malachite, 1), // Item Input
+ },
+ FluidUtils.getHotWater(1000), // Fluid
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(10), // Fluid
+ new ItemStack[] { ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Malachite, 1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1),
+ MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), }, // Output
+ new int[] { 10000, 100, 100, 300, 300, 300, 800, 800, 800 },
+ 40 * 20, // Time in ticks
+ 1024); // EU
+ }
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Tools.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Tools.java
new file mode 100644
index 0000000000..229b7cc045
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Tools.java
@@ -0,0 +1,118 @@
+package gtPlusPlus.core.recipe;
+
+import net.minecraft.block.Block;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
+public class RECIPES_Tools {
+
+ // Outputs
+ public static ItemStack RECIPE_SandStone = new ItemStack(Blocks.sandstone, 2);
+ public static ItemStack RECIPE_Sand = new ItemStack(Blocks.sand, 4);
+
+ public static ItemStack RECIPE_DivisionSigil;
+
+ // MC Items
+ public static Item Apple = Items.apple;
+
+ // MC Blocks
+ public static Block CobbleStone = Blocks.cobblestone;
+ public static Block Dirt = Blocks.dirt;
+ public static Block Sand = Blocks.sand;
+ public static Block Gravel = Blocks.gravel;
+ public static Block Sandstone = Blocks.sandstone;
+
+ // null
+ public static String empty = " ";
+
+ // Batteries
+ public static String batteryBasic = "batteryBasic";
+ public static String batteryAdvanced = "batteryAdvanced";
+ public static String batteryElite = "batteryElite";
+ public static String batteryMaster = "batteryMaster";
+ public static String batteryUltimate = "batteryUltimate";
+
+ // Circuits
+ public static String circuitPrimitive = "circuitPrimitive";
+ public static String circuitBasic = "circuitBasic";
+ public static String circuitGood = "circuitGood";
+ public static String circuitAdvanced = "circuitAdvanced";
+ public static String circuitElite = "circuitElite";
+ public static String circuitMaster = "circuitMaster";
+ public static String circuitUltimate = "circuitUltimate";
+
+ // Cables
+ public static String cableGt01Electrum = "cableGt01Electrum";
+ public static String cableGt02Electrum = "cableGt02Electrum";
+ public static String cableGt01RedstoneAlloy = "cableGt01RedstoneAlloy";
+ public static String cableGt02RedstoneAlloy = "cableGt02RedstoneAlloy";
+ public static String cableGt01Copper = "cableGt01Copper";
+ public static String cableGt02Copper = "cableGt02Copper";
+ public static String cableGt01AnnealedCopper = "cableGt01AnnealedCopper";
+ public static String cableGt02AnnealedCopper = "cableGt02AnnealedCopper";
+
+ // Rods
+ public static String stickWood = "stickWood";
+ public static String stickStaballoy = "stickStaballoy";
+ public static String stickTitanium = "stickTitanium";
+ public static String stickIron = "stickIron";
+ public static String stickGold = "stickGold";
+ public static String stickSilver = "stickSilver";
+ public static String stickSteel = "stickSteel";
+ public static String stickBronze = "stickBronze";
+ public static String stickTungsten = "stickTungsten";
+ public static String stickRedAlloy = "stickRedAlloy";
+ public static String stickInvar = "stickInvar";
+ public static String stickElectrum = "stickElectrum";
+ public static String stickElectricalSteel = "stickElectricalSteel";
+
+ // Plates
+ public static String plateStaballoy = "plateStaballoy";
+ public static String plateTitanium = "plateTitanium";
+ public static String plateIron = "plateIron";
+ public static String plateGold = "plateGold";
+ public static String plateSilver = "plateSilver";
+ public static String plateSteel = "plateSteel";
+ public static String plateBronze = "plateBronze";
+ public static String plateTungsten = "plateTungsten";
+ public static String plateRedAlloy = "plateRedAlloy";
+ public static String plateInvar = "plateInvar";
+ public static String plateElectrum = "plateElectrum";
+ public static String plateElectricalSteel = "plateElectricalSteel";
+
+ // Ingots
+ public static String ingotStaballoy = "ingotStaballoy";
+ public static String ingotTitanium = "ingotTitanium";
+ public static String ingotIron = "ingotIron";
+ public static String ingotGold = "ingotGold";
+ public static String ingotSilver = "ingotSilver";
+ public static String ingotSteel = "ingotSteel";
+ public static String ingotBronze = "ingotBronze";
+ public static String ingotTungsten = "ingotTungsten";
+ public static String ingotRedAlloy = "ingotRedAlloy";
+ public static String ingotInvar = "ingotInvar";
+ public static String ingotElectrum = "ingotElectrum";
+ public static String ingotUranium = "ingotUranium";
+ public static String ingotElectricalSteel = "ingotElectricalSteel";
+
+ // Crafting Tools
+ public static String craftingToolHardHammer = "craftingToolHardHammer";
+ public static String craftingToolSoftHammer = "craftingToolSoftHammer";
+ public static String craftingToolFile = "craftingToolFile";
+ public static String craftingToolSaw = "craftingToolSaw";
+ public static String craftingToolPickaxe = "craftingToolPickaxe";
+ public static String craftingToolWrench = "craftingToolWrench";
+ public static String craftingToolCrowbar = "craftingToolCrowbar";
+ public static String craftingToolKnife = "craftingToolKnife";
+ public static String craftingToolScrewdriver = "craftingToolScrewdriver";
+
+ public static ItemStack personalCloakingDevice = ItemUtils.getSimpleStack(ModItems.itemPersonalCloakingDevice);
+ public static String plateDoubleNiChrome = "plateDoubleNichrome";
+ public static String plateIridiumAlloy = "plateAlloyIridium";
+
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPE_Batteries.java b/src/main/java/gtPlusPlus/core/recipe/RECIPE_Batteries.java
new file mode 100644
index 0000000000..4369fdbfa3
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPE_Batteries.java
@@ -0,0 +1,62 @@
+package gtPlusPlus.core.recipe;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.ItemList;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+public class RECIPE_Batteries {
+
+ static ItemStack RECIPE_Battery_Sodium = GregtechItemList.Battery_RE_EV_Sodium.get(1);
+ static ItemStack RECIPE_Battery_Cadmium = GregtechItemList.Battery_RE_EV_Cadmium.get(1);
+ static ItemStack RECIPE_Battery_Lithium = GregtechItemList.Battery_RE_EV_Lithium.get(1);
+ static ItemStack GT_Battery_Sodium = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32539, 1);
+ static ItemStack GT_Battery_Cadmium = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32537, 1);
+ static ItemStack GT_Battery_Lithium = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32538, 1);
+ static ItemStack machineTransformer_EV;
+
+ public static void loadRecipes() {
+ machineTransformer_EV = ItemList.Transformer_EV_HV.get(1);
+ run();
+ }
+
+ private static void run() {
+
+ RecipeUtils.addShapedGregtechRecipe(
+ GT_Battery_Sodium,
+ RECIPES_Machines.cableTier4,
+ GT_Battery_Sodium,
+ CI.circuitTier3,
+ machineTransformer_EV,
+ CI.circuitTier3,
+ GT_Battery_Sodium,
+ RECIPES_Machines.cableTier4,
+ GT_Battery_Sodium,
+ RECIPE_Battery_Sodium);
+ RecipeUtils.addShapedGregtechRecipe(
+ GT_Battery_Cadmium,
+ RECIPES_Machines.cableTier4,
+ GT_Battery_Cadmium,
+ CI.circuitTier3,
+ machineTransformer_EV,
+ CI.circuitTier3,
+ GT_Battery_Cadmium,
+ RECIPES_Machines.cableTier4,
+ GT_Battery_Cadmium,
+ RECIPE_Battery_Cadmium);
+ RecipeUtils.addShapedGregtechRecipe(
+ GT_Battery_Lithium,
+ RECIPES_Machines.cableTier4,
+ GT_Battery_Lithium,
+ CI.circuitTier3,
+ machineTransformer_EV,
+ CI.circuitTier3,
+ GT_Battery_Lithium,
+ RECIPES_Machines.cableTier4,
+ GT_Battery_Lithium,
+ RECIPE_Battery_Lithium);
+ }
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/ShapedRecipeObject.java b/src/main/java/gtPlusPlus/core/recipe/ShapedRecipeObject.java
new file mode 100644
index 0000000000..18c1c2c70c
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/ShapedRecipeObject.java
@@ -0,0 +1,50 @@
+package gtPlusPlus.core.recipe;
+
+import net.minecraft.item.ItemStack;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+
+public class ShapedRecipeObject {
+
+ public Object object_A;
+ public Object object_B;
+ public Object object_C;
+ public Object object_D;
+ public Object object_E;
+ public Object object_F;
+ public Object object_G;
+ public Object object_H;
+ public Object object_I;
+ public ItemStack object_OUTPUT;
+
+ public ShapedRecipeObject(final Object input_A, final Object input_B, final Object input_C, final Object input_D,
+ final Object input_E, final Object input_F, final Object input_G, final Object input_H, final Object input_I,
+ final ItemStack input_Output) {
+ this.object_A = input_A;
+ this.object_B = input_B;
+ this.object_C = input_C;
+ this.object_D = input_D;
+ this.object_E = input_E;
+ this.object_F = input_F;
+ this.object_G = input_G;
+ this.object_H = input_H;
+ this.object_I = input_I;
+ this.object_OUTPUT = input_Output;
+ Logger.SPECIFIC_WARNING("ShapedRecipeObject", "New object created.", 36);
+ }
+
+ public void buildRecipe() {
+ RecipeUtils.recipeBuilder(
+ this.object_A,
+ this.object_B,
+ this.object_C,
+ this.object_D,
+ this.object_E,
+ this.object_F,
+ this.object_G,
+ this.object_H,
+ this.object_I,
+ this.object_OUTPUT);
+ }
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/common/CI.java b/src/main/java/gtPlusPlus/core/recipe/common/CI.java
new file mode 100644
index 0000000000..5c1620160d
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/common/CI.java
@@ -0,0 +1,1008 @@
+package gtPlusPlus.core.recipe.common;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.GregTech_API;
+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_Utility;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.item.chemistry.AgriculturalChem;
+import gtPlusPlus.core.item.chemistry.GenericChem;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.recipe.LOADER_Machine_Components;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import ic2.core.Ic2Items;
+
+public class CI {
+
+ // null
+ public static ItemStack _NULL = ItemUtils.getErrorStack(1);
+
+ // bits
+ public static long bits = GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE
+ | GT_ModHandler.RecipeBits.BUFFERED;
+ public static long bitsd = GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE
+ | GT_ModHandler.RecipeBits.REVERSIBLE
+ | GT_ModHandler.RecipeBits.BUFFERED;
+
+ // Circuits
+ public static Object circuitPrimitive;
+ public static Object circuitTier1;
+ public static Object circuitTier2;
+ public static Object circuitTier3;
+ public static Object circuitTier4;
+ public static Object circuitTier5;
+ public static Object circuitTier6;
+ public static Object circuitTier7;
+ public static Object circuitTier8;
+ public static Object circuitTier9;
+
+ // Machine Components
+ public static ItemStack electricMotor_LV;
+ public static ItemStack electricMotor_MV;
+ public static ItemStack electricMotor_HV;
+ public static ItemStack electricMotor_EV;
+ public static ItemStack electricMotor_IV;
+ public static ItemStack electricMotor_LuV;
+ public static ItemStack electricMotor_ZPM;
+ public static ItemStack electricMotor_UV;
+ public static ItemStack electricMotor_UHV;
+ public static ItemStack electricPump_LV;
+ public static ItemStack electricPump_MV;
+ public static ItemStack electricPump_HV;
+ public static ItemStack electricPump_EV;
+ public static ItemStack electricPump_IV;
+ public static ItemStack electricPump_LuV;
+ public static ItemStack electricPump_ZPM;
+ public static ItemStack electricPump_UV;
+ public static ItemStack electricPump_UHV;
+ public static ItemStack electricPiston_LV;
+ public static ItemStack electricPiston_MV;
+ public static ItemStack electricPiston_HV;
+ public static ItemStack electricPiston_EV;
+ public static ItemStack electricPiston_IV;
+ public static ItemStack electricPiston_LuV;
+ public static ItemStack electricPiston_ZPM;
+ public static ItemStack electricPiston_UV;
+ public static ItemStack electricPiston_UHV;
+ public static ItemStack robotArm_LV;
+ public static ItemStack robotArm_MV;
+ public static ItemStack robotArm_HV;
+ public static ItemStack robotArm_EV;
+ public static ItemStack robotArm_IV;
+ public static ItemStack robotArm_LuV;
+ public static ItemStack robotArm_ZPM;
+ public static ItemStack robotArm_UV;
+ public static ItemStack robotArm_UHV;
+ public static ItemStack conveyorModule_LV;
+ public static ItemStack conveyorModule_MV;
+ public static ItemStack conveyorModule_HV;
+ public static ItemStack conveyorModule_EV;
+ public static ItemStack conveyorModule_IV;
+ public static ItemStack conveyorModule_LuV;
+ public static ItemStack conveyorModule_ZPM;
+ public static ItemStack conveyorModule_UV;
+ public static ItemStack conveyorModule_UHV;
+ public static ItemStack emitter_LV;
+ public static ItemStack emitter_MV;
+ public static ItemStack emitter_HV;
+ public static ItemStack emitter_EV;
+ public static ItemStack emitter_IV;
+ public static ItemStack emitter_LuV;
+ public static ItemStack emitter_ZPM;
+ public static ItemStack emitter_UV;
+ public static ItemStack emitter_UHV;
+ public static ItemStack fieldGenerator_LV;
+ public static ItemStack fieldGenerator_MV;
+ public static ItemStack fieldGenerator_HV;
+ public static ItemStack fieldGenerator_EV;
+ public static ItemStack fieldGenerator_IV;
+ public static ItemStack fieldGenerator_LuV;
+ public static ItemStack fieldGenerator_ZPM;
+ public static ItemStack fieldGenerator_UV;
+ public static ItemStack fieldGenerator_UHV;
+ public static ItemStack sensor_LV;
+ public static ItemStack sensor_MV;
+ public static ItemStack sensor_HV;
+ public static ItemStack sensor_EV;
+ public static ItemStack sensor_IV;
+ public static ItemStack sensor_LuV;
+ public static ItemStack sensor_ZPM;
+ public static ItemStack sensor_UV;
+ public static ItemStack sensor_UHV;
+
+ public static ItemStack fluidRegulator_LV;
+ public static ItemStack fluidRegulator_MV;
+ public static ItemStack fluidRegulator_HV;
+ public static ItemStack fluidRegulator_EV;
+ public static ItemStack fluidRegulator_IV;
+ public static ItemStack fluidRegulator_LuV;
+ public static ItemStack fluidRegulator_ZPM;
+ public static ItemStack fluidRegulator_UV;
+
+ // Machine Casings
+ public static ItemStack machineCasing_ULV;
+ public static ItemStack machineCasing_LV;
+ public static ItemStack machineCasing_MV;
+ public static ItemStack machineCasing_HV;
+ public static ItemStack machineCasing_EV;
+ public static ItemStack machineCasing_IV;
+ public static ItemStack machineCasing_LuV;
+ public static ItemStack machineCasing_ZPM;
+ public static ItemStack machineCasing_UV;
+ public static ItemStack machineCasing_UHV;
+
+ // Machine Hulls
+ public static ItemStack machineHull_ULV;
+ public static ItemStack machineHull_LV;
+ public static ItemStack machineHull_MV;
+ public static ItemStack machineHull_HV;
+ public static ItemStack machineHull_EV;
+ public static ItemStack machineHull_IV;
+ public static ItemStack machineHull_LuV;
+ public static ItemStack machineHull_ZPM;
+ public static ItemStack machineHull_UV;
+ public static ItemStack machineHull_UHV;
+
+ // Gearbox Casings
+ public static ItemStack gearboxCasing_Tier_1;
+ public static ItemStack gearboxCasing_Tier_2;
+ public static ItemStack gearboxCasing_Tier_3;
+ public static ItemStack gearboxCasing_Tier_4;
+
+ public static String[] component_Plate;
+ public static String[] component_Rod;
+ public static String[] component_Ingot;
+
+ // Crafting Tools
+ public static String craftingToolWrench = "craftingToolWrench";
+ public static String craftingToolHammer_Hard = "craftingToolHardHammer";
+ public static String craftingToolScrewdriver = "craftingToolScrewdriver";
+ public static String craftingToolFile = "craftingToolFile";
+ public static String craftingToolMortar = "craftingToolMortar";
+ public static String craftingToolSaw = "craftingToolSaw";
+ public static String craftingToolWireCutter = "craftingToolWirecutter";
+ public static String craftingToolSolderingIron = "craftingToolSolderingIron";
+
+ // Explosives
+ public static ItemStack explosivePowderKeg;
+ public static ItemStack explosiveTNT;
+ public static ItemStack explosiveITNT;
+
+ public static Materials[] tieredMaterials = new Materials[] { Materials.Iron, Materials.Steel, Materials.Aluminium,
+ Materials.StainlessSteel, Materials.Titanium, Materials.TungstenSteel, Materials.Chrome, Materials.Iridium,
+ Materials.Osmium, Materials.Neutronium };
+
+ public static void preInit() {
+
+ // Tiered Components
+ component_Plate = new String[] { getTieredComponent(OrePrefixes.plate, 0),
+ getTieredComponent(OrePrefixes.plate, 1), getTieredComponent(OrePrefixes.plate, 2),
+ getTieredComponent(OrePrefixes.plate, 3), getTieredComponent(OrePrefixes.plate, 4),
+ getTieredComponent(OrePrefixes.plate, 5), getTieredComponent(OrePrefixes.plate, 6),
+ getTieredComponent(OrePrefixes.plate, 7), getTieredComponent(OrePrefixes.plate, 8),
+ getTieredComponent(OrePrefixes.plate, 9), getTieredComponent(OrePrefixes.plate, 10),
+ getTieredComponent(OrePrefixes.plate, 11) };
+ component_Rod = new String[] { getTieredComponent(OrePrefixes.stick, 0),
+ getTieredComponent(OrePrefixes.stick, 1), getTieredComponent(OrePrefixes.stick, 2),
+ getTieredComponent(OrePrefixes.stick, 3), getTieredComponent(OrePrefixes.stick, 4),
+ getTieredComponent(OrePrefixes.stick, 5), getTieredComponent(OrePrefixes.stick, 6),
+ getTieredComponent(OrePrefixes.stick, 7), getTieredComponent(OrePrefixes.stick, 8),
+ getTieredComponent(OrePrefixes.stick, 9), getTieredComponent(OrePrefixes.stick, 10),
+ getTieredComponent(OrePrefixes.stick, 11) };
+ component_Ingot = new String[] { getTieredComponent(OrePrefixes.ingot, 0),
+ getTieredComponent(OrePrefixes.ingot, 1), getTieredComponent(OrePrefixes.ingot, 2),
+ getTieredComponent(OrePrefixes.ingot, 3), getTieredComponent(OrePrefixes.ingot, 4),
+ getTieredComponent(OrePrefixes.ingot, 5), getTieredComponent(OrePrefixes.ingot, 6),
+ getTieredComponent(OrePrefixes.ingot, 7), getTieredComponent(OrePrefixes.ingot, 8),
+ getTieredComponent(OrePrefixes.ingot, 9), getTieredComponent(OrePrefixes.ingot, 10),
+ getTieredComponent(OrePrefixes.ingot, 11) };
+
+ // Circuits
+ circuitPrimitive = getTieredCircuit(0);
+ circuitTier1 = getTieredCircuit(1);
+ circuitTier2 = getTieredCircuit(2);
+ circuitTier3 = getTieredCircuit(3);
+ circuitTier4 = getTieredCircuit(4);
+ circuitTier5 = getTieredCircuit(5);
+ circuitTier6 = getTieredCircuit(6);
+ circuitTier7 = getTieredCircuit(7);
+ circuitTier8 = getTieredCircuit(8);
+ circuitTier9 = getTieredCircuit(9);
+ }
+
+ public static Object getTieredCircuit(int tier) {
+ return getTieredCircuitOreDictName(tier);
+ }
+
+ public static String getTieredCircuitOreDictName(int tier) {
+ if (tier == 0) {
+ return "circuitPrimitive";
+ } else if (tier == 1) {
+ return "circuitBasic";
+ } else if (tier == 2) {
+ return "circuitGood";
+ } else if (tier == 3) {
+ return "circuitAdvanced";
+ } else if (tier == 4) {
+ return "circuitData";
+ } else if (tier == 5) {
+ return "circuitElite";
+ } else if (tier == 6) {
+ return "circuitMaster";
+ } else if (tier == 7) {
+ return "circuitUltimate";
+ } else if (tier == 8) {
+ return "circuitSuperconductor";
+ } else if (tier == 9) {
+ return "circuitInfinite";
+ } else if (tier == 10) {
+ return "circuitQuantum";
+ } else {
+ return "circuitPrimitive";
+ }
+ }
+
+ public static ItemStack getNumberedCircuit(int Meta) {
+ return ItemUtils.getGregtechCircuit(Meta);
+ }
+
+ private static Object getMaterialFromTier(int tier) {
+ if (tier == 0) {
+ return Materials.Wood;
+ } else if (tier == 1) {
+ return Materials.Lead;
+ } else if (tier == 2) {
+ return Materials.Bronze;
+ } else if (tier == 3) {
+ return Materials.Steel;
+ } else if (tier == 4) {
+ return ALLOY.EGLIN_STEEL;
+ } else if (tier == 5) {
+ return Materials.Aluminium;
+ } else if (tier == 6) {
+ return ALLOY.MARAGING250;
+ } else if (tier == 7) {
+ return ALLOY.TANTALLOY_61;
+ } else if (tier == 8) {
+ return ALLOY.INCONEL_792;
+ } else if (tier == 9) {
+ return ALLOY.ZERON_100;
+ } else if (tier == 10) {
+ return Materials.NaquadahEnriched;
+ } else if (tier == 11) {
+ return Materials.Neutronium;
+ }
+ return Materials._NULL;
+ }
+
+ public static String getTieredComponent(OrePrefixes type, int tier) {
+ Object material = getMaterialFromTier(tier);
+ if (material != null) {
+ if (material instanceof Materials) {
+ // return (ItemStack) type.get(material);
+ String materialName = ((Materials) material).mDefaultLocalName;
+ Logger.INFO("Searching for a component named " + type.name() + materialName);
+ // return ItemUtils.getItemStackOfAmountFromOreDict(type.name()+materialName, 1);
+ return (type.name() + materialName);
+ } else {
+ String materialName = (Utils.sanitizeString(((Material) material).getLocalizedName()));
+ Logger.INFO("Searching for a component named " + type.name() + materialName);
+ // return ItemUtils.getItemStackOfAmountFromOreDict(type.name()+materialName, 1);
+ return (type.name() + materialName);
+ }
+ }
+ Logger.INFO("[Components] Failed getting a tiered component. " + type.name() + " | " + tier);
+ return null;
+ }
+
+ public static ItemStack getDataOrb() {
+ return ItemList.Tool_DataOrb.get(1);
+ }
+
+ public static ItemStack getDataStick() {
+ return ItemList.Tool_DataStick.get(1);
+ }
+
+ public static ItemStack getTieredMachineHull(int tier) {
+ if (tier == 0) {
+ return machineHull_ULV;
+ } else if (tier == 1) {
+ return machineHull_LV;
+ } else if (tier == 2) {
+ return machineHull_MV;
+ } else if (tier == 3) {
+ return machineHull_HV;
+ } else if (tier == 4) {
+ return machineHull_EV;
+ } else if (tier == 5) {
+ return machineHull_IV;
+ } else if (tier == 6) {
+ return machineHull_LuV;
+ } else if (tier == 7) {
+ return machineHull_ZPM;
+ } else if (tier == 8) {
+ return machineHull_UV;
+ } else if (tier == 9) {
+ return machineHull_UHV;
+ } else {
+ return GregtechItemList.Casing_Multi_Use.get(1);
+ }
+ }
+
+ public static ItemStack getTieredMachineCasing(int tier) {
+ if (tier == 0) {
+ if (machineCasing_ULV == null) {
+ machineCasing_ULV = ItemList.Casing_ULV.get(1);
+ }
+ return machineCasing_ULV;
+ } else if (tier == 1) {
+ return machineCasing_LV;
+ } else if (tier == 2) {
+ return machineCasing_MV;
+ } else if (tier == 3) {
+ return machineCasing_HV;
+ } else if (tier == 4) {
+ return machineCasing_EV;
+ } else if (tier == 5) {
+ return machineCasing_IV;
+ } else if (tier == 6) {
+ return machineCasing_LuV;
+ } else if (tier == 7) {
+ return machineCasing_ZPM;
+ } else if (tier == 8) {
+ return machineCasing_UV;
+ } else if (tier == 9) {
+ return machineCasing_UHV;
+ } else {
+ return GregtechItemList.Casing_Multi_Use.get(1);
+ }
+ }
+
+ public static void init() {
+ // Set Explosives
+ explosivePowderKeg = ItemList.Block_Powderbarrel.get(1);
+ explosiveTNT = ItemUtils.getSimpleStack(Blocks.tnt)
+ .copy();
+ explosiveITNT = Ic2Items.industrialTnt.copy();
+
+ // Machine Casings
+ machineCasing_ULV = ItemList.Casing_ULV.get(1);
+ machineCasing_LV = ItemList.Casing_LV.get(1);
+ machineCasing_MV = ItemList.Casing_MV.get(1);
+ machineCasing_HV = ItemList.Casing_HV.get(1);
+ machineCasing_EV = ItemList.Casing_EV.get(1);
+ machineCasing_IV = ItemList.Casing_IV.get(1);
+ machineCasing_LuV = ItemList.Casing_LuV.get(1);
+ machineCasing_ZPM = ItemList.Casing_ZPM.get(1);
+ machineCasing_UV = ItemList.Casing_UV.get(1);
+ machineCasing_UHV = ItemList.Casing_MAX.get(1);
+
+ // Machine Hulls
+ machineHull_ULV = ItemList.Hull_ULV.get(1);
+ machineHull_LV = ItemList.Hull_LV.get(1);
+ machineHull_MV = ItemList.Hull_MV.get(1);
+ machineHull_HV = ItemList.Hull_HV.get(1);
+ machineHull_EV = ItemList.Hull_EV.get(1);
+ machineHull_IV = ItemList.Hull_IV.get(1);
+ machineHull_LuV = ItemList.Hull_LuV.get(1);
+ machineHull_ZPM = ItemList.Hull_ZPM.get(1);
+ machineHull_UV = ItemList.Hull_UV.get(1);
+ machineHull_UHV = ItemList.Hull_MAX.get(1);
+
+ // Gear box Casings
+ gearboxCasing_Tier_1 = ItemList.Casing_Gearbox_Bronze.get(1);
+ gearboxCasing_Tier_2 = ItemList.Casing_Gearbox_Steel.get(1);
+ gearboxCasing_Tier_3 = ItemList.Casing_Gearbox_Titanium.get(1);
+ gearboxCasing_Tier_4 = ItemList.Casing_Gearbox_TungstenSteel.get(1);
+
+ // Machine Components
+ LOADER_Machine_Components.initialise();
+ }
+
+ public static ItemStack emptyCells(int i) {
+ return ItemUtils.getEmptyCell(i);
+ }
+
+ private static final Material[] aMaterial_Main = new Material[] { ALLOY.POTIN, ALLOY.TUMBAGA, ALLOY.EGLIN_STEEL,
+ ALLOY.INCONEL_625, ALLOY.INCOLOY_DS, ALLOY.NITINOL_60, ALLOY.ZERON_100, ALLOY.PIKYONIUM,
+ ELEMENT.STANDALONE.ADVANCED_NITINOL, ALLOY.ABYSSAL, ALLOY.QUANTUM, ELEMENT.STANDALONE.HYPOGEN };
+
+ private static final Material[] aMaterial_Secondary = new Material[] { ALLOY.STEEL, ALLOY.SILICON_CARBIDE,
+ ALLOY.BLOODSTEEL, ALLOY.TANTALUM_CARBIDE, ALLOY.INCONEL_792, ALLOY.ARCANITE, ALLOY.LAFIUM, ALLOY.CINOBITE,
+ ALLOY.TITANSTEEL, ALLOY.OCTIRON, ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN, ELEMENT.STANDALONE.HYPOGEN };
+
+ private static final Material[] aMaterial_Tertiary = new Material[] { ELEMENT.getInstance().LEAD,
+ ELEMENT.getInstance().ALUMINIUM, ELEMENT.STANDALONE.BLACK_METAL, ELEMENT.getInstance().TITANIUM,
+ ALLOY.HASTELLOY_N, ALLOY.ENERGYCRYSTAL, ALLOY.TRINIUM_NAQUADAH_CARBON, ALLOY.TRINIUM_REINFORCED_STEEL, // Arceus
+ ALLOY.TITANSTEEL, ELEMENT.STANDALONE.ASTRAL_TITANIUM, ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN,
+ ELEMENT.STANDALONE.HYPOGEN };
+
+ private static final Materials[] aMaterial_Cables = new Materials[] { Materials.Tin, Materials.Cobalt,
+ Materials.AnnealedCopper, Materials.Gold, Materials.Titanium, Materials.Nichrome, Materials.Platinum,
+ Materials.YttriumBariumCuprate, Materials.Naquadah, Materials.Duranium, Materials.SuperconductorUHV, };
+
+ private static final Materials[] aMaterial_Circuits = new Materials[] { Materials.Primitive, Materials.Basic,
+ Materials.Good, Materials.Advanced, Materials.Data, Materials.Data, Materials.Elite, Materials.Master,
+ Materials.Ultimate, Materials.SuperconductorUHV, Materials.Infinite, };
+
+ private static final Material[][] aMaster = new Material[][] { aMaterial_Main, aMaterial_Secondary,
+ aMaterial_Tertiary };
+
+ public static FluidStack getTieredFluid(int aTier, int aAmount) {
+ return getTieredFluid(aTier, aAmount, 0);
+ }
+
+ public static FluidStack getAlternativeTieredFluid(int aTier, int aAmount) {
+ return getTieredFluid(aTier, aAmount, 1);
+ }
+
+ public static FluidStack getTertiaryTieredFluid(int aTier, int aAmount) {
+ return getTieredFluid(aTier, aAmount, 2);
+ }
+
+ public static FluidStack getTieredFluid(int aTier, int aAmount, int aType) {
+ // Weird Legacy handling
+ /*
+ * ItemStack aCell = getTieredComponent(OrePrefixes.liquid, aTier, 1); FluidStack a =
+ * GT_Utility.getFluidForFilledItem(aCell, true); if (a == null) { a = aMaster[aType][aTier].getFluid(aAmount);
+ * }
+ */
+
+ // Modern Handling
+ FluidStack a = aMaster[aType][aTier].getFluidStack(aAmount);
+ if (a == null) {
+ ItemStack aCell = getTieredComponent(OrePrefixes.liquid, aTier, 1);
+ if (aCell != null) {
+ a = GT_Utility.getFluidForFilledItem(aCell, true);
+ a.amount = aAmount;
+ }
+ }
+ return a;
+ }
+
+ public static ItemStack getEnergyCore(int aTier, int aAmount) {
+ ItemStack[] aOutput = new ItemStack[] {
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "1", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "2", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "3", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "4", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "5", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "6", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "7", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "8", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "9", 1),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "10", 1) };
+ return ItemUtils.getSimpleStack(aOutput[MathUtils.balance(aTier, 0, 9)], aAmount);
+ }
+
+ public static ItemStack getPlate(int aTier, int aAmount) {
+ return getTieredComponent(OrePrefixes.plate, aTier, aAmount);
+ }
+
+ public static ItemStack getDoublePlate(int aTier, int aAmount) {
+ return getTieredComponent(OrePrefixes.plateDouble, aTier, aAmount);
+ }
+
+ public static ItemStack getGear(int aTier, int aAmount) {
+ return getTieredComponent(OrePrefixes.gearGt, aTier, aAmount);
+ }
+
+ public static ItemStack getIngot(int aTier, int aAmount) {
+ return getTieredComponent(OrePrefixes.ingot, aTier, aAmount);
+ }
+
+ public static ItemStack getBolt(int aTier, int aAmount) {
+ return getTieredComponent(OrePrefixes.bolt, aTier, aAmount);
+ }
+
+ public static ItemStack getScrew(int aTier, int aAmount) {
+ return getTieredComponent(OrePrefixes.screw, aTier, aAmount);
+ }
+
+ public static ItemStack getCircuit(int aTier, int aAmount) {
+ return getTieredComponent(OrePrefixes.circuit, aTier, aAmount);
+ }
+
+ public static ItemStack getTieredComponent(OrePrefixes aPrefix, int aTier, int aAmount) {
+ aTier = Math.max(0, aTier);
+
+ Material m;
+
+ if (aPrefix == OrePrefixes.liquid) {
+ int aMatID = (aTier == 0 || aTier == 2 || aTier == 5 || aTier == 8 ? 0
+ : (aTier == 1 || aTier == 3 || aTier == 6 || aTier == 9 ? 1 : 2));
+ ItemStack aCell = aMaster[aMatID][aTier].getCell(aAmount);
+ return aCell;
+ }
+
+ if (aPrefix == OrePrefixes.circuit) {
+ /*
+ * if (aTier == 4) { return ItemUtils.getSimpleStack(CI.getDataStick(), aAmount); } else if (aTier == 5) {
+ * return ItemUtils.getSimpleStack(CI.getDataOrb(), aAmount); }
+ */
+ return ItemUtils.getOrePrefixStack(OrePrefixes.circuit, aMaterial_Circuits[aTier], aAmount);
+ }
+
+ // Check for Cables first, catch SuperConductor case and swap to wire.
+ if (aPrefix == OrePrefixes.cableGt01 || aPrefix == OrePrefixes.cableGt02
+ || aPrefix == OrePrefixes.cableGt04
+ || aPrefix == OrePrefixes.cableGt08
+ || aPrefix == OrePrefixes.cableGt12) {
+ // Special Handler
+ if (aTier == 10) {
+ if (aPrefix == OrePrefixes.cableGt01) {
+ aPrefix = OrePrefixes.wireGt02;
+ } else if (aPrefix == OrePrefixes.cableGt02) {
+ aPrefix = OrePrefixes.wireGt04;
+ } else if (aPrefix == OrePrefixes.cableGt04) {
+ aPrefix = OrePrefixes.wireGt08;
+ } else if (aPrefix == OrePrefixes.cableGt08) {
+ aPrefix = OrePrefixes.wireGt12;
+ } else if (aPrefix == OrePrefixes.cableGt12) {
+ aPrefix = OrePrefixes.wireGt16;
+ }
+ } else {
+ return ItemUtils.getOrePrefixStack(aPrefix, aMaterial_Cables[aTier], aAmount);
+ }
+ }
+ if (aPrefix == OrePrefixes.wireGt01 || aPrefix == OrePrefixes.wireGt02
+ || aPrefix == OrePrefixes.wireGt04
+ || aPrefix == OrePrefixes.wireGt08
+ || aPrefix == OrePrefixes.wireGt12
+ || aPrefix == OrePrefixes.wireGt16) {
+ return ItemUtils.getOrePrefixStack(aPrefix, aMaterial_Cables[aTier], aAmount);
+ }
+
+ if (aPrefix == OrePrefixes.pipeTiny || aPrefix == OrePrefixes.pipeSmall
+ || aPrefix == OrePrefixes.pipe
+ || aPrefix == OrePrefixes.pipeMedium
+ || aPrefix == OrePrefixes.pipeLarge
+ || aPrefix == OrePrefixes.pipeHuge) {
+
+ if (aPrefix == OrePrefixes.pipe) {
+ aPrefix = OrePrefixes.pipeMedium;
+ }
+
+ if (aTier == 0) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.Lead, aAmount);
+ } else if (aTier == 1) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.Steel, aAmount);
+ } else if (aTier == 2) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.StainlessSteel, aAmount);
+ } else if (aTier == 3) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.Tungsten, aAmount);
+ } else if (aTier == 4) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.TungstenSteel, aAmount);
+ } else if (aTier == 5) {
+ return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.MARAGING350, aAmount);
+ } else if (aTier == 6) {
+ return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.STABALLOY, aAmount);
+ } else if (aTier == 7) {
+ return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.HASTELLOY_X, aAmount);
+ } else if (aTier == 8) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.Ultimate, aAmount);
+ } else if (aTier == 9) {
+ return ItemUtils.getOrePrefixStack(OrePrefixes.pipeMedium, Materials.SuperconductorUHV, aAmount);
+ } else if (aTier == 10) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.Europium, aAmount);
+ } else {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.Titanium, aAmount);
+ }
+ }
+
+ if (aPrefix == OrePrefixes.rod) {
+ aPrefix = OrePrefixes.stick;
+ }
+
+ if (aPrefix == OrePrefixes.gear || aPrefix == OrePrefixes.gearGt) {
+ m = aMaster[0][aTier];
+ } else if (aPrefix == OrePrefixes.rod || aPrefix == OrePrefixes.stick) {
+ m = aMaster[0][aTier];
+ } else if (aPrefix == OrePrefixes.stickLong) {
+ m = aMaster[1][aTier];
+ } else if (aPrefix == OrePrefixes.bolt) {
+ m = aMaster[2][aTier];
+ } else if (aPrefix == OrePrefixes.screw) {
+ m = aMaster[0][aTier];
+ } else if (aPrefix == OrePrefixes.rotor) {
+ m = aMaster[1][aTier];
+ } else if (aPrefix == OrePrefixes.frame || aPrefix == OrePrefixes.frameGt) {
+ m = aMaster[2][aTier];
+ } else if (aPrefix == OrePrefixes.ingot) {
+ m = aMaster[1][aTier];
+ } else if (aPrefix == OrePrefixes.plate) {
+ m = aMaster[0][aTier];
+ } else if (aPrefix == OrePrefixes.plateDouble) {
+ m = aMaster[0][aTier];
+ } else if (aPrefix == OrePrefixes.ring) {
+ m = aMaster[2][aTier];
+ } else if (aPrefix == OrePrefixes.cell) {
+ m = aMaster[1][aTier];
+ } else {
+ m = aMaterial_Main[aTier];
+ }
+
+ ItemStack aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount);
+
+ // If Invalid, Try First Material
+ if (!ItemUtils.checkForInvalidItems(aReturn)) {
+ m = aMaster[0][aTier];
+ aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount);
+
+ // If Invalid, Try Second Material
+ if (!ItemUtils.checkForInvalidItems(aReturn)) {
+ m = aMaster[1][aTier];
+ aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount);
+
+ // If Invalid, Try Third Material
+ if (!ItemUtils.checkForInvalidItems(aReturn)) {
+ m = aMaster[2][aTier];
+ aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount);
+
+ // All Invalid?
+ // Let's add a special error ingot.
+ if (!ItemUtils.checkForInvalidItems(aReturn)) {
+ aReturn = ItemUtils.getErrorStack(1, (aPrefix + m.getLocalizedName() + " x" + aAmount));
+ }
+ }
+ }
+ }
+
+ return aReturn;
+ }
+
+ public static ItemStack getElectricMotor(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 1;
+ if (aTier == aLazyTier++) {
+ aType = CI.electricMotor_LV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricMotor_MV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricMotor_HV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricMotor_EV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricMotor_IV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricMotor_LuV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricMotor_ZPM;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricMotor_UV;
+ } else if (aTier == aLazyTier) {
+ aType = CI.electricMotor_UHV;
+ } else {
+ throw new IllegalArgumentException();
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getFluidRegulator(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 0;
+ if (aTier == aLazyTier++) {
+ aType = CI.fluidRegulator_LV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fluidRegulator_LV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fluidRegulator_MV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fluidRegulator_HV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fluidRegulator_EV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fluidRegulator_IV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fluidRegulator_LuV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fluidRegulator_ZPM;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fluidRegulator_UV;
+ } else if (aTier == aLazyTier) {
+ aType = CI.fluidRegulator_UV;
+ } else {
+ throw new IllegalArgumentException();
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getElectricPiston(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 1;
+ if (aTier == aLazyTier++) {
+ aType = CI.electricPiston_LV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPiston_MV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPiston_HV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPiston_EV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPiston_IV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPiston_LuV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPiston_ZPM;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPiston_UV;
+ } else if (aTier == aLazyTier) {
+ aType = CI.electricPiston_UHV;
+ } else {
+ throw new IllegalArgumentException();
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getElectricPump(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 1;
+ if (aTier == aLazyTier++) {
+ aType = CI.electricPump_LV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPump_MV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPump_HV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPump_EV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPump_IV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPump_LuV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPump_ZPM;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.electricPump_UV;
+ } else if (aTier == aLazyTier) {
+ aType = CI.electricPump_UHV;
+ } else {
+ throw new IllegalArgumentException();
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getRobotArm(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 1;
+ if (aTier == aLazyTier++) {
+ aType = CI.robotArm_LV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.robotArm_MV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.robotArm_HV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.robotArm_EV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.robotArm_IV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.robotArm_LuV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.robotArm_ZPM;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.robotArm_UV;
+ } else if (aTier == aLazyTier) {
+ aType = CI.robotArm_UHV;
+ } else {
+ throw new IllegalArgumentException();
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getConveyor(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 1;
+ if (aTier == aLazyTier++) {
+ aType = CI.conveyorModule_LV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.conveyorModule_MV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.conveyorModule_HV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.conveyorModule_EV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.conveyorModule_IV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.conveyorModule_LuV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.conveyorModule_ZPM;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.conveyorModule_UV;
+ } else if (aTier == aLazyTier) {
+ aType = CI.conveyorModule_UHV;
+ } else {
+ throw new IllegalArgumentException();
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getEmitter(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 1;
+ if (aTier == aLazyTier++) {
+ aType = CI.emitter_LV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.emitter_MV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.emitter_HV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.emitter_EV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.emitter_IV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.emitter_LuV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.emitter_ZPM;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.emitter_UV;
+ } else if (aTier == aLazyTier) {
+ aType = CI.emitter_UHV;
+ } else {
+ throw new IllegalArgumentException();
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getSensor(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 1;
+ if (aTier == aLazyTier++) {
+ aType = CI.sensor_LV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.sensor_MV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.sensor_HV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.sensor_EV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.sensor_IV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.sensor_LuV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.sensor_ZPM;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.sensor_UV;
+ } else if (aTier == aLazyTier) {
+ aType = CI.sensor_UHV;
+ } else {
+ throw new IllegalArgumentException();
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getFieldGenerator(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 1;
+ if (aTier == aLazyTier++) {
+ aType = CI.fieldGenerator_LV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fieldGenerator_MV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fieldGenerator_HV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fieldGenerator_EV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fieldGenerator_IV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fieldGenerator_LuV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fieldGenerator_ZPM;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.fieldGenerator_UV;
+ } else if (aTier == aLazyTier) {
+ aType = CI.fieldGenerator_UHV;
+ } else {
+ throw new IllegalArgumentException();
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getTieredMachineHull(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 0;
+ if (aTier == aLazyTier++) {
+ aType = CI.machineHull_ULV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.machineHull_LV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.machineHull_MV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.machineHull_HV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.machineHull_EV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.machineHull_IV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.machineHull_LuV;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.machineHull_ZPM;
+ } else if (aTier == aLazyTier++) {
+ aType = CI.machineHull_UV;
+ } else if (aTier == aLazyTier) {
+ aType = CI.machineHull_UHV;
+ } else {
+ throw new IllegalArgumentException();
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getHeatCoil(int i) {
+ if (i > 8) {
+ i = 8;
+ }
+ return ItemUtils.simpleMetaStack(GregTech_API.sBlockCasings5, i, 1);
+ }
+
+ public static ItemStack getNumberedBioCircuit(int i) {
+ return ItemUtils.simpleMetaStack(AgriculturalChem.mBioCircuit, i, 0);
+ }
+
+ public static ItemStack getNumberedAdvancedCircuit(int i) {
+ return ItemUtils.simpleMetaStack(GenericChem.mAdvancedCircuit, i, 0);
+ }
+
+ public static ItemStack getTieredGTPPMachineCasing(int aTier, int aAmount) {
+ GregtechItemList[] aHulls = new GregtechItemList[] { GregtechItemList.GTPP_Casing_ULV,
+ GregtechItemList.GTPP_Casing_LV, GregtechItemList.GTPP_Casing_MV, GregtechItemList.GTPP_Casing_HV,
+ GregtechItemList.GTPP_Casing_EV, GregtechItemList.GTPP_Casing_IV, GregtechItemList.GTPP_Casing_LuV,
+ GregtechItemList.GTPP_Casing_ZPM, GregtechItemList.GTPP_Casing_UV, GregtechItemList.GTPP_Casing_UHV };
+ return aHulls[aTier].get(aAmount);
+ }
+
+ public static ItemStack getTieredComponentOfMaterial(Materials aMaterial, OrePrefixes aPrefix, int aAmount) {
+ return ItemUtils.getOrePrefixStack(aPrefix, aMaterial, aAmount);
+ }
+
+ public static ItemStack getTransmissionComponent(int aTier, int aAmount) {
+ GregtechItemList[] aTransParts = new GregtechItemList[] { null, GregtechItemList.TransmissionComponent_LV,
+ GregtechItemList.TransmissionComponent_MV, GregtechItemList.TransmissionComponent_HV,
+ GregtechItemList.TransmissionComponent_EV, GregtechItemList.TransmissionComponent_IV,
+ GregtechItemList.TransmissionComponent_LuV, GregtechItemList.TransmissionComponent_ZPM,
+ GregtechItemList.TransmissionComponent_UV, GregtechItemList.TransmissionComponent_UHV, };
+ return aTransParts[aTier].get(aAmount);
+ }
+
+ public static ItemStack getEmptyCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 13, aAmount);
+ }
+
+ /**
+ * Aluminium + Silver Catalyst
+ *
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getGreenCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 14, aAmount);
+ }
+
+ /**
+ * Iridium + Ruthenium Catalyst
+ *
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getPurpleCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 4, aAmount);
+ }
+
+ /**
+ * Platinum + Rhodium Catalyst
+ *
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getPinkCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 6, aAmount);
+ }
+}