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("Hydroge