aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/core/recipe
diff options
context:
space:
mode:
authorJohann Bernhardt <johann.bernhardt@tum.de>2021-12-12 19:38:06 +0100
committerJohann Bernhardt <johann.bernhardt@tum.de>2021-12-12 19:38:06 +0100
commit311ab89f93558233a40079f7cb16605b141b5346 (patch)
treec5f44ef47f441a57c5f57aa801f639c7879ed760 /src/main/java/gtPlusPlus/core/recipe
parent896143b96132f5ac54aa8d8f7386f27487e5e530 (diff)
downloadGT5-Unofficial-311ab89f93558233a40079f7cb16605b141b5346.tar.gz
GT5-Unofficial-311ab89f93558233a40079f7cb16605b141b5346.tar.bz2
GT5-Unofficial-311ab89f93558233a40079f7cb16605b141b5346.zip
Move sources and resources
Diffstat (limited to 'src/main/java/gtPlusPlus/core/recipe')
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java100
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java216
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_Extruder.java47
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java2270
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java509
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java135
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java27
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java410
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java2926
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java458
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java226
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java222
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_Shapeless.java35
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_Tools.java181
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPE_Batteries.java52
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/ShapedRecipeObject.java43
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/common/CI.java1343
17 files changed, 9200 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java b/src/main/java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java
new file mode 100644
index 0000000000..b5fc9c3995
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java
@@ -0,0 +1,100 @@
+package gtPlusPlus.core.recipe;
+
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.util.GT_ModHandler;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+
+public class Gregtech_Recipe_Adder {
+
+ private static int euT;
+ private static int ticks;
+ private static ItemStack inputStack1;
+ private static ItemStack inputStack2;
+ private static ItemStack outputStack1;
+ private static ItemStack outputStack2;
+
+ public static void addRecipe(
+ final Item maceratorInput, final int maceratorInputAmount1,
+ final Item maceratorOutput, final int maceratorOutputAmount1,
+ final Item compressorInput, final int compressorInputAmount1,
+ final Item compressorOutput, final int compressorOutputAmount1,
+ final Item blastFurnaceInput, final int blastFurnaceInputAmount1,
+ final Item blastFurnaceOutput, final int blastFurnaceOutputAmount1,
+ final Item blastFurnaceInput2, final int blastFurnaceInputAmount2,
+ final Item blastFurnaceOutput2, final int blastFurnaceOutputAmount2,
+ final Item smeltingInput, final int smeltingInputAmount1,
+ final Item smeltingOutput, final int smeltingOutputAmount1,
+
+ final int euPerTick, final int timeInTicks,
+ final boolean addMaceratorRecipe, final boolean addCompressorRecipe, final boolean addBlastFurnaceRecipe, final int blastFurnaceTemp, final boolean addSmeltingRecipe, final boolean addMixerRecipe){
+ euT = euPerTick;
+ ticks = timeInTicks;
+
+ resetVars();
+ if (addMaceratorRecipe){
+ inputStack1 = ItemUtils.getSimpleStack(maceratorInput, maceratorInputAmount1);
+ outputStack1 = ItemUtils.getSimpleStack(maceratorOutput, maceratorOutputAmount1);
+ addMaceratorRecipe(inputStack1, outputStack1);
+ }
+ resetVars();
+ if (addCompressorRecipe){
+ inputStack1 = ItemUtils.getSimpleStack(compressorInput, compressorInputAmount1);
+ outputStack1 = ItemUtils.getSimpleStack(compressorOutput, compressorOutputAmount1);
+ addCompressorRecipe(inputStack1, outputStack1);
+ }
+ resetVars();
+ if (addBlastFurnaceRecipe){
+ inputStack1 = ItemUtils.getSimpleStack(blastFurnaceInput, blastFurnaceInputAmount1);
+ inputStack2 = ItemUtils.getSimpleStack(blastFurnaceInput2, blastFurnaceInputAmount2);
+ outputStack1 = ItemUtils.getSimpleStack(blastFurnaceOutput, blastFurnaceOutputAmount1);
+ outputStack2 = ItemUtils.getSimpleStack(blastFurnaceOutput2, blastFurnaceOutputAmount2);
+ addBlastFurnaceRecipe(inputStack1, inputStack2, outputStack1, outputStack2, blastFurnaceTemp);
+ }
+ resetVars();
+ if (addSmeltingRecipe){
+ inputStack1 = ItemUtils.getSimpleStack(smeltingInput, smeltingInputAmount1);
+ outputStack1 = ItemUtils.getSimpleStack(smeltingOutput, smeltingOutputAmount1);
+ addSmeltingRecipe(inputStack1, outputStack1);
+ }
+ resetVars();
+
+ }
+
+ private static void resetVars(){
+ inputStack1 = null;
+ inputStack2 = null;
+ outputStack1 = null;
+ outputStack2 = null;
+ }
+
+ private static void addMaceratorRecipe(final ItemStack input1, final ItemStack output1){
+ GT_ModHandler.addPulverisationRecipe(input1, output1);
+ }
+
+ private static void addCompressorRecipe(final ItemStack input1, final ItemStack output1){
+ GT_ModHandler.addCompressionRecipe(input1, output1);
+ }
+
+ private static void addBlastFurnaceRecipe(final ItemStack input1, final ItemStack input2, final ItemStack output1, final ItemStack output2, final int tempRequired){
+ Logger.INFO("Registering Blast Furnace Recipes.");
+ GT_Values.RA.addBlastRecipe(
+ input1,
+ input2,
+ GT_Values.NF, GT_Values.NF,
+ output1,
+ output2,
+ ticks,
+ euT,
+ tempRequired);
+ }
+
+ private static void addSmeltingRecipe(final ItemStack input1, final ItemStack output1){
+ GT_ModHandler.addSmeltingRecipe(input1, output1);
+ }
+
+}
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..460b29e802
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/LOADER_Machine_Components.java
@@ -0,0 +1,216 @@
+package gtPlusPlus.core.recipe;
+
+import gregtech.api.enums.ItemList;
+
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+public class LOADER_Machine_Components {
+
+ public static void initialise(){
+
+ registerDefaultComponents();
+
+ if (!CORE.GTNH){
+ if(CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
+ registerGTExperimentalComponents();
+ }
+ else {
+ registerGTStandardComponents();
+ }
+ }
+ else {
+ 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);
+ }
+
+ private static void registerGTExperimentalComponents(){
+ //GT++ 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", 32620, 1);
+ CI.electricPump_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32621, 1);
+ CI.electricPump_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32622, 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", 32636, 1);
+ CI.conveyorModule_ZPM = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32637, 1);
+ CI.conveyorModule_UV = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32638, 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);
+
+ registerComponentsULV();
+ registerComponentsMAX();
+ }
+
+ private static void registerGTStandardComponents(){
+ CI.electricMotor_LuV = GregtechItemList.Electric_Motor_LuV.get(1);
+ CI.electricMotor_ZPM = GregtechItemList.Electric_Motor_ZPM.get(1);
+ CI.electricMotor_UV = GregtechItemList.Electric_Motor_UV.get(1);
+ CI.electricMotor_MAX = GregtechItemList.Electric_Motor_MAX.get(1);
+ CI.electricPump_LuV = GregtechItemList.Electric_Pump_LuV.get(1);
+ CI.electricPump_ZPM = GregtechItemList.Electric_Pump_ZPM.get(1);
+ CI.electricPump_UV = GregtechItemList.Electric_Pump_UV.get(1);
+ CI.electricPump_MAX = GregtechItemList.Electric_Pump_MAX.get(1);
+ CI.electricPiston_LuV = GregtechItemList.Electric_Piston_LuV.get(1);
+ CI.electricPiston_ZPM = GregtechItemList.Electric_Piston_ZPM.get(1);
+ CI.electricPiston_UV = GregtechItemList.Electric_Piston_UV.get(1);
+ CI.electricPiston_MAX = GregtechItemList.Electric_Piston_MAX.get(1);
+ CI.robotArm_LuV = GregtechItemList.Robot_Arm_LuV.get(1);
+ CI.robotArm_ZPM = GregtechItemList.Robot_Arm_ZPM.get(1);
+ CI.robotArm_UV = GregtechItemList.Robot_Arm_UV.get(1);
+ CI.robotArm_MAX = GregtechItemList.Robot_Arm_MAX.get(1);
+ CI.conveyorModule_LuV = GregtechItemList.Conveyor_Module_LuV.get(1);
+ CI.conveyorModule_ZPM = GregtechItemList.Conveyor_Module_ZPM.get(1);
+ CI.conveyorModule_UV = GregtechItemList.Conveyor_Module_UV.get(1);
+ CI.conveyorModule_MAX = GregtechItemList.Conveyor_Module_MAX.get(1);
+ CI.emitter_LuV = GregtechItemList.Emitter_LuV.get(1);
+ CI.emitter_ZPM = GregtechItemList.Emitter_ZPM.get(1);
+ CI.emitter_UV = GregtechItemList.Emitter_UV.get(1);
+ CI.emitter_MAX = GregtechItemList.Emitter_MAX.get(1);
+ CI.fieldGenerator_LuV = GregtechItemList.Field_Generator_LuV.get(1);
+ CI.fieldGenerator_ZPM = GregtechItemList.Field_Generator_ZPM.get(1);
+ CI.fieldGenerator_UV = GregtechItemList.Field_Generator_UV.get(1);
+ CI.fieldGenerator_MAX = GregtechItemList.Field_Generator_MAX.get(1);
+ CI.sensor_LuV = GregtechItemList.Sensor_LuV.get(1);
+ CI.sensor_ZPM = GregtechItemList.Sensor_ZPM.get(1);
+ CI.sensor_UV = GregtechItemList.Sensor_UV.get(1);
+ CI.sensor_MAX = GregtechItemList.Sensor_MAX.get(1);
+
+ registerComponentsULV();
+ }
+
+ 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);
+
+ // Thanks 0lafe
+ CI.electricMotor_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32596, 1);
+ CI.electricPump_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32618, 1);
+ CI.electricPiston_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32648, 1);
+ CI.robotArm_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32658, 1);
+ CI.conveyorModule_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32638, 1);
+ CI.emitter_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32688, 1);
+ CI.fieldGenerator_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32678, 1);
+ CI.sensor_MAX = ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01", 32698, 1);
+
+ registerComponentsULV();
+ }
+
+ private static boolean registerComponentsULV(){
+
+ CI.electricMotor_ULV = GregtechItemList.Electric_Motor_ULV.get(1);
+ CI.electricPump_ULV = GregtechItemList.Electric_Pump_ULV.get(1);
+ CI.electricPiston_ULV = GregtechItemList.Electric_Piston_ULV.get(1);
+ CI.robotArm_ULV = GregtechItemList.Robot_Arm_ULV.get(1);
+ CI.conveyorModule_ULV = GregtechItemList.Conveyor_Module_ULV.get(1);
+ CI.emitter_ULV = GregtechItemList.Emitter_ULV.get(1);
+ CI.fieldGenerator_ULV = GregtechItemList.Field_Generator_ULV.get(1);
+ CI.sensor_ULV = GregtechItemList.Sensor_ULV.get(1);
+ return true;
+ }
+
+ private static boolean registerComponentsMAX() {
+
+ // Max Tier Components Blood Never added... Useless, lol.
+ CI.electricMotor_MAX = GregtechItemList.Electric_Motor_MAX.get(1);
+ CI.electricPump_MAX = GregtechItemList.Electric_Pump_MAX.get(1);
+ CI.electricPiston_MAX = GregtechItemList.Electric_Piston_MAX.get(1);
+ CI.robotArm_MAX = GregtechItemList.Robot_Arm_MAX.get(1);
+ CI.conveyorModule_MAX = GregtechItemList.Conveyor_Module_MAX.get(1);
+ CI.emitter_MAX = GregtechItemList.Emitter_MAX.get(1);
+ CI.fieldGenerator_MAX = GregtechItemList.Field_Generator_MAX.get(1);
+ CI.sensor_MAX = GregtechItemList.Sensor_MAX.get(1);
+
+ return true;
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Extruder.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Extruder.java
new file mode 100644
index 0000000000..455beb2fd0
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Extruder.java
@@ -0,0 +1,47 @@
+package gtPlusPlus.core.recipe;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.*;
+import gregtech.api.interfaces.IOreRecipeRegistrator;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+public class RECIPES_Extruder implements IOreRecipeRegistrator {
+
+ public RECIPES_Extruder() {
+ OrePrefixes.ingot.add((IOreRecipeRegistrator) this);
+ OrePrefixes.dust.add((IOreRecipeRegistrator) this);
+ }
+
+ public void registerOre(final OrePrefixes aPrefix, final Materials aMaterial, final String aOreDictName,
+ final String aModName, final ItemStack aStack) {
+ if (!CORE.GTNH && ((aMaterial == Materials.Glass || aMaterial == Materials.WroughtIron
+ || GT_OreDictUnificator.get(OrePrefixes.ingot, (Object) aMaterial, 1L) != null)
+ && !aMaterial.contains(SubTag.NO_SMELTING))) {
+ final long aMaterialMass = aMaterial.getMass();
+ final int tAmount = (int) (aPrefix.mMaterialAmount / 3628800L);
+ if (tAmount > 0 && tAmount <= 64 && aPrefix.mMaterialAmount % 3628800L == 0L) {
+ int tVoltageMultiplier = (aMaterial.mBlastFurnaceTemp >= 2800) ? 64 : 16;
+ if (aMaterial.contains(SubTag.NO_SMASHING)) {
+ tVoltageMultiplier /= 4;
+ } else if (aPrefix.name().startsWith(OrePrefixes.dust.name())) {
+ return;
+ }
+
+ GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}),
+ GregtechItemList.Shape_Extruder_SmallGear.get(0L, new Object[0]),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, (Object) aMaterial.mSmeltInto, (long) tAmount),
+ ((int) Math.max(aMaterialMass * 5L * tAmount, tAmount)/4), 8 * tVoltageMultiplier);
+ GT_Values.RA.addAlloySmelterRecipe(GT_Utility.copyAmount(2L, new Object[]{aStack}),
+ ItemList.Shape_Mold_Gear_Small.get(0L, new Object[0]),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, (Object) aMaterial.mSmeltInto, (long) tAmount),
+ ((int) Math.max(aMaterialMass * 10L * tAmount, tAmount)/4), 2 * tVoltageMultiplier);
+
+ }
+ }
+ }
+} \ No newline at end of file
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..5156b938db
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -0,0 +1,2270 @@
+package gtPlusPlus.core.recipe;
+
+import static gtPlusPlus.core.lib.CORE.GTNH;
+
+import java.util.ArrayList;
+
+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.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.HotFuel;
+import gregtech.api.util.ThermalFuel;
+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.chemistry.RocketFuels;
+import gtPlusPlus.core.item.crafting.ItemDummyResearch;
+import gtPlusPlus.core.item.crafting.ItemDummyResearch.ASSEMBLY_LINE_RESEARCH;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
+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.Utils;
+import gtPlusPlus.core.util.minecraft.EnchantingUtils;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.core.util.reflect.AddGregtechRecipe;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
+import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.oredict.OreDictionary;
+
+public class RECIPES_GREGTECH {
+
+ public static void run() {
+ Logger.INFO("Loading Recipes through GregAPI for Industrial Multiblocks.");
+ execute();
+ }
+
+ private static void execute() {
+ cokeOvenRecipes();
+ electrolyzerRecipes();
+ assemblerRecipes();
+ fluidcannerRecipes();
+ distilleryRecipes();
+ extractorRecipes();
+ fluidExtractorRecipes();
+ chemicalBathRecipes();
+ chemicalReactorRecipes();
+ dehydratorRecipes();
+ blastFurnaceRecipes();
+
+ if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
+ largeChemReactorRecipes();
+ fusionRecipes();
+ }
+
+ fissionFuelRecipes();
+ autoclaveRecipes();
+ compressorRecipes();
+ mixerRecipes();
+ macerationRecipes();
+ centrifugeRecipes();
+ benderRecipes();
+ cyclotronRecipes();
+ blastSmelterRecipes();
+ //advancedMixerRecipes();
+ sifterRecipes();
+ electroMagneticSeperatorRecipes();
+ extruderRecipes();
+ cuttingSawRecipes();
+ breweryRecipes();
+ laserEngraverRecipes();
+ assemblyLineRecipes();
+ latheRecipes();
+ vacuumFreezerRecipes();
+ fluidheaterRecipes();
+ chemplantRecipes();
+ packagerRecipes();
+
+
+ /**
+ * Special Recipe handlers
+ */
+ RECIPES_SeleniumProcessing.init();
+ RECIPES_RareEarthProcessing.init();
+
+
+
+
+
+
+ addFuels();
+ }
+
+
+
+ private static void packagerRecipes() {
+
+
+ }
+
+ 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[] {
+ FluidUtils.getFluidStack(GenericChem.Nitrogen_Dioxide, 4000),
+ 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);
+
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(16),
+ CI.getPinkCatalyst(0),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(GenericChem.Nitrogen_Dioxide, 3000),
+ FluidUtils.getDistilledWater(5000)
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("nitricacid", 2000),
+ FluidUtils.getFluidStack(GenericChem.Nitric_Oxide, 1500),
+ },
+ 10 * 20,
+ 480,
+ 2);
+
+ // Produce Boric Acid
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(21),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustBorax", 4),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(GenericChem.HydrochloricAcid, 2000)
+ },
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSalt", 5),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("boricacid", 2000),
+ 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);
+
+
+ // Convert GT++ Plutonium239 into normal Plutonium
+ if (Materials.Plutonium.mDefaultLocalName.equals("Plutonium 239")) {
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(16),
+ ELEMENT.getInstance().PLUTONIUM239.getDust(1)
+ },
+ new FluidStack[] {
+
+ },
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustPlutonium", 1)
+ },
+ new FluidStack[] {
+
+ },
+ 5 * 20,
+ 1,
+ 2);
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(16),
+ ELEMENT.getInstance().PLUTONIUM239.getSmallDust(1)
+ },
+ new FluidStack[] {
+
+ },
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallPlutonium", 1)
+ },
+ new FluidStack[] {
+
+ },
+ 5 * 20,
+ 1,
+ 2);
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(16),
+ ELEMENT.getInstance().PLUTONIUM239.getTinyDust(1)
+ },
+ new FluidStack[] {
+
+ },
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyPlutonium", 1)
+ },
+ new FluidStack[] {
+
+ },
+ 5 * 20,
+ 1,
+ 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);
+
+ }
+
+ private static void fluidheaterRecipes() {
+ GT_Values.RA.addFluidHeaterRecipe(CI.getNumberedCircuit(20), FluidUtils.getWater(1000), FluidUtils.getHotWater(1000), 30, 30);
+
+ }
+
+ private static void vacuumFreezerRecipes() {
+ GT_Values.RA.addVacuumFreezerRecipe(GregtechItemList.Bomb_Cast_Molten.get(1), GregtechItemList.Bomb_Cast_Set.get(1), 20 * 30);
+ }
+
+ private static void latheRecipes() {
+
+ GT_Values.RA.addLatheRecipe(
+ ALLOY.EGLIN_STEEL.getBlock(1),
+ GregtechItemList.Bomb_Cast_Mold.get(1),
+ null,
+ 20 * 60 * 15,
+ 120);
+
+ GT_Values.RA.addLatheRecipe(
+ GregtechItemList.Bomb_Cast_Set.get(1),
+ GregtechItemList.Bomb_Cast_Broken.get(2),
+ ItemUtils.getSimpleStack(ModItems.itemBombCasing, 2),
+ 20 * 60 * 5,
+ 30);
+
+ }
+
+ private static void fusionRecipes() {
+
+ /**
+ * Adds a Fusion reactor Recipe
+ *
+ * @param aInput1 = first Input (not null, and respects StackSize)
+ * @param aInput2 = second Input (not null, and respects StackSize)
+ * @param aOutput = Output of the Fusion (can be null, and respects StackSize)
+ * @param aFusionDurationInTicks = How many ticks the Fusion lasts (must be > 0)
+ * @param aFusionEnergyPerTick = The EU generated per Tick (can even be negative!)
+ * @param aEnergyNeededForStartingFusion = EU needed for heating the Reactor up (must be >= 0)
+ */
+
+ //Hydrogen Plasma
+ /*CORE.RA.addFusionReactorRecipe(
+ Particle.getIon("Hydrogen", 0),
+ Particle.getIon("Hydrogen", 0),
+ Materials.Hydrogen.getPlasma(1),
+ 5000,
+ 16,
+ 4096,
+ 40000000);*/
+
+
+ //Hypogen Creation
+ GT_Values.RA.addFusionReactorRecipe(
+ Materials.Neutronium.getMolten(128),
+ ALLOY.QUANTUM.getFluidStack(256),
+ ELEMENT.STANDALONE.HYPOGEN.getFluidStack(4),
+ 2048 * 4,
+ (int) MaterialUtils.getVoltageForTier(9),
+ 600000000 * 2);
+
+ //Rhugnor
+ GT_Values.RA.addFusionReactorRecipe(
+ GenericChem.TEFLON.getFluidStack(64),
+ ALLOY.PIKYONIUM.getFluidStack(128),
+ ELEMENT.STANDALONE.RHUGNOR.getFluidStack(8),
+ 2048 * 4,
+ (int) MaterialUtils.getVoltageForTier(7),
+ 150000000 * 2);
+
+ }
+
+ private static void assemblyLineRecipes() {
+
+
+
+ ItemStack[] aCoilWire = new ItemStack[] {
+ ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 0, GTNH ? 64 : 32),
+ ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 1, GTNH ? 64 : 32),
+ ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 2, GTNH ? 64 : 32),
+ ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 3, GTNH ? 64 : 32),
+ };
+
+
+
+
+ //Containment Casings
+ CORE.RA.addAssemblylineRecipe(
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_1_CONTAINMENT, 1),
+ 20 * 60 * 30,
+ new Object[] {
+ ItemList.Field_Generator_IV.get(GTNH ? 32 : 16),
+ ItemList.Electric_Motor_EV.get(GTNH ? 64 : 32),
+ ItemList.Energy_LapotronicOrb.get(GTNH ? 32 : 16),
+ CI.getTieredComponent(OrePrefixes.cableGt12, 7, GTNH ? 32 : 16),
+ CI.getTieredComponent(OrePrefixes.wireGt16, 6, GTNH ? 64 : 32),
+ ItemUtils.getOrePrefixStack(OrePrefixes.plate, Materials.Naquadria, GTNH ? 64 : 16),
+ ELEMENT.getInstance().GADOLINIUM.getDust(GTNH ? 32 : 8),
+ ELEMENT.getInstance().SAMARIUM.getDust(GTNH ? 16 : 4),
+ ALLOY.ARCANITE.getGear(GTNH ? 8 : 2),
+ new Object[] {CI.getTieredCircuitOreDictName(5), 64},
+ new Object[] {CI.getTieredCircuitOreDictName(6), 32},
+ new Object[] {CI.getTieredCircuitOreDictName(7), 16},
+ GregtechItemList.Laser_Lens_Special.get(1),
+ aCoilWire[3]
+ },
+ new FluidStack[] {
+ ALLOY.NITINOL_60.getFluidStack(144 * 9 * (GTNH ? 4 : 2)),
+ ALLOY.ENERGYCRYSTAL.getFluidStack(144 * 9 * (GTNH ? 8 : 4)),
+ ALLOY.TUMBAGA.getFluidStack(144 * 9 * (GTNH ? 32 : 8)),
+ ALLOY.NICHROME.getFluidStack(144 * 1 * (GTNH ? 16 : 4)),
+ },
+ ItemUtils.getSimpleStack(ModBlocks.blockCasings3Misc, 15, 32),
+ 20 * 60 * 10 * (GTNH ? 2 : 1),
+ (int) MaterialUtils.getVoltageForTier(6));
+
+ //Slow Fusion Controller
+ /*CORE.RA.addAssemblylineRecipe(
+ GregtechItemList.COMET_Cyclotron.get(1),
+ 20 * 60 * 30,
+ new ItemStack[] {
+ CI.getFieldGenerator(6, GTNH ? 32 : 8),
+ ItemList.Electric_Motor_EV.get(GTNH ? 32 : 8),
+ ItemList.Tool_Scanner.get(GTNH ? 4 : 2),
+ CI.getTieredComponent(OrePrefixes.cableGt12, 6, GTNH ? 32 : 16),
+ CI.getTieredComponent(OrePrefixes.wireGt16, 5, GTNH ? 64 : 32),
+ CI.getTieredComponent(OrePrefixes.plate, 6, GTNH ? 64 : 32),
+ ELEMENT.getInstance().GADOLINIUM.getDust(GTNH ? 32 : 8),
+ ELEMENT.getInstance().SAMARIUM.getDust(GTNH ? 16 : 4),
+ ALLOY.INCOLOY_MA956.getGear(GTNH ? 8 : 2),
+ CI.getTieredComponent(OrePrefixes.circuit, 5, GTNH ? 64 : 32),
+ CI.getTieredComponent(OrePrefixes.circuit, 6, GTNH ? 32 : 16),
+ CI.getTieredComponent(OrePrefixes.circuit, 7, GTNH ? 16 : 8)
+ },
+ new FluidStack[] {
+ CI.getTieredFluid(6, 144 * 9 * (GTNH ? 8 : 4)),
+ CI.getTertiaryTieredFluid(6, 144 * 9 * (GTNH ? 8 : 4)),
+ CI.getAlternativeTieredFluid(6, 144 * 9 * (GTNH ? 8 : 4)),
+ CI.getTieredFluid(5, 144 * 9 * (GTNH ? 16 : 8)),
+ },
+ GregtechItemList.Miniature_Fusion.get(1),
+ 20 * 60 * 5 * (GTNH ? 2 : 1),
+ (int) MaterialUtils.getVoltageForTier(7));*/
+
+
+ //Plasma Tank
+ /*CORE.RA.addAssemblylineRecipe(
+ ItemUtils.getOrePrefixStack(OrePrefixes.pipeMedium, Materials.Superconductor, 1),
+ 20 * 60 * 5,
+ new ItemStack[] {
+ CI.getTieredComponent(OrePrefixes.plate, 5, GTNH ? 32 : 16),
+ CI.getTieredComponent(OrePrefixes.circuit, 5, GTNH ? 16 : 4),
+ CI.getTieredComponent(OrePrefixes.pipeHuge, 5, GTNH ? 16 : 4),
+ CI.getTieredComponent(OrePrefixes.cableGt08, 7, GTNH ? 32 : 16),
+ CI.getTieredComponent(OrePrefixes.gearGt, 6, GTNH ? 8 : 4),
+ aCoilWire[2]
+ },
+ new FluidStack[] {
+ CI.getTieredFluid(4, 144 * 9 * (GTNH ? 16 : 8)),
+ CI.getTertiaryTieredFluid(4, 144 * 9 * (GTNH ? 16 : 8)),
+ CI.getAlternativeTieredFluid(4, 144 * 9 * (GTNH ? 16 : 8)),
+
+ },
+ GregtechItemList.Plasma_Tank.get(1),
+ 20 * 60 * 1 * (GTNH ? 2 : 1),
+ (int) MaterialUtils.getVoltageForTier(5));*/
+
+ // Turbine Automation Port
+ CORE.RA.addAssemblylineRecipe(
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_8_TURBINE_AUTOMATION, 1),
+ 20 * 60 * 60 * 24,
+ new Object[] {
+ CI.getTieredMachineHull(8, 4),
+ CI.getConveyor(8, GTNH ? 24 : 12),
+ CI.getElectricMotor(7, GTNH ? 32 : 16),
+ CI.getElectricPiston(7, GTNH ? 16 : 4),
+ CI.getEnergyCore(6, GTNH ? 8 : 2),
+ CI.getPlate(8, GTNH ? 24 : 12),
+ CI.getTieredComponent(OrePrefixes.screw, 8, GTNH ? 48 : 24),
+ CI.getTieredComponent(OrePrefixes.bolt, 7, GTNH ? 32 : 16),
+ CI.getTieredComponent(OrePrefixes.rod, 6, GTNH ? 12 : 6),
+ new Object[] {CI.getTieredCircuitOreDictName(7), 20},
+ CI.getTieredComponent(OrePrefixes.rotor, 6, GTNH ? 16 : 8),
+ },
+ new FluidStack[] {
+ CI.getTieredFluid(8, 144 * 32),
+ CI.getAlternativeTieredFluid(7, 144 * 16),
+ CI.getTertiaryTieredFluid(7, 144 * 16),
+ ALLOY.BABBIT_ALLOY.getFluidStack(128 * 144),
+ ALLOY.ZERON_100.getFluidStack(144 * 64)
+
+ },
+ GregtechItemList.Hatch_Input_TurbineHousing.get(4),
+ 20 * 60 * 60 * (GTNH ? 2 : 1),
+ (int) MaterialUtils.getVoltageForTier(8));
+
+
+ /*
+ * Contianment casings
+ */
+
+ 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++) {
+ CORE.RA.addAssemblylineRecipe(
+ aResearch[aCasingSlot],
+ 20 * 60 * 60,
+ new ItemStack[] {
+ CI.getTieredComponent(OrePrefixes.plate, j-1,16),
+ CI.getTieredComponent(OrePrefixes.cableGt08, j+1,(GTNH ? 32 : 16)),
+ CI.getTieredComponent(OrePrefixes.gearGt, j-1, 4),
+ aCoilWire[aCasingSlot]
+ },
+ new FluidStack[] {
+ CI.getTieredFluid(j, 144 *(GTNH ? 8 : 4)),
+ CI.getTertiaryTieredFluid(j-2, 144 * (GTNH ? 16 : 8)),
+ CI.getAlternativeTieredFluid(j, 144 * (GTNH ? 16 : 12)),
+
+ },
+ aGemCasings[aCasingSlot++],
+ 20 * 60 * 1 * (GTNH ? 2 : 1),
+ (int) MaterialUtils.getVoltageForTier(j));
+ }
+
+ /*
+ * 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++) {
+ CORE.RA.addAssemblylineRecipe(
+ aExoticInputs[aCasingSlot],
+ 20 * 60 * 60 * 5,
+ new Object[] {
+ 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, GTNH ? 32 : 16),
+ CI.getTieredComponent(OrePrefixes.bolt, j, GTNH ? 8 : 4),
+ CI.getTieredComponent(OrePrefixes.screw, j-1, GTNH ? 8 : 4),
+ },
+ new FluidStack[] {
+ CI.getTieredFluid(j, 144 * 1 * (GTNH ? 16 : 8)),
+ CI.getTertiaryTieredFluid(j-2, 144 * 2 * (GTNH ? 16 : 8)),
+ CI.getAlternativeTieredFluid(j, 144 * (GTNH ? 16 : 8)),
+ CI.getTertiaryTieredFluid(j-1, 144 * (GTNH ? 16 : 8)),
+ },
+ aGemBatteries[aCasingSlot++],
+ 20 * 60 * 1 * (GTNH ? 2 : 1),
+ (int) MaterialUtils.getVoltageForTier(j));
+ }
+
+
+ if (LoadedMods.Baubles) {
+ //Nano Healer
+ CORE.RA.addAssemblylineRecipe(
+ ItemUtils.simpleMetaStack(Items.golden_apple, 1, 1),
+ 20 * 60 * 10,
+ new Object[] {
+ ItemUtils.getSimpleStack(aGemCasings[2], GTNH ? 4 : 2),
+ CI.getTieredComponent(OrePrefixes.plate, 8, GTNH ? 32 : 16),
+ new Object[] {CI.getTieredCircuitOreDictName(7), 16},
+ CI.getTieredComponent(OrePrefixes.cableGt02, 7, GTNH ? 16 : 8),
+ CI.getTieredComponent(OrePrefixes.gearGt, 6, GTNH ? 6 : 3),
+ CI.getTieredComponent(OrePrefixes.screw, 7, GTNH ? 16 : 8),
+ CI.getTieredComponent(OrePrefixes.bolt, 5, GTNH ? 24 : 12),
+ CI.getTieredComponent(OrePrefixes.frameGt, 4, GTNH ? 12 : 6),
+ aCoilWire[3]
+ },
+ new FluidStack[] {
+ CI.getTieredFluid(7, 144 * 18 * (GTNH ? 16 : 8)),
+ CI.getTertiaryTieredFluid(7, 144 * 18 * (GTNH ? 16 : 8)),
+ CI.getAlternativeTieredFluid(6, 144 * 18 * (GTNH ? 16 : 8)),
+ CI.getAlternativeTieredFluid(7, 144 * 18 * (GTNH ? 16 : 8)),
+
+ },
+ ItemUtils.getItemStackFromFQRN("miscutils:personalHealingDevice", 1),
+ 20 * 60 * 30 * (GTNH ? 2 : 1),
+ (int) MaterialUtils.getVoltageForTier(7));
+
+
+
+ //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++) {
+ CORE.RA.addAssemblylineRecipe(
+ aChargeResearch[aCurrSlot],
+ 20 * 60 * 10 * (aCurrSlot + 1),
+ new Object[] {
+ 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, GTNH ? 16 : 8),
+ CI.getTieredComponent(OrePrefixes.bolt, h-2, GTNH ? 32 : 16),
+ CI.getFieldGenerator(h, 1),
+ },
+ new FluidStack[] {
+ CI.getTieredFluid(h, 144 * 4 * (GTNH ? 8 : 4)),
+ CI.getTertiaryTieredFluid(h-1, 144 * 4 * (GTNH ? 8 : 4)),
+ CI.getAlternativeTieredFluid(h-1, 144 * 4 * (GTNH ? 8 : 4)),
+ CI.getAlternativeTieredFluid(h-2, 144 * 4 * (GTNH ? 8 : 4)),
+ },
+ aChargeOutputs[aCurrSlot],
+ 20 * 60 * 30 * (GTNH ? 2 : 1) * (aCurrSlot+1),
+ (int) MaterialUtils.getVoltageForTier(h));
+ aCurrSlot++;
+ }
+
+ //Cloaking device
+ CORE.RA.addAssemblylineRecipe(
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_9_CLOAKING, 1),
+ 20 * 60 * 10,
+ new Object[] {
+ ItemUtils.getSimpleStack(aGemCasings[3], GTNH ? 4 : 2),
+ CI.getTieredComponent(OrePrefixes.plate, 8, GTNH ? 32 : 16),
+ new Object[] {CI.getTieredCircuitOreDictName(7), 16},
+ CI.getTieredComponent(OrePrefixes.cableGt04, 8, GTNH ? 16 : 8),
+ CI.getTieredComponent(OrePrefixes.gearGt, 7, GTNH ? 6 : 3),
+ CI.getTieredComponent(OrePrefixes.screw, 8, GTNH ? 16 : 8),
+ CI.getTieredComponent(OrePrefixes.bolt, 7, GTNH ? 24 : 12),
+ CI.getTieredComponent(OrePrefixes.frameGt, 5, GTNH ? 12 : 6),
+ aCoilWire[3]
+ },
+ new FluidStack[] {
+ CI.getTieredFluid(8, 144 * 18 * (GTNH ? 16 : 8)),
+ CI.getTertiaryTieredFluid(8, 144 * 18 * (GTNH ? 16 : 8)),
+ CI.getAlternativeTieredFluid(7, 144 * 18 * (GTNH ? 16 : 8)),
+ CI.getAlternativeTieredFluid(8, 144 * 18 * (GTNH ? 16 : 8)),
+
+ },
+ ItemUtils.getItemStackFromFQRN("miscutils:personalCloakingDevice", 1),
+ 20 * 60 * 30 * (GTNH ? 2 : 1),
+ (int) MaterialUtils.getVoltageForTier(8));
+ }
+
+
+
+
+
+
+
+
+
+ }
+
+ private static void laserEngraverRecipes() {
+
+ // Laser Sensors and Emitters together
+ GregtechItemList[] aTransParts = new GregtechItemList[] {
+ GregtechItemList.TransmissionComponent_ULV,
+ 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_MAX,
+ };
+ for (int i=0;i<10;i++) {
+ GT_Values.RA.addLaserEngraverRecipe(
+ CI.getEmitter(i, 2),
+ CI.getSensor(i, 2),
+ aTransParts[i].get(1),
+ 20 * 5,
+ MaterialUtils.getVoltageForTier(i));
+ }
+
+
+
+ GT_Values.RA.addLaserEngraverRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 6L),
+ GregtechItemList.Laser_Lens_Special.get(0),
+ ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getDust(1),
+ 20 * 60 * 3,
+ MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.vTier));
+
+ GT_Values.RA.addLaserEngraverRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 8L),
+ GregtechItemList.Laser_Lens_Special.get(0),
+ ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(1),
+ 20 * 60 * 2,
+ MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ASTRAL_TITANIUM.vTier));
+
+ GT_Values.RA.addLaserEngraverRecipe(
+ ALLOY.NITINOL_60.getBlock(2),
+ GregtechItemList.Laser_Lens_Special.get(0),
+ ELEMENT.STANDALONE.ADVANCED_NITINOL.getBlock(1),
+ 20 * 60 * 1,
+ MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ADVANCED_NITINOL.vTier));
+
+ GT_Values.RA.addLaserEngraverRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 64L),
+ GregtechItemList.Laser_Lens_Special.get(0),
+ ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getDust(1),
+ 20 * 60 * 5,
+ MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.vTier));
+
+
+ GT_Values.RA.addLaserEngraverRecipe(
+ CI.getFieldGenerator(6, 1),
+ CI.getEmitter(7, 2),
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_1_CONTAINMENT, 1),
+ 20 * 60 * 5,
+ MaterialUtils.getVoltageForTier(5));
+
+ // Distillus Upgrade Chip
+ GT_Values.RA.addLaserEngraverRecipe(
+ GregtechItemList.Laser_Lens_WoodsGlass.get(0),
+ ItemUtils.simpleMetaStack(AgriculturalChem.mBioCircuit, 20, 1),
+ GregtechItemList.Distillus_Upgrade_Chip.get(1),
+ 20 * 60 * 5,
+ MaterialUtils.getVoltageForTier(5));
+
+
+
+
+ }
+
+ private static void breweryRecipes() {
+ CORE.RA.addBrewingRecipe(14, EnchantingUtils.getMobEssence(100), EnchantingUtils.getLiquidXP(1332), 100, 120, false);
+ CORE.RA.addBrewingRecipe(14, EnchantingUtils.getLiquidXP(1332), EnchantingUtils.getMobEssence(100), 100, 120, false);
+ CORE.RA.addBrewingRecipe(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest), FluidUtils.getFluidStack("water", 100), FluidUtils.getFluidStack("biomass", 100), 1200, 3, false);
+ CORE.RA.addBrewingRecipe(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest), FluidUtils.getFluidStack("honey", 100), FluidUtils.getFluidStack("biomass", 150), 1200, 3, false);
+ CORE.RA.addBrewingRecipe(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest), FluidUtils.getFluidStack("juice", 100), FluidUtils.getFluidStack("biomass", 150), 1200, 3, false);
+ }
+
+ private static void cuttingSawRecipes() {
+ GT_Values.RA.addCutterRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("blockMeatRaw", 1), //Input
+ ItemUtils.getItemStackOfAmountFromOreDict("plateMeatRaw", 9), //Output
+ null,
+ 16, //Time
+ 8); //EU
+ }
+
+ private static void electrolyzerRecipes() {
+ GT_Values.RA.addElectrolyzerRecipe(
+ ItemUtils.getSimpleStack(ModItems.dustDecayedRadium226, 1),
+ null,
+ null,
+ FluidUtils.getFluidStack("radon", !GTNH ? 500 : 144),
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ new int[]{},
+ 20*90,
+ 240);
+ }
+
+ private static void extruderRecipes() {
+ // Osmium Credits
+ if (GT_Values.RA.addExtruderRecipe(ItemUtils.getItemStackOfAmountFromOreDict("blockOsmium", 1),
+ ItemList.Shape_Mold_Credit.get(0), ItemList.Credit_Greg_Osmium.get(1),
+ (int) Math.max(Materials.Osmium.getMass() * 2L * 20, 1), 1024)) {
+ Logger.WARNING("Extruder Recipe: Osmium Credit - Success");
+ }
+ else {
+ Logger.WARNING("Extruder Recipe: Osmium Credit - Failed");
+ }
+ }
+
+ private static void blastSmelterRecipes() {
+
+ if (!GTNH) {
+ // Trinium
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] {
+ ItemUtils.getGregtechCircuit(8),
+ ELEMENT.getInstance().BISMUTH.getDust(8),
+ ELEMENT.getInstance().IRON.getDust(64),
+ ELEMENT.getInstance().CARBON.getDust(16),
+ ELEMENT.getInstance().GOLD.getDust(16),
+ ELEMENT.getInstance().SILVER.getDust(16),
+ ELEMENT.getInstance().OSMIUM.getDust(4),
+ ELEMENT.getInstance().IRIDIUM.getDust(4),
+ ELEMENT.getInstance().CERIUM.getDust(8)
+ },
+ FluidUtils.getFluidStack("molten.trinium", 136 * 144), 0, 20 * 3000,
+ 2040*4);
+ }
+
+ //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().MERCURY.getCell(1),
+ ELEMENT.getInstance().BARIUM.getDust(2),
+ ELEMENT.getInstance().CALCIUM.getDust(2),
+ ELEMENT.getInstance().COPPER.getDust(3),
+ },
+ ELEMENT.getInstance().OXYGEN.getFluidStack(8000),
+ ALLOY.HG1223.getFluidStack(16 * 144),
+ new ItemStack[] {
+ CI.emptyCells(1)
+ },
+ 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);
+
+
+
+
+
+ // 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);
+
+
+ // Ruthenium Roasting
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] {
+ ItemUtils.getGregtechCircuit(19),
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedIridium", 8),
+ ELEMENT.getInstance().CARBON.getDust(32),
+ },
+ Materials.SulfuricAcid.getFluid(2000),
+ ELEMENT.getInstance().RUTHENIUM.getFluidStack(288),
+ 0,
+ 20 * 300,
+ 8000);
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] {
+ ItemUtils.getGregtechCircuit(19),
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedOsmium", 8),
+ ELEMENT.getInstance().CARBON.getDust(32),
+ },
+ Materials.SulfuricAcid.getFluid(2000),
+ ELEMENT.getInstance().RUTHENIUM.getFluidStack(288),
+ 0,
+ 20 * 300,
+ 8000);
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] {
+ ItemUtils.getGregtechCircuit(19),
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPlatinum", 8),
+ ELEMENT.getInstance().CARBON.getDust(32),
+ },
+ Materials.SulfuricAcid.getFluid(2000),
+ ELEMENT.getInstance().RUTHENIUM.getFluidStack(288),
+ 0,
+ 20 * 300,
+ 8000);
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] {
+ ItemUtils.getGregtechCircuit(19),
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCooperite", 8),
+ ELEMENT.getInstance().CARBON.getDust(32),
+ },
+ Materials.SulfuricAcid.getFluid(8000),
+ ELEMENT.getInstance().RUTHENIUM.getFluidStack(144),
+ 0,
+ 20 * 300,
+ 8000);
+
+ // 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("crushedPurifiedIron", 12),
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPyrite", 16),
+ ELEMENT.getInstance().CARBON.getDust(64),
+ },
+ Materials.SulfuricAcid.getFluid(5000),
+ ELEMENT.getInstance().THALLIUM.getFluidStack(288+144),
+ 0,
+ 20 * 300,
+ 8000);
+
+
+
+ //Strontium processing
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] {
+ ItemUtils.getGregtechCircuit(21),
+ MISC_MATERIALS.STRONTIUM_OXIDE.getDust(8),
+ ELEMENT.getInstance().ALUMINIUM.getDust(8),
+ },
+ 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);
+
+
+ //Wood's Glass Laser Lens
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] {
+ ItemUtils.getGregtechCircuit(5),
+ ItemList.Shape_Mold_Ball.get(0),
+ ELEMENT.getInstance().BARIUM.getDust(1),
+ ELEMENT.getInstance().SODIUM.getDust(1),
+ ELEMENT.getInstance().SILICON.getDust(2),
+ ELEMENT.getInstance().NICKEL.getDust(1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustGlass", 5)
+ },
+ FluidUtils.getUUM(1000),
+ null,
+ new ItemStack[] {
+ GregtechItemList.Laser_Lens_WoodsGlass.get(1)
+ },
+ new int[] {10000},
+ 20 * 300,
+ (int) GT_Values.V[3]);
+
+
+
+ }
+
+ private static void fluidcannerRecipes() {
+ // Sulfuric Acid
+ CORE.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(Items.glass_bottle),
+ ItemUtils.getSimpleStack(ModItems.itemSulfuricPotion), FluidUtils.getFluidStack("sulfuricacid", 250),
+ null);
+ CORE.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemSulfuricPotion),
+ ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("sulfuricacid", 250));
+
+
+
+ // Hydrofluoric Acid
+ boolean addedGtExtraction = false;
+ // Try use Internal GT Fluid first
+ if (Utils.getGregtechVersionAsInt() >= 50929) {
+ // Hydrofluoric Acid
+ CORE.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(Items.glass_bottle),
+ ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion),
+ FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 250), null);
+ addedGtExtraction = CORE.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion),
+ ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 250));
+ }
+ //Add a Fill recipe for GT++ Acid
+ CORE.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(Items.glass_bottle),
+ ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion),
+ FluidUtils.getFluidStack("hydrofluoricacid", 125), null);
+ //Add an empty recipe, but only if we didn't for the standard GT HF. Prevents Fluid transformation exploits.
+ if (!addedGtExtraction) {
+ CORE.RA.addFluidCannerRecipe(ItemUtils.getSimpleStack(ModItems.itemHydrofluoricPotion), ItemUtils.getSimpleStack(Items.glass_bottle), null, FluidUtils.getFluidStack("hydrofluoricacid", 125));
+ }
+
+ //Gelid Cryotheum
+ CORE.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustCryotheum", 1), FluidUtils.getFluidStack("cryotheum", 250), 200, 240);
+
+ //Ender Fluid
+ CORE.RA.addFluidExtractionRecipe(ItemUtils.getSimpleStack(Items.ender_pearl), FluidUtils.getFluidStack("ender", 250), 100, 30);
+
+ //Blazing Pyrotheum
+ CORE.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustPyrotheum", 1), FluidUtils.getFluidStack("pyrotheum", 250), 200, 240);
+
+
+ }
+
+ private static void cokeOvenRecipes() {
+ Logger.INFO("Loading Recipes for Industrial Coking Oven.");
+ // Wood to Charcoal
+ //Try use all woods found
+ ArrayList<ItemStack> aLogData = OreDictionary.getOres("logWood");
+ if (aLogData.isEmpty()) {
+ AddGregtechRecipe.addCokeAndPyrolyseRecipes(GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 20L), 20,
+ GT_ModHandler.getSteam(1000), GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 24L),
+ FluidUtils.getFluidStack("fluid.coalgas", 1440), 60, 30); }
+ else {
+ for (ItemStack stack : aLogData) {
+ AddGregtechRecipe.addCokeAndPyrolyseRecipes(ItemUtils.getSimpleStack(stack, 20), 20,
+ GT_ModHandler.getSteam(1000), GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 24L),
+ FluidUtils.getFluidStack("fluid.coalgas", 1440), 60, 30);
+ }
+ }
+
+ // Coal to Coke
+ AddGregtechRecipe.addCokeAndPyrolyseRecipes(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 16L), 22,
+ GT_ModHandler.getSteam(1000), ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 10),
+ FluidUtils.getFluidStack("fluid.coalgas", 2880), 30, 120);
+
+ // Coke & Coal
+ CORE.RA.addCokeOvenRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 12L),
+ ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 6), GT_ModHandler.getSteam(2000),
+ FluidUtils.getFluidStack("fluid.coalgas", 5040),
+ ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 14), 60 * 20, 240);
+
+ }
+
+ private static void matterFabRecipes() {
+ Logger.INFO("Loading Recipes for Matter Fabricator.");
+
+ try {
+
+ CORE.RA.addMatterFabricatorRecipe(Materials.UUAmplifier.getFluid(1L), // Fluid
+ // Input
+ Materials.UUMatter.getFluid(1L), // Fluid Output
+ 800, // Time in ticks
+ 32); // EU
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
+ try {
+
+ CORE.RA.addMatterFabricatorRecipe(null, // Fluid Input
+ Materials.UUMatter.getFluid(1L), // Fluid Output
+ 3200, // Time in ticks
+ 32); // EU
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
+
+ }
+
+ 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
+
+ // CaF2 + H2SO4 → CaSO4(solid) + 2 HF
+ FluidStack aGregtechHydro = FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 16000);
+ if (aGregtechHydro == null) {
+ aGregtechHydro = FluidUtils.getFluidStack("hydrofluoricacid", 16000);
+ }
+
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(5),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustFluorite", 37),
+ },
+ FluidUtils.getFluidStack("sulfuricacid", 56 * 144),
+ aGregtechHydro, // Fluid output (slot 2)
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumSulfate", 30),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSilver", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustGold", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 2)
+ },
+ new int[] { 10000, 100, 100, 300, 200 },
+ 10 * 60 * 20,
+ 230); // EU
+
+
+ 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);
+
+ /*
+ * Try Add custom Recipe for drying leather
+ */
+ if (LoadedMods.PamsHarvestcraft && Loader.isModLoaded("Backpack")) {
+ ItemStack aLeather1, aLeather2;
+ aLeather1 = ItemUtils.getCorrectStacktype("harvestcraft:hardenedleatherItem", 1);
+ aLeather2 = ItemUtils.getCorrectStacktype("Backpack:tannedLeather", 1);
+ CORE.RA.addDehydratorRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(18),
+ aLeather1
+ },
+ FluidUtils.getFluidStack("fluid.ethylbenzene", 1000),
+ null,
+ new ItemStack[] {
+ aLeather2
+ },
+ new int[] {10000},
+ 5 * 20,
+ 180);
+ }
+
+ }
+
+ private static void largeChemReactorRecipes() {
+ //Styrene
+ CORE.RA.addMultiblockChemicalRecipe(
+ new ItemStack[]{CI.getNumberedCircuit(24)},
+ new FluidStack[]{
+ FluidUtils.getFluidStack("fluid.ethylbenzene", 1000)
+ },
+ new FluidStack[]{
+ MaterialUtils.getMaterial("Styrene").getFluid(1000),
+ Materials.Hydrogen.getGas(2000)
+ },
+ null,
+ 30,
+ 30);
+ //Short-cut Styrene
+ CORE.RA.addMultiblockChemicalRecipe(
+ new ItemStack[]{CI.getNumberedCircuit(24)},
+ new FluidStack[]{
+ MaterialUtils.getMaterial("Ethylene").getGas(500),
+ MaterialUtils.getMaterial("Benzene").getFluid(500)
+ },
+ new FluidStack[]{
+ MaterialUtils.getMaterial("Styrene").getFluid(500),
+ Materials.Hydrogen.getGas(1000)
+ },
+ null,
+ 240,
+ 120);
+ }
+
+ private static void fissionFuelRecipes() {
+ try {
+
+ }
+ catch (final NullPointerException e) {
+ Logger.INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");
+ }
+ }
+
+ private static void assemblerRecipes() {
+ // ItemUtils.getSimpleStack(GregtechItemList.Casing_Vanadium_Redox.get(1)
+ addAR(ItemUtils.getItemStackOfAmountFromOreDict("plateVanadium", 32),
+ ItemUtils.getItemStackOfAmountFromOreDict("frameGtVanadiumSteel", 8),
+ FluidUtils.getFluidStack("oxygen", 8000),
+ ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 4), 16, 60);
+ addAR(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateVanadiumGallium", 8),
+ FluidUtils.getFluidStack("molten.tantalum", 144 * 4),
+ ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 8), 32, 120);
+ addAR(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateDenseLead", 4), FluidUtils.getFluidStack("oxygen", 16000),
+ ItemUtils.getSimpleStack(GregtechItemList.Casing_Vanadium_Redox.get(1), 1), 64, 240);
+
+ //Tier 2-6
+ ItemStack T1 = GregtechItemList.Casing_Vanadium_Redox.get(1);
+ ItemStack T2 = GregtechItemList.Casing_Vanadium_Redox_IV.get(1);
+ ItemStack T3 = GregtechItemList.Casing_Vanadium_Redox_LuV.get(1);
+ ItemStack T4 = GregtechItemList.Casing_Vanadium_Redox_ZPM.get(1);
+ ItemStack T5 = GregtechItemList.Casing_Vanadium_Redox_UV.get(1);
+ ItemStack T6 = GregtechItemList.Casing_Vanadium_Redox_MAX.get(1);
+
+ addAR(T1,
+ ItemUtils.getItemStackOfAmountFromOreDict("plateDenseTitanium", 4),
+ FluidUtils.getFluidStack("nitrogen", 16000),
+ T2, 120, 2000);
+ addAR(T2,
+ ItemUtils.getItemStackOfAmountFromOreDict("plateDenseTungstenSteel", 4),
+ FluidUtils.getFluidStack("helium", 8000),
+ T3, 250, 8000);
+ addAR(T3,
+ ItemUtils.getItemStackOfAmountFromOreDict("plateAlloyIridium", 16),
+ FluidUtils.getFluidStack("argon", 4000),
+ T4, 500, 32000);
+ addAR(T4,
+ ItemUtils.getItemStackOfAmountFromOreDict("plateDenseNaquadah", 4),
+ FluidUtils.getFluidStack("radon", 4000),
+ T5, 1000, 128000);
+ addAR(T5,
+ ItemUtils.getItemStackOfAmountFromOreDict("plateDenseAmericium", 4),
+ FluidUtils.getFluidStack("krypton", 500),
+ T6, 2000, 512000);
+
+ addAR(ItemUtils.getItemStackOfAmountFromOreDict(
+ "dustClay", 32),
+ GregtechItemList.Bomb_Cast_Mold.get(0),
+ FluidUtils.getWater(4000),
+ GregtechItemList.Bomb_Cast.get(4),
+ 30, 120);
+ addAR(ItemUtils.getSimpleStack(Items.redstone, 32),
+ ItemUtils.getSimpleStack(ModItems.itemRope, 16),
+ Materials.Glue.getFluid(500),
+ ItemUtils.getSimpleStack(ModItems.itemDetCable, 24),
+ 30,
+ 120);
+
+
+
+ /*addAR(ItemUtils.getItemStackOfAmountFromOreDict("plateIncoloy020", 16),
+ ItemUtils.getItemStackOfAmountFromOreDict("frameGtIncoloyMA956", 4), null,
+ GregtechItemList.Casing_Power_SubStation.get(4), 80, 120);*/
+
+
+
+
+
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ GregtechItemList.Casing_Multi_Use.get(1),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 1),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(4), 8),
+ CI.sensor_HV,
+ CI.emitter_HV,
+ CI.fieldGenerator_HV,
+ },
+ null,
+ ItemUtils.getSimpleStack(Dimension_Everglades.blockPortalFrame),
+ 20*20,
+ 2048);
+
+
+
+
+
+
+
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {ItemUtils.getSimpleStack(ModItems.itemRope, 6)}, null, ItemUtils.getSimpleStack(ModBlocks.blockNet, 2), 1*20, 8);
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {ItemUtils.getSimpleStack(CI.explosiveITNT, 2), ItemUtils.getSimpleStack(CI.explosiveTNT, 4), ELEMENT.getInstance().SULFUR.getDust(2), ELEMENT.getInstance().IRON.getFrameBox(1)}, null, ItemUtils.getSimpleStack(ModBlocks.blockMiningExplosive, 3), 5*20, 60);
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {ItemUtils.getSimpleStack(Items.nether_star), ItemUtils.getItemStackOfAmountFromOreDict("plateTungstenSteel", 8), ItemUtils.getItemStackOfAmountFromOreDict("stickBlackSteel", 8)}, null, ItemUtils.getSimpleStack(ModBlocks.blockWitherGuard, 32), 30*20, 500);
+
+
+ ItemStack aFluidReg1 = ItemUtils.getValueOfItemList("FluidRegulator_LV", ItemList.Pump_LV).get(1);
+ ItemStack aFluidReg2 = ItemUtils.getValueOfItemList("FluidRegulator_MV", ItemList.Pump_MV).get(1);
+ ItemStack aFluidReg3 = ItemUtils.getValueOfItemList("FluidRegulator_HV", ItemList.Pump_HV).get(1);
+ ItemStack aFluidReg4 = ItemUtils.getValueOfItemList("FluidRegulator_EV", ItemList.Pump_EV).get(1);
+
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ aFluidReg1,
+ CI.electricMotor_LV,
+ CI.getTieredComponent(OrePrefixes.bolt, 1, GTNH ? 8 : 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("ringBrass", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("stickBrass", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateSteel", 2)
+ }, null, ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 1, 1), 10*20, 30);
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ aFluidReg2,
+ CI.electricMotor_MV,
+ CI.getTieredComponent(OrePrefixes.bolt, 2, GTNH ? 8 : 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("ringInvar", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("stickInvar", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateAluminium", 2)
+ }, null, ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 2, 1), 10*20*2, 120);
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ aFluidReg3,
+ CI.electricMotor_HV,
+ CI.getTieredComponent(OrePrefixes.bolt, 3, GTNH ? 8 : 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("ringChrome", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("stickChrome", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateStainlessSteel", 2)
+ }, null, ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 3, 1), 10*20*3, 480);
+
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ aFluidReg4,
+ CI.electricMotor_EV,
+ CI.getTieredComponent(OrePrefixes.bolt, 4, GTNH ? 8 : 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("ringTitanium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("stickTitanium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateTungstenSteel", 2)
+ }, null, ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1), 10*20*4, 1960);
+
+ GT_Values.RA.addAssemblerRecipe(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 1, 1), CI.getNumberedCircuit(20), ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1000, 1), 30, 30);
+ GT_Values.RA.addAssemblerRecipe(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 2, 1), CI.getNumberedCircuit(20), ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1001, 1), 120, 120);
+ GT_Values.RA.addAssemblerRecipe(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 3, 1), CI.getNumberedCircuit(20), ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1002, 1), 480, 480);
+ GT_Values.RA.addAssemblerRecipe(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1), CI.getNumberedCircuit(20), ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1003, 1), 1820, 1820);
+
+
+
+
+
+ //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;
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ aPackPlates[aAS],
+ aPackRing[aAS],
+ aPackWire[aAS],
+ aPackCircuit[aAS],
+ aPackBatteries[aAS],
+ CI.getSensor(i, GTNH ? 4 : 2),
+ },
+ CI.getTieredFluid(i, (144 * (GTNH ? 4 : 2))),
+ aPackOutput[aAS],
+ 30 * 20 * i,
+ (int) GT_Values.V[i]);
+ }
+
+
+ if (!GTNH) {
+ if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.WroughtIron, 1L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.WroughtIron, 2L), GregtechItemList.Fluid_Cell_1L.get(1L, new Object[0]), 50, 32);
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Bronze, 1L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Bronze, 2L), GregtechItemList.Fluid_Cell_16L.get(1L, new Object[0]), 50, 32);
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Brass, 1L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Brass, 2L), GregtechItemList.Fluid_Cell_36L.get(1L, new Object[0]), 75, 32);
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Invar, 1L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Invar, 2L), GregtechItemList.Fluid_Cell_144L.get(1L, new Object[0]), 75, 32);
+
+ } else {
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 8L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.WroughtIron, 4L), GregtechItemList.Fluid_Cell_1L.get(1L, new Object[0]), 50, 32);
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Bronze, 8L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Bronze, 4L), GregtechItemList.Fluid_Cell_16L.get(1L, new Object[0]), 50, 32);
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Brass, 8L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Brass, 4L), GregtechItemList.Fluid_Cell_36L.get(1L, new Object[0]), 75, 32);
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Invar, 8L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Invar, 4L), GregtechItemList.Fluid_Cell_144L.get(1L, new Object[0]), 75, 32);
+ }
+ }
+
+
+ if (LoadedMods.Baubles) {
+
+
+
+ // Turbine Housing Research Page
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ ItemUtils.getGregtechCircuit(17),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateRefinedTrinium", GTNH ? 64 : 32),
+ CI.getSensor(6, GTNH ? 6 : 3),
+ CI.getBolt(7, GTNH ? 64 : 32),
+ ItemUtils.getItemStackOfAmountFromOreDict("wireFinePlatinum", GTNH ? 64 : 32),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), GTNH ? 12 : 6)
+ },
+ CI.getAlternativeTieredFluid(7, 144 * 32),
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_8_TURBINE_AUTOMATION, 1),
+ 20 * 60 * 5,
+ (int) GT_Values.V[6]);
+
+ // Cloaking Device Research Page
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ ItemUtils.getGregtechCircuit(17),
+ ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, 4),
+ CI.getFieldGenerator(6, GTNH ? 16 : 8),
+ ItemUtils.getItemStackOfAmountFromOreDict("wireFinePalladium", GTNH ? 32 : 16),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), GTNH ? 12 : 6)
+ },
+ CI.getAlternativeTieredFluid(7, 144 * 32),
+ ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_9_CLOAKING, 1),
+ 20 * 60 * 10,
+ (int) GT_Values.V[7]);
+
+
+ // Supreme Pizza Gloves
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ ItemUtils.getGregtechCircuit(19),
+ ItemUtils.getSimpleStack(ModItems.itemRope, GTNH ? 32 : 16),
+ ItemUtils.getItemStackOfAmountFromOreDict("gearGtSmallWroughtIron", GTNH ? 8 : 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("wireFineCopper", GTNH ? 32 : 16),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(1), GTNH ? 2 : 1)
+ },
+ FluidUtils.getFluidStack("molten.rubber", 2000),
+ ItemUtils.getSimpleStack(ModItems.itemPersonalFireProofDevice),
+ 20 * 60 * 5,
+ 30);
+ }
+
+
+
+
+
+ }
+
+ private static boolean addAR(final ItemStack inputA, final ItemStack inputB, final FluidStack inputFluidA,
+ final ItemStack outputA, final int seconds, final int voltage) {
+ // return GT_Values.RA.addAssemblerRecipe(inputA, inputB, outputA,
+ // seconds*20, voltage);
+ return GT_Values.RA.addAssemblerRecipe(inputA, inputB, inputFluidA, outputA, seconds * 20, voltage);
+ }
+
+ private static void distilleryRecipes() {
+ Logger.INFO("Registering Distillery/Distillation Tower Recipes.");
+ GT_Values.RA.addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 4L, new Object[0]),
+ FluidUtils.getFluidStack("air", 1000), FluidUtils.getFluidStack("helium", 1), 400, 30, false);
+ GT_Values.RA.addDistillationTowerRecipe(FluidUtils.getFluidStack("air", 20000),
+ FluidUtils.getFluidStackArray("helium", 25), ItemUtils.getSimpleStack(ModItems.itemHydrogenBlob, 1),
+ 200, 60);
+
+ // Apatite Distillation
+ /*
+ * so if you dissolve aparite in sulphuric acid you'll get a mixture of
+ * SO2, H2O, HF and HCl
+ */
+ final FluidStack[] apatiteOutput = { FluidUtils.getFluidStack("sulfurousacid", 3800),
+ FluidUtils.getFluidStack("hydrogenchloride", 1000), FluidUtils.getFluidStack("hydrofluoricacid", 400) };
+ GT_Values.RA.addDistillationTowerRecipe(FluidUtils.getFluidStack("sulfuricapatite", 5200), apatiteOutput, null,
+ 45 * 20, 256);
+
+ final FluidStack[] sulfurousacidOutput = { FluidUtils.getFluidStack("sulfurdioxide", 500),
+ FluidUtils.getFluidStack("water", 500) };
+ GT_Values.RA.addDistillationTowerRecipe(FluidUtils.getFluidStack("sulfurousacid", 1000), sulfurousacidOutput,
+ null, 10 * 20, 60);
+
+ final FluidStack[] sulfurdioxideOutput = { FluidUtils.getFluidStack("oxygen", 144 * 2) };
+ GT_Values.RA.addDistillationTowerRecipe(FluidUtils.getFluidStack("sulfurdioxide", 144 * 3), sulfurdioxideOutput,
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 1), 5 * 20, 30);
+ }
+
+ private static void addFuels() {
+ Logger.INFO("Registering New Fuels.");
+
+ if (!GTNH) {
+ GT_Values.RA.addFuel(ItemUtils.simpleMetaStack("EnderIO:bucketFire_water", 0, 1), null, 120, 0);
+ GT_Values.RA.addFuel(ItemUtils.simpleMetaStack("EnderIO:bucketRocket_fuel", 0, 1), null, 112, 0);
+ GT_Values.RA.addFuel(ItemUtils.simpleMetaStack("EnderIO:bucketHootch", 0, 1), null, 36, 0);
+ }
+
+ HotFuel.addNewHotFuel(GT_ModHandler.getLava(83), GT_Values.NF,
+ new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("nuggetCopper", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("nuggetTin", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("nuggetGold", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("nuggetSilver", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("nuggetTantalum", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTungstate", 1),
+ ItemUtils.getSimpleStack(Blocks.obsidian) },
+ new int[] { 2000, 1000, 250, 250, 250, 250, 500 }, 0);
+
+ HotFuel.addNewHotFuel(FluidUtils.getFluidStack("ic2pahoehoelava", 83), GT_Values.NF,
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("nuggetBronze", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("nuggetElectrum", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("nuggetTantalum", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTungstate", 1),
+ ItemUtils.getSimpleStack(Blocks.obsidian) },
+ new int[] { 750, 250, 250, 250, 1850 }, 0);
+
+ /*
+ * HotFuel.addNewHotFuel( FluidUtils.getFluidStack("ic2hotcoolant",
+ * 100), GT_Values.NF, new ItemStack[]{}, new int[]{}, 0);
+ */
+
+ ThermalFuel.addSteamTurbineFuel(FluidUtils.getFluidStack("steam", 1024));
+
+ // CORE.RA.addFuel(UtilsItems.simpleMetaStack("EnderIO:bucketRocket_fuel",
+ // 0, 1), null, 112, 0);
+ GT_Values.RA.addFuel(ItemUtils.getSimpleStack(Items.lava_bucket), null, 32, 2);
+ GT_Values.RA.addFuel(ItemUtils.getIC2Cell(2), null, 32, 2);
+ GT_Values.RA.addFuel(ItemUtils.getIC2Cell(11), null, 24, 2);
+ // System.exit(1);
+ }
+
+ 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() {
+
+ }
+
+ private static void chemicalBathRecipes() {
+
+ GT_Values.RA.addChemicalBathRecipe(
+ FLUORIDES.FLUORITE.getCrushed(2),
+ FluidUtils.getFluidStack("hydrogen", 2000),
+ FLUORIDES.FLUORITE.getCrushedPurified(8),
+ FLUORIDES.FLUORITE.getDustImpure(4),
+ FLUORIDES.FLUORITE.getDustPurified(2),
+ new int[] { 10000, 5000, 1000 },
+ 30 * 20,
+ 240);
+
+ }
+
+ private static void centrifugeRecipes() {
+
+ }
+
+ private static void mixerRecipes() {
+
+ GT_Values.RA.addMixerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 1),
+ null,
+ null,
+ null,
+ FluidUtils.getFluidStack("oxygen", 2000),
+ FluidUtils.getFluidStack("sulfurdioxide", 3000),
+ null,
+ 600,
+ 60);
+
+ }
+
+ private static void chemicalReactorRecipes() {
+
+ //Bombs
+ GT_Values.RA.addChemicalRecipe(
+ ItemUtils.getSimpleStack(ModItems.itemBombCasing, 4),
+ ItemUtils.getSimpleStack(RocketFuels.Ammonium_Nitrate_Dust, 8),
+ Materials.Fuel.getFluid(1000),
+ null,
+ ItemUtils.getSimpleStack(ModItems.itemBombUnf, 4),
+ 300 * 20);
+
+ GT_Values.RA.addChemicalRecipe(
+ ItemUtils.getSimpleStack(ModItems.itemBombUnf, 4),
+ ItemUtils.getSimpleStack(ModItems.itemDetCable, 4),
+ FluidUtils.getFluidStack(RocketFuels.Kerosene, 100),
+ null,
+ ItemUtils.getSimpleStack(ModItems.itemBomb, 4),
+ 10 * 20);
+
+ GT_Values.RA.addChemicalRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("dustApatite", 16),
+ null,
+ FluidUtils.getFluidStack("sulfuricacid", 144 * 32),
+ FluidUtils.getFluidStack("sulfuricapatite", 144 * 8),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallSulfur", 1),
+ 20 * 20);
+
+ ItemStack temp_GT5u_SA = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellHydrofluoricAcid_GT5U", 5);
+ if (temp_GT5u_SA != null) {
+ //Refine GT HF into GT++ HF
+ GT_Values.RA.addChemicalRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 2),
+ temp_GT5u_SA,
+ null, // Fluid Input
+ FluidUtils.getFluidStack("hydrofluoricacid", 6000), // Fluid Output
+ CI.emptyCells(7),
+ 2 * 20);
+ }
+
+ }
+
+ private static void blastFurnaceRecipes() {
+
+ //public boolean addBlastRecipe(
+ //ItemStack aInput1, ItemStack aInput2,
+ //FluidStack aFluidInput, FluidStack aFluidOutput,
+ //ItemStack aOutput1, ItemStack aOutput2,
+ //int aDuration, int aEUt, int aLevel)
+
+
+ //Synthetic Graphite
+ GT_Values.RA.addBlastRecipe(
+ CI.getNumberedCircuit(22),
+ ALLOY.SILICON_CARBIDE.getDust(16),
+ ELEMENT.getInstance().NITROGEN.getFluidStack(4000),
+ GT_Values.NF,
+ ItemUtils.getItemStackOfAmountFromOreDict("dustGraphite", 8),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallSilicon", 8),
+ 60 * 20,
+ MaterialUtils.getVoltageForTier(GTNH ? 5 : 4),
+ 4500);
+
+ //Bomb Casings
+ GT_Values.RA.addBlastRecipe(
+ GregtechItemList.Bomb_Cast.get(4),
+ ALLOY.STEEL.getDust(16),
+ ELEMENT.getInstance().OXYGEN.getFluidStack(2000),
+ GT_Values.NF,
+ GregtechItemList.Bomb_Cast_Molten.get(4),
+ null,
+ 4 * 60 * 20,
+ MaterialUtils.getVoltageForTier(GTNH ? 3 : 2),
+ 2800);
+
+ //Krypton Processing
+ if (ModItems.itemHotTitaniumIngot != null) {
+ GT_Values.RA.addBlastRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("ingotTitanium", 1),
+ CI.getNumberedCircuit(16),
+ GT_Values.NF,
+ GT_Values.NF,
+ ItemUtils.getItemStackOfAmountFromOreDict("ingotHotTitanium", 1),
+ null,
+ 10 * 20,
+ 500,
+ Materials.Titanium.mBlastFurnaceTemp);
+ }
+
+ }
+
+ private static void autoclaveRecipes() {
+
+ }
+
+ private static void benderRecipes() {
+
+ if (CORE.ConfigSwitches.enableMultiblock_PowerSubstation) {
+ GT_Values.RA.addBenderRecipe(ItemUtils.getItemStackOfAmountFromOreDict("ingotVanadium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateVanadium", 1), 8, 16);
+ }
+ }
+
+ private static void compressorRecipes() {
+ GT_ModHandler.addCompressionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustSmallClay", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateClay", 1));
+ GT_ModHandler.addCompressionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustSmallMeatRaw", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateMeatRaw", 1));
+ GT_ModHandler.addCompressionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustMeatRaw", 9),
+ ItemUtils.getItemStackOfAmountFromOreDict("blockMeatRaw", 1));
+
+ CORE.RA.addCompressorRecipe(ItemList.FusionComputer_UV.get(9), GregtechItemList.Compressed_Fusion_Reactor.get(1), (int) GT_Values.V[7], (int) GT_Values.V[8]);
+ }
+
+ private static void macerationRecipes() {
+
+ GT_ModHandler.addPulverisationRecipe(ItemUtils.getItemStackOfAmountFromOreDict("blockMeatRaw", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustMeatRaw", 9));
+
+ GT_ModHandler.addPulverisationRecipe(GregtechItemList.Bomb_Cast_Broken.get(1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustClay", 3));
+
+ if (ItemUtils.simpleMetaStack("chisel:limestone", 0, 1) != null) {
+ GT_ModHandler.addPulverisationRecipe(ItemUtils.getItemStackOfAmountFromOreDict("limestone", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCalcite", 4));
+ }
+
+ }
+
+ private static void cyclotronRecipes() {
+
+ // Polonium
+ CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), 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(0), 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(0), 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(0), 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(0), FluidUtils.getFluidStack("molten.plutonium239", 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(0), 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),
+ FluidUtils.getFluidStack("plasma.beryllium", 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[] { 10, 20, 20, 10, 10, 5, 5, 2 },
+ 17 * 247 * 32,
+ (int) MaterialUtils.getVoltageForTier(8),
+ 750 * 20);
+
+ // Graviton Smash
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(15),
+ FluidUtils.getFluidStack("plasma.hydrogen", GTNH ? 50 : 10),
+ new ItemStack[] {
+ Particle.getBaseParticle(Particle.GRAVITON),
+ Particle.getBaseParticle(Particle.UNKNOWN)
+ },
+ null,
+ new int[] {15, 100},
+ 20 * (GTNH ? 90 : 30),
+ (int) MaterialUtils.getVoltageForTier(6),
+ 1000 * 20);
+
+ FluidStack aPlasma = Materials.Duranium.getMolten(GTNH ? 40 : 10);
+ FluidStack aPlasma_NULL = Materials._NULL.getPlasma(1);
+
+ if (aPlasma == null || aPlasma.isFluidEqual(aPlasma_NULL)) {
+ aPlasma = Materials.Americium.getMolten(GTNH ? 20 : 5);
+ }
+
+ // 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 * (GTNH ? 300 : 60),
+ (int) MaterialUtils.getVoltageForTier(6),
+ 1000 * 20);
+
+ /*
+ * Ions
+ */
+
+ int IonCount = 2;
+ int tenCountA = (GTNH ? 2 : 1);
+ 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[] { 125, 125, 125, 125, 125, 125, 125, 125, 125 },
+ 20 * 20,
+ (int) MaterialUtils.getVoltageForTier(6),
+ 15000);
+
+ // Generate Hydrogen Plasma Recipe
+ CORE.RA.addCyclotronRecipe(
+ new ItemStack[] {
+ Particle.getIon("Hydrogen", 0),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1)
+ },
+ null,
+ 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),
+ CI.emptyCells(1)
+ },
+ FluidUtils.getFluidStack("plasma.hydrogen", 1),
+ new int[] { 250, 250, 250, 500, 500, 500, 10000 },
+ 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),
+ 15000);
+
+ 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),
+ 15000);
+
+
+ //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),
+ 15000);
+
+
+
+
+
+ }
+
+ private static void sifterRecipes() {
+
+ }
+
+ private static void electroMagneticSeperatorRecipes() {
+
+ if (!GTNH) {
+ // Trinium
+ GT_Values.RA.addElectromagneticSeparatorRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedNaquadah", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustNaquadah", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallNaquadahEnriched", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTrinium", 1), new int[] { 10000, 2500, 5000 },
+ 20 * 20, 24);
+
+ // Trinium
+ GT_Values.RA.addElectromagneticSeparatorRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedIridium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallOsmium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTrinium", 1), new int[] { 10000, 2500, 5000 },
+ 20 * 20, 24);
+
+ // Trinium
+ GT_Values.RA.addElectromagneticSeparatorRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedWulfenite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustWulfenite", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTrinium", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallTrinium", 1), new int[] { 10000, 3000, 3000 },
+ 20 * 20, 24);
+ }
+
+ }
+
+ private static void advancedMixerRecipes() {
+ // HgBa2Ca2Cu3O8
+ /*CORE.RA.addMixerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("cellMercury", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustBarium", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCalcium", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 3),
+ FluidUtils.getFluidStack("oxygen", 8000),
+ null, CI.emptyCells(1), ALLOY.HG1223.getDust(16), null, null,
+ 30 * 20, 500); */
+
+ }
+
+}
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..08d8dda039
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java
@@ -0,0 +1,509 @@
+package gtPlusPlus.core.recipe;
+
+import static gtPlusPlus.core.lib.CORE.GTNH;
+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 gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+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.lib.LoadedMods;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.*;
+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.Meta_GT_Proxy;
+import gtPlusPlus.xmod.gregtech.common.helpers.VolumetricFlaskHelper;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+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 String RECIPE_BronzePlate = "plateBronze";
+ static ItemStack RECIPE_BasicCasingIC2;
+ static ItemStack OUTPUT_Workbench_Bronze;
+ static ItemStack RECIPE_HydrogenDust;
+
+ public static void loadRecipes(){
+ if (LoadedMods.Gregtech){
+ 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_HydrogenDust = ItemUtils.getSimpleStack(ModItems.itemHydrogenBlob);
+ RECIPE_BasicCasingIC2 = ItemUtils.getItemStackFromFQRN("IC2:blockMachine", 1);
+ OUTPUT_Workbench_Bronze = ItemUtils.getSimpleStack(ModBlocks.blockWorkbench);
+ OUTPUT_Blueprint = ItemUtils.getSimpleStack(ModItems.itemBlueprintBase);
+ 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);*/
+
+ //Bronze Workbench
+ /*RecipeUtils.addShapedRecipe(
+ RECIPE_BronzePlate, RECIPE_CraftingTable, RECIPE_BronzePlate,
+ RECIPE_BronzePlate, RECIPE_BasicCasingIC2, RECIPE_BronzePlate,
+ RECIPE_BronzePlate, RECIPE_BronzePlate, RECIPE_BronzePlate,
+ OUTPUT_Workbench_Bronze);*/
+
+ //Generates recipes for the Dull shard when TC is not installed.
+ if (!LoadedMods.Thaumcraft) {
+ //Dull Shard to Aer
+ RecipeUtils.addShapedRecipe(
+ RECIPE_HydrogenDust, RECIPE_HydrogenDust, RECIPE_HydrogenDust,
+ RECIPE_HydrogenDust, ItemUtils.getSimpleStack(ModItems.shardDull), RECIPE_HydrogenDust,
+ RECIPE_HydrogenDust, RECIPE_HydrogenDust, RECIPE_HydrogenDust,
+ ItemUtils.getSimpleStack(ModItems.shardAer));
+ //Dull Shard to Ignis
+ RecipeUtils.addShapedRecipe(
+ RECIPE_Obsidian, RECIPE_Obsidian, RECIPE_Obsidian,
+ RECIPE_Obsidian, ItemUtils.getSimpleStack(ModItems.shardDull), RECIPE_Obsidian,
+ RECIPE_Obsidian, RECIPE_Obsidian, RECIPE_Obsidian,
+ ItemUtils.getSimpleStack(ModItems.shardIgnis));
+ //Dull Shard to Terra
+ RecipeUtils.addShapedRecipe(
+ RECIPE_Dirt, RECIPE_Dirt, RECIPE_Dirt,
+ RECIPE_Dirt, ItemUtils.getSimpleStack(ModItems.shardDull), RECIPE_Dirt,
+ RECIPE_Dirt, RECIPE_Dirt, RECIPE_Dirt,
+ ItemUtils.getSimpleStack(ModItems.shardTerra));
+ //Dull Shard to Aqua
+ RecipeUtils.addShapedRecipe(
+ RECIPE_LapisDust, RECIPE_LapisDust, RECIPE_LapisDust,
+ RECIPE_LapisDust, ItemUtils.getSimpleStack(ModItems.shardDull), RECIPE_LapisDust,
+ RECIPE_LapisDust, RECIPE_LapisDust, RECIPE_LapisDust,
+ ItemUtils.getSimpleStack(ModItems.shardAqua));
+
+ GT_ModHandler.addPulverisationRecipe(ItemUtils.getSimpleStack(ModItems.shardAer), ItemUtils.getSimpleStack(ModItems.dustAer, 2));
+ GT_ModHandler.addPulverisationRecipe(ItemUtils.getSimpleStack(ModItems.shardIgnis), ItemUtils.getSimpleStack(ModItems.dustIgnis, 2));
+ GT_ModHandler.addPulverisationRecipe(ItemUtils.getSimpleStack(ModItems.shardTerra), ItemUtils.getSimpleStack(ModItems.dustTerra, 2));
+ GT_ModHandler.addPulverisationRecipe(ItemUtils.getSimpleStack(ModItems.shardAqua), ItemUtils.getSimpleStack(ModItems.dustAqua, 2));
+
+ }
+
+ //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;
+ if (CORE.GTNH) {
+ ironBars = ItemUtils.getItemStackFromFQRN("dreamcraft:item.SteelBars", 1);
+ } else {
+ ironBars = ItemUtils.getItemStackFromFQRN("minecraft:iron_bars", 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.");
+ }
+
+ //Small Gear Extruder Shape
+ if (!CORE.GTNH) {
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_SmallGear.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Gear, Character.valueOf('X'), OrePrefixes.plate.get(Materials.Steel), Character.valueOf('S'), OrePrefixes.screw.get(Materials.Steel)});
+
+
+ String[] ironTypes = {"", "Wrought", "Pig", "Any"};
+ for (int y=0;y<ironTypes.length;y++) {
+ //Iron bars
+ String ironRecipe = "stick"+ironTypes[y]+"Iron";
+ if (RecipeUtils.addShapedRecipe(
+ null, CI.craftingToolWrench, null,
+ ironRecipe, ironRecipe, ironRecipe,
+ ironRecipe, ironRecipe, ironRecipe,
+ ItemUtils.getItemStackFromFQRN("minecraft:iron_bars", 8))) {
+ Logger.INFO("Re-added old GT recipe for Iron Bars.");
+ }
+ }
+ }
+
+
+ //Shaped Crafting for ULV Material Dusts
+
+ //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)
+ );
+ }
+
+ if (Meta_GT_Proxy.sDoesVolumetricFlaskExist) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(4),
+ ItemUtils.getSimpleStack(Blocks.glass, 16),
+ ItemUtils.getSimpleStack(Blocks.glowstone, 16),
+ ItemList.Large_Fluid_Cell_Steel.get(1)
+ },
+ FluidUtils.getFluidStack("molten.borosilicateglass", 2000),
+ VolumetricFlaskHelper.getLargeVolumetricFlask(2),
+ 20 * 15,
+ MaterialUtils.getVoltageForTier(3));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(5),
+ ItemUtils.getSimpleStack(Blocks.glass, 64),
+ ItemUtils.getSimpleStack(Blocks.glowstone, 64),
+ ItemList.Large_Fluid_Cell_TungstenSteel.get(1)
+ },
+ FluidUtils.getFluidStack("molten.borosilicateglass", 8000),
+ VolumetricFlaskHelper.getGiganticVolumetricFlask(2),
+ 20 * 15,
+ MaterialUtils.getVoltageForTier(5));
+
+ }
+
+
+
+ //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.");
+ }
+
+ /*Logger.RECIPE("[Inspection] Xp Converter");
+ if (RecipeUtils.addShapedRecipe(
+ getSimpleStack(Items.experience_bottle), ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, 2, 1), getSimpleStack(Items.experience_bottle),
+ ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, 5, 1), getSimpleStack(Items.nether_star), ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, 5, 1),
+ getSimpleStack(Items.experience_bottle), ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, 2, 1), getSimpleStack(Items.experience_bottle),
+ ItemUtils.getSimpleStack(ModBlocks.blockXpConverter, 1))){
+ Logger.INFO("Added a recipe for XP Converter.");
+ }*/
+
+
+
+
+ // Rope/Fiber/Net
+ if (RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDictNoBroken(CI.craftingToolKnife, 1), ItemUtils.getSimpleStack(Items.reeds)},
+ ItemUtils.getSimpleStack(ModItems.itemFiber, 16)
+ )){
+ Logger.INFO("Added a recipe for Fiber.");
+ }
+
+ if (RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDictNoBroken(CI.craftingToolKnife, 1), ItemUtils.getSimpleStack(Blocks.sapling)},
+ ItemUtils.getSimpleStack(ModItems.itemFiber, 32)
+ )){
+ Logger.INFO("Added a recipe for Fiber.");
+ }
+
+ if (RecipeUtils.addShapedRecipe(
+ null, ItemUtils.getSimpleStack(ModItems.itemFiber, 1), null,
+ ItemUtils.getSimpleStack(ModItems.itemFiber, 1), CI.craftingToolKnife, ItemUtils.getSimpleStack(ModItems.itemFiber, 1),
+ null, ItemUtils.getSimpleStack(ModItems.itemFiber, 1), null,
+ ItemUtils.getSimpleStack(ModItems.itemRope, 3))){
+ Logger.INFO("Added a recipe for Rope.");
+ }
+
+ Logger.RECIPE("[Inspection] Net");
+ if (RecipeUtils.addShapedRecipe(
+ ItemUtils.getSimpleStack(ModItems.itemRope, 1), ItemUtils.getSimpleStack(ModItems.itemRope, 1), ItemUtils.getSimpleStack(ModItems.itemRope, 1),
+ ItemUtils.getSimpleStack(ModItems.itemRope, 1), ItemUtils.getSimpleStack(ModItems.itemRope, 1), ItemUtils.getSimpleStack(ModItems.itemRope, 1),
+ null, null, null,
+ ItemUtils.getSimpleStack(ModBlocks.blockNet, 2))){
+ Logger.INFO("Added a recipe for Nets.");
+ }
+
+ // Slow Builders Ring
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] { ItemUtils.getSimpleStack(Blocks.ice, 8),
+ ItemUtils.getSimpleStack(ModBlocks.blockNet, 8), ItemUtils.getSimpleStack(Blocks.vine, 8),
+ ALLOY.TUMBAGA.getRing(1), },
+ FluidUtils.getWater(1000), // Fluid
+ ItemUtils.getItemStackFromFQRN("miscutils:SlowBuildingRing", 1), // Output
+ 20 * 30, // Dur
+ 16); // Eu
+
+ // Pest Killer
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(16),
+ CI.getTieredMachineCasing(1),
+ CI.getElectricPump(2, 1),
+ CI.getPlate(2, GTNH ? 4 : 2),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(0), GTNH ? 2 : 1),
+ },
+ FluidUtils.getHotWater(500), // Fluid
+ ItemUtils.getSimpleStack(ModBlocks.blockPestKiller), // Output
+ 20 * 60, // Dur
+ 16); // Eu
+
+
+
+
+ }
+
+ private static boolean addCompressedObsidian(){
+ //Invert Obsidian
+ 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),
+ ItemUtils.simpleMetaStack(ModBlocks.blockCompressedObsidian, 5, 1))){
+ 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);
+ }
+
+ //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+"]");
+ }
+
+ }
+ 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);
+
+ GT_Materials[] g = new GT_Materials[] {
+ GT_Materials.Staballoy,
+ GT_Materials.Tantalloy60,
+ GT_Materials.Tantalloy61,
+ GT_Materials.Void,
+ GT_Materials.Potin,
+ GT_Materials.MaragingSteel300,
+ GT_Materials.MaragingSteel350,
+ GT_Materials.Inconel690,
+ GT_Materials.Inconel792,
+ GT_Materials.HastelloyX,
+ GT_Materials.TriniumNaquadahCarbonite,
+
+ };
+ for (GT_Materials e : g) {
+ if (e == GT_Materials.Void) {
+ if (!LoadedMods.Thaumcraft) {
+ continue;
+ }
+ }
+ int tVoltageMultiplier = (e.mBlastFurnaceTemp >= 2800) ? 64 : 16;
+ generatePipeRecipes(e.mDefaultLocalName, e.getMass(), tVoltageMultiplier);
+ }
+
+ Materials[] h = new Materials[] {
+ Materials.Europium,
+ Materials.Tungsten,
+ Materials.DarkSteel,
+ Materials.Clay,
+ Materials.Lead,
+
+ };
+
+ for (Materials e : h) {
+ if (e == Materials.DarkSteel) {
+ if (!LoadedMods.EnderIO) {
+ continue;
+ }
+ }
+ int tVoltageMultiplier = (e.mBlastFurnaceTemp >= 2800) ? 64 : 16;
+ generatePipeRecipes(e.mDefaultLocalName, e.getMass(), tVoltageMultiplier);
+ }
+
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[4], "rotorGtStainlessSteel", CI.component_Plate[4],
+ CI.getTieredCircuitOreDictName(3), CI.machineHull_HV, CI.getTieredCircuitOreDictName(3),
+ CI.component_Plate[4], CI.electricPump_HV, CI.component_Plate[4],
+ GregtechItemList.Hatch_Air_Intake.get(1L, new Object[0]));
+
+ 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, new Object[0]));
+
+ RecipeUtils.addShapedGregtechRecipe(CI.component_Plate[5], ALLOY.MARAGING300.getGear(1), CI.component_Plate[5],
+ CI.getTieredCircuitOreDictName(4), GregtechItemList.Casing_Adv_BlastFurnace.get(1),
+ CI.getTieredCircuitOreDictName(4), CI.component_Plate[6], ItemList.Hatch_Input_IV.get(1),
+ CI.component_Plate[6], GregtechItemList.Hatch_Input_Pyrotheum.get(1L, new Object[0]));
+
+ 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..76182e61d9
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java
@@ -0,0 +1,135 @@
+package gtPlusPlus.core.recipe;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.*;
+import gregtech.api.interfaces.IOreRecipeRegistrator;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+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.craftingLensBlue.toString())) {
+
+ if (CORE.ConfigSwitches.enableCustomCircuits && !CORE.GTNH){
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("foilYttriumBariumCuprate", 1) != null){
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.YttriumBariumCuprate, 2L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Circuit_Parts_Wiring_IV.get(1L, new Object[0]), 64, 480);
+ }
+ else {
+ Logger.INFO("foilYttriumBariumCuprate does not exist within Gregtech, please report this issue to Blood-asp on github.");
+ Logger.INFO("This material item can be re-enabled within the gregtech configuration files, If you wish to fix this yourself.");
+ }
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("foilVanadiumGallium", 1) != null){
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.VanadiumGallium, 2L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Circuit_Parts_Wiring_IV.get(1L, new Object[0]), 64, 480);
+ }
+ else {
+ Logger.INFO("foilVanadiumGallium does not exist within Gregtech, please report this issue to Blood-asp on github.");
+ Logger.INFO("This material item can be re-enabled within the gregtech configuration files, If you wish to fix this yourself.");
+ }
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("foilNiobiumTitanium", 1) != null){
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.NiobiumTitanium, 2L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Circuit_Parts_Wiring_IV.get(1L, new Object[0]), 64, 480);
+ }
+ else {
+ Logger.INFO("foilNiobiumTitanium does not exist within Gregtech, please report this issue to Blood-asp on github.");
+ Logger.INFO("This material item can be re-enabled within the gregtech configuration files, If you wish to fix this yourself.");
+ }
+ }
+
+
+ } else if (aOreDictName.equals(OreDictNames.craftingLensYellow.toString())) {
+ if (CORE.ConfigSwitches.enableCustomCircuits && !CORE.GTNH){
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("foilOsmium", 1) != null){
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 2L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Circuit_Parts_Wiring_LuV.get(1L, new Object[0]), 64, 1024);
+ }
+ else {
+ Logger.INFO("foilOsmium does not exist within Gregtech, please report this issue to Blood-asp on github.");
+ Logger.INFO("This material item can be re-enabled within the gregtech configuration files, If you wish to fix this yourself.");
+ }
+ }
+
+ } else if (aOreDictName.equals(OreDictNames.craftingLensCyan.toString())) {
+ } else if (aOreDictName.equals(OreDictNames.craftingLensRed.toString())) {
+ } else if (aOreDictName.equals(OreDictNames.craftingLensGreen.toString())) {
+ if (CORE.ConfigSwitches.enableCustomCircuits && !CORE.GTNH){
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("foilNaquadah", 1) != null){
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Naquadah, 2L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Circuit_Parts_Wiring_ZPM.get(1L, new Object[0]), 64, 2000);
+ }
+ else {
+ Logger.INFO("foilNaquadah does not exist within Gregtech, please report this issue to Blood-asp on github.");
+ Logger.INFO("This material item can be re-enabled within the gregtech configuration files, If you wish to fix this yourself.");
+ }
+ }
+ } else if (aOreDictName.equals(OreDictNames.craftingLensWhite.toString())) {
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateLithium", 1) != null){
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lithium, 2L), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemUtils.getItemStackOfAmountFromOreDict("plateDoubleLithium7", 1), 4*60*20, 2000);
+ }
+ else {
+ Logger.INFO("plateLithium does not exist within Gregtech, please report this issue to Blood-asp on github.");
+ Logger.INFO("This material item can be re-enabled within the gregtech configuration files, If you wish to fix this yourself.");
+ }
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustLithium", 1) != null){
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 3L), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 1), 2*60*20, 2000);
+ }
+ else {
+ Logger.INFO("dustLithium does not exist within Gregtech, please report this issue to Blood-asp on github.");
+ Logger.INFO("This material item can be re-enabled within the gregtech configuration files, If you wish to fix this yourself.");
+ }
+
+ }
+
+ 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.addLaserEngraverRecipe(wireT1a, GT_Utility.copyAmount(0L, new Object[]{aStack}), coilWire1, 10*20, 500);
+ GT_Values.RA.addLaserEngraverRecipe(wireT1b, GT_Utility.copyAmount(0L, new Object[]{aStack}), coilWire1, 10*20, 500);
+ //T2
+ GT_Values.RA.addLaserEngraverRecipe(wireT2a, GT_Utility.copyAmount(0L, new Object[]{aStack}), coilWire2, 20*20, 2000);
+ GT_Values.RA.addLaserEngraverRecipe(wireT2b, GT_Utility.copyAmount(0L, new Object[]{aStack}), coilWire2, 20*20, 2000);
+ //T3
+ GT_Values.RA.addLaserEngraverRecipe(wireT3a, GT_Utility.copyAmount(0L, new Object[]{aStack}), coilWire3, 30*20, 8000);
+ GT_Values.RA.addLaserEngraverRecipe(wireT3b, GT_Utility.copyAmount(0L, new Object[]{aStack}), coilWire3, 30*20, 8000);
+ GT_Values.RA.addLaserEngraverRecipe(wireT3c, GT_Utility.copyAmount(0L, new Object[]{aStack}), coilWire3, 30*20, 8000);
+ //T4
+ GT_Values.RA.addLaserEngraverRecipe(wireT4a, GT_Utility.copyAmount(0L, new Object[]{aStack}), coilWire4, 40*20, 32000);
+
+
+ }
+
+ else if (aOreDictName.equals(OreDictNames.craftingLensOrange.toString())) {
+ GT_Values.RA.addLaserEngraverRecipe(ItemUtils.getSimpleStack(ModItems.itemAlkalusDisk), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemUtils.getSimpleStack(Dimension_Everglades.portalItem), 360*60*20, 4096);
+ }
+
+
+
+ }
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java
new file mode 100644
index 0000000000..0d377f74de
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java
@@ -0,0 +1,27 @@
+package gtPlusPlus.core.recipe;
+
+public class RECIPES_MTWRAPPER {
+
+ public static int MT_RECIPES_LOADED = 0;
+ public static int MT_RECIPES_FAILED = 0;
+
+ public static void run(){
+
+ }
+
+ public static void addShaped(final Object item_Output,
+ final Object item_1, final Object item_2, final Object item_3,
+ final Object item_4, final Object item_5, final Object item_6,
+ final Object item_7, final Object item_8, final Object item_9){
+
+
+ }
+
+ public static void addShapeless(){
+
+ }
+
+
+
+}
+
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..71b4c4ef48
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java
@@ -0,0 +1,410 @@
+package gtPlusPlus.core.recipe;
+
+import gregtech.api.enums.*;
+import gregtech.api.util.GT_OreDictUnificator;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+public class RECIPES_MachineComponents {
+
+ //Wire
+ public static String wireTier0 = "wireGt01Lead";
+ public static String wireTier1 = "wireGt01RedAlloy";
+ public static String wireTier6 = "wireGt08NiobiumTitanium";
+ public static String wireTier7 = "wireGt08Osmium";
+ public static String wireTier8 = "wireGt08Naquadah";
+ public static String wireTier9 = "wireGt08Superconductor";
+ public static String wireTier10 = "wireGt16Superconductor";
+
+ //Cable
+ public static String cableTier0 = "cableGt01Lead";
+ public static String cableTier1 = "cableGt01RedAlloy";
+ public static String cableTier6 = "cableGt04Tungsten";
+ public static String cableTier7 = "cableGt04NiobiumTitanium";
+ public static String cableTier8 = "cableGt04Osmium";
+ public static String cableTier9 = "cableGt04Naquadah";
+ public static String cableTier10 = "wireGt08Superconductor";
+
+ //Plates
+ public static String plateTier0 = "plateWroughtIron";
+ public static String plateTier7 = "plateChrome";
+ public static String plateTier8 = "plateIridium";
+ public static String plateTier9 = "plateOsmium";
+ public static String plateTier10 = "plateNeutronium";
+
+ //rods
+ public static String rodTier0 = "stickWroughtIron";
+ public static String rodTier1 = "stickPotin";
+ public static String rodTier2 = "stickIronMagnetic";
+ public static String rodTier7a = "stickChrome";
+ public static String rodTier8a = "stickIridium";
+ public static String rodTier9a = "stickOsmium";
+ public static String rodTier10a = "stickNeutronium";
+ public static String rodTier7b = "stickPlatinum";
+ public static String rodTier8b = "stickChrome";
+ public static String rodTier9b = "stickIridium";
+ public static String rodTier10b = "stickOsmium";
+ public static String rodTier7c = "stickTitanium";
+ public static String rodTier8c = "stickTungstenSteel";
+ public static String rodTier9c = "stickNaquadah";
+ public static String rodTier10c = "stickOsmium";
+
+ //Screws
+ public static String screwTier0 = "screwPotin";
+ public static String screwTier7 = "screwChrome";
+ public static String screwTier8 = "screwIridium";
+ public static String screwTier9 = "screwOsmium";
+ public static String screwTier10 = "screwNeutronium";
+
+ //Rotors
+ public static String rotorTier0 = "rotorPotin";
+ public static String rotorTier7 = "rotorChrome";
+ public static String rotorTier8 = "rotorIridium";
+ public static String rotorTier9 = "rotorOsmium";
+ public static String rotorTier10 = "rotorNeutronium";
+
+ //Fluid Pipe
+ public static String pipeTier0 = "pipeSmallLead";
+ public static String pipeTier7 = "pipeHugeSteel";
+ public static String pipeTier8 = "pipeHugeStainlessSteel";
+ public static String pipeTier9 = "pipeHugeTitanium";
+ public static String pipeTier10 = "pipeHugeTungstenSteel";
+
+ //Rubber Ring/Plate
+ public static String itemRubberRing = "ringRubber";
+ public static String plateRubber = "plateRubber";
+
+ //Circuits
+ public static String circuitTier0 = "circuitPrimitive";
+ public static String circuitTier1 = "circuitBasic";
+ public static String circuitTier6 = "circuitMaster";
+ public static String circuitTier7 = "circuitUltimate";
+ public static String circuitTier8 = "circuitSuperconductor";
+ public static String circuitTier9 = "circuitInfinite";
+ public static String circuitTier10 = "circuitQuantum";
+
+ //small gears
+ public static String smallGearTier0 = "gearGtSmallWroughtIron";
+ public static String smallGearTier7 = "gearGtSmallChrome";
+ public static String smallGearTier8 = "gearGtSmallIridium";
+ public static String smallGearTier9 = "gearGtSmallOsmium";
+ public static String smallGearTier10 = "gearGtSmallNeutronium";
+
+ public static final void loadRecipes(){
+ Logger.INFO("Loading Recipes for the Various Circuits and Machine components.");
+ if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
+ run();
+ }
+ else {
+ onlyULVComponents();
+ if (!CORE.GTNH) {
+ onlyMaxComponents();
+ }
+ }
+ gregtechMachinePhase();
+ }
+
+ private static void run(){
+ //Electric Motors
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier7, wireTier7, rodTier7a,
+ wireTier7, rodTier7b, wireTier7,
+ rodTier7a, wireTier7, cableTier7,
+ CI.electricMotor_LuV);
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier8, wireTier8, rodTier8a,
+ wireTier8, rodTier8b, wireTier8,
+ rodTier8a, wireTier8, cableTier8,
+ CI.electricMotor_ZPM);
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier9, wireTier9, rodTier9a,
+ wireTier9, rodTier9b, wireTier9,
+ rodTier9a, wireTier9, cableTier9,
+ CI.electricMotor_UV);
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier10, wireTier10, rodTier10a,
+ wireTier10, rodTier10b, wireTier10,
+ rodTier10a, wireTier10, cableTier10,
+ CI.electricMotor_MAX);
+
+ //Electric Pump
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier7, rotorTier7, itemRubberRing,
+ CI.craftingToolScrewdriver, pipeTier7, CI.craftingToolWrench,
+ itemRubberRing, CI.electricMotor_LuV, cableTier7,
+ CI.electricPump_LuV);
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier8, rotorTier8, itemRubberRing,
+ CI.craftingToolScrewdriver, pipeTier8, CI.craftingToolWrench,
+ itemRubberRing, CI.electricMotor_ZPM, cableTier8,
+ CI.electricPump_ZPM);
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier9, rotorTier9, itemRubberRing,
+ CI.craftingToolScrewdriver, pipeTier9, CI.craftingToolWrench,
+ itemRubberRing, CI.electricMotor_UV, cableTier9,
+ CI.electricPump_UV);
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier10, rotorTier10, itemRubberRing,
+ CI.craftingToolScrewdriver, pipeTier10, CI.craftingToolWrench,
+ itemRubberRing, CI.electricMotor_MAX, cableTier10,
+ CI.electricPump_MAX);
+
+ //Electric Pump
+ RecipeUtils.addShapedGregtechRecipe(
+ plateTier7, plateTier7, plateTier7,
+ cableTier7, rodTier7a, rodTier7a,
+ cableTier7, CI.electricMotor_LuV, smallGearTier7,
+ CI.electricPiston_LuV);
+ RecipeUtils.addShapedGregtechRecipe(
+ plateTier8, plateTier8, plateTier8,
+ cableTier8, rodTier8a, rodTier8a,
+ cableTier8, CI.electricMotor_ZPM, smallGearTier8,
+ CI.electricPiston_ZPM);
+ RecipeUtils.addShapedGregtechRecipe(
+ plateTier9, plateTier9, plateTier9,
+ cableTier9, rodTier9a, rodTier9a,
+ cableTier9, CI.electricMotor_UV, smallGearTier9,
+ CI.electricPiston_UV);
+ RecipeUtils.addShapedGregtechRecipe(
+ plateTier10, plateTier10, plateTier10,
+ cableTier10, rodTier10a, rodTier10a,
+ cableTier10, CI.electricMotor_MAX, smallGearTier10,
+ CI.electricPiston_MAX);
+
+ //Robot Arms
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier7, cableTier7, cableTier7,
+ CI.electricMotor_LuV, rodTier7a, CI.electricMotor_LuV,
+ CI.electricPiston_LuV, circuitTier7, rodTier7a,
+ CI.robotArm_LuV);
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier8, cableTier8, cableTier8,
+ CI.electricMotor_ZPM, rodTier8a, CI.electricMotor_ZPM,
+ CI.electricPiston_ZPM, circuitTier8, rodTier8a,
+ CI.robotArm_ZPM);
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier9, cableTier9, cableTier9,
+ CI.electricMotor_UV, rodTier9a, CI.electricMotor_UV,
+ CI.electricPiston_UV, circuitTier9, rodTier9a,
+ CI.robotArm_UV);
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier10, cableTier10, cableTier10,
+ CI.electricMotor_MAX, rodTier10a, CI.electricMotor_MAX,
+ CI.electricPiston_MAX, circuitTier10, rodTier10a,
+ CI.robotArm_MAX);
+
+ //Conveyor Modules
+ RecipeUtils.addShapedGregtechRecipe(
+ plateRubber, plateRubber, plateRubber,
+ CI.electricMotor_LuV, cableTier7, CI.electricMotor_LuV,
+ plateRubber, plateRubber, plateRubber,
+ CI.conveyorModule_LuV);
+ RecipeUtils.addShapedGregtechRecipe(
+ plateRubber, plateRubber, plateRubber,
+ CI.electricMotor_ZPM, cableTier8, CI.electricMotor_ZPM,
+ plateRubber, plateRubber, plateRubber,
+ CI.conveyorModule_ZPM);
+ RecipeUtils.addShapedGregtechRecipe(
+ plateRubber, plateRubber, plateRubber,
+ CI.electricMotor_UV, cableTier9, CI.electricMotor_UV,
+ plateRubber, plateRubber, plateRubber,
+ CI.conveyorModule_UV);
+ RecipeUtils.addShapedGregtechRecipe(
+ plateRubber, plateRubber, plateRubber,
+ CI.electricMotor_MAX, cableTier10, CI.electricMotor_MAX,
+ plateRubber, plateRubber, plateRubber,
+ CI.conveyorModule_MAX);
+
+ //Emitter Modules
+ RecipeUtils.addShapedGregtechRecipe(
+ rodTier7c, rodTier7c, circuitTier7,
+ cableTier7, circuitTier6, rodTier7c,
+ circuitTier7, cableTier7, rodTier7c,
+ CI.emitter_LuV);
+ RecipeUtils.addShapedGregtechRecipe(
+ rodTier8c, rodTier8c, circuitTier8,
+ cableTier8, circuitTier7, rodTier8c,
+ circuitTier8, cableTier8, rodTier8c,
+ CI.emitter_ZPM);
+ RecipeUtils.addShapedGregtechRecipe(
+ rodTier9c, rodTier9c, circuitTier9,
+ cableTier9, circuitTier8, rodTier9c,
+ circuitTier9, cableTier9, rodTier9c,
+ CI.emitter_UV);
+ RecipeUtils.addShapedGregtechRecipe(
+ rodTier10c, rodTier10c, circuitTier10,
+ cableTier10, circuitTier9, rodTier10c,
+ circuitTier10, cableTier10, rodTier10c,
+ CI.emitter_MAX);
+
+ //Field Generator Modules
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier7, circuitTier7, wireTier7,
+ circuitTier7, circuitTier6, circuitTier7,
+ wireTier7, circuitTier7, wireTier7,
+ CI.fieldGenerator_LuV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier8, circuitTier8, wireTier8,
+ circuitTier8, circuitTier7, circuitTier8,
+ wireTier8, circuitTier8, wireTier8,
+ CI.fieldGenerator_ZPM);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier9, circuitTier9, wireTier9,
+ circuitTier9, circuitTier8, circuitTier9,
+ wireTier9, circuitTier9, wireTier9,
+ CI.fieldGenerator_UV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier10, circuitTier10, wireTier10,
+ circuitTier10, circuitTier9, circuitTier10,
+ wireTier10, circuitTier10, wireTier10,
+ CI.fieldGenerator_MAX);
+
+ //Sensor Modules
+ RecipeUtils.addShapedRecipe(
+ plateTier7, null, circuitTier6,
+ plateTier7, rodTier7c, null,
+ circuitTier7, plateTier7, plateTier7,
+ CI.sensor_LuV);
+ RecipeUtils.addShapedRecipe(
+ plateTier8, null, circuitTier7,
+ plateTier8, rodTier8c, null,
+ circuitTier8, plateTier8, plateTier8,
+ CI.sensor_ZPM);
+ RecipeUtils.addShapedRecipe(
+ plateTier9, null, circuitTier8,
+ plateTier9, rodTier9c, null,
+ circuitTier9, plateTier9, plateTier9,
+ CI.sensor_UV);
+ RecipeUtils.addShapedRecipe(
+ plateTier10, null, circuitTier9,
+ plateTier10, rodTier10c, null,
+ circuitTier10, plateTier10, plateTier10,
+ CI.sensor_MAX);
+
+ onlyULVComponents();
+
+ Logger.INFO("Done loading recipes for the Various machine components.");
+
+ }
+
+ private static void onlyULVComponents(){
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier1, wireTier0, rodTier0,
+ wireTier0, rodTier2, wireTier0,
+ rodTier0, wireTier0, cableTier1,
+ CI.electricMotor_ULV);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier0, rotorTier0, itemRubberRing,
+ CI.craftingToolScrewdriver, pipeTier0, CI.craftingToolWrench,
+ itemRubberRing, CI.electricMotor_ULV, cableTier0,
+ CI.electricPump_ULV);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ plateTier0, plateTier0, plateTier0,
+ cableTier0, rodTier1, rodTier1,
+ cableTier0, CI.electricMotor_ULV, smallGearTier0,
+ CI.electricPiston_ULV);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier0, cableTier0, cableTier0,
+ CI.electricMotor_ULV, rodTier1, CI.electricMotor_ULV,
+ CI.electricPiston_ULV, circuitTier0, rodTier1,
+ CI.robotArm_ULV);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ plateRubber, plateRubber, plateRubber,
+ CI.electricMotor_ULV, cableTier0, CI.electricMotor_ULV,
+ plateRubber, plateRubber, plateRubber,
+ CI.conveyorModule_ULV);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ rodTier2, rodTier2, circuitTier0,
+ cableTier0, circuitTier1, rodTier2,
+ circuitTier0, cableTier0, rodTier2,
+ CI.emitter_ULV);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier0, circuitTier0, wireTier0,
+ circuitTier0, circuitTier1, circuitTier0,
+ wireTier0, circuitTier0, wireTier0,
+ CI.fieldGenerator_ULV);
+
+ RecipeUtils.addShapedRecipe(
+ plateTier0, null, circuitTier1,
+ plateTier0, rodTier2, null,
+ circuitTier0, plateTier0, plateTier0,
+ CI.sensor_ULV);
+ }
+
+ private static void onlyMaxComponents(){
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier10, wireTier10, rodTier10a,
+ wireTier10, rodTier10b, wireTier10,
+ rodTier10a, wireTier10, cableTier10,
+ CI.electricMotor_MAX);
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier10, rotorTier10, itemRubberRing,
+ CI.craftingToolScrewdriver, pipeTier10, CI.craftingToolWrench,
+ itemRubberRing, CI.electricMotor_MAX, cableTier10,
+ CI.electricPump_MAX);
+ RecipeUtils.addShapedGregtechRecipe(
+ plateTier10, plateTier10, plateTier10,
+ cableTier10, rodTier10a, rodTier10a,
+ cableTier10, CI.electricMotor_MAX, smallGearTier10,
+ CI.electricPiston_MAX);
+ RecipeUtils.addShapedGregtechRecipe(
+ cableTier10, cableTier10, cableTier10,
+ CI.electricMotor_MAX, rodTier10a, CI.electricMotor_MAX,
+ CI.electricPiston_MAX, circuitTier10, rodTier10a,
+ CI.robotArm_MAX);
+ RecipeUtils.addShapedGregtechRecipe(
+ plateRubber, plateRubber, plateRubber,
+ CI.electricMotor_MAX, cableTier10, CI.electricMotor_MAX,
+ plateRubber, plateRubber, plateRubber,
+ CI.conveyorModule_MAX);
+ RecipeUtils.addShapedGregtechRecipe(
+ rodTier10c, rodTier10c, circuitTier10,
+ cableTier10, circuitTier9, rodTier10c,
+ circuitTier10, cableTier10, rodTier10c,
+ CI.emitter_MAX);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier10, circuitTier10, wireTier10,
+ circuitTier10, circuitTier9, circuitTier10,
+ wireTier10, circuitTier10, wireTier10,
+ CI.fieldGenerator_MAX);
+ RecipeUtils.addShapedRecipe(
+ plateTier10, null, circuitTier9,
+ plateTier10, rodTier10c, null,
+ circuitTier10, plateTier10, plateTier10,
+ CI.sensor_MAX);
+ }
+
+ private static void gregtechMachinePhase(){
+ if (CORE.ConfigSwitches.enableCustomCircuits && !CORE.GTNH){
+ Logger.INFO("Adding Gregtech machine recipes for the circuits.");
+ GT_Values.RA.addFormingPressRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Silicon, 1L), GregtechItemList.Circuit_Parts_Wiring_IV.get(4L, new Object[0]), GregtechItemList.Circuit_Board_IV.get(1L, new Object[0]), 30, 240);
+ GT_Values.RA.addFormingPressRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Silicon, 1L), GregtechItemList.Circuit_Parts_Wiring_LuV.get(4L, new Object[0]), GregtechItemList.Circuit_Board_LuV.get(1L, new Object[0]), 60, 480);
+ GT_Values.RA.addFormingPressRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Silicon, 2L), GregtechItemList.Circuit_Parts_Wiring_ZPM.get(4L, new Object[0]), GregtechItemList.Circuit_Board_ZPM.get(1L, new Object[0]), 90, 1000);
+ GT_Values.RA.addFormingPressRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lazurite, 1L), GregtechItemList.Circuit_Parts_Crystal_Chip_IV.get(3L, new Object[0]), GregtechItemList.Circuit_Parts_IV.get(1L, new Object[0]), 30, 480);
+ GT_Values.RA.addFormingPressRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lazurite, 1L), GregtechItemList.Circuit_Parts_Crystal_Chip_LuV.get(3L, new Object[0]), GregtechItemList.Circuit_Parts_LuV.get(1L, new Object[0]), 60, 1000);
+ GT_Values.RA.addFormingPressRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lazurite, 1L), GregtechItemList.Circuit_Parts_Crystal_Chip_ZPM.get(3L, new Object[0]), GregtechItemList.Circuit_Parts_ZPM.get(1L, new Object[0]), 90, 2000);
+ GT_Values.RA.addForgeHammerRecipe(ItemList.Circuit_Master.get(1L, new Object[0]), GregtechItemList.Circuit_Parts_Crystal_Chip_IV.get(5L, new Object[0]), 30, 256);
+ GT_Values.RA.addForgeHammerRecipe(GregtechItemList.Circuit_IV.get(1L, new Object[0]), GregtechItemList.Circuit_Parts_Crystal_Chip_LuV.get(5L, new Object[0]), 60, 512);
+ GT_Values.RA.addForgeHammerRecipe(GregtechItemList.Circuit_LuV.get(1L, new Object[0]), GregtechItemList.Circuit_Parts_Crystal_Chip_ZPM.get(5L, new Object[0]), 120, 1024);
+ for (final Materials tMat : Materials.values()) {
+ if ((tMat.mStandardMoltenFluid != null) && (tMat.contains(SubTag.SOLDERING_MATERIAL))) {
+ final int tMultiplier = tMat.contains(SubTag.SOLDERING_MATERIAL_GOOD) ? 1 : tMat.contains(SubTag.SOLDERING_MATERIAL_BAD) ? 4 : 2;
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Circuit_Board_IV.get(1L, new Object[0]), GregtechItemList.Circuit_Parts_IV.get(1L, new Object[0]), tMat.getMolten((144L * tMultiplier) / 4L), GregtechItemList.Circuit_IV.get(1L, new Object[0]), 30, 480);
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Circuit_Board_LuV.get(1L, new Object[0]), GregtechItemList.Circuit_Parts_LuV.get(1L, new Object[0]), tMat.getMolten((144L * tMultiplier) / 4L), GregtechItemList.Circuit_LuV.get(1L, new Object[0]), 60, 1000);
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Circuit_Board_ZPM.get(1L, new Object[0]), GregtechItemList.Circuit_Parts_ZPM.get(1L, new Object[0]), tMat.getMolten((144L * tMultiplier) / 4L), GregtechItemList.Circuit_ZPM.get(1L, new Object[0]), 90, 2000);
+
+ }
+ }
+ }
+ }
+}
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..14001d86bd
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -0,0 +1,2926 @@
+package gtPlusPlus.core.recipe;
+
+import static gtPlusPlus.core.lib.CORE.GTNH;
+
+import cpw.mods.fml.common.Loader;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.*;
+import gregtech.api.util.GT_ModHandler;
+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.lib.LoadedMods;
+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.*;
+import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.everglades.dimension.Dimension_Everglades;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
+import gtPlusPlus.xmod.gregtech.common.covers.CoverManager;
+import gtPlusPlus.xmod.gregtech.common.helpers.VolumetricFlaskHelper;
+import gtPlusPlus.xmod.gregtech.common.items.MetaCustomCoverItem;
+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 net.minecraftforge.fluids.FluidStack;
+
+public class RECIPES_Machines {
+
+ //Outputs
+ //static ItemStack RECIPE_BufferCore_ULV = new ItemStack(GregtechEnergyBuffer.itemBufferCore);
+ public static ItemStack RECIPE_SteamCondenser;
+ public static ItemStack RECIPE_IronBlastFurnace;
+ public static ItemStack RECIPE_IronPlatedBricks;
+ 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;
+
+ //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;
+
+ //Cyclotron
+ public static ItemStack RECIPE_CyclotronController;
+ public static ItemStack RECIPE_CyclotronOuterCasing;
+ public static ItemStack RECIPE_CyclotronInnerCoil;
+
+
+ //Buffer Cores
+ public static ItemStack RECIPE_BufferCore_ULV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore1", 1);
+ public static ItemStack RECIPE_BufferCore_LV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore2", 1);
+ public static ItemStack RECIPE_BufferCore_MV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore3", 1);
+ public static ItemStack RECIPE_BufferCore_HV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore4", 1);
+ public static ItemStack RECIPE_BufferCore_EV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore5", 1);
+ public static ItemStack RECIPE_BufferCore_IV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore6", 1);
+ public static ItemStack RECIPE_BufferCore_LuV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore7", 1);
+ public static ItemStack RECIPE_BufferCore_ZPM = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore8", 1);
+ public static ItemStack RECIPE_BufferCore_UV = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore9", 1);
+ public static ItemStack RECIPE_BufferCore_MAX = ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore10", 1);
+
+
+ //Wire
+ public static String wireTier1 = "wireGt08Lead";
+ public static String wireTier2 = "wireGt08Tin";
+ public static String wireTier3 = "wireGt08Copper";
+ public static String wireTier4 = "wireGt08Gold";
+ public static String wireTier5 = "wireGt08Aluminium";
+ public static String wireTier6 = "wireGt08Tungsten";
+ public static String wireTier7 = "wireGt08Naquadah";
+ public static String wireTier8 = "wireGt08Osmium";
+ public static String wireTier9 = "wireGt08Superconductor";
+ public static String wireTier10 = "wireGt16Superconductor";
+
+ //Wire
+ public static String cableTier1 = "cableGt04Lead";
+ public static String cableTier2 = "cableGt04Tin";
+ public static String cableTier3 = "cableGt04Copper";
+ public static String cableTier4 = "cableGt04Gold";
+ public static String cableTier5 = "cableGt04Aluminium";
+ public static String cableTier6 = "cableGt04Tungsten";
+ public static String cableTier7 = "cableGt04Naquadah";
+ public static String cableTier8 = "cableGt04Osmium";
+ public static String cableTier9 = "cableGt04NiobiumTitanium";
+ public static String cableTier10 = "cableGt08NiobiumTitanium";
+
+ 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 pipeTier5 = "pipeHuge"+"TungstenSteel";
+ public static String pipeTier6 = "pipeHuge"+"MaragingSteel300";
+ public static String pipeTier7 = "pipeHuge"+"Tantalloy60";
+ public static String pipeTier8 = "pipeHuge"+"Tantalloy61";
+ public static String pipeTier9 = "pipeHuge"+"Inconel792";
+ public static String pipeTier10 = "pipeHuge"+"HastelloyX";
+ public static String pipeTier11 = "pipeHuge"+"Europium";
+
+ // EV/IV MACHINES
+ public static ItemStack EV_MACHINE_Electrolyzer;
+ public static ItemStack EV_MACHINE_Centrifuge;
+ public static ItemStack EV_MACHINE_BendingMachine;
+ public static ItemStack EV_MACHINE_Wiremill;
+ public static ItemStack HV_MACHINE_Macerator;
+ public static ItemStack EV_MACHINE_Macerator;
+ public static ItemStack EV_MACHINE_Cutter;
+ public static ItemStack EV_MACHINE_MassFabricator;
+ public static ItemStack EV_MACHINE_Extruder;
+ public static ItemStack EV_MACHINE_Sifter;
+ public static ItemStack EV_MACHINE_ThermalCentrifuge;
+ public static ItemStack EV_MACHINE_OreWasher;
+ public static ItemStack EV_MACHINE_AlloySmelter;
+ public static ItemStack EV_MACHINE_Mixer;
+
+
+ //Cables
+ public static String cableGt02Electrum = "cableGt02Electrum";
+
+
+ //Plates
+ public static String plateElectricalSteel= "plateElectricalSteel";
+ public static String plateEnergeticAlloy= "plateEnergeticAlloy";
+ public static String plateCobalt = "plateCobalt";
+ public static String plateBronze = "plateBronze";
+ public static String plateSteel = "plateSteel";
+
+ //Pipes
+ public static String pipeLargeCopper="pipeLargeCopper";
+ public static String pipeHugeSteel="pipeHugeSteel";
+ public static String pipeHugeStainlessSteel="pipeHugeStainlessSteel";
+ public static String pipeHugeTitanium="pipeHugeTitanium";
+
+ //Lava Boiler
+ public static ItemStack boiler_Coal;
+ public static ItemStack blockBricks = ItemUtils.getItemStackFromFQRN("minecraft:brick_block", 1);
+
+ //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";
+ public static ItemStack IC2MFE;
+ public static ItemStack IC2MFSU;
+
+ //Misc
+ public static ItemStack INPUT_RCCokeOvenBlock;
+ public static ItemStack INPUT_IECokeOvenBlock;
+
+ //Output Determiner
+ public static int Casing_Amount;
+
+
+
+ public static final void loadRecipes(){
+ run();
+ Logger.INFO("Loading Recipes for the Various machine blocks.");
+ }
+
+ private static void run(){
+
+ //Determines Casing Recipe Output
+ if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && !GTNH){
+ Casing_Amount=2;
+ }
+ else {
+ Casing_Amount=1;
+ }
+
+ initModItems();
+ tieredMachineHulls();
+ controlCores();
+ energyCores();
+ wirelessChargers();
+ largeArcFurnace();
+ industrialVacuumFurnace();
+ fakeMachineCasingCovers();
+ ztonesCoverRecipes();
+ overflowValveCovers();
+ superBuses();
+ roundRobinators();
+ chunkloaders();
+ distillus();
+ algaeFarm();
+ chemPlant();
+ zyngen();
+ milling();
+ sparging();
+
+ }
+
+ private static void zyngen() {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(6),
+ CI.getTieredMachineHull(4),
+ ItemList.Machine_EV_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[]{
+ "PhP",
+ "PFP",
+ "PwP",
+ 'P',
+ OrePrefixes.plate.get(Materials.Aluminium),
+ 'F',
+ OrePrefixes.frameGt.get(Materials.Aluminium)
+ }
+ );
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedBioCircuit(19),
+ CI.getTieredGTPPMachineCasing(1, 6),
+ CI.getTieredComponentOfMaterial(Materials.Steel, OrePrefixes.gearGt, 6),
+ CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.plate, 32),
+ CI.getTieredComponentOfMaterial(Materials.CobaltBrass, OrePrefixes.dust, 16),
+ CI.getTieredComponent(OrePrefixes.frameGt, 2, 4),
+ },
+ ALLOY.STEEL.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 shitty 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.Iron, OrePrefixes.rod, 12),
+ CI.getTieredComponentOfMaterial(Materials.Wood, OrePrefixes.plate, 32),
+ CI.getTieredComponentOfMaterial(Materials.Bronze, 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(1));
+
+
+ }
+
+ 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 chunkloaders() {
+
+ ItemStack aOutputs[] = new ItemStack[] {
+ GregtechItemList.GT_Chunkloader_HV.get(1L),
+ GregtechItemList.GT_Chunkloader_IV.get(1L),
+ GregtechItemList.GT_Chunkloader_ZPM.get(1L),
+ };
+
+ int aIndex = 0;
+
+ for (int i=3;i<8;i++) {
+ if (i == 4 || i == 6) {
+ continue;
+ }
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(21),
+ CI.getElectricPiston(i, 10),
+ CI.getFieldGenerator(i + 1, 6),
+ CI.getPlate(i, 16),
+ CI.getTransmissionComponent(i - 1, 8),
+ CI.getTieredComponent(OrePrefixes.cableGt08, i, 16)
+ },
+ ALLOY.EGLIN_STEEL.getFluidStack(i * (144 * 4)),
+ aOutputs[aIndex++].copy(),
+ 300 * 20,
+ MaterialUtils.getVoltageForTier(i));
+ }
+
+
+ }
+
+ private static void overflowValveCovers() {
+ ItemStack aOutputs[] = new ItemStack[] {
+ GregtechItemList.Cover_Overflow_ULV.get(1L),
+ 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 i=0;i<6;i++) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedBioCircuit(19),
+ CI.getElectricPump(i, 2),
+ CI.getElectricMotor(i, 2),
+ CI.getPlate(i, 4)
+ },
+ FluidUtils.getWater((i+1) * 750),
+ aOutputs[i].copy(),
+ 20 * 20,
+ MaterialUtils.getVoltageForTier(i));
+ }
+
+ }
+
+ 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_MAX
+ };
+
+ 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(){
+ if (LoadedMods.IndustrialCraft2){
+ IC2MFE = ItemUtils.getItemStackWithMeta(LoadedMods.IndustrialCraft2, "IC2:blockElectric", "IC2_MFE", 1, 1);
+ IC2MFSU = ItemUtils.getItemStackWithMeta(LoadedMods.IndustrialCraft2, "IC2:blockElectric", "IC2_MFSU", 2, 1);
+ }
+ if (LoadedMods.Gregtech){
+
+ //Lava Boiler
+ boiler_Coal = ItemList.Machine_Bronze_Boiler.get(1);
+
+ //IV MACHINES
+ if (!GTNH){
+ EV_MACHINE_Electrolyzer = ItemList.Machine_EV_Electrolyzer.get(1);
+ EV_MACHINE_BendingMachine= ItemList.Machine_EV_Bender.get(1);
+ EV_MACHINE_Wiremill= ItemList.Machine_EV_Wiremill.get(1);
+ HV_MACHINE_Macerator= ItemList.Machine_HV_Macerator.get(1);
+ EV_MACHINE_Macerator= ItemList.Machine_EV_Macerator.get(1);
+ EV_MACHINE_MassFabricator= ItemList.Machine_EV_Massfab.get(1);
+ EV_MACHINE_Centrifuge= ItemList.Machine_EV_Centrifuge.get(1);
+ EV_MACHINE_Cutter = ItemList.Machine_EV_Cutter.get(1);
+ EV_MACHINE_Extruder = ItemList.Machine_EV_Extruder.get(1);
+ EV_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);
+ EV_MACHINE_AlloySmelter = ItemList.Machine_EV_AlloySmelter.get(1);
+ EV_MACHINE_Mixer = ItemList.Machine_EV_Mixer.get(1);
+ }
+ //Balanced opposites
+ else {
+ EV_MACHINE_Electrolyzer = ItemList.Machine_IV_Electrolyzer.get(1);
+ EV_MACHINE_BendingMachine= ItemList.Machine_IV_Bender.get(1);
+ EV_MACHINE_Wiremill= ItemList.Machine_IV_Wiremill.get(1);
+ HV_MACHINE_Macerator= ItemList.Machine_EV_Macerator.get(1);
+ EV_MACHINE_Macerator= ItemList.Machine_IV_Macerator.get(1);
+ EV_MACHINE_MassFabricator= CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK ? ItemUtils.getValueOfItemList("Machine_LuV_Massfab", ItemList.Machine_IV_Massfab).get(1) : ItemList.Machine_IV_Massfab.get(1);
+ EV_MACHINE_Centrifuge= ItemList.Machine_IV_Centrifuge.get(1);
+ EV_MACHINE_Cutter = ItemList.Machine_IV_Cutter.get(1);
+ EV_MACHINE_Extruder = ItemList.Machine_IV_Extruder.get(1);
+ EV_MACHINE_Sifter = ItemList.Machine_HV_Sifter.get(1);
+ EV_MACHINE_ThermalCentrifuge = ItemList.Machine_IV_ThermalCentrifuge.get(1);
+ EV_MACHINE_OreWasher = ItemList.Machine_IV_OreWasher.get(1);
+ EV_MACHINE_AlloySmelter = ItemList.Machine_IV_AlloySmelter.get(1);
+ EV_MACHINE_Mixer = ItemList.Machine_IV_Mixer.get(1);
+ }
+
+
+
+ }
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialCokeOven){
+ if(LoadedMods.Railcraft){
+ //Misc
+ INPUT_RCCokeOvenBlock = ItemUtils.getItemStackWithMeta(LoadedMods.Railcraft, "Railcraft:machine.alpha", "Coke_Oven_RC", 7, 1);
+ }
+ if(LoadedMods.ImmersiveEngineering){
+ //Misc
+ INPUT_IECokeOvenBlock = ItemUtils.getItemStackWithMeta(LoadedMods.ImmersiveEngineering, "ImmersiveEngineering:stoneDecoration", "Coke_Oven_IE", 1, 1);
+ }
+ }
+ runModRecipes();
+ }
+
+ private static void runModRecipes(){
+ if (LoadedMods.Gregtech){
+
+ //Computer Cube
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ ItemUtils.getSimpleStack(CI.getDataOrb(), 4 * (GTNH ? 2 : 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 * (GTNH ? 2 : 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
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.machineHull_LV,
+ ItemUtils.getItemStackOfAmountFromOreDict("plateRubber", 32),
+ 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(GTNH ? 32 : 8),
+ ALLOY.MARAGING350.getGear(GTNH ? 16 : 4),
+ ItemUtils.getSimpleStack(GTNH ? CI.fieldGenerator_IV : CI.fieldGenerator_EV, 8 ),
+ ItemUtils.getItemStackOfAmountFromOreDict("wireFinePlatinum", GTNH ? 64 : 32),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(GTNH ? 7 : 6), GTNH ? 5 : 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);
+
+ ItemStack aFluidRegulator1 = ItemUtils.getValueOfItemList("FluidRegulator_MV",GTNH ? 4 : 2, ItemList.Electric_Pump_HV);
+ ItemStack aFluidRegulator2 = ItemUtils.getValueOfItemList("FluidRegulator_IV", GTNH ? 4 : 2, ItemUtils.getValueOfItemList("Electric_Pump_LuV", GTNH ? 8 : 4, ItemList.Electric_Pump_IV));
+
+ //Poo Collector
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.machineHull_MV,
+ aFluidRegulator1,
+ CI.getTieredComponent(OrePrefixes.pipeMedium, 2, GTNH ? 4 : 2),
+ ALLOY.EGLIN_STEEL.getPlate(GTNH ? 8 : 4),
+ ALLOY.POTIN.getScrew(GTNH ? 12 : 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),
+ aFluidRegulator2,
+ CI.getTieredComponent(OrePrefixes.pipeHuge, 6, GTNH ? 8 : 4),
+ CI.getTieredComponent(OrePrefixes.screw, 6, GTNH ? 32 : 16)
+ },
+ CI.getAlternativeTieredFluid(5, 144 * 9),
+ ItemUtils.getSimpleStack(ModBlocks.blockPooCollector, 8, 1),
+ 20 * 60 * 5,
+ 500);
+
+
+ //Basic Steam Turbine
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getTieredComponent(OrePrefixes.pipeSmall, 0, 1), "circuitPrimitive", CI.getTieredComponent(OrePrefixes.pipeSmall, 0, 1),
+ ALLOY.TUMBAGA.getRotor(1), CI.machineCasing_ULV, ALLOY.TUMBAGA.getRotor(1),
+ CI.getElectricMotor(0, 1), "cableGt01RedAlloy", CI.getElectricMotor(0, 1),
+ GregtechItemList.Generator_Steam_Turbine_ULV.get(1));
+
+ //Basic Gas Turbine
+ RecipeUtils.addShapedGregtechRecipe(
+ "circuitPrimitive", ALLOY.TUMBAGA.getRotor(1), "circuitPrimitive",
+ ALLOY.TUMBAGA.getRotor(1), CI.machineCasing_ULV, ALLOY.TUMBAGA.getRotor(1),
+ CI.getElectricMotor(0, 1), "cableGt01RedAlloy", CI.getElectricMotor(0, 1),
+ GregtechItemList.Generator_Gas_Turbine_ULV.get(1));
+
+ //Basic Combustion Turbine
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getElectricPiston(0, 1), "circuitPrimitive", CI.getElectricPiston(0, 1),
+ CI.getElectricMotor(0, 1), CI.machineCasing_ULV, CI.getElectricMotor(0, 1),
+ ALLOY.TUMBAGA.getGear(1), "cableGt01RedAlloy", ALLOY.TUMBAGA.getGear(1),
+ GregtechItemList.Generator_Diesel_ULV.get(1));
+
+
+
+ //Steam Condenser
+ if (CORE.ConfigSwitches.enableMachine_SteamConverter ){
+ RECIPE_SteamCondenser = GregtechItemList.Condensor_MAX.get(1);
+ RecipeUtils.addShapedGregtechRecipe(
+ pipeLargeCopper, pipeHugeSteel, pipeLargeCopper,
+ plateEnergeticAlloy, CI.electricPump_HV, plateEnergeticAlloy,
+ plateEnergeticAlloy, pipeLargeCopper, plateEnergeticAlloy,
+ RECIPE_SteamCondenser);
+ }
+
+ ItemStack aBronzeBricks = ItemUtils.simpleMetaStack(GregTech_API.sBlockCasings1, 10, 1);
+ // Steam Macerator Multi
+ RecipeUtils.addShapedGregtechRecipe(
+ aBronzeBricks, ALLOY.TUMBAGA.getGear(1), aBronzeBricks,
+ aBronzeBricks, ALLOY.TUMBAGA.getFrameBox(1), aBronzeBricks,
+ aBronzeBricks, ALLOY.TUMBAGA.getGear(1), aBronzeBricks,
+ GregtechItemList.Controller_SteamMaceratorMulti.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));
+
+
+ //RF Convertor
+ if (LoadedMods.CoFHCore && CORE.ConfigSwitches.enableMachine_RF_Convetor){
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getPlate(4, 1), CI.getTieredCircuitOreDictName(5), CI.getPlate(4, 1),
+ CI.getTransmissionComponent(3, 1), CI.getTieredGTPPMachineCasing(4, 1), CI.getTransmissionComponent(3, 1),
+ CI.getPlate(4, 1), plateEnergeticAlloy, CI.getPlate(4, 1),
+ GregtechItemList.Energy_Buffer_RF_Convertor.get(1));
+ }
+
+ // Egg Box
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(8),
+ CI.getTieredMachineHull(3),
+ ItemUtils.getSimpleStack(Items.egg, 64),
+ ItemUtils.getSimpleStack(ModItems.itemRope, 32),
+ CI.getPlate(4, GTNH ? 16 : 8)
+ },
+ FluidUtils.getFluidStack("mobessence", 4096),
+ ItemUtils.getSimpleStack(ModBlocks.blockEggBox, 1),
+ 20 * 60,
+ 480);
+
+ //Flask Configurator
+ if (Meta_GT_Proxy.sDoesVolumetricFlaskExist) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(8),
+ CI.getTieredMachineHull(2),
+ ItemUtils.getSimpleStack(ModBlocks.blockCircuitProgrammer),
+ VolumetricFlaskHelper.getVolumetricFlask(8),
+ CI.getTieredComponent(OrePrefixes.pipeSmall, 2, GTNH ? 4 : 2),
+ CI.getPlate(2, GTNH ? 8 : 4)
+ },
+ CI.getAlternativeTieredFluid(1, 144 * 8),
+ ItemUtils.getSimpleStack(ModBlocks.blockVolumetricFlaskSetter, 1),
+ 20 * 60,
+ 120);
+ }
+
+
+ if (CORE.ConfigSwitches.enableMultiblock_IronBlastFurnace){
+
+ RECIPE_IronBlastFurnace = GregtechItemList.Machine_Iron_BlastFurnace.get(1);
+ RECIPE_IronPlatedBricks = GregtechItemList.Casing_IronPlatedBricks.get(Casing_Amount);
+
+ //Iron BF
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateDoubleAnyIron", "craftingFurnace", "plateDoubleAnyIron",
+ boiler_Coal, CI.machineCasing_ULV, boiler_Coal,
+ "plateDoubleAnyIron", "bucketLava", "plateDoubleAnyIron",
+ RECIPE_IronBlastFurnace);
+ //Iron plated Bricks
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateAnyIron", RECIPES_Tools.craftingToolHardHammer, "plateAnyIron",
+ "plateAnyIron", blockBricks, "plateAnyIron",
+ "plateAnyIron", RECIPES_Tools.craftingToolWrench, "plateAnyIron",
+ RECIPE_IronPlatedBricks);
+
+ //Add recycle recipes for the Iron Plated Bricks
+ //GT_ModHandler.addPulverisationRecipe(RECIPE_IronPlatedBricks, ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustIron", 6), ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustClay", 2), true);
+ CORE.RA.addPulverisationRecipe(
+ RECIPE_IronPlatedBricks,
+ ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustIron", 6),
+ ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustClay", 2),
+ null);
+ GT_Values.RA.addArcFurnaceRecipe(RECIPE_IronPlatedBricks, new ItemStack[]{ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ingotWroughtIron", 6), ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustAsh", 2)}, new int[]{0}, 32*20, 32);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialCentrifuge){
+ //Industrial Centrifuge
+ RECIPE_IndustrialCentrifugeController = GregtechItemList.Industrial_Centrifuge.get(1);
+ RECIPE_IndustrialCentrifugeCasing = GregtechItemList.Casing_Centrifuge1.get(Casing_Amount);
+
+ //Industrial Centrifuge
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.circuitTier5, pipeHugeStainlessSteel, CI.circuitTier5,
+ CI.component_Plate[6], EV_MACHINE_Centrifuge, CI.component_Plate[6],
+ CI.component_Plate[8], CI.machineCasing_IV, 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);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialCokeOven){
+ //Industrial Coke Oven
+ RECIPE_IndustrialCokeOvenController = GregtechItemList.Industrial_CokeOven.get(1);
+ RECIPE_IndustrialCokeOvenFrame = GregtechItemList.Casing_CokeOven.get(Casing_Amount);
+ RECIPE_IndustrialCokeOvenCasingA = GregtechItemList.Casing_CokeOven_Coil1.get(Casing_Amount);
+ RECIPE_IndustrialCokeOvenCasingB = GregtechItemList.Casing_CokeOven_Coil2.get(Casing_Amount);
+
+ if (LoadedMods.Railcraft){
+ //Industrial Coke Oven
+ RecipeUtils.addShapedGregtechRecipe(
+ plateCobalt, CI.circuitTier4, plateCobalt,
+ CI.machineCasing_HV, INPUT_RCCokeOvenBlock, CI.machineCasing_HV,
+ plateCobalt, CI.circuitTier5, plateCobalt,
+ RECIPE_IndustrialCokeOvenController);
+ }
+ if (LoadedMods.ImmersiveEngineering){
+ //Industrial Coke Oven
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[8], CI.circuitTier4, CI.component_Plate[8],
+ CI.machineCasing_HV, INPUT_IECokeOvenBlock, CI.machineCasing_HV,
+ CI.component_Plate[8], CI.circuitTier3, CI.component_Plate[8],
+ 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);
+ //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(Casing_Amount);
+
+ //Electrolyzer Frame Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "platePotin", "stickLongChrome", "platePotin",
+ "stickLongPotin", "frameGtPotin", "stickLongPotin",
+ "platePotin", "stickLongPotin", "platePotin",
+ RECIPE_IndustrialElectrolyzerFrame);
+ //Industrial Electrolyzer
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateStellite", CI.circuitTier5, "plateStellite",
+ CI.machineCasing_EV, EV_MACHINE_Electrolyzer, CI.machineCasing_EV,
+ "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(Casing_Amount);
+
+ //Material Press Frame Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateTitanium", "stickLongTumbaga", "plateTitanium",
+ "stickTantalloy60", "frameGtTumbaga", "stickTantalloy60",
+ "plateTitanium", "stickLongTumbaga", "plateTitanium",
+ RECIPE_IndustrialMaterialPressFrame);
+ //Industrial Material Press
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateTitanium", CI.circuitTier5, "plateTitanium",
+ CI.machineCasing_EV, EV_MACHINE_BendingMachine, CI.machineCasing_EV,
+ "plateTitanium", CI.circuitTier5, "plateTitanium",
+ RECIPE_IndustrialMaterialPressController);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialMacerationStack){
+ //Industrial Maceration Stack
+ RECIPE_IndustrialMacerationStackController = GregtechItemList.Industrial_MacerationStack.get(1);
+ RECIPE_IndustrialMacerationStackFrame = GregtechItemList.Casing_MacerationStack.get(Casing_Amount);
+
+ //Maceration Frame Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "platePalladium", "platePalladium", "platePalladium",
+ "stickPlatinum", "frameGtInconel625", "stickPlatinum",
+ "platePalladium", "stickLongPalladium", "platePalladium",
+ RECIPE_IndustrialMacerationStackFrame);
+ //Industrial Maceration stack
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateTungstenCarbide", EV_MACHINE_Macerator, "plateTungstenCarbide",
+ HV_MACHINE_Macerator, CI.circuitTier7, HV_MACHINE_Macerator,
+ "plateTungstenCarbide", CI.machineCasing_IV, "plateTungstenCarbide",
+ RECIPE_IndustrialMacerationStackController);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialWireMill){
+ //Industrial Wire Factory
+ RECIPE_IndustrialWireFactoryController = GregtechItemList.Industrial_WireFactory.get(1);
+ RECIPE_IndustrialWireFactoryFrame = GregtechItemList.Casing_WireFactory.get(Casing_Amount);
+
+ //Wire Factory Frame Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateBlueSteel", "stickBlueSteel", "plateBlueSteel",
+ "stickBlueSteel", "frameGtBlueSteel", "stickBlueSteel",
+ "plateBlueSteel", "stickBlueSteel", "plateBlueSteel",
+ RECIPE_IndustrialWireFactoryFrame);
+ //Industrial Wire Factory
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateZeron100", CI.machineCasing_IV, "plateZeron100",
+ CI.circuitTier5, EV_MACHINE_Wiremill, CI.circuitTier5,
+ "plateZeron100", CI.machineCasing_IV, "plateZeron100",
+ RECIPE_IndustrialWireFactoryController);
+ }
+
+
+
+ //Tiered Tanks
+ if (CORE.ConfigSwitches.enableMachine_FluidTanks){
+ Logger.WARNING("Is New Horizons Loaded? "+GTNH);
+ if (!GTNH){
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[1], CI.component_Plate[1], CI.component_Plate[1],
+ CI.component_Plate[1], pipeTier1, CI.component_Plate[1],
+ CI.component_Plate[1], GregtechItemList.Fluid_Cell_144L.get(1), CI.component_Plate[1],
+ GregtechItemList.GT_FluidTank_ULV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[2], CI.component_Plate[2], CI.component_Plate[2],
+ CI.component_Plate[2], pipeTier2, CI.component_Plate[2],
+ CI.component_Plate[2], CI.electricPump_LV, CI.component_Plate[2],
+ GregtechItemList.GT_FluidTank_LV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[3], CI.component_Plate[3], CI.component_Plate[3],
+ CI.component_Plate[3], pipeTier3, CI.component_Plate[3],
+ CI.component_Plate[3], CI.electricPump_MV, CI.component_Plate[3],
+ GregtechItemList.GT_FluidTank_MV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[4], CI.component_Plate[4], CI.component_Plate[4],
+ CI.component_Plate[4], pipeTier4, CI.component_Plate[4],
+ CI.component_Plate[4], CI.electricPump_HV, CI.component_Plate[4],
+ GregtechItemList.GT_FluidTank_HV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[5], CI.component_Plate[5], CI.component_Plate[5],
+ CI.component_Plate[5], pipeTier5, CI.component_Plate[5],
+ CI.component_Plate[5], CI.electricPump_EV, CI.component_Plate[5],
+ GregtechItemList.GT_FluidTank_EV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[6], CI.component_Plate[6], CI.component_Plate[6],
+ CI.component_Plate[6], pipeTier6, CI.component_Plate[6],
+ CI.component_Plate[6], CI.electricPump_IV, CI.component_Plate[6],
+ GregtechItemList.GT_FluidTank_IV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[7], CI.component_Plate[7], CI.component_Plate[7],
+ CI.component_Plate[7], pipeTier7, CI.component_Plate[7],
+ CI.component_Plate[7], CI.electricPump_LuV, CI.component_Plate[7],
+ GregtechItemList.GT_FluidTank_LuV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[8], CI.component_Plate[8], CI.component_Plate[8],
+ CI.component_Plate[8], pipeTier8, CI.component_Plate[8],
+ CI.component_Plate[8], CI.electricPump_ZPM, CI.component_Plate[8],
+ GregtechItemList.GT_FluidTank_ZPM.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[9], CI.component_Plate[9], CI.component_Plate[9],
+ CI.component_Plate[9], pipeTier9, CI.component_Plate[9],
+ CI.component_Plate[9], CI.electricPump_UV, CI.component_Plate[9],
+ GregtechItemList.GT_FluidTank_UV.get(1));
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[10], CI.component_Plate[10], CI.component_Plate[10],
+ CI.component_Plate[10], pipeTier10, CI.component_Plate[10],
+ CI.component_Plate[10], CI.electricPump_MAX, CI.component_Plate[10],
+ GregtechItemList.GT_FluidTank_MAX.get(1));
+ }
+ else {
+
+ 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);
+
+ 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(Casing_Amount);
+
+ //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[3][6];
+ aSemiFluidInputs[0] = new ItemStack[]{
+ CI.getNumberedBioCircuit(14),
+ CI.getTieredMachineHull(1, 1),
+ CI.getElectricPiston(1, GTNH ? 4 : 2),
+ CI.getTieredComponent(OrePrefixes.circuit, 1, GTNH ? 4 : 2),
+ CI.getPlate(1, GTNH ? 8 : 4),
+ CI.getGear(1, GTNH ? 4 : 2)
+ };
+ aSemiFluidInputs[1] = new ItemStack[]{
+ CI.getNumberedCircuit(14),
+ CI.getTieredMachineHull(2, 1),
+ CI.getElectricPiston(2, GTNH ? 4 : 2),
+ CI.getTieredComponent(OrePrefixes.circuit, 2, GTNH ? 4 : 2),
+ CI.getPlate(2, GTNH ? 8 : 4),
+ CI.getGear(2, GTNH ? 4 : 2)
+ };
+ aSemiFluidInputs[2] = new ItemStack[]{
+ CI.getNumberedAdvancedCircuit(14),
+ CI.getTieredMachineHull(3, 1),
+ CI.getElectricPiston(3, GTNH ? 4 : 2),
+ CI.getTieredComponent(OrePrefixes.circuit, 3, GTNH ? 4 : 2),
+ CI.getPlate(3, GTNH ? 8 : 4),
+ CI.getGear(3, GTNH ? 4 : 2)
+ };
+ FluidStack[] aSemiFluidFluidInputs = new FluidStack[] {
+ ALLOY.BRONZE.getFluidStack(144 * 8),
+ ALLOY.STEEL.getFluidStack(144 * 8),
+ ELEMENT.getInstance().ALUMINIUM.getFluidStack(144 * 8),
+ };
+
+ //ItemUtils.simpleMetaStack("IC2:blockGenerator:7", 7, 1);
+ ItemStack[] aSemifluids = new ItemStack[] {GregtechItemList.Generator_SemiFluid_LV.get(1), GregtechItemList.Generator_SemiFluid_MV.get(1), GregtechItemList.Generator_SemiFluid_HV.get(1)};
+ for (int o=0;o<3;o++) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ aSemiFluidInputs[o],
+ aSemiFluidFluidInputs[o],
+ aSemifluids[o],
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(o+1));
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_AlloyBlastSmelter){
+ //Industrial Blast Smelter
+ RECIPE_IndustrialBlastSmelterController = GregtechItemList.Industrial_AlloyBlastSmelter.get(1);
+ RECIPE_IndustrialBlastSmelterFrame = GregtechItemList.Casing_BlastSmelter.get(Casing_Amount);
+ RECIPE_IndustrialBlastSmelterCoil = GregtechItemList.Casing_Coil_BlastSmelter.get(Casing_Amount);
+
+ //Blast Smelter
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateZirconiumCarbide", CI.circuitTier4, "plateZirconiumCarbide",
+ cableTier4, EV_MACHINE_AlloySmelter, cableTier4,
+ "plateZirconiumCarbide", CI.circuitTier3, "plateZirconiumCarbide",
+ RECIPE_IndustrialBlastSmelterController);
+ //Blast Smelter Frame Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateZirconiumCarbide", CI.component_Rod[5], "plateZirconiumCarbide",
+ CI.component_Rod[5], "frameGtTumbaga", CI.component_Rod[5],
+ "plateZirconiumCarbide", CI.component_Rod[5], "plateZirconiumCarbide",
+ RECIPE_IndustrialBlastSmelterFrame);
+ //Blast Smelter Coil
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateStaballoy", "plateStaballoy", "plateStaballoy",
+ "frameGtStaballoy", CI.gearboxCasing_Tier_3, "frameGtStaballoy",
+ "plateStaballoy", "plateStaballoy", "plateStaballoy",
+ RECIPE_IndustrialBlastSmelterCoil);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_MatterFabricator){
+ //Industrial Matter Fabricator
+ RECIPE_IndustrialMatterFabController = GregtechItemList.Industrial_MassFab.get(1);
+ RECIPE_IndustrialMatterFabFrame = GregtechItemList.Casing_MatterFab.get(Casing_Amount);
+ RECIPE_IndustrialMatterFabCoil = GregtechItemList.Casing_MatterGen.get(Casing_Amount);
+
+ //Matter Fabricator CPU
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getDoublePlate(8, 1), CI.circuitTier5, CI.getPlate(8, 1),
+ cableTier8, CI.machineCasing_LuV, cableTier8,
+ CI.getPlate(8, 1), CI.circuitTier5, 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);
+ //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);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_IndustrialSifter){
+ //Industrial Sieve
+ RECIPE_IndustrialSieveController = GregtechItemList.Industrial_Sifter.get(1);
+ RECIPE_IndustrialSieveFrame = GregtechItemList.Casing_Sifter.get(Casing_Amount);
+ RECIPE_IndustrialSieveGrate = GregtechItemList.Casing_SifterGrate.get(Casing_Amount);
+
+ //Industrial Sieve
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateEglinSteel", CI.circuitTier2, "plateEglinSteel",
+ cableTier3, EV_MACHINE_Sifter, cableTier3,
+ "plateEglinSteel", CI.circuitTier2, "plateEglinSteel",
+ RECIPE_IndustrialSieveController);
+ //Industrial Sieve Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateEglinSteel", "plateEglinSteel", "plateEglinSteel",
+ "plateEglinSteel", "frameGtTumbaga", "plateEglinSteel",
+ "plateEglinSteel", "plateEglinSteel", "plateEglinSteel",
+ RECIPE_IndustrialSieveFrame);
+ //Industrial Sieve Grate
+ RecipeUtils.addShapedGregtechRecipe(
+ "frameGtEglinSteel", "wireFineSteel", "frameGtEglinSteel",
+ "wireFineSteel", "wireFineSteel", "wireFineSteel",
+ "frameGtEglinSteel", "wireFineSteel", "frameGtEglinSteel",
+ RECIPE_IndustrialSieveGrate);
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_TreeFarmer){
+ //Industrial Tree Farmer
+ RECIPE_TreeFarmController = GregtechItemList.Industrial_TreeFarm.get(1);
+ RECIPE_TreeFarmFrame = GregtechItemList.Casing_PLACEHOLDER_TreeFarmer.get(Casing_Amount);
+ //Industrial Tree Farm Controller
+ if (!GTNH) {
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateEglinSteel", "rotorEglinSteel", "plateEglinSteel",
+ "cableGt02Steel", "pipeMediumSteel", "cableGt02Steel",
+ "plateEglinSteel", CI.machineCasing_MV, "plateEglinSteel",
+ RECIPE_TreeFarmController);
+ }
+ else {
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateEglinSteel", "rotorEglinSteel", "plateEglinSteel",
+ "cableGt02Silver", "pipeMediumStainlessSteel", "cableGt02Silver",
+ "plateEglinSteel", CI.machineCasing_HV, "plateEglinSteel",
+ RECIPE_TreeFarmController);
+ }
+ //Industrial Tree Farm Frame
+ RecipeUtils.addShapedGregtechRecipe(
+ ItemUtils.getSimpleStack(Blocks.dirt), ItemUtils.getSimpleStack(Blocks.dirt), ItemUtils.getSimpleStack(Blocks.dirt),
+ "plankWood", "frameGtTumbaga", "plankWood",
+ "plankWood", "plankWood", "plankWood",
+ RECIPE_TreeFarmFrame);
+ }
+
+ 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){
+ ItemStack plateWrought = ItemUtils.getItemStackOfAmountFromOreDict("plateWroughtIron", 1);
+ ItemStack washerPipe;
+
+
+ if (CORE.ConfigSwitches.enableCustom_Pipes){
+ washerPipe = ItemUtils.getItemStackOfAmountFromOreDict("pipeLargeClay", 1);
+ RecipeUtils.addShapedGregtechRecipe(
+ plateWrought, CI.electricPump_LV, plateWrought,
+ plateWrought, washerPipe, plateWrought,
+ plateWrought, CI.machineCasing_ULV, plateWrought,
+ GregtechItemList.SimpleDustWasher_ULV.get(1));
+ }
+ //Add Recipe
+ washerPipe = ItemUtils.getItemStackOfAmountFromOreDict("pipeLargeCopper", 1);
+ RecipeUtils.addShapedGregtechRecipe(
+ plateWrought, CI.electricPump_LV, plateWrought,
+ plateWrought, washerPipe, plateWrought,
+ plateWrought, CI.machineCasing_ULV, plateWrought,
+ GregtechItemList.SimpleDustWasher_ULV.get(1));
+
+ int aSimpleWasherTier = 2;
+ int aSlot = 0;
+ ItemStack[][] aInputsForSimpleWashers = new ItemStack[4][6];
+
+ aInputsForSimpleWashers[0] = new ItemStack[] {
+ CI.getTieredMachineHull(2),
+ CI.getTieredComponent(OrePrefixes.screw, 2, GTNH ? 16 : 8),
+ CI.getTieredComponent(OrePrefixes.plate, 1, GTNH ? 8 : 4),
+ CI.getTieredComponent(OrePrefixes.rod, 2, GTNH ? 4 : 2),
+ CI.getTieredComponent(OrePrefixes.circuit, 2, GTNH ? 3 : 1),
+
+ };
+ aInputsForSimpleWashers[1] = new ItemStack[] {
+ CI.getTieredMachineHull(4),
+ CI.getTieredComponent(OrePrefixes.screw, 4, GTNH ? 24 : 12),
+ CI.getTieredComponent(OrePrefixes.plate, 3, GTNH ? 12 : 6),
+ CI.getTieredComponent(OrePrefixes.rod, 4, GTNH ? 6 : 3),
+ CI.getTieredComponent(OrePrefixes.circuit, 4, GTNH ? 4 : 2),
+
+ };
+ aInputsForSimpleWashers[2] = new ItemStack[] {
+ CI.getTieredMachineHull(6),
+ CI.getTieredComponent(OrePrefixes.screw, 6, GTNH ? 48 : 24),
+ CI.getTieredComponent(OrePrefixes.plate, 5, GTNH ? 16 : 8),
+ CI.getTieredComponent(OrePrefixes.rod, 6, GTNH ? 8 : 4),
+ CI.getTieredComponent(OrePrefixes.circuit, 6, GTNH ? 6 : 3),
+
+ };
+ aInputsForSimpleWashers[3] = new ItemStack[] {
+ CI.getTieredMachineHull(8),
+ CI.getTieredComponent(OrePrefixes.screw, 8, GTNH ? 64 : 32),
+ CI.getTieredComponent(OrePrefixes.plate, 7, GTNH ? 32 : 16),
+ CI.getTieredComponent(OrePrefixes.rod, 8, GTNH ? 10 : 5),
+ CI.getTieredComponent(OrePrefixes.circuit, 8, GTNH ? 8 : 4),
+
+ };
+
+
+
+
+
+
+ ItemStack[] aSimpleWashers = new ItemStack[] {GregtechItemList.SimpleDustWasher_MV.get(1), GregtechItemList.SimpleDustWasher_EV.get(1), GregtechItemList.SimpleDustWasher_LuV.get(1), GregtechItemList.SimpleDustWasher_UV.get(1)};
+ for (int i=0;i<4;i++) {
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ aInputsForSimpleWashers[aSlot],
+ CI.getTieredFluid(aSimpleWasherTier, 144 * aSimpleWasherTier),
+ aSimpleWashers[aSlot],
+ 20 * 15 * aSimpleWasherTier,
+ (int) GT_Values.V[aSimpleWasherTier]);
+
+ aSimpleWasherTier += 2;
+ aSlot++;
+ }
+ }
+
+ 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(
+ CI.component_Plate[1], CI.sensor_MV, CI.component_Plate[1],
+ CI.component_Plate[2], CI.electricMotor_ULV, CI.component_Plate[2],
+ CI.getTieredCircuit(1), CI.machineHull_LV, CI.getTieredCircuit(0),
+ GregtechItemList.Pollution_Detector.get(1));
+
+ //ULV
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[0], ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1), CI.component_Plate[0],
+ CI.component_Plate[0], CI.electricMotor_ULV, CI.component_Plate[0],
+ CI.getTieredCircuit(0), CI.machineHull_ULV, CI.getTieredCircuit(0),
+ GregtechItemList.Pollution_Cleaner_ULV.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_MAX, CI.component_Plate[9],
+ CI.getTieredCircuit(9), CI.machineHull_MAX, 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(GTNH ? 1 : 2);
+ ItemStack centrifugeHV = GTNH ? ItemList.Machine_IV_Centrifuge.get(1) : ItemList.Machine_EV_Centrifuge.get(1);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ "craftingGeothermalGenerator", centrifugeHV, "craftingGeothermalGenerator",
+ "gearGtTitanium", CI.getTieredCircuitOreDictName(6), "gearGtTitanium",
+ "craftingGeothermalGenerator", centrifugeHV, "craftingGeothermalGenerator",
+ RECIPE_ThermalBoilerController);
+
+ RecipeUtils.addShapedGregtechRecipe(
+ "craftingGeothermalGenerator", centrifugeHV, "craftingGeothermalGenerator",
+ "gearGtTungstenSteel", CI.getTieredCircuitOreDictName(5), "gearGtTungstenSteel",
+ "craftingGeothermalGenerator", centrifugeHV, "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", GTNH ? 64 : 32),
+ ItemUtils.getItemStackOfAmountFromOreDict("wireFineSteel", GTNH ? 64 : 32),
+ ItemUtils.getItemStackOfAmountFromOreDict("ringTumbaga", GTNH ? 32 : 16),
+ ItemUtils.getItemStackOfAmountFromOreDict("foilCopper", GTNH ? 8 : 4),
+ ItemUtils.getItemStackWithMeta(LoadedMods.IndustrialCraft2, "IC2:itemPartCarbonMesh", "RawCarbonMesh", 0, 64),
+
+ },
+ CI.getTieredFluid(3, 144),
+ ItemUtils.getSimpleStack(ModItems.itemLavaFilter, GTNH ? 8 : 16),
+ 1600,
+ 240
+ );
+ }
+
+ //Air Intake Hatch
+ ItemList FluidRegulator_IV = ItemUtils.getValueOfItemList("FluidRegulator_IV", ItemList.Pump_IV);
+ ItemStack aTieredFluidRegulator = CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK ? FluidRegulator_IV.get(1) : ItemList.Pump_IV.get(1);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[6], ItemList.Casing_Grate.get(1), CI.component_Plate[6],
+ CI.component_Plate[6], aTieredFluidRegulator, CI.component_Plate[6],
+ CI.getTieredCircuit(4), ItemList.Hatch_Input_IV.get(1), CI.getTieredCircuit(4),
+ GregtechItemList.Hatch_Air_Intake.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);
+ if(!GTNH) {
+ RecipeUtils.addShapedGregtechRecipe(
+ controlCircuit, "cableGt12NaquadahAlloy", controlCircuit,
+ "plateDoubleHastelloyN", GregtechItemList.Gregtech_Computer_Cube.get(1), "plateDoubleHastelloyN",
+ "plateThorium232", CI.machineHull_EV, "plateThorium232",
+ RECIPE_LFTRController);
+ } else {
+ RecipeUtils.addShapedGregtechRecipe(
+ controlCircuit, "cableGt12NaquadahAlloy", controlCircuit,
+ "plateDoubleHastelloyN", GregtechItemList.Gregtech_Computer_Cube.get(1), "plateDoubleHastelloyN",
+ "plateThorium232", CI.machineHull_IV, "plateThorium232",
+ RECIPE_LFTRController);
+ }
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateDoubleZeron100", CI.craftingToolScrewdriver, "plateDoubleZeron100",
+ "gearGtTalonite", CI.fieldGenerator_MV, "gearGtTalonite",
+ "plateDoubleZeron100", CI.craftingToolHammer_Hard, "plateDoubleZeron100",
+ 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
+ ItemStack circuitT5 = ItemList.Circuit_Master.get(1);
+ GT_Values.RA.addAssemblerRecipe(circuitT5, CI.fieldGenerator_HV, 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;
+
+ if (GTNH || !CORE.ConfigSwitches.enableMachine_FluidTanks){
+ mInnerTank = ItemList.Quantum_Tank_LV.get(1);
+ }
+ else {
+ mInnerTank = GregtechItemList.GT_FluidTank_EV.get(1);
+ }
+
+ //Incoloy Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateIncoloyDS", "pipeHugeStaballoy", "plateIncoloyDS",
+ "gearGtIncoloyDS", mInnerTank, "gearGtIncoloyDS",
+ "plateIncoloyDS", "pipeHugeStaballoy", "plateIncoloyDS",
+ GregtechItemList.Casing_Refinery_Internal.get(Casing_Amount));
+
+ //Hastelloy-N Sealant Casing
+ RecipeUtils.addShapedGregtechRecipe(
+ "plateIncoloyMA956", "plateHastelloyN", "plateIncoloyMA956",
+ "plateHastelloyN", "frameGtHastelloyC276", "plateHastelloyN",
+ "plateIncoloyMA956", "plateHastelloyN", "plateIncoloyMA956",
+ GregtechItemList.Casing_Refinery_External.get(Casing_Amount));
+
+ //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(Casing_Amount));
+
+ 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));
+
+ }
+
+ //Shelves
+ RecipeUtils.addShapedGregtechRecipe(
+ "screwWood", "plateWood", "screwWood",
+ CI.craftingToolHammer_Hard, "frameGtWood", CI.craftingToolHammer_Soft,
+ "plateWood", "plateWood", "plateWood",
+ GregtechItemList.GT4_Shelf.get(2));
+
+ RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] {GregtechItemList.GT4_Shelf.get(1)}, GregtechItemList.GT4_Shelf_Compartment.get(1));
+ RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] {GregtechItemList.GT4_Shelf_Compartment.get(1)}, GregtechItemList.GT4_Shelf_Desk.get(1));
+ RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] {GregtechItemList.GT4_Shelf_Desk.get(1)}, GregtechItemList.GT4_Shelf_Iron.get(1));
+ RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] {GregtechItemList.GT4_Shelf_Iron.get(1)}, GregtechItemList.GT4_Shelf_FileCabinet.get(1));
+ RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] {GregtechItemList.GT4_Shelf_FileCabinet.get(1)}, GregtechItemList.GT4_Shelf.get(1));
+
+
+ //Cyclotron
+ if (CORE.ConfigSwitches.enableMultiblock_Cyclotron){
+ RECIPE_CyclotronController = GregtechItemList.COMET_Cyclotron.get(1);
+ RECIPE_CyclotronOuterCasing = GregtechItemList.Casing_Cyclotron_External.get(Casing_Amount);
+ 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, GTNH ? 8 : 4),
+ ALLOY.INCOLOY_DS.getPlate(GTNH ? 16 : 8),
+ ALLOY.INCONEL_690.getScrew(GTNH ? 32 : 16),
+ ALLOY.EGLIN_STEEL.getLongRod(GTNH ? 16 : 4),
+ CI.getElectricPiston(3, GTNH ? 4 : 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, GTNH ? 32 : 8),
+ ALLOY.INCOLOY_MA956.getPlate(GTNH ? 16 : 8),
+ ALLOY.TANTALLOY_61.getBolt(GTNH ? 32 : 16),
+ ALLOY.INCOLOY_020.getScrew(GTNH ? 64 : 32),
+ CI.getFieldGenerator(4, GTNH ? 2 : 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, GTNH ? 4 : 2),
+ ALLOY.INCOLOY_020.getPlate(GTNH ? 16 : 8),
+ ALLOY.TANTALLOY_61.getGear(GTNH ? 4 : 2),
+ ALLOY.INCOLOY_MA956.getScrew(GTNH ? 64 : 16),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(GTNH ? 6 : 5), GTNH ? 8 : 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(Casing_Amount));
+
+ 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(Casing_Amount));
+
+ 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(Casing_Amount));
+
+ RecipeUtils.addShapedRecipe(
+ "plateGrisium",CI.electricPump_MV,"plateGrisium",
+ "plateTalonite",EV_MACHINE_OreWasher,"plateTalonite",
+ "plateGrisium","circuitData","plateGrisium",
+ GregtechItemList.Industrial_WashPlant.get(1));
+ }
+
+ if (CORE.ConfigSwitches.enableMultiblock_LargeAutoCrafter) {
+
+ ItemStack aCoreBlock = CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK
+ ? ItemUtils.getValueOfItemList("Block_IridiumTungstensteel", 1, ItemUtils.getItemStackOfAmountFromOreDict("blockOsmiridium", 1))
+ : ItemUtils.getItemStackOfAmountFromOreDict("blockOsmiridium", 1);
+
+ aCoreBlock.stackSize = GTNH ? 2 : 1;
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), GTNH ? 2 : 1),
+ aCoreBlock,
+ CI.getTieredComponent(OrePrefixes.circuit, GTNH ? 3 : 2, 16),
+ CI.getTieredComponent(OrePrefixes.screw, GTNH ? 6 : 5, 32),
+ CI.getTieredComponent(OrePrefixes.bolt, GTNH ? 6 : 5, 12),
+ CI.getTieredComponent(OrePrefixes.plate, GTNH ? 7 : 6, 8), },
+ CI.getTertiaryTieredFluid(6, 144 * (GTNH ? 12 : 4)),
+ GregtechItemList.Casing_Autocrafter.get(Casing_Amount), 20 * 60 * 2,
+ MaterialUtils.getVoltageForTier(GTNH ? 6 : 5));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ GregtechItemList.Casing_Refinery_Structural.get(4),
+ ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, GTNH ? 2 : 1),
+ CI.getTieredComponent(OrePrefixes.cableGt08, GTNH ? 7 : 6, GTNH ? 32 : 16),
+ CI.getTransmissionComponent(GTNH ? 6 : 5, 2),
+ GregtechItemList.Gregtech_Computer_Cube.get(1),
+ },
+ CI.getTieredFluid(7, 144 * (GTNH ? 32 : 8)), GregtechItemList.GT4_Multi_Crafter.get(1),
+ 20 * 60 * 5, MaterialUtils.getVoltageForTier(GTNH ? 6 : 5));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), Casing_Amount),
+ CI.getEmitter(GTNH ? 5 : 4, GTNH ? 4 : 2), CI.getRobotArm(GTNH ? 5 : 4, GTNH ? 4 : 2),
+ CI.getTieredComponent(OrePrefixes.circuit, GTNH ? 3 : 2, 8),
+ CI.getTieredComponent(OrePrefixes.screw, GTNH ? 4 : 3, 8),
+ CI.getTieredComponent(OrePrefixes.plate, 5, GTNH ? 16 : 4), },
+ CI.getAlternativeTieredFluid(5, 144 * 4), ItemUtils.getSimpleStack(ModBlocks.blockProjectTable),
+ 20 * 30 * 3, MaterialUtils.getVoltageForTier(GTNH ? 5 : 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(Casing_Amount));
+
+ RecipeUtils.addShapedRecipe(
+ plate,CI.getTieredCircuit(3),plate,
+ "wireFinePlatinum", EV_MACHINE_Cutter, "wireFinePlatinum",
+ plate,CI.getTieredCircuit(4),plate,
+ GregtechItemList.Industrial_CuttingFactoryController.get(1));
+ }
+
+ //EV_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(Casing_Amount));
+
+ RecipeUtils.addShapedRecipe(
+ plate,CI.getTieredCircuit(4),plate,
+ CI.electricPiston_EV, EV_MACHINE_Extruder, CI.electricPiston_EV,
+ plate,CI.getTieredCircuit(4),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(Casing_Amount));
+
+ RecipeUtils.addShapedRecipe(
+ plate,CI.getTieredCircuit(3),plate,
+ "wireFineElectrum", ItemUtils.getSimpleStack(ModBlocks.blockFishTrap), "wireFineElectrum",
+ plate,CI.getTieredCircuit(2),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(Casing_Amount));
+ 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(Casing_Amount));
+ 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));
+
+ //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_EV;
+ cell2 = CI.electricMotor_IV;
+ ItemStack casingAmazon = GregtechItemList.Casing_AmazonWarehouse.get(1);
+ ItemStack aTieredUnboxinator = CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK ? ItemUtils.getValueOfItemList("Machine_LuV_Unboxinator", 1, ItemList.Machine_IV_Unboxinator.get(1)) : ItemList.Machine_IV_Unboxinator.get(1);
+
+
+ RecipeUtils.addShapedRecipe(
+ plate, ItemUtils.getItemStackOfAmountFromOreDict("cableGt12VanadiumGallium", 1), plate,
+ cell1, frame, cell2,
+ plate, gear, plate,
+ GregtechItemList.Casing_AmazonWarehouse.get(Casing_Amount));
+ RecipeUtils.addShapedRecipe(
+ casingAmazon, CI.getTieredCircuit(7), casingAmazon,
+ CI.robotArm_LuV, aTieredUnboxinator, 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", EV_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;
+ ItemStack o_Lathe;
+ ItemStack o_Electromagnet;
+ ItemStack o_Fermenter;
+ ItemStack o_Distillery;
+ ItemStack o_Extractor;
+ if (GTNH) {
+ o_Compressor = ItemList.Machine_IV_Compressor.get(1);
+ o_Lathe = ItemList.Machine_IV_Lathe.get(1);
+ o_Electromagnet = ItemList.Machine_IV_Polarizer.get(1);
+ o_Fermenter = ItemList.Machine_IV_Fermenter.get(1);
+ o_Distillery = ItemList.Machine_IV_FluidExtractor.get(1);
+ o_Extractor = ItemList.Machine_IV_Extractor.get(1);
+ }
+ else {
+ o_Compressor = ItemList.Machine_EV_Compressor.get(1);
+ o_Lathe = ItemList.Machine_EV_Lathe.get(1);
+ o_Electromagnet = ItemList.Machine_EV_Polarizer.get(1);
+ o_Fermenter = ItemList.Machine_EV_Fermenter.get(1);
+ o_Distillery = ItemList.Machine_EV_FluidExtractor.get(1);
+ o_Extractor = ItemList.Machine_EV_Extractor.get(1);
+ }
+ RecipeUtils.addShapedRecipe(
+ plate, CI.craftingToolHammer_Hard, plate,
+ "plateStainlessSteel", "frameGtZirconiumCarbide", "plateStainlessSteel",
+ plate, CI.craftingToolWrench, plate,
+ GregtechItemList.Casing_Multi_Use.get(Casing_Amount));
+
+ 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
+ */
+
+ if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
+
+ /*
+ * Fusion MK4
+ */
+
+ //Fusion MK4 Controller
+ CORE.RA.addAssemblylineRecipe(
+ ItemList.FusionComputer_UV.get(1),
+ (int) GT_Values.V[5],
+ new Object[] {
+ new Object[] {CI.getTieredCircuitOreDictName(9), 4 * (GTNH ? 2 : 1)},
+ new Object[] {CI.getTieredCircuitOreDictName(7), 32 * (GTNH ? 2 : 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("wireGt16Superconductor", 8 * (GTNH ? 4 : 2)),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateDenseNeutronium", 2 * (GTNH ? 4 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.fieldGenerator_MAX : CI.fieldGenerator_ZPM), 5),
+ ItemList.Energy_LapotronicOrb2.get(1 * (GTNH ? 64 : 8)),
+ GTNH ? GregtechItemList.Compressed_Fusion_Reactor.get(1) : ItemList.FusionComputer_UV.get(1),
+ GregtechItemList.Casing_Fusion_Internal.get(1)
+ },
+ new FluidStack[] {
+ ALLOY.PIKYONIUM.getFluidStack(32 * 144 * (GTNH ? 2 : 1)),
+ ALLOY.HG1223.getFluidStack(64 * 144)
+ },
+ GregtechItemList.FusionComputer_UV2.get(1),
+ (int) GT_Values.V[6],
+ (int) GT_Values.V[8]);
+
+ //Fusion MK4 Casing
+ CORE.RA.addAssemblylineRecipe(
+ ItemList.Casing_Fusion2.get(1),
+ (int) GT_Values.V[4],
+ new Object[] {
+ new Object[] {CI.getTieredCircuitOreDictName(5), 8 * (GTNH ? 2 : 1)},
+ new Object[] {CI.getTieredCircuitOreDictName(4), 16 * (GTNH ? 2 : 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("blockTungstenCarbide", 4 * (GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateNeutronium", 2 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.electricMotor_MAX : CI.electricMotor_ZPM), 3 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.electricPiston_UV : CI.electricPiston_LuV), 4 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.machineHull_MAX : CI.machineHull_ZPM), 1 * (GTNH ? 2 : 1)),
+ ItemList.Casing_Fusion2.get(1)
+ },
+ new FluidStack[] {
+ Materials.NaquadahAlloy.getMolten(576 * (GTNH ? 2 : 1)),
+ ALLOY.ZERON_100.getFluidStack(16 * 144)
+ },
+ GregtechItemList.Casing_Fusion_External.get(1),
+ (int) GT_Values.V[5],
+ (int) GT_Values.V[7]);
+
+ //Fusion MK4 Coil
+ CORE.RA.addAssemblylineRecipe(
+ ItemList.Casing_Fusion_Coil.get(1),
+ (int) GT_Values.V[4],
+ new Object[] {
+ new Object[] {CI.getTieredCircuitOreDictName(8), 4 * (GTNH ? 2 : 1)},
+ new Object[] {CI.getTieredCircuitOreDictName(6), 8 * (GTNH ? 2 : 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("plateNeutronium", 2 * (GTNH ? 3 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.emitter_MAX : CI.emitter_ZPM), 2 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.sensor_MAX : CI.sensor_ZPM), 2 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.fieldGenerator_MAX : CI.fieldGenerator_LuV), 2 * (GTNH ? 2 : 1)),
+ new Object[] {CI.getTieredCircuitOreDictName(8), 8},
+ ItemList.Energy_LapotronicOrb2.get(2 * (GTNH ? 16 : 1)),
+ ItemList.Casing_Fusion_Coil.get(1)
+ },
+ new FluidStack[] {
+ ALLOY.CINOBITE.getFluidStack(16 * 144 * (GTNH ? 2 : 1)),
+ ALLOY.ABYSSAL.getFluidStack(64 * 144)
+ },
+ GregtechItemList.Casing_Fusion_Internal.get(1),
+ (int) GT_Values.V[5],
+ (int) GT_Values.V[7]);
+
+
+
+
+ ItemStack aDrillController = ItemUtils.getValueOfItemList("OreDrill4", ItemList.Hull_UV).get(1);
+
+ //Drilling Platform
+ /*CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ aDrillController,
+ ItemUtils.getItemStackOfAmountFromOreDict("frameGtTriniumNaquadahCarbonite", 3),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(9), 2 * (GTNH ? 4 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.conveyorModule_UV : CI.conveyorModule_ZPM), 2 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.electricPump_UV : CI.electricPump_ZPM), 4 * (GTNH ? 2 : 1)),
+ },
+ ALLOY.LAFIUM.getFluid(144 * 8 * (GTNH ? 2 : 1)),
+ GregtechItemList.BedrockMiner_MKI.get(1),
+ (int) GT_Values.V[5],
+ (int) GT_Values.V[7]);*/
+
+ //Drilling Platform Casings
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("frameGtTriniumNaquadahCarbonite", 4),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateDoubleTriniumTitaniumAlloy", 1 * (GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict("gearGtPikyonium64B", 2 * (GTNH ? 2 : 1)),
+ ALLOY.TRINIUM_REINFORCED_STEEL.getPlateDouble(4 * (GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((GTNH ? CI.machineHull_UV : CI.machineHull_LuV), 1 * (GTNH ? 2 : 1)),
+ },
+ ALLOY.MARAGING350.getFluidStack(144 * 16 * (GTNH ? 2 : 1)),
+ GregtechItemList.Casing_BedrockMiner.get(1),
+ (int) GT_Values.V[4],
+ (int) GT_Values.V[6]);
+
+
+
+
+
+
+
+
+
+ }
+
+
+
+
+
+
+
+
+
+
+ }
+
+ int aCostMultiplier = GTNH ? 2 : 1;
+
+ //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 controlCores() {
+
+ Material[] aMat_A = new Material[] {
+ ALLOY.POTIN,
+ ALLOY.ZIRCONIUM_CARBIDE,
+ ALLOY.TANTALLOY_61,
+ ALLOY.INCONEL_792,
+ ALLOY.STABALLOY,
+ ALLOY.TALONITE,
+ ALLOY.HASTELLOY_N,
+ ALLOY.HG1223,
+ ALLOY.LAFIUM,
+ ALLOY.PIKYONIUM
+ };
+ Material[] aMat_B = new Material[] {
+ ALLOY.TUMBAGA,
+ ALLOY.SILICON_CARBIDE,
+ ALLOY.EGLIN_STEEL,
+ ALLOY.NICHROME,
+ ALLOY.TUNGSTEN_CARBIDE,
+ ALLOY.STELLITE,
+ ALLOY.HASTELLOY_C276,
+ ALLOY.NITINOL_60,
+ ALLOY.ZERON_100,
+ ALLOY.CINOBITE
+ };
+
+ Item aBaseCore = ModItems.itemControlCore;
+ ItemStack[] aInputPrevTier = new ItemStack[] {
+ GTNH ? ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore3", 1) : ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore2", 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 0, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 1, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 2, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 3, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 4, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 5, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 6, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 7, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 8, 1),
+ };
+ ItemStack[] aOutput = new ItemStack[] {
+ ItemUtils.simpleMetaStack(aBaseCore, 0, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 1, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 2, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 3, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 4, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 5, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 6, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 7, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 8, 1),
+ ItemUtils.simpleMetaStack(aBaseCore, 9, 1),
+
+ };
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.machineHull_HV,
+ aOutput[1],
+ aMat_A[1].getGear(GTNH ? 4 : 2),
+ aMat_B[2].getPlateDouble(GTNH ? 16 : 8),
+ ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+(GTNH ? "2" : "1"), GTNH ? 4 : 2),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(GTNH ? 3 : 2), GTNH ? 10 : 5)
+ },
+ aMat_B[3].getFluidStack(144 * 8), //Input Fluid
+ GregtechItemList.Hatch_Control_Core.get(1),
+ 60 * 20 * 5,
+ MaterialUtils.getVoltageForTier(3));
+
+
+ for (int i = 0; i < 10; i++) {
+ boolean aDub = false;
+ ItemStack aPlateStack = aMat_A[i].getPlateDouble((GTNH ? 16 : 8) * (aDub ? 2 : 1));
+ ItemStack aGearStack = aMat_B[i].getGear(GTNH ? 4 : 2 * (aDub ? 2 : 1));
+ ItemStack aRodStack = aMat_A[i].getLongRod(GTNH ? 16 : 8 * (aDub ? 2 : 1));
+ ItemStack aScrewStack = aMat_B[i].getScrew(32 * (aDub ? 2 : 1));
+
+ if (!ItemUtils.checkForInvalidItems(aPlateStack)) {
+ aPlateStack = aMat_A[i].getPlate((GTNH ? 16 : 8) * (aDub ? 2 : 1) * 2);
+ if (!ItemUtils.checkForInvalidItems(aPlateStack)) {
+ aPlateStack = aMat_B[i].getPlateDouble((GTNH ? 16 : 8) * (aDub ? 2 : 1));
+ if (!ItemUtils.checkForInvalidItems(aPlateStack)) {
+ aPlateStack = aMat_B[i].getPlate((GTNH ? 16 : 8) * (aDub ? 2 : 1) * 2);
+ }
+ }
+ }
+ if (!ItemUtils.checkForInvalidItems(aGearStack)) {
+ aGearStack = aMat_A[i].getGear(GTNH ? 8 : 4 * (aDub ? 2 : 1));
+ }
+ if (!ItemUtils.checkForInvalidItems(aRodStack)) {
+ aRodStack = aMat_B[i].getLongRod(GTNH ? 32 : 16 * (aDub ? 2 : 1));
+ }
+ if (!ItemUtils.checkForInvalidItems(aScrewStack)) {
+ aScrewStack = aMat_A[i].getScrew(32 * (aDub ? 2 : 1));
+ }
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getEnergyCore(i, 4),
+ aPlateStack,
+ aGearStack,
+ aRodStack,
+ aScrewStack,
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName((int) (4+Math.ceil((double) i / (double) 2))), GTNH ? (i * 2 * 2) : (i * 2))
+ },
+ CI.getTieredFluid(i, 144 * 4 * (i+1)), //Input Fluid
+ aOutput[i],
+ 60 * 20 * 1 * (i+1),
+ MaterialUtils.getVoltageForTier(i));
+ }
+ }
+
+ private static void energyCores() {
+
+ //Simpler Recipes for normal Players, Force assembly crafting in GTNH
+ if (!GTNH) {
+ //Buffer Core
+ /*RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[1], cableTier1, CI.component_Plate[1],
+ "circuitPrimitive", "plateStaballoy", "circuitPrimitive",
+ CI.component_Plate[1], cableTier1, CI.component_Plate[1],
+ RECIPE_BufferCore_ULV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[2], cableTier2, CI.component_Plate[2],
+ RECIPE_BufferCore_ULV, CI.machineHull_HV, RECIPE_BufferCore_ULV,
+ CI.component_Plate[2], cableTier2, CI.component_Plate[2],
+ RECIPE_BufferCore_LV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[3], cableTier3, CI.component_Plate[3],
+ RECIPE_BufferCore_LV, CI.circuitTier2, RECIPE_BufferCore_LV,
+ CI.component_Plate[3], cableTier3, CI.component_Plate[3],
+ RECIPE_BufferCore_MV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[4], cableTier4, CI.component_Plate[4],
+ RECIPE_BufferCore_MV, CI.circuitTier3, RECIPE_BufferCore_MV,
+ CI.component_Plate[4], cableTier4, CI.component_Plate[4],
+ RECIPE_BufferCore_HV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[5], cableTier5, CI.component_Plate[5],
+ RECIPE_BufferCore_HV, CI.circuitTier4, RECIPE_BufferCore_HV,
+ CI.component_Plate[5], cableTier5, CI.component_Plate[5],
+ RECIPE_BufferCore_EV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[6], cableTier6, CI.component_Plate[6],
+ RECIPE_BufferCore_EV, CI.circuitTier5, RECIPE_BufferCore_EV,
+ CI.component_Plate[6], cableTier6, CI.component_Plate[6],
+ RECIPE_BufferCore_IV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[7], cableTier7, CI.component_Plate[7],
+ RECIPE_BufferCore_IV, CI.circuitTier6, RECIPE_BufferCore_IV,
+ CI.component_Plate[7], cableTier7, CI.component_Plate[7],
+ RECIPE_BufferCore_LuV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[8], cableTier8, CI.component_Plate[8],
+ RECIPE_BufferCore_LuV, CI.circuitTier7, RECIPE_BufferCore_LuV,
+ CI.component_Plate[8], cableTier8, CI.component_Plate[8],
+ RECIPE_BufferCore_ZPM);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[9], cableTier9, CI.component_Plate[9],
+ RECIPE_BufferCore_ZPM, CI.circuitTier8, RECIPE_BufferCore_ZPM,
+ CI.component_Plate[9], cableTier9, CI.component_Plate[9],
+ RECIPE_BufferCore_UV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[10], cableTier10, CI.component_Plate[10],
+ RECIPE_BufferCore_UV, CI.circuitTier9, RECIPE_BufferCore_UV,
+ CI.component_Plate[10], cableTier10, CI.component_Plate[10],
+ RECIPE_BufferCore_MAX);*/
+
+
+ /*RecipeUtils.addShapedGregtechRecipe(
+ wireTier1, RECIPE_BufferCore_ULV, wireTier1,
+ wireTier1, CI.machineCasing_ULV, wireTier1,
+ CI.circuitPrimitive, CI.circuitTier1, CI.circuitPrimitive,
+ RECIPE_Buffer_ULV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier2, RECIPE_BufferCore_LV, wireTier2,
+ wireTier2, CI.machineCasing_LV, wireTier2,
+ CI.circuitTier1, RECIPE_BufferCore_LV, CI.circuitTier1,
+ RECIPE_Buffer_LV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier3, RECIPE_BufferCore_MV, wireTier3,
+ wireTier3, CI.machineCasing_MV, wireTier3,
+ CI.circuitTier2, RECIPE_BufferCore_MV, CI.circuitTier2,
+ RECIPE_Buffer_MV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier4, RECIPE_BufferCore_HV, wireTier4,
+ wireTier4, CI.machineCasing_HV, wireTier4,
+ CI.circuitTier3, RECIPE_BufferCore_HV, CI.circuitTier3,
+ RECIPE_Buffer_HV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier5, RECIPE_BufferCore_EV, wireTier5,
+ wireTier5, CI.machineCasing_EV, wireTier5,
+ CI.circuitTier4, RECIPE_BufferCore_EV, CI.circuitTier4,
+ RECIPE_Buffer_EV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier6, RECIPE_BufferCore_IV, wireTier6,
+ wireTier6, CI.machineCasing_IV, wireTier6,
+ CI.circuitTier5, RECIPE_BufferCore_IV, CI.circuitTier5,
+ RECIPE_Buffer_IV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier7, RECIPE_BufferCore_LuV, wireTier7,
+ wireTier7, CI.machineCasing_LuV, wireTier7,
+ CI.circuitTier6, RECIPE_BufferCore_LuV, CI.circuitTier6,
+ RECIPE_Buffer_LuV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier8, RECIPE_BufferCore_ZPM, wireTier8,
+ wireTier8, CI.machineCasing_ZPM, wireTier8,
+ CI.circuitTier7, RECIPE_BufferCore_ZPM, CI.circuitTier7,
+ RECIPE_Buffer_ZPM);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier9, RECIPE_BufferCore_UV, wireTier9,
+ wireTier9, CI.machineCasing_UV, wireTier9,
+ CI.circuitTier8, RECIPE_BufferCore_UV, CI.circuitTier8,
+ RECIPE_Buffer_UV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[11], RECIPE_BufferCore_MAX, CI.component_Plate[11],
+ wireTier10, CI.machineCasing_MAX, wireTier10,
+ CI.circuitTier9, RECIPE_BufferCore_MAX, CI.circuitTier9,
+ RECIPE_Buffer_MAX);*/
+ }
+
+
+ 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)
+ };
+
+ int aCostMultiplier = GTNH ? 4 : 1;
+
+ for (int i = 0; i < 10; i++) {
+
+ ItemStack aPrevTier = (i == 0 ? CI.getTieredMachineHull(GTNH ? 2 : 1) : aOutput[i-1]);
+ aPrevTier.stackSize = GTNH ? 2 : 1;
+ int aTier = (i + 1);
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ aPrevTier,
+ CI.getTieredComponent(OrePrefixes.plate, aTier, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.cableGt04, i, 2 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.circuit, aTier, 2 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.screw, aTier, 6 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.bolt, i, 12 * (GTNH ? 2 : 1)),
+ },
+ 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 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.wireGt08, i, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.circuit, i, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.stickLong, aTier, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.gearGt, i, 5 * (GTNH ? 2 : 1)),
+ },
+ 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[] {
+ null,
+ 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_MAX.get(1)
+ };
+
+ int aCostMultiplier = GTNH ? 2 : 1;
+
+ for (int i = 0; i < 10; i++) {
+ if (i == 0) {
+ continue;
+ }
+ int aTier = (i + 1);
+ ItemStack[] aInputs = new ItemStack[] {
+ CI.getTieredMachineHull(i, 1 * aCostMultiplier),
+ CI.getTransmissionComponent(i, 2 * aCostMultiplier),
+ CI.getFieldGenerator(i, 1 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.plate, aTier, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.circuit, aTier, 2 * aCostMultiplier),
+ };
+ CORE.RA.addSixSlotAssemblingRecipe(
+ aInputs,
+ CI.getAlternativeTieredFluid(i, (144 * 2 * aTier)), //Input Fluid
+ aChargers[i],
+ 45 * 10 * 1 * (aTier),
+ MaterialUtils.getVoltageForTier(i));
+
+ }
+ }
+
+ private static void largeArcFurnace() {
+ int aCostMultiplier = GTNH ? 2 : 1;
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getTieredMachineHull(-1, 1 * 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(Casing_Amount),
+ 20 * 10 * 1 * (6),
+ MaterialUtils.getVoltageForTier(5));
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ GregtechItemList.Casing_Industrial_Arc_Furnace.get(Casing_Amount),
+ 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() {
+ int aCostMultiplier = GTNH ? 2 : 1;
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getTieredMachineHull(-1, 1 * aCostMultiplier),
+ CI.getHeatCoil(2),
+ CI.getElectricPiston(3, 2 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.plate, 6, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.gearGt, 6, 2 * aCostMultiplier),
+ },
+ CI.getTertiaryTieredFluid(5, (144 * 2 * 4 * aCostMultiplier)), //Input Fluid
+ GregtechItemList.Casing_Vacuum_Furnace.get(Casing_Amount),
+ 20 * 10 * 6,
+ MaterialUtils.getVoltageForTier(6));
+
+ ;
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ GregtechItemList.Casing_Vacuum_Furnace.get(aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.wireGt16, 7, 4 * aCostMultiplier),
+ CI.getEnergyCore(6, 1 * aCostMultiplier),
+ CI.getRobotArm(4, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.plate, 7, 8 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.circuit, 6, 8 * aCostMultiplier),
+ },
+ CI.getTieredFluid(7, (144 * 4 * 5 * aCostMultiplier)), //Input Fluid
+ GregtechItemList.Controller_Vacuum_Furnace.get(1),
+ 60 * 20 * 12,
+ MaterialUtils.getVoltageForTier(7));
+ }
+
+ 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(8),
+ 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 fakeMachineCasingCovers() {
+ GregtechItemList[] mMachineCasingCovers = new GregtechItemList[] {
+ GregtechItemList.FakeMachineCasingPlate_ULV,
+ GregtechItemList.FakeMachineCasingPlate_LV,
+ GregtechItemList.FakeMachineCasingPlate_MV,
+ GregtechItemList.FakeMachineCasingPlate_HV,
+ GregtechItemList.FakeMachineCasingPlate_EV,
+ GregtechItemList.FakeMachineCasingPlate_IV,
+ GregtechItemList.FakeMachineCasingPlate_LuV,
+ GregtechItemList.FakeMachineCasingPlate_ZPM,
+ GregtechItemList.FakeMachineCasingPlate_UV,
+ GregtechItemList.FakeMachineCasingPlate_MAX,
+ };
+ int aMaxTier = GT_Values.VOLTAGE_NAMES.length;
+ if (!GTNH) {
+ aMaxTier = 10;
+ }
+ ItemStack aTier[] = new ItemStack[aMaxTier];
+ for (int i=0;i<aMaxTier;i++) {
+ aTier[i] = ItemUtils.simpleMetaStack(CoverManager.Cover_Gt_Machine_Casing, i, 7);
+ }
+ // Deprecate old recipes
+ for (int i=0;i<10;i++) {
+ RecipeUtils.addShapelessGregtechRecipe(new ItemStack[] {mMachineCasingCovers[i].get(1)}, ItemUtils.getSimpleStack(aTier[i], 1));
+ }
+ // 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 ztonesCoverRecipes() {
+
+ if (!Loader.isModLoaded("Ztones")) {
+ return;
+ }
+ Class ModBlocksClass = ReflectionUtils.getClass("com.riciJak.Ztones.init.ModBlocks");
+ Block agon = (Block) ReflectionUtils.getFieldValue( ReflectionUtils.getField(ModBlocksClass, "agonBlock"));
+ Block korp = (Block) ReflectionUtils.getFieldValue( ReflectionUtils.getField(ModBlocksClass, "korpBlock"));
+ Block jelt = (Block) ReflectionUtils.getFieldValue( ReflectionUtils.getField(ModBlocksClass, "jeltBlock"));
+ Block bitt = (Block) ReflectionUtils.getFieldValue( ReflectionUtils.getField(ModBlocksClass, "bittBlock"));
+ Block iszm = (Block) ReflectionUtils.getFieldValue( ReflectionUtils.getField(ModBlocksClass, "iszmBlock"));
+
+ // "agon", "iszm", "korp", "jelt", "bitt"
+
+ ItemStack[] aBlocks = new ItemStack[] {
+ ItemUtils.getSimpleStack(agon),
+ ItemUtils.getSimpleStack(iszm),
+ ItemUtils.getSimpleStack(korp),
+ ItemUtils.getSimpleStack(jelt),
+ ItemUtils.getSimpleStack(bitt)
+ };
+ MetaCustomCoverItem[] aCovers = new MetaCustomCoverItem[] {
+ CoverManager.Cover_Agon,
+ CoverManager.Cover_Iszm,
+ CoverManager.Cover_Korp,
+ CoverManager.Cover_Jelt,
+ CoverManager.Cover_Bitt
+ };
+
+ ItemStack aInputs[][] = new ItemStack[5][16];
+ ItemStack aOutputs[][] = new ItemStack[5][16];
+ for (int a=0;a<5;a++) {
+ for (int i=0;i<16;i++) {
+ aInputs[a][i] = ItemUtils.simpleMetaStack(aBlocks[a].getItem(), i, 1);
+ aOutputs[a][i] = ItemUtils.simpleMetaStack(aCovers[a], i, 9);
+ }
+ }
+ for (int a=0;a<5;a++) {
+ for (int i = 0;i<16;i++) {
+ ItemStack aInput = aInputs[a][i];
+ ItemStack aOutput = aOutputs[a][i];
+ if (GT_Values.RA.addCutterRecipe(
+ aInput,
+ aOutput,
+ null,
+ 20 * 5,
+ 16)) {
+ Logger.INFO("Added Cutting recipe for "+aInput.getDisplayName());
+ }
+
+ if (CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit((i/4)+4),
+ aOutput
+ },
+ FluidUtils.getWildcardFluidStack("glue", 250),
+ aInput,
+ 20 * 10,
+ 16)) {
+ Logger.INFO("Added Assembly recipe for "+aInput.getDisplayName());
+ }
+ }
+ }
+ }
+
+ private static void superBuses() {
+ GregtechItemList[] mSuperBusesInput = new GregtechItemList[] {
+ GregtechItemList.Hatch_SuperBus_Input_ULV,
+ 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_ULV,
+ 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),
+ };
+
+ // Special Case recipes for ULV buses
+ {
+
+ int i = 0;
+ ItemStack[] aInputs1 = new ItemStack[] {
+ CI.getNumberedCircuit(17),
+ mInputHatch[i],
+ CI.getElectricMotor(i, GTNH ? 8 : 2),
+ CI.getConveyor(i, GTNH ? 10 : 5),
+ CI.getBolt(i, GTNH ? 32 : 16),
+ CI.getTieredComponent(OrePrefixes.circuit, i, GTNH ? 4 : 2)
+ };
+ Logger.INFO("[FIND] "+ItemUtils.getArrayStackNames(aInputs1));
+ ItemStack[] aOutputs1 = new ItemStack[] {
+ CI.getNumberedCircuit(18),
+ mOutputHatch[i],
+ CI.getElectricPiston(i, GTNH ? 8 : 2),
+ CI.getConveyor(i, GTNH ? 10 : 5),
+ CI.getGear(i, GTNH ? 6 : 3),
+ CI.getTieredComponent(OrePrefixes.circuit, i, GTNH ? 4 : 2)
+ };
+ Logger.INFO("[FIND] "+ItemUtils.getArrayStackNames(aOutputs1));
+
+ FluidStack a1 = CI.getAlternativeTieredFluid(i, 144 * 8);
+ FluidStack a2 = CI.getTertiaryTieredFluid(i, 144 * 8);
+
+
+ Logger.INFO("[FIND] Input Bus Fluid: "+ItemUtils.getFluidName(a1));
+ Logger.INFO("[FIND] Output Bus Fluid: "+ItemUtils.getFluidName(a2));
+
+
+ CORE.RA.addSixSlotAssemblingRecipe(aInputs1,
+ a1,
+ mSuperBusesInput[i].get(1),
+ 20 * 30 * 2 * i,
+ (int) GT_Values.V[i]);
+
+ CORE.RA.addSixSlotAssemblingRecipe(aOutputs1,
+ a2,
+ mSuperBusesOutput[i].get(1),
+ 20 * 30 * 2 * i,
+ (int) GT_Values.V[i]);
+
+
+ }
+
+ //Input Buses
+ for (int i = 1; i < 10; i++) {
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ CI.getNumberedCircuit(17),
+ mInputHatch[i],
+ CI.getElectricMotor(i, GTNH ? 8 : 2),
+ CI.getConveyor(i, GTNH ? 10 : 5),
+ CI.getBolt(i, GTNH ? 32 : 16),
+ CI.getTieredComponent(OrePrefixes.circuit, i, GTNH ? 4 : 2)
+ },
+ CI.getAlternativeTieredFluid(i, 144 * 8),
+ mSuperBusesInput[i].get(1), 20 * 30 * 2 * i,
+ (int) GT_Values.V[i]);
+ }
+ //Output Buses
+ for (int i = 1; i < 10; i++) {
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ CI.getNumberedCircuit(18),
+ mOutputHatch[i],
+ CI.getElectricPiston(i, GTNH ? 8 : 2),
+ CI.getConveyor(i, GTNH ? 10 : 5),
+ CI.getGear(i, GTNH ? 6 : 3),
+ CI.getTieredComponent(OrePrefixes.circuit, i, GTNH ? 4 : 2)
+ },
+ CI.getTertiaryTieredFluid(i, 144 * 8),
+ mSuperBusesOutput[i].get(1), 20 * 30 * 2 * i,
+ (int) GT_Values.V[i]);
+ }
+
+
+ }
+
+ private static void roundRobinators() {
+
+ RecipeUtils.addShapedGregtechRecipe(
+ ItemUtils.getSimpleStack(Blocks.hopper), "circuitPrimitive", ItemUtils.getSimpleStack(Blocks.hopper),
+ CI.craftingToolWrench, CI.machineCasing_ULV, CI.craftingToolScrewdriver,
+ ItemUtils.getSimpleStack(Blocks.hopper), "circuitPrimitive", ItemUtils.getSimpleStack(Blocks.hopper),
+ ItemUtils.simpleMetaStack(ModBlocks.blockRoundRobinator, 0, 1));
+
+ ItemStack[] aRobinators = new ItemStack[] {
+ ItemUtils.simpleMetaStack(ModBlocks.blockRoundRobinator, 0, 1),
+ ItemUtils.simpleMetaStack(ModBlocks.blockRoundRobinator, 1, 1),
+ ItemUtils.simpleMetaStack(ModBlocks.blockRoundRobinator, 2, 1),
+ ItemUtils.simpleMetaStack(ModBlocks.blockRoundRobinator, 3, 1),
+ ItemUtils.simpleMetaStack(ModBlocks.blockRoundRobinator, 4, 1),
+ };
+
+ int aCostMultiplier = GTNH ? 2 : 1;
+
+ for (int i = 0; i < 5; i++) {
+ if (i == 0) {
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(17),
+ CI.getTieredMachineCasing(0),
+ ItemUtils.getSimpleStack(Blocks.hopper, 4),
+ CI.getTieredComponent(OrePrefixes.circuit, 0, 2)
+ },
+ GT_Values.NF, //Input Fluid
+ aRobinators[i],
+ 45 * 10 * 1,
+ 8);
+ continue;
+ }
+ int aTier = i+1;
+ ItemStack[] aInputs = new ItemStack[] {
+ aRobinators[i-1],
+ CI.getTieredMachineHull(aTier, 1 * aCostMultiplier),
+ CI.getConveyor(aTier, 2 * aCostMultiplier),
+ CI.getElectricMotor(aTier, 2 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.plate, aTier, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.circuit, i, 2 * aCostMultiplier),
+ };
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ aInputs,
+ GT_Values.NF, //Input Fluid
+ aRobinators[i],
+ 45 * 10 * 1 * (i+1),
+ MaterialUtils.getVoltageForTier(i));
+
+ }
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java
new file mode 100644
index 0000000000..3ed2f5f168
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java
@@ -0,0 +1,458 @@
+package gtPlusPlus.core.recipe;
+
+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.OreDictNames;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
+import gregtech.api.interfaces.IOreRecipeRegistrator;
+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.lib.CORE;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import net.minecraft.item.ItemStack;
+
+public class RECIPES_Old_Circuits implements IOreRecipeRegistrator {
+ public RECIPES_Old_Circuits() {
+ 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.craftingLensRed.toString())) {
+ Logger.INFO("[Old Feature - Circuits] Adding recipes for old circuits. (Part 2)");
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Wiring_Basic.get(1L, new Object[0]), 64, 30);
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.AnnealedCopper, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Wiring_Basic.get(1L, new Object[0]), 64, 30);
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Wiring_Advanced.get(1L, new Object[0]), 64, 120);
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Wiring_Advanced.get(1L, new Object[0]), 64, 120);
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Wiring_Elite.get(1L, new Object[0]), 64, 480);
+ }
+
+ else if (aOreDictName.equals(OreDictNames.craftingLensGreen.toString())) {
+ Logger.INFO("[Old Feature - Circuits] Adding recipes for old circuits. (Part 3)");
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Olivine, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Elite.get(1L, new Object[0]), 256, 480);
+ GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Emerald, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Elite.get(1L, new Object[0]), 256, 480);
+ }
+
+ else if (aOreDictName.equals(OreDictNames.craftingLensBlue.toString()) || aOreDictName.equals(OreDictNames.craftingLensCyan.toString()) || aOreDictName.equals(OreDictNames.craftingLensLightBlue.toString())) {
+ Logger.INFO("[Old Feature - Circuits] Adding recipes for old circuits. (Part 4)");
+ GT_Values.RA.addLaserEngraverRecipe(ItemList.IC2_LapotronCrystal.getWildcard(1L, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Master.get(3L, new Object[0]), 256, 480);
+ }
+ }
+
+
+ private static boolean addCircuitRecipes(){
+ Logger.INFO("[Old Feature - Circuits] Adding recipes for old circuits. (Part 1)");
+ GT_ModHandler.addShapelessCraftingRecipe(GregtechItemList.Old_Circuit_Primitive.get(1L, new Object[0]), new Object[]{GT_ModHandler.getIC2Item("casingadviron", 1L), OrePrefixes.wireGt01.get(Materials.RedAlloy), OrePrefixes.wireGt01.get(Materials.RedAlloy), OrePrefixes.wireGt01.get(Materials.Tin)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Old_Circuit_Basic.get(1L, new Object[0]), new Object[]{"WWW", "CPC", "WWW", 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OreDictNames.craftingWireCopper, 'P', OrePrefixes.plate.get(Materials.Steel)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Old_Circuit_Basic.get(1L, new Object[0]), new Object[]{"WCW", "WPW", "WCW", 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OreDictNames.craftingWireCopper, 'P', OrePrefixes.plate.get(Materials.Steel)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Old_Circuit_Basic.get(1L, new Object[0]), new Object[]{"WWW", "CPC", "WWW", 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OrePrefixes.cableGt01.get(Materials.RedAlloy), 'P', OrePrefixes.plate.get(Materials.Steel)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Old_Circuit_Basic.get(1L, new Object[0]), new Object[]{"WCW", "WPW", "WCW", 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OrePrefixes.cableGt01.get(Materials.RedAlloy), 'P', OrePrefixes.plate.get(Materials.Steel)});
+
+ GT_Values.RA.addFormingPressRecipe(GregtechItemList.Old_Empty_Board_Basic.get(1L, new Object[0]), GregtechItemList.Old_Circuit_Parts_Wiring_Basic.get(4L, new Object[0]), GregtechItemList.Old_Circuit_Board_Basic.get(1L, new Object[0]), 32, 16);
+ GT_Values.RA.addFormingPressRecipe(GregtechItemList.Old_Empty_Board_Basic.get(1L, new Object[0]), GregtechItemList.Old_Circuit_Parts_Wiring_Advanced.get(4L, new Object[0]), GregtechItemList.Old_Circuit_Board_Advanced.get(1L, new Object[0]), 32, 64);
+ GT_Values.RA.addFormingPressRecipe(GregtechItemList.Old_Empty_Board_Elite.get(1L, new Object[0]), GregtechItemList.Old_Circuit_Parts_Wiring_Elite.get(4L, new Object[0]), GregtechItemList.Old_Circuit_Board_Elite.get(1L, new Object[0]), 32, 256);
+
+ GT_Values.RA.addFormingPressRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lapis, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L), GregtechItemList.Old_Circuit_Parts_Advanced.get(2L, new Object[0]), 32, 64);
+ GT_Values.RA.addFormingPressRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lazurite, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L), GregtechItemList.Old_Circuit_Parts_Advanced.get(2L, new Object[0]), 32, 64);
+
+ int tMultiplier;
+ for (Materials tMat : Materials.values()) {
+ if ((tMat.mStandardMoltenFluid != null) && (tMat.contains(SubTag.SOLDERING_MATERIAL)))
+ {
+ tMultiplier = tMat.contains(SubTag.SOLDERING_MATERIAL_BAD) ? 4 : tMat.contains(SubTag.SOLDERING_MATERIAL_GOOD) ? 1 : 2;
+
+ GT_Values.RA.addAssemblerRecipe(ItemList.IC2_Item_Casing_Steel.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.RedAlloy, 2L), tMat.getMolten(144L * tMultiplier / 8L), GregtechItemList.Old_Circuit_Primitive.get(1L, new Object[0]), 16, 8);
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Plastic, 1L), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.RedAlloy, 1L), tMat.getMolten(144L * tMultiplier / 8L), GregtechItemList.Old_Circuit_Primitive.get(1L, new Object[0]), 16, 8);
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Old_Circuit_Board_Basic.get(1L, new Object[0]), GregtechItemList.Old_Circuit_Primitive.get(2L, new Object[0]), tMat.getMolten(144L * tMultiplier / 4L), GregtechItemList.Old_Circuit_Basic.get(1L, new Object[0]), 32, 16);
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Old_Circuit_Basic.get(1L, new Object[0]), GregtechItemList.Old_Circuit_Primitive.get(2L, new Object[0]), tMat.getMolten(144L * tMultiplier / 4L), GregtechItemList.Old_Circuit_Good.get(1L, new Object[0]), 32, 16);
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Old_Circuit_Board_Advanced.get(1L, new Object[0]), GregtechItemList.Old_Circuit_Parts_Advanced.get(2L, new Object[0]), tMat.getMolten(144L * tMultiplier / 2L), GregtechItemList.Old_Circuit_Advanced.get(1L, new Object[0]), 32, 64);
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Old_Circuit_Board_Advanced.get(1L, new Object[0]), GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Elite.get(1L, new Object[0]), tMat.getMolten(144L * tMultiplier / 2L), GregtechItemList.Old_Circuit_Data.get(1L, new Object[0]), 32, 64);
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Old_Circuit_Board_Elite.get(1L, new Object[0]), GregtechItemList.Old_Circuit_Data.get(3L, new Object[0]), tMat.getMolten(144L * tMultiplier / 1L), GregtechItemList.Old_Circuit_Elite.get(1L, new Object[0]), 32, 256);
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Old_Circuit_Board_Elite.get(1L, new Object[0]), ItemList.Circuit_Parts_Crystal_Chip_Master.get(3L, new Object[0]), tMat.getMolten(144L * tMultiplier / 1L), GregtechItemList.Old_Circuit_Master.get(1L, new Object[0]), 32, 256);
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Old_Circuit_Board_Elite.get(1L, new Object[0]), GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Master.get(3L, new Object[0]), tMat.getMolten(144L * tMultiplier / 1L), GregtechItemList.Old_Circuit_Master.get(1L, new Object[0]), 32, 256);
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Old_Circuit_Data.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Plastic, 2L), tMat.getMolten(144L * tMultiplier / 2L), GregtechItemList.Old_Tool_DataStick.get(1L, new Object[0]), 128, 64);
+ }
+ }
+
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Old_Circuit_Elite.get(2L, new Object[0]), GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Elite.get(18L, new Object[0]), GT_Values.NF, GregtechItemList.Old_Tool_DataOrb.get(1L, new Object[0]), 512, 256);
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Old_Circuit_Master.get(2L, new Object[0]), ItemList.Circuit_Parts_Crystal_Chip_Master.get(18L, new Object[0]), GT_Values.NF, ItemList.Energy_LapotronicOrb.get(1L, new Object[0]), 512, 1024);
+ GT_Values.RA.addAssemblerRecipe(GregtechItemList.Old_Circuit_Master.get(2L, new Object[0]), GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Master.get(18L, new Object[0]), GT_Values.NF, ItemList.Energy_LapotronicOrb.get(1L, new Object[0]), 512, 1024);
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Silicon, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Plastic, 1L), GregtechItemList.Old_Empty_Board_Basic.get(1L, new Object[0]), 32, 16);
+
+ Materials plasticType = Materials.get("Polytetrafluoroethylene") != null ? Materials.get("Polytetrafluoroethylene") : Materials.Plastic;
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Silicon, 2L), GT_OreDictUnificator.get(OrePrefixes.plate, plasticType, 1L), GregtechItemList.Old_Empty_Board_Elite.get(1L, new Object[0]), 32, 256);
+
+
+
+ return true;
+ }
+
+ public static boolean handleCircuits(){
+ hideCircuitsNEI();
+ addCircuitRecipes();
+ removeNewCircuits();
+ generateTradeRecipes();
+ return true;
+ }
+
+ private static boolean setItemList(ItemList Set, GregtechItemList Get) {
+ try{
+ Set.set(Get.get(1));
+ return true;
+ }
+ catch (Throwable t) {}
+ return false;
+ }
+
+ private static boolean removeNewCircuits(){
+ Logger.INFO("[Old Feature - Circuits] Overriding .28+ circuit values in the GT5u Itemlist with values from GT++.");
+
+ boolean newVersion = CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && Utils.getGregtechSubVersion() >= 30;
+
+ setItemList(ItemList.Circuit_Primitive, GregtechItemList.Old_Circuit_Primitive);
+ setItemList(ItemList.Circuit_Basic, GregtechItemList.Old_Circuit_Basic);
+ setItemList(ItemList.Circuit_Good, GregtechItemList.Old_Circuit_Good);
+ setItemList(ItemList.Circuit_Advanced, GregtechItemList.Old_Circuit_Advanced);
+ //ItemList.Circuit_Data, GregtechItemList.Old_Circuit_Data);
+ setItemList(ItemList.Circuit_Elite, GregtechItemList.Old_Circuit_Elite);
+ setItemList(ItemList.Circuit_Master, GregtechItemList.Old_Circuit_Master);
+ setItemList(ItemList.Circuit_Ultimate, GregtechItemList.Old_Circuit_Ultimate);
+
+ /**
+ * Try Set New circuits to have old replacements
+ */
+
+ //Basic
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Microprocessor"), GregtechItemList.Old_Circuit_Basic); //NEW
+ }
+ //Good
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Integrated_Good"), GregtechItemList.Old_Circuit_Good); //New
+ }
+ //Advanced
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Nanoprocessor"), GregtechItemList.Old_Circuit_Advanced);
+ }
+ //Data
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Quantumprocessor"), GregtechItemList.Old_Circuit_Data);
+ }
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Nanocomputer"), GregtechItemList.Old_Circuit_Data);
+ }
+ //Elite
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Crystalprocessor"), GregtechItemList.Old_Circuit_Elite);
+ }
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Quantumcomputer"), GregtechItemList.Old_Circuit_Elite);
+ }
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Elitenanocomputer"), GregtechItemList.Old_Circuit_Elite);
+ }
+ //Master
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Neuroprocessor"), GregtechItemList.Old_Circuit_Master);
+ }
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Masterquantumcomputer"), GregtechItemList.Old_Circuit_Master);
+ }
+ //Ultimate
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Wetwarecomputer"), GregtechItemList.Old_Circuit_Ultimate);
+ }
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Ultimatecrystalcomputer"), GregtechItemList.Old_Circuit_Ultimate);
+ }
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Quantummainframe"), GregtechItemList.Old_Circuit_Ultimate);
+ }
+ //Superconductor
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Wetwaresupercomputer"), GregtechItemList.Circuit_IV);
+ }
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Crystalmainframe"), GregtechItemList.Circuit_IV);
+ }
+ //Infinite
+ if (newVersion) {
+ setItemList(ItemList.valueOf("Circuit_Wetwaremainframe"), GregtechItemList.Circuit_LuV);
+ }
+
+ //set data orbs and sticks to their new replacements
+ setItemList(ItemList.Tool_DataStick, GregtechItemList.Old_Tool_DataStick);
+ setItemList(ItemList.Tool_DataOrb, GregtechItemList.Old_Tool_DataOrb);
+
+ setItemList(ItemList.Circuit_Board_Basic, GregtechItemList.Old_Circuit_Board_Basic);
+ setItemList(ItemList.Circuit_Board_Advanced, GregtechItemList.Old_Circuit_Board_Advanced);
+ setItemList(ItemList.Circuit_Board_Elite, GregtechItemList.Old_Circuit_Board_Elite);
+ setItemList(ItemList.Circuit_Parts_Advanced, GregtechItemList.Old_Circuit_Parts_Advanced);
+ setItemList(ItemList.Circuit_Parts_Wiring_Basic, GregtechItemList.Old_Circuit_Parts_Wiring_Basic);
+ setItemList(ItemList.Circuit_Parts_Wiring_Advanced, GregtechItemList.Old_Circuit_Parts_Wiring_Advanced);
+ setItemList(ItemList.Circuit_Parts_Wiring_Elite, GregtechItemList.Old_Circuit_Parts_Wiring_Elite);
+ setItemList(ItemList.Circuit_Parts_Crystal_Chip_Elite, GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Elite);
+ setItemList(ItemList.Circuit_Parts_Crystal_Chip_Master, GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Master);
+
+ return true;
+ }
+
+ private static boolean generateTradeRecipes(){
+
+ //Data stick and Data orbs.
+ //GT Type to GT++ Type
+ RecipeUtils.recipeBuilder(
+ CI.craftingToolScrewdriver, null, null,
+ ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32708", 32708, 1), null, null,
+ null, null, null,
+ GregtechItemList.Old_Tool_DataStick.get(1));
+ RecipeUtils.recipeBuilder(
+ CI.craftingToolScrewdriver, null, null,
+ ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32707", 32707, 1), null, null,
+ null, null, null,
+ GregtechItemList.Old_Tool_DataOrb.get(1));
+
+ //GT++ Type to GT Type
+ RecipeUtils.recipeBuilder(
+ CI.craftingToolScrewdriver, null, null,
+ GregtechItemList.Old_Tool_DataStick.get(1), null, null,
+ null, null, null,
+ ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32708", 32708, 1));
+ RecipeUtils.recipeBuilder(
+ CI.craftingToolScrewdriver, null, null,
+ GregtechItemList.Old_Tool_DataOrb.get(1), null, null,
+ null, null, null,
+ ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32707", 32707, 1));
+
+
+
+ //Primitive
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32700", 32700, 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitPrimitive", 1));
+
+ //Basic
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32701", 32701, 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitBasic", 1));
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.03:32078", 32078, 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitBasic", 1));
+
+ //Good
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32702", 32702, 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitGood", 1));
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32702", 32702, 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitGood", 1));
+
+ //Advanced
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32703", 32703, 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitAdvanced", 1));
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32703", 32703, 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitAdvanced", 1));
+
+ //Data
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32704", 32704, 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitData", 1));
+
+ //Elite
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32705", 32705, 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitElite", 1));
+
+ //Master
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32706", 32706, 1)},
+ ItemUtils.getItemStackOfAmountFromOreDict("circuitMaster", 1));
+
+
+
+ //Components
+ //Green Chip
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32713", 32713, 1)},
+ GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Elite.get(1));
+ //Blue Chip
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32714", 32714, 1)},
+ GregtechItemList.Old_Circuit_Parts_Crystal_Chip_Master.get(1));
+
+ //Basic Board
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32710", 32710, 1)},
+ GregtechItemList.Old_Circuit_Board_Basic.get(1));
+ //Advanced Board
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32711", 32711, 1)},
+ GregtechItemList.Old_Circuit_Board_Advanced.get(1));
+ //Elite Board
+ RecipeUtils.addShapelessGregtechRecipe(
+ new ItemStack[]{ItemUtils.simpleMetaStack("gregtech:gt.metaitem.01:32712", 32712, 1)},
+ GregtechItemList.Old_Circuit_Board_Elite.get(1));
+
+
+ //remove a few recipes
+ /*GT_ModHandler.removeRecipeByOutput(ItemUtils.simpleMetaStack("gregtech:gt.metaitem.03:32070", 32070, 1));
+ GT_ModHandler.removeRecipeByOutput(ItemUtils.simpleMetaStack("gregtech:gt.metaitem.03:32069", 32069, 1));
+ if (LoadedMods.Extra_Utils){
+ ItemStack EQU = ItemUtils.simpleMetaStack("ExtraUtilities:enderQuarryUpgrade", 0, 1);
+ if (EQU != null){
+ GT_ModHandler.removeRecipeByOutput(EQU);
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.simpleMetaStack("ExtraUtilities:decorativeBlock1:12", 12, 1),
+ GregtechItemList.Old_Circuit_Master.get(1),
+ EQU,
+ 80*20,
+ 2);
+ }
+ }
+ if (LoadedMods.GalacticraftCore){
+ ItemStack ACW = ItemUtils.simpleMetaStack("GalacticraftCore:item.basicItem:14", 14, 1);
+ if (ACW != null){
+ GT_ModHandler.removeRecipeByOutput(ACW);
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("gemDiamond", 1),
+ GregtechItemList.Old_Circuit_Board_Advanced.get(1),
+ ACW,
+ 160*20,
+ 4);
+ }
+ ItemStack ACW2 = ItemUtils.simpleMetaStack("GalacticraftCore:item.basicItem:13", 13, 1);
+ if (ACW2 != null){
+ GT_ModHandler.removeRecipeByOutput(ACW2);
+ GT_Values.RA.addAssemblerRecipe(
+ ItemUtils.getItemStackOfAmountFromOreDict("gemDiamond", 1),
+ GregtechItemList.Old_Circuit_Board_Basic.get(1),
+ ACW2,
+ 80*20,
+ 2);
+ }
+ }*/
+
+ return true;
+ }
+
+ private static boolean hideCircuitsNEI(){
+ Boolean isNEILoaded = Loader.isModLoaded("NotEnoughItems");
+ if (isNEILoaded && !CORE.ConfigSwitches.showHiddenNEIItems){
+ Logger.INFO("[Old Feature - Circuits] Hiding .28+ circuits in NEI.");
+ String[] CircuitToHide = {
+ "Circuit_Board_Basic",
+ "Circuit_Board_Advanced",
+ "Circuit_Board_Elite",
+ "Circuit_Parts_Advanced",
+ "Circuit_Parts_Wiring_Basic",
+ "Circuit_Parts_Wiring_Advanced",
+ "Circuit_Parts_Wiring_Elite",
+ "Circuit_Parts_Crystal_Chip_Elite",
+ "Circuit_Parts_Crystal_Chip_Master",
+ "Circuit_Primitive",
+ "Circuit_Basic",
+ "Circuit_Integrated_Good",
+ "Circuit_Good",
+ "Circuit_Advanced",
+ "Circuit_Data",
+ "Circuit_Elite",
+ "Circuit_Master",
+ "Circuit_Ultimate",
+ "Circuit_Board_Coated",
+ "Circuit_Board_Phenolic",
+ "Circuit_Board_Epoxy",
+ "Circuit_Board_Fiberglass",
+ "Circuit_Board_Multifiberglass",
+ "Circuit_Board_Wetware",
+ "Circuit_Parts_Resistor",
+ "Circuit_Parts_ResistorSMD",
+ "Circuit_Parts_Glass_Tube",
+ "Circuit_Parts_Vacuum_Tube",
+ "Circuit_Parts_Coil",
+ "Circuit_Parts_Diode",
+ "Circuit_Parts_DiodeSMD",
+ "Circuit_Parts_Transistor",
+ "Circuit_Parts_TransistorSMD",
+ "Circuit_Parts_Capacitor",
+ "Circuit_Parts_CapacitorSMD",
+ "Circuit_Silicon_Ingot",
+ "Circuit_Silicon_Ingot2",
+ "Circuit_Silicon_Ingot3",
+ "Circuit_Silicon_Wafer",
+ "Circuit_Silicon_Wafer2",
+ "Circuit_Silicon_Wafer3",
+ "Circuit_Wafer_ILC",
+ "Circuit_Chip_ILC",
+ "Circuit_Wafer_Ram",
+ "Circuit_Chip_Ram",
+ "Circuit_Wafer_NAND",
+ "Circuit_Chip_NAND",
+ "Circuit_Wafer_NOR",
+ "Circuit_Chip_NOR",
+ "Circuit_Wafer_CPU",
+ "Circuit_Chip_CPU",
+ "Circuit_Wafer_SoC",
+ "Circuit_Chip_SoC",
+ "Circuit_Wafer_SoC2",
+ "Circuit_Chip_SoC2",
+ "Circuit_Wafer_PIC",
+ "Circuit_Chip_PIC",
+ "Circuit_Wafer_HPIC",
+ "Circuit_Chip_HPIC",
+ "Circuit_Wafer_NanoCPU",
+ "Circuit_Chip_NanoCPU",
+ "Circuit_Wafer_QuantumCPU",
+ "Circuit_Chip_QuantumCPU",
+ "Circuit_Chip_CrystalCPU",
+ "Circuit_Chip_CrystalSoC",
+ "Circuit_Chip_NeuroCPU",
+ "Circuit_Chip_Stemcell",
+ "Circuit_Processor",
+ "Circuit_Computer",
+ "Circuit_Nanoprocessor",
+ "Circuit_Nanocomputer",
+ "Circuit_Elitenanocomputer",
+ "Circuit_Quantumprocessor",
+ "Circuit_Quantumcomputer",
+ "Circuit_Masterquantumcomputer",
+ "Circuit_Quantummainframe",
+ "Circuit_Crystalprocessor",
+ "Circuit_Crystalcomputer",
+ "Circuit_Ultimatecrystalcomputer",
+ "Circuit_Crystalmainframe",
+ "Circuit_Neuroprocessor",
+ "Circuit_Wetwarecomputer",
+ "Circuit_Wetwaresupercomputer",
+ "Circuit_Wetwaremainframe",
+ "Circuit_Parts_RawCrystalChip",
+ //Circuits Additions in .30/.31
+ "Circuit_Board_Plastic",
+ "Circuit_Parts_GlassFiber",
+ "Circuit_Parts_PetriDish",
+ "Circuit_Microprocessor"
+ };
+
+ for (String component : CircuitToHide){
+ try {
+ ItemUtils.hideItemFromNEI(ItemUtils.getValueOfItemList(component, null).get(1L, new Object[0]));
+ } catch (IllegalArgumentException I){
+ Logger.INFO("Could not find "+component+" in the Gregtech item list.");
+ Logger.INFO("This is NOT an error, simply a notification.");
+ }
+ }
+ }
+ return true;
+ }
+
+}
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..97636e9e65
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java
@@ -0,0 +1,226 @@
+package gtPlusPlus.core.recipe;
+
+import static gtPlusPlus.core.material.MISC_MATERIALS.BRINE;
+import static gtPlusPlus.core.material.MISC_MATERIALS.HYDROGEN_CHLORIDE;
+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 static gtPlusPlus.core.material.MISC_MATERIALS.SALT_WATER;
+import static gtPlusPlus.core.material.MISC_MATERIALS.SODIUM_CHLORIDE;
+import static gtPlusPlus.core.material.MISC_MATERIALS.SODIUM_HYDROXIDE;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_OreDictUnificator;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.MISC_MATERIALS;
+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.core.util.minecraft.MaterialUtils;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+
+public class RECIPES_RareEarthProcessing {
+
+ private static ItemStack mDustSodiumHydroxide;
+ private static ItemStack mDustSalt;
+ private static FluidStack mSaltWater;
+ private static FluidStack mBrine;
+ private static FluidStack mHydrogenChloride;
+
+ public static void init() {
+
+ // Salt Check and Assignment
+ mDustSalt = ItemUtils.getItemStackOfAmountFromOreDict("dustSalt", 1);
+ if (mDustSalt == null) {
+ MaterialUtils.generateSpecialDustAndAssignToAMaterial(SODIUM_CHLORIDE, false);
+ mDustSalt = SODIUM_CHLORIDE.getDust(1);
+ }
+ else {
+ SODIUM_CHLORIDE.registerComponentForMaterial(OrePrefixes.dust, mDustSalt);
+ }
+
+ // Salt water Check and Assignment
+ mSaltWater = FluidUtils.getFluidStack("saltwater", 1000);
+ if (mSaltWater == null) {
+ Fluid f = SALT_WATER.generateFluid();
+ SALT_WATER.registerComponentForMaterial(FluidUtils.getFluidStack(f, 1000));
+ mSaltWater = SALT_WATER.getFluidStack(1000);
+ }
+ else {
+ SALT_WATER.registerComponentForMaterial(FluidUtils.getFluidStack(mSaltWater, 1000));
+ }
+
+ // Brine Check and assignment
+ 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));
+ }
+
+ // Check Sodium Hydroxide Exists, generate if not.
+ mDustSodiumHydroxide = ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 1);
+ if (mDustSodiumHydroxide == null) {
+ mDustSodiumHydroxide = ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide_GT5U", 1);
+ if (mDustSodiumHydroxide == null) {
+ MaterialUtils.generateSpecialDustAndAssignToAMaterial(SODIUM_HYDROXIDE, false);
+ mDustSodiumHydroxide = SODIUM_HYDROXIDE.getDust(1);
+ }
+ else {
+ SODIUM_HYDROXIDE.registerComponentForMaterial(OrePrefixes.dust, mDustSodiumHydroxide);
+ }
+ }
+ else {
+ SODIUM_HYDROXIDE.registerComponentForMaterial(OrePrefixes.dust, mDustSodiumHydroxide);
+ }
+
+ // Hydrogen Chloride Check and assignment
+ 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
+ CORE.RA.addBrewingRecipe(
+ ItemUtils.getSimpleStack(mDustSalt, 16),
+ MISC_MATERIALS.SALT_WATER.getFluidStack(2000),
+ FluidUtils.getFluidStack(mBrine, 4000),
+ 20 * 20,
+ 120,
+ false);
+
+ // Chloralkali process
+ GT_Values.RA.addElectrolyzerRecipe(
+ CI.getNumberedCircuit(16),
+ CI.emptyCells(4),
+ FluidUtils.getFluidStack(mBrine, 4000),
+ null, // Out
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChlorine", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 2),
+ ItemUtils.getSimpleStack(mDustSodiumHydroxide, 2),
+ null,
+ null,
+ null,
+ new int[] {10000, 10000, 10000},
+ 20 * 30,
+ (int) GT_Values.V[2]);
+
+ // Generate Special Laser Recipe
+ CORE.RA.addUvLaserRecipe(
+ ELEMENT.getInstance().CHLORINE.getCell(2),
+ ELEMENT.getInstance().HYDROGEN.getCell(2),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogenChloride", 4),
+ 20 * 30,
+ 480);
+
+
+ // 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);
+
+ ItemStack aRareEarth = GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 1L);
+
+ Fluid aSulfuric = FluidUtils.getFluidStack("sulfuricacid", 1).getFluid();
+ Fluid aHydrocholric = FluidUtils.getFluidStack("hydrogenchloride", 1).getFluid();
+ Fluid aNitric = FluidUtils.getFluidStack("hydrofluoricacid", 1).getFluid();
+
+
+
+ // LV Rare Earth
+ GT_Values.RA.addChemicalBathRecipe(
+ ItemUtils.getSimpleStack(aRareEarth, 3),
+ FluidUtils.getFluidStack(aSulfuric, 1000),
+ RARE_EARTH_LOW.getCrushed(1),
+ RARE_EARTH_LOW.getCrushed(1),
+ RARE_EARTH_LOW.getCrushed(1),
+ new int[] {10000, 10000, 9000},
+ 20 * 30,
+ (int) GT_Values.V[1]);
+
+ // HV Rare Earth
+ GT_Values.RA.addChemicalBathRecipe(
+ ItemUtils.getSimpleStack(aRareEarth, 6),
+ FluidUtils.getFluidStack(aHydrocholric, 3000),
+ RARE_EARTH_MID.getCrushed(2),
+ RARE_EARTH_MID.getCrushed(2),
+ RARE_EARTH_MID.getCrushed(2),
+ new int[] {10000, 9000, 8000},
+ 20 * 60,
+ (int) GT_Values.V[3]);
+
+ // IV Rare Earth
+ GT_Values.RA.addChemicalBathRecipe(
+ ItemUtils.getSimpleStack(aRareEarth, 9),
+ FluidUtils.getFluidStack(aNitric, 6000),
+ RARE_EARTH_HIGH.getCrushed(3),
+ RARE_EARTH_HIGH.getCrushed(3),
+ RARE_EARTH_HIGH.getCrushed(3),
+ new int[] {9000, 8000, 7000},
+ 20 * 90,
+ (int) GT_Values.V[5]);
+
+
+ }
+
+
+ public static void processCopperRecipes() {
+
+ // Rare Earth Processing
+ /*GT_Values.RA.addSifterRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustRareEarth", 1),
+ new ItemStack[] {
+ ELEMENT.getInstance().YTTRIUM.getSmallDust(1),
+ ELEMENT.getInstance().NEODYMIUM.getSmallDust(1),
+ ELEMENT.getInstance().LANTHANUM.getSmallDust(1),
+ ELEMENT.getInstance().CERIUM.getSmallDust(1),
+ ELEMENT.getInstance().CADMIUM.getSmallDust(1),
+ ELEMENT.getInstance().CAESIUM.getSmallDust(1),
+ ORES.SAMARSKITE_YB.getSmallDust(1),
+ ORES.FLORENCITE.getSmallDust(1),
+ ORES.FLUORCAPHITE.getSmallDust(1),
+ //ELEMENT.getInstance().YTTERBIUM.getTinyDust(1),
+ //ELEMENT.getInstance().SAMARIUM.getTinyDust(1),
+ //ELEMENT.getInstance().GADOLINIUM.getTinyDust(1)
+ },
+ new int[] { 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000 }, 20 * 30, 500);*/
+
+ }
+
+}
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..9a2ea8bad0
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java
@@ -0,0 +1,222 @@
+package gtPlusPlus.core.recipe;
+
+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;
+import net.minecraft.item.ItemStack;
+
+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),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricAcid", 8),
+ ELEMENT.getInstance().CARBON.getDust(16),
+ },
+ MISC_MATERIALS.SELENIOUS_ACID.getFluidStack(750),
+ ELEMENT.getInstance().SELENIUM.getFluidStack(144 * 1),
+ new ItemStack[] {
+ CI.emptyCells(8),
+ 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_Shapeless.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Shapeless.java
new file mode 100644
index 0000000000..7ffdcf295b
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Shapeless.java
@@ -0,0 +1,35 @@
+package gtPlusPlus.core.recipe;
+
+import net.minecraft.item.ItemStack;
+
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.LoadedMods;
+
+public class RECIPES_Shapeless {
+
+ static ItemStack dustStaballoy;
+
+ //Circuits
+ static String circuitPrimitive = "circuitPrimitive";
+ static String circuitBasic = "circuitBasic";
+ static String circuitGood = "circuitGood";
+ static String circuitAdvanced = "circuitAdvanced";
+ static String circuitData = "circuitData";
+ static String circuitElite = "circuitElite";
+ static String circuitMaster = "circuitMaster";
+ static String circuitUltimate = "circuitUltimate";
+ static ItemStack gearboxCasing_Tier_1;
+
+ public static final void loadRecipes(){
+ //run();
+ Logger.INFO("Loading Shapeless Recipes.");
+ }
+
+ private static void run(){
+ //Gregtech items
+ if (LoadedMods.Gregtech){
+
+ }
+ }
+
+}
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..42448e6b74
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Tools.java
@@ -0,0 +1,181 @@
+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.lib.LoadedMods;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+import net.minecraftforge.oredict.OreDictionary;
+
+public class RECIPES_Tools {
+
+ //Outputs
+ public static ItemStack RECIPE_StaballoyPickaxe = new ItemStack(ModItems.itemStaballoyPickaxe);
+ public static ItemStack RECIPE_StaballoyAxe = new ItemStack(ModItems.itemStaballoyAxe);
+ public static ItemStack RECIPE_SandstoneHammer = new ItemStack(ModItems.itemSandstoneHammer);
+ //public static ItemStack RECIPE_StaballoyIngot = new ItemStack(ModItems.itemIngotStaballoy);
+ public static ItemStack RECIPE_SandStone = new ItemStack(Blocks.sandstone, 2);
+ public static ItemStack RECIPE_Sand = new ItemStack(Blocks.sand, 4);
+ public static ItemStack RECIPE_FireStarter = ItemUtils.getSimpleStack(ModItems.itemBasicFireMaker);
+
+ 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 sandHammer = new ItemStack (ModItems.itemSandstoneHammer, 1, OreDictionary.WILDCARD_VALUE);
+ public static String craftingToolSandHammer = "craftingToolSandHammer";
+
+ public static ItemStack personalCloakingDevice = ItemUtils.getSimpleStack(ModItems.itemPersonalCloakingDevice);
+ public static String plateDoubleNiChrome = "plateDoubleNichrome";
+ public static String plateIridiumAlloy = "plateAlloyIridium";
+
+ public static final void loadRecipes(){
+
+
+ run();
+
+ }
+
+ private static void run(){
+ //Staballoy Pickaxe
+ RecipeUtils.addShapedRecipe(
+ plateStaballoy, plateStaballoy, ingotStaballoy,
+ craftingToolFile, stickTungsten, craftingToolHardHammer,
+ craftingToolWrench, stickTungsten, craftingToolHardHammer,
+ RECIPE_StaballoyPickaxe);
+
+ //Staballoy Axe
+ RecipeUtils.addShapedRecipe(
+ plateStaballoy, ingotStaballoy, craftingToolHardHammer,
+ plateStaballoy, stickTungsten, craftingToolHardHammer,
+ craftingToolFile, stickTungsten, craftingToolWrench,
+ RECIPE_StaballoyAxe);
+
+ //Cobble to Sand
+ RecipeUtils.addShapedRecipe(
+ CobbleStone, CobbleStone, CobbleStone,
+ CobbleStone, sandHammer, CobbleStone,
+ CobbleStone, CobbleStone, CobbleStone,
+ RECIPE_Sand);
+
+ //Sand to Sandstone
+ RecipeUtils.addShapedRecipe(
+ Sand, Sand, Sand,
+ Sand, sandHammer, Sand,
+ Sand, Sand, Sand,
+ RECIPE_SandStone);
+
+ //Sandstone Hammer
+ RecipeUtils.addShapedRecipe(
+ plateElectrum, ingotElectrum, plateElectrum,
+ craftingToolScrewdriver, stickBronze, craftingToolHardHammer,
+ null, stickSteel, null,
+ RECIPE_SandstoneHammer);
+
+ //Basic Firemaker
+ RecipeUtils.addShapedRecipe(
+ "cropWheat", "cropWheat", "cropWheat",
+ ItemUtils.getSimpleStack(Items.string), stickWood, ItemUtils.getSimpleStack(Items.string),
+ "cropWheat", "cropWheat", "cropWheat",
+ RECIPE_FireStarter);
+
+ }
+
+}
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..5476ef0e8d
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPE_Batteries.java
@@ -0,0 +1,52 @@
+package gtPlusPlus.core.recipe;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.ItemList;
+
+import gtPlusPlus.core.lib.LoadedMods;
+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(){
+
+ if (LoadedMods.Gregtech){
+ 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..0d25d2bec9
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/ShapedRecipeObject.java
@@ -0,0 +1,43 @@
+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..0a1b762a97
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/recipe/common/CI.java
@@ -0,0 +1,1343 @@
+package gtPlusPlus.core.recipe.common;
+
+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.lib.CORE;
+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 gtPlusPlus.xmod.gregtech.common.StaticFields59;
+import ic2.core.Ic2Items;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+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_ULV;
+ 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_MAX;
+ public static ItemStack electricPump_ULV;
+ 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_MAX;
+ public static ItemStack electricPiston_ULV;
+ 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_MAX;
+ public static ItemStack robotArm_ULV;
+ 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_MAX;
+ public static ItemStack conveyorModule_ULV;
+ 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_MAX;
+ public static ItemStack emitter_ULV;
+ 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_MAX;
+ public static ItemStack fieldGenerator_ULV;
+ 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_MAX;
+ public static ItemStack sensor_ULV;
+ 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_MAX;
+
+ //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_MAX;
+
+ //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_MAX;
+
+ //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 craftingToolHammer_Soft = "craftingToolSoftHammer";
+ public static String craftingToolScrewdriver = "craftingToolScrewdriver";
+ public static String craftingToolFile = "craftingToolFile";
+ public static String craftingToolMortar = "craftingToolMortar";
+ public static String craftingToolKnife = "craftingToolKnife";
+ public static String craftingToolCrowbar = "craftingToolCrowbar";
+ 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 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){
+ if (CORE.ConfigSwitches.enableOldGTcircuits && CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && !CORE.GTNH){
+ if (tier == 0){
+ return GregtechItemList.Old_Circuit_Primitive.get(1);
+ }
+ else if (tier == 1){
+ return GregtechItemList.Old_Circuit_Basic.get(1);
+ }
+ else if (tier == 2){
+ return GregtechItemList.Old_Circuit_Good.get(1);
+ }
+ else if (tier == 3){
+ return GregtechItemList.Old_Circuit_Advanced.get(1);
+ }
+ else if (tier == 4){
+ return GregtechItemList.Old_Circuit_Data.get(1);
+ }
+ else if (tier == 5){
+ return GregtechItemList.Old_Circuit_Elite.get(1);
+ }
+ else if (tier == 6){
+ return GregtechItemList.Old_Circuit_Master.get(1);
+ }
+ else if (tier == 7){
+ return GregtechItemList.Old_Circuit_Ultimate.get(1);
+ }
+ else if (tier == 8){
+ return GregtechItemList.Circuit_IV.get(1);
+ }
+ else if (tier == 9){
+ return GregtechItemList.Circuit_LuV.get(1);
+ }
+ else if (tier == 10){
+ return GregtechItemList.Circuit_ZPM.get(1);
+ }
+ }
+ else {
+ return getTieredCircuitOreDictName(tier);
+ }
+ return _NULL;
+ }
+
+ public static ItemStack[] getAllCircuitsOfTier(int tier){
+ return ItemUtils.getStackOfAllOreDictGroup(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;
+ }
+
+ @Deprecated
+ 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(){
+ if (CORE.ConfigSwitches.enableOldGTcircuits && CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && !CORE.GTNH){
+ return GregtechItemList.Old_Tool_DataOrb.get(1);
+ }
+ else {
+ return ItemList.Tool_DataOrb.get(1);
+ }
+ }
+
+ public static ItemStack getDataStick(){
+ if (CORE.ConfigSwitches.enableOldGTcircuits && CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && !CORE.GTNH){
+ return GregtechItemList.Old_Tool_DataStick.get(1);
+ }
+ else {
+ return ItemList.Tool_DataStick.get(1);
+ }
+ }
+
+ public static final 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_MAX;
+ }
+ else {
+ return GregtechItemList.Casing_Multi_Use.get(1);
+ }
+ }
+
+ public static final 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_MAX;
+ }
+ else {
+ return GregtechItemList.Casing_Multi_Use.get(1);
+ }
+ }
+
+ public static void init() {
+ //Set Explosives
+ explosivePowderKeg = ItemUtils.getValueOfItemList("Block_Powderbarrel", 1, ItemUtils.getSimpleStack(Items.gunpowder, 16));
+ 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_MAX = 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_MAX = 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_792,
+ ALLOY.TUNGSTEN_TITANIUM_CARBIDE,
+ 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.BABBIT_ALLOY,
+ ALLOY.INCONEL_690,
+ ALLOY.STELLITE,
+ 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().TUNGSTEN,
+ 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[] {
+ !CORE.GTNH ? Materials.Lead : Materials.Tin,
+ Materials.Cobalt,
+ Materials.AnnealedCopper,
+ Materials.Gold,
+ Materials.Titanium,
+ Materials.Nichrome,
+ Materials.Platinum,
+ Materials.YttriumBariumCuprate,
+ Materials.Naquadah,
+ Materials.Duranium,
+ Materials.Superconductor,
+ };
+
+ 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.Superconductor,
+ 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 getTieredComponent(OrePrefixes aPrefix, int aTier, int aAmount) {
+ aTier = Math.max(0, aTier);
+
+ Material m = null;
+
+ 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.Superconductor, 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? Ok, shit.
+ //Let's add a special error ingot.
+ if (!ItemUtils.checkForInvalidItems(aReturn)) {
+ aReturn = ItemUtils.getErrorStack(1, (aPrefix.toString()+m.getLocalizedName()+" x"+aAmount));
+ }
+ }
+ }
+ }
+
+ return aReturn;
+
+
+ }
+
+ public static ItemStack getElectricMotor(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 0;
+ if (aTier == aLazyTier++) {
+ aType = CI.electricMotor_ULV;
+ }
+ else 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_MAX;
+ }
+ else {
+ aType = CI.electricMotor_LV;
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getElectricPiston(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 0;
+ if (aTier == aLazyTier++) {
+ aType = CI.electricPiston_ULV;
+ }
+ else 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_MAX;
+ }
+ else {
+ aType = CI.electricPiston_LV;
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getElectricPump(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 0;
+ if (aTier == aLazyTier++) {
+ aType = CI.electricPump_ULV;
+ }
+ else 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_MAX;
+ }
+ else {
+ aType = CI.electricPump_LV;
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getRobotArm(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 0;
+ if (aTier == aLazyTier++) {
+ aType = CI.robotArm_ULV;
+ }
+ else 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_MAX;
+ }
+ else {
+ aType = CI.robotArm_LV;
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getConveyor(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 0;
+ if (aTier == aLazyTier++) {
+ aType = CI.conveyorModule_ULV;
+ }
+ else 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_MAX;
+ }
+ else {
+ aType = CI.conveyorModule_LV;
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getEmitter(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 0;
+ if (aTier == aLazyTier++) {
+ aType = CI.emitter_ULV;
+ }
+ else 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_MAX;
+ }
+ else {
+ aType = CI.emitter_LV;
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getSensor(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 0;
+ if (aTier == aLazyTier++) {
+ aType = CI.sensor_ULV;
+ }
+ else 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_MAX;
+ }
+ else {
+ aType = CI.sensor_LV;
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getFieldGenerator(int aTier, int aSize) {
+ ItemStack aType;
+ int aLazyTier = 0;
+ if (aTier == aLazyTier++) {
+ aType = CI.fieldGenerator_ULV;
+ }
+ else 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_MAX;
+ }
+ else {
+ aType = CI.fieldGenerator_LV;
+ }
+ 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_MAX;
+ }
+ else {
+ aType = GregtechItemList.Casing_Multi_Use.get(1, CI.machineHull_MV);
+ }
+ return ItemUtils.getSimpleStack(aType, aSize);
+ }
+
+ public static ItemStack getHeatCoil(int i) {
+ if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
+ if (i == 1) {
+ return ItemList.Casing_Coil_Kanthal.get(1);
+ } else if (i == 2) {
+ return ItemList.Casing_Coil_Nichrome.get(1);
+ } else {
+ return ItemList.Casing_Coil_Cupronickel.get(1);
+ }
+ } else {
+ if (!CORE.GTNH) {
+ if (i > 6) {
+ i = 6;
+ }
+ } else {
+ if (i > 8) {
+ i = 8;
+ }
+ }
+ return ItemUtils.simpleMetaStack(StaticFields59.getBlockCasings5(), 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_MAX
+ };
+ 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[] {
+ GregtechItemList.TransmissionComponent_ULV,
+ 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_MAX,
+ };
+ 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);
+ }
+
+ /**
+ * Iron + Copper Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getRedCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 0, aAmount);
+ }
+
+ /**
+ * Tungsten + Nickel Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getYellowCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 1, aAmount);
+ }
+
+ /**
+ * Cobalt + Titanium Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getBlueCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 2, aAmount);
+ }
+
+ /**
+ * Vanadium + Palladium Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getOrangeCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 3, 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);
+ }
+
+ /**
+ * Aluminium + Nickel Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getBrownCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 5, 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);
+ }
+
+}