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))