aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/recipe
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-09-07 16:36:25 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-09-07 16:36:25 +1000
commit221c2f0fe81430e7dd4087e5f5845bd7c62ec56d (patch)
treed6e0faaef01b9d517828557e1be82500d476f95e /src/Java/gtPlusPlus/core/recipe
parent5872c0947ce7bc788b03fa2fb690b8815d3d0a04 (diff)
downloadGT5-Unofficial-221c2f0fe81430e7dd4087e5f5845bd7c62ec56d.tar.gz
GT5-Unofficial-221c2f0fe81430e7dd4087e5f5845bd7c62ec56d.tar.bz2
GT5-Unofficial-221c2f0fe81430e7dd4087e5f5845bd7c62ec56d.zip
% Refactored the entire project to stop using MiscUtils everywhere possible, now it's gtPlusPlus.
Diffstat (limited to 'src/Java/gtPlusPlus/core/recipe')
-rw-r--r--src/Java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java98
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java233
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java32
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java115
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java299
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java601
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Shapeless.java46
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Tools.java177
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPE_Batteries.java49
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPE_CONSTANTS.java116
-rw-r--r--src/Java/gtPlusPlus/core/recipe/ShapedRecipeObject.java42
11 files changed, 1808 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java b/src/Java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java
new file mode 100644
index 0000000000..0f31c4c61d
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/recipe/Gregtech_Recipe_Adder.java
@@ -0,0 +1,98 @@
+package gtPlusPlus.core.recipe;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.util.GT_ModHandler;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.item.UtilsItems;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+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(
+ Item maceratorInput, int maceratorInputAmount1,
+ Item maceratorOutput, int maceratorOutputAmount1,
+ Item compressorInput, int compressorInputAmount1,
+ Item compressorOutput, int compressorOutputAmount1,
+ Item blastFurnaceInput, int blastFurnaceInputAmount1,
+ Item blastFurnaceOutput, int blastFurnaceOutputAmount1,
+ Item blastFurnaceInput2, int blastFurnaceInputAmount2,
+ Item blastFurnaceOutput2, int blastFurnaceOutputAmount2,
+ Item smeltingInput, int smeltingInputAmount1,
+ Item smeltingOutput, int smeltingOutputAmount1,
+
+ int euPerTick, int timeInTicks,
+ boolean addMaceratorRecipe, boolean addCompressorRecipe, boolean addBlastFurnaceRecipe, int blastFurnaceTemp, boolean addSmeltingRecipe, boolean addMixerRecipe){
+ euT = euPerTick;
+ ticks = timeInTicks;
+
+ resetVars();
+ if (addMaceratorRecipe){
+ inputStack1 = UtilsItems.getSimpleStack(maceratorInput, maceratorInputAmount1);
+ outputStack1 = UtilsItems.getSimpleStack(maceratorOutput, maceratorOutputAmount1);
+ addMaceratorRecipe(inputStack1, outputStack1);
+ }
+ resetVars();
+ if (addCompressorRecipe){
+ inputStack1 = UtilsItems.getSimpleStack(compressorInput, compressorInputAmount1);
+ outputStack1 = UtilsItems.getSimpleStack(compressorOutput, compressorOutputAmount1);
+ addCompressorRecipe(inputStack1, outputStack1);
+ }
+ resetVars();
+ if (addBlastFurnaceRecipe){
+ inputStack1 = UtilsItems.getSimpleStack(blastFurnaceInput, blastFurnaceInputAmount1);
+ inputStack2 = UtilsItems.getSimpleStack(blastFurnaceInput2, blastFurnaceInputAmount2);
+ outputStack1 = UtilsItems.getSimpleStack(blastFurnaceOutput, blastFurnaceOutputAmount1);
+ outputStack2 = UtilsItems.getSimpleStack(blastFurnaceOutput2, blastFurnaceOutputAmount2);
+ addBlastFurnaceRecipe(inputStack1, inputStack2, outputStack1, outputStack2, blastFurnaceTemp);
+ }
+ resetVars();
+ if (addSmeltingRecipe){
+ inputStack1 = UtilsItems.getSimpleStack(smeltingInput, smeltingInputAmount1);
+ outputStack1 = UtilsItems.getSimpleStack(smeltingOutput, smeltingOutputAmount1);
+ addSmeltingRecipe(inputStack1, outputStack1);
+ }
+ resetVars();
+
+ }
+
+ private static void resetVars(){
+ inputStack1 = null;
+ inputStack2 = null;
+ outputStack1 = null;
+ outputStack2 = null;
+ }
+
+ private static void addMaceratorRecipe(ItemStack input1, ItemStack output1){
+ GT_ModHandler.addPulverisationRecipe(input1, output1);
+ }
+
+ private static void addCompressorRecipe(ItemStack input1, ItemStack output1){
+ GT_ModHandler.addCompressionRecipe(input1, output1);
+ }
+
+ private static void addBlastFurnaceRecipe(ItemStack input1, ItemStack input2, ItemStack output1, ItemStack output2, int tempRequired){
+ Utils.LOG_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(ItemStack input1, ItemStack output1){
+ GT_ModHandler.addSmeltingRecipe(input1, output1);
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
new file mode 100644
index 0000000000..addeb8b74a
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -0,0 +1,233 @@
+package gtPlusPlus.core.recipe;
+
+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 gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.fluid.FluidUtils;
+import gtPlusPlus.core.util.item.UtilsItems;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import net.minecraft.item.ItemStack;
+
+public class RECIPES_GREGTECH {
+
+ public static void run(){
+ Utils.LOG_INFO("Loading Recipes through GregAPI for Industrial Multiblocks.");
+ execute();
+ }
+
+ private static void execute(){
+ cokeOvenRecipes();
+ matterFabRecipes();
+ assemblerRecipes();
+ distilleryRecipes();
+ extractorRecipes();
+ chemicalBathRecipes();
+ dehydratorRecipes();
+ addFuels();
+ }
+
+ private static void cokeOvenRecipes(){
+ Utils.LOG_INFO("Loading Recipes for Industrial Coking Oven.");
+
+ try {
+
+ //GT Logs to Charcoal Recipe
+ //With Sulfuric Acid
+ CORE.RA.addCokeOvenRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 1
+ GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 2
+ Materials.SulfuricAcid.getFluid(20L), //Fluid Input
+ Materials.Creosote.getFluid(175L), //Fluid Output
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 2L), //Item Output
+ 800, //Time in ticks
+ 30); //EU
+ }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ try {
+
+ //Coal -> Coke Recipe
+ //With Sulfuric Acid
+ CORE.RA.addCokeOvenRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 1
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 2
+ Materials.SulfuricAcid.getFluid(60L), //Fluid Input
+ Materials.Creosote.getFluid(250L), //Fluid Output
+ UtilsItems.getItemStack("Railcraft:fuel.coke", 2), //Item Output
+ 600, //Time in ticks
+ 120); //EU
+ }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+
+ try {
+ //GT Logs to Charcoal Recipe
+ //Without Sulfuric Acid
+ CORE.RA.addCokeOvenRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 1
+ GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 2
+ FluidUtils.getFluidStack("oxygen", 80), //Fluid Input
+ Materials.Creosote.getFluid(145L), //Fluid Output
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 2L), //Item Output
+ 1200, //Time in ticks
+ 30); //EU
+ }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+
+ try {
+ //Coal -> Coke Recipe
+ //Without Sulfuric Acid
+ CORE.RA.addCokeOvenRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 1
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 2
+ FluidUtils.getFluidStack("oxygen", 185), //Fluid Input
+ Materials.Creosote.getFluid(200L), //Fluid Output
+ UtilsItems.getItemStack("Railcraft:fuel.coke", 2), //Item Output
+ 900, //Time in ticks
+ 120); //EU
+ }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ }
+
+ private static void matterFabRecipes(){
+ Utils.LOG_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 (NullPointerException e){Utils.LOG_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 (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+
+ }
+
+ private static void dehydratorRecipes(){
+ Utils.LOG_INFO("Loading Recipes for Chemical Dehydrator.");
+
+ try {
+
+ //Makes Lithium Carbonate
+ CORE.RA.addDehydratorRecipe(
+ FluidUtils.getFluidStack("sulfuriclithium", 1000), //Item input (slot 1)
+ null, //Fluid Input
+ new ItemStack[]{
+ UtilsItems.getItemStackOfAmountFromOreDict("dustSodium", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustCarbon", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustLithium", 1)
+ }, //Output Array of Items - Upto 9
+ 10*20, //Time in ticks
+ 30); //EU
+ }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ try {
+
+ CORE.RA.addDehydratorRecipe(
+ UtilsItems.getItemStackOfAmountFromOreDict("cellEmpty", 1), //Item input (slot 1)
+ FluidUtils.getFluidStack("sulfuriclithium", 1000), //Fluid Input
+ new ItemStack[]{
+ UtilsItems.getItemStackOfAmountFromOreDict("dustSodium", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustCarbon", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustLithium", 1)
+ }, //Output Array of Items - Upto 9
+ 10*20, //Time in ticks
+ 30); //EU
+ }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ try {
+ CORE.RA.addDehydratorRecipe(
+ UtilsItems.getItemStackOfAmountFromOreDict("cellEmpty", 1), //Item input (slot 1)
+ UtilsItems.getItemStackOfAmountFromOreDict("cellWater", 1), //Item input (slot 2)
+ new ItemStack[]{
+ UtilsItems.getItemStackOfAmountFromOreDict("dustSodium", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustCarbon", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustLithium", 1)
+ }, //Output Array of Items - Upto 9
+ 10*20, //Time in ticks
+ 30); //EU
+ }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ try {
+ CORE.RA.addDehydratorRecipe(
+ UtilsItems.getItemStackOfAmountFromOreDict("cellEmpty", 1),
+ null,
+ FluidUtils.getFluidStack("sulfuriclithium", 1000),
+ new ItemStack[]{
+ UtilsItems.getItemStackOfAmountFromOreDict("dustSodium", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustCarbon", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustLithium", 1)
+ }, //Output Array of Items - Upto 9
+ FluidUtils.getFluidStack("water", 1000),
+ 10*20, //Time in ticks
+ 30); //EU
+
+ }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+
+ try {
+ CORE.RA.addDehydratorRecipe(
+ null, //Item input (slot 1)
+ null, //Item input (slot 2)
+ FluidUtils.getFluidStack("sulfuriclithium", 1000), //Fluid input (slot 1)
+ null, //Fluid output (slot 1)
+ new ItemStack[]{
+ UtilsItems.getItemStackOfAmountFromOreDict("dustSodium", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustCarbon", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustLithium", 1)
+ }, //Output Array of Items - Upto 9,
+ new int[]{0},
+ 10*20, //Time in ticks
+ 30); //EU
+
+ }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");}
+ }
+
+ private static void assemblerRecipes(){
+ //GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 6L), ItemList.Casing_Turbine.get(1L, new Object[0]), ItemList.Casing_Turbine2.get(1L, new Object[0]), 50, 16);
+ //GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6L), ItemList.Casing_Turbine.get(1L, new Object[0]), ItemList.Casing_Turbine3.get(1L, new Object[0]), 50, 16);
+
+ }
+
+ private static void distilleryRecipes(){
+ Utils.LOG_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), UtilsItems.getSimpleStack(ModItems.itemHeliumBlob, 1), 200, 60);
+ }
+
+ private static void addFuels(){
+ Utils.LOG_INFO("Registering New Fuels.");
+ GT_Values.RA.addFuel(UtilsItems.simpleMetaStack("EnderIO:bucketFire_water", 0, 1), null, 120, 0);
+ GT_Values.RA.addFuel(UtilsItems.simpleMetaStack("EnderIO:bucketRocket_fuel", 0, 1), null, 112, 0);
+ GT_Values.RA.addFuel(UtilsItems.simpleMetaStack("EnderIO:bucketHootch", 0, 1), null, 36, 0);
+ //System.exit(1);
+ }
+
+ private static void extractorRecipes(){
+ Utils.LOG_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 chemicalBathRecipes(){
+ int[] chances = {10000, 5000, 2500};
+ GT_Values.RA.addChemicalBathRecipe(UtilsItems.getItemStackOfAmountFromOreDict("dustTin", 12), FluidUtils.getFluidStack("chlorine", 2400),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustZirconium", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustZirconium", 1),
+ UtilsItems.getItemStackOfAmountFromOreDict("dustZirconium", 1),
+ chances,
+ 30*20,
+ 240);
+ }
+
+ private static void registerSkookumChoocher(){
+ //GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadUniversalSpade, aMaterial, 1L), tBits, new Object[]{"fX", Character.valueOf('X'), OrePrefixes.toolHeadShovel.get(aMaterial)});
+ }
+
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java
new file mode 100644
index 0000000000..94a1d85ae3
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java
@@ -0,0 +1,32 @@
+package gtPlusPlus.core.recipe;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OreDictNames;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.interfaces.IOreRecipeRegistrator;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import net.minecraft.item.ItemStack;
+
+public class RECIPES_LaserEngraver implements IOreRecipeRegistrator {
+ public RECIPES_LaserEngraver() {
+ OrePrefixes.crafting.add(this);
+ }
+
+ @Override
+ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
+ if (aOreDictName.equals(OreDictNames.craftingLensBlue.toString())) {
+ 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 if (aOreDictName.equals(OreDictNames.craftingLensYellow.toString())) {
+ 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 if (aOreDictName.equals(OreDictNames.craftingLensCyan.toString())) {
+ } else if (aOreDictName.equals(OreDictNames.craftingLensRed.toString())) {
+ } else if (aOreDictName.equals(OreDictNames.craftingLensGreen.toString())) {
+ 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 if (aOreDictName.equals(OreDictNames.craftingLensWhite.toString())) {
+
+ }
+ }
+}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java
new file mode 100644
index 0000000000..6d81ba42ad
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_MTWRAPPER.java
@@ -0,0 +1,115 @@
+package gtPlusPlus.core.recipe;
+
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.item.UtilsItems;
+import gtPlusPlus.core.util.recipe.UtilsRecipe;
+import gtPlusPlus.core.util.wrapper.var;
+
+import java.util.ArrayList;
+
+import net.minecraft.item.ItemStack;
+
+public class RECIPES_MTWRAPPER {
+
+ public static int MT_RECIPES_LOADED = 0;
+ public static int MT_RECIPES_FAILED = 0;
+
+ static var chestWood = new var("minecraft:chest>");
+ static var slabWood = new var("ore:slabWood>");
+ static var gemNetherQuartz = new var("ore:gemNetherQuartz>");
+ static var glass = new var("ore:blockGlass>");
+ static var sensorDaylight = new var("minecraft:daylight_detector>");
+ static var blazeRod = new var("minecraft:blaze_rod>");
+ static var saw = new var("ore:craftingToolSaw>");
+ static var logWood = new var("ore:logWood>");
+ static var button = new var("minecraft:stone_button>");
+ static var stoneBlock = new var("minecraft:stone>");
+
+ public static void run(){
+ /*addShaped(button.getStack(2),
+ null, stoneBlock, null,
+ null, stoneBlock, null,
+ null, null, null);*/
+ /*addShaped(stoneStick.getStack(1),
+ stoneBlock, null, null,
+ stoneBlock, null, null,
+ null, null, null);*/
+ addShaped(chestWood.getStack(2),
+ logWood, logWood, logWood,
+ logWood, null, logWood,
+ logWood, logWood, logWood);
+ addShaped(chestWood.getStack(4),
+ logWood, logWood, logWood,
+ logWood, saw, logWood,
+ logWood, logWood, logWood);
+ //Recipe Fixes
+ //remove(sensorDaylight);
+ addShaped(sensorDaylight.getStack(1),
+ glass, glass, glass,
+ gemNetherQuartz, gemNetherQuartz, gemNetherQuartz,
+ slabWood, slabWood, slabWood);
+ /*addShaped(ironBars .getStack( 8),
+ null, "<ore:craftingToolWrench>", null,
+ "<ore:stickAnyIron>", "<ore:stickAnyIron>", "<ore:stickAnyIron>",
+ "<ore:stickAnyIron>", "<ore:stickAnyIron>", "<ore:stickAnyIron>");*/
+ }
+
+
+ public static void addShaped(Object item_Output,
+ Object item_1, Object item_2, Object item_3,
+ Object item_4, Object item_5, Object item_6,
+ Object item_7, Object item_8, Object item_9){
+
+
+ /*
+ *
+ * var item_1, var item_2, var item_3,
+ var item_4, var item_5, var item_6,
+ var item_7, var item_8, var item_9
+ *
+ *
+ */
+
+ ItemStack outputItem = UtilsItems.getCorrectStacktype(item_Output, 1);
+
+ ArrayList<Object> validSlots = new ArrayList<Object>();
+ String a,b,c,d,e,f,g,h,i;
+ if (item_1 == null){ a = " ";} else { a = "1";validSlots.add('1');validSlots.add(item_1);}
+ if (item_2 == null){ b = " ";} else { b = "2";validSlots.add('2');validSlots.add(item_2);}
+ if (item_3 == null){ c = " ";} else { c = "3";validSlots.add('3');validSlots.add(item_3);}
+ if (item_4 == null){ d = " ";} else { d = "4";validSlots.add('4');validSlots.add(item_4);}
+ if (item_5 == null){ e = " ";} else { e = "5";validSlots.add('5');validSlots.add(item_5);}
+ if (item_6 == null){ f = " ";} else { f = "6";validSlots.add('6');validSlots.add(item_6);}
+ if (item_7 == null){ g = " ";} else { g = "7";validSlots.add('7');validSlots.add(item_7);}
+ if (item_8 == null){ h = " ";} else { h = "8";validSlots.add('8');validSlots.add(item_8);}
+ if (item_9 == null){ i = " ";} else { i = "9";validSlots.add('9');validSlots.add(item_9);}
+
+ String lineOne = a+b+c;
+ String lineTwo = d+e+f;
+ String lineThree = g+h+i;
+ validSlots.add(0, lineOne);
+ validSlots.add(1, lineTwo);
+ validSlots.add(2, lineThree);
+
+ try {
+ UtilsRecipe.recipeBuilder((Object[]) validSlots.toArray(), outputItem.copy());
+ MT_RECIPES_LOADED++;
+ }
+ catch(NullPointerException | ClassCastException k){
+ k.getMessage();
+ k.getClass();
+ k.printStackTrace();
+ k.getLocalizedMessage();
+ Utils.LOG_WARNING("@@@: Invalid Recipe detected for: "+((var) item_Output).getsanitizedName());
+ MT_RECIPES_FAILED++;
+ }
+ }
+
+ public static void addShapeless(){
+
+ }
+
+
+
+}
+
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java
new file mode 100644
index 0000000000..f5e3fd1ad5
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_MachineComponents.java
@@ -0,0 +1,299 @@
+package gtPlusPlus.core.recipe;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
+import gregtech.api.util.GT_OreDictUnificator;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.recipe.UtilsRecipe;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+
+public class RECIPES_MachineComponents {
+
+ //Wire
+ static String wireTier6 = "wireGt08NiobiumTitanium";
+ static String wireTier7 = "wireGt08Osmium";
+ static String wireTier8 = "wireGt08Naquadah";
+ static String wireTier9 = "wireGt08Superconductor";
+ static String wireTier10 = "wireGt16Superconductor";
+
+ //Wire
+ static String cableTier6 = "cableGt04Tungsten";
+ static String cableTier7 = "cableGt04NiobiumTitanium";
+ static String cableTier8 = "cableGt04Osmium";
+ static String cableTier9 = "cableGt04Naquadah";
+ static String cableTier10 = "wireGt08Superconductor";
+
+ //Plates
+ static String plateTier7 = "plateChrome";
+ static String plateTier8 = "plateIridium";
+ static String plateTier9 = "plateOsmium";
+ static String plateTier10 = "plateNeutronium";
+
+ //rods
+ static String rodTier7a = "stickChrome";
+ static String rodTier8a = "stickIridium";
+ static String rodTier9a = "stickOsmium";
+ static String rodTier10a = "stickNeutronium";
+ static String rodTier7b = "stickPlatinum";
+ static String rodTier8b = "stickChrome";
+ static String rodTier9b = "stickIridium";
+ static String rodTier10b = "stickOsmium";
+ static String rodTier7c = "stickTitanium";
+ static String rodTier8c = "stickTungstenSteel";
+ static String rodTier9c = "stickNaquadah";
+ static String rodTier10c = "stickOsmium";
+
+ //Screws
+ static String screwTier7 = "screwChrome";
+ static String screwTier8 = "screwIridium";
+ static String screwTier9 = "screwOsmium";
+ static String screwTier10 = "screwNeutronium";
+
+ //Rotors
+ static String rotorTier7 = "rotorChrome";
+ static String rotorTier8 = "rotorIridium";
+ static String rotorTier9 = "rotorOsmium";
+ static String rotorTier10 = "rotorNeutronium";
+
+ //Fluid Pipe
+ static String pipeTier7 = "pipeHugeSteel";
+ static String pipeTier8 = "pipeHugeStainlessSteel";
+ static String pipeTier9 = "pipeHugeTitanium";
+ static String pipeTier10 = "pipeHugeTungstenSteel";
+
+ //Rubber Ring/Plate
+ static String itemRubberRing = "ringRubber";
+ static String plateRubber = "plateRubber";
+
+ //Circuits
+ static String circuitTier6 = "circuitMaster";
+ static String circuitTier7 = "circuitUltimate";
+ static String circuitTier8 = "circuitSymbiotic";
+ static String circuitTier9 = "circuitNeutronic";
+ static String circuitTier10 = "circuitQuantum";
+
+ //small gears
+ static String smallGearTier7 = "gearGtSmallChrome";
+ static String smallGearTier8 = "gearGtSmallIridium";
+ static String smallGearTier9 = "gearGtSmallOsmium";
+ static String smallGearTier10 = "gearGtSmallNeutronium";
+
+ //Crafting Tools
+ static String craftingToolWrench = "craftingToolWrench";
+ static String craftingToolScrewdriver = "craftingToolScrewdriver";
+
+ public static final void RECIPES_LOAD(){
+ Utils.LOG_INFO("Loading Recipes for the Various Circuits and Machine components.");
+ if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
+ run();
+ }
+ GregtechMachinePhase();
+ }
+
+ private static void run(){
+ //Electric Motors
+ UtilsRecipe.addShapedGregtechRecipe(
+ cableTier7, wireTier7, rodTier7a,
+ wireTier7, rodTier7b, wireTier7,
+ rodTier7a, wireTier7, cableTier7,
+ RECIPE_CONSTANTS.electricMotor_LuV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ cableTier8, wireTier8, rodTier8a,
+ wireTier8, rodTier8b, wireTier8,
+ rodTier8a, wireTier8, cableTier8,
+ RECIPE_CONSTANTS.electricMotor_ZPM);
+ UtilsRecipe.addShapedGregtechRecipe(
+ cableTier9, wireTier9, rodTier9a,
+ wireTier9, rodTier9b, wireTier9,
+ rodTier9a, wireTier9, cableTier9,
+ RECIPE_CONSTANTS.electricMotor_UV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ cableTier10, wireTier10, rodTier10a,
+ wireTier10, rodTier10b, wireTier10,
+ rodTier10a, wireTier10, cableTier10,
+ RECIPE_CONSTANTS.electricMotor_MAX);
+
+ //Electric Pump
+ UtilsRecipe.addShapedGregtechRecipe(
+ cableTier7, rotorTier7, itemRubberRing,
+ craftingToolScrewdriver, pipeTier7, craftingToolWrench,
+ itemRubberRing, RECIPE_CONSTANTS.electricMotor_LuV, cableTier7,
+ RECIPE_CONSTANTS.electricPump_LuV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ cableTier8, rotorTier8, itemRubberRing,
+ craftingToolScrewdriver, pipeTier8, craftingToolWrench,
+ itemRubberRing, RECIPE_CONSTANTS.electricMotor_ZPM, cableTier8,
+ RECIPE_CONSTANTS.electricPump_ZPM);
+ UtilsRecipe.addShapedGregtechRecipe(
+ cableTier9, rotorTier9, itemRubberRing,
+ craftingToolScrewdriver, pipeTier9, craftingToolWrench,
+ itemRubberRing, RECIPE_CONSTANTS.electricMotor_UV, cableTier9,
+ RECIPE_CONSTANTS.electricPump_UV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ cableTier10, rotorTier10, itemRubberRing,
+ craftingToolScrewdriver, pipeTier10, craftingToolWrench,
+ itemRubberRing, RECIPE_CONSTANTS.electricMotor_MAX, cableTier10,
+ RECIPE_CONSTANTS.electricPump_MAX);
+
+ //Electric Pump
+ UtilsRecipe.addShapedGregtechRecipe(
+ plateTier7, plateTier7, plateTier7,
+ cableTier7, rodTier7a, rodTier7a,
+ cableTier7, RECIPE_CONSTANTS.electricMotor_LuV, smallGearTier7,
+ RECIPE_CONSTANTS.electricPiston_LuV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ plateTier8, plateTier8, plateTier8,
+ cableTier8, rodTier8a, rodTier8a,
+ cableTier8, RECIPE_CONSTANTS.electricMotor_ZPM, smallGearTier8,
+ RECIPE_CONSTANTS.electricPiston_ZPM);
+ UtilsRecipe.addShapedGregtechRecipe(
+ plateTier9, plateTier9, plateTier9,
+ cableTier9, rodTier9a, rodTier9a,
+ cableTier9, RECIPE_CONSTANTS.electricMotor_UV, smallGearTier9,
+ RECIPE_CONSTANTS.electricPiston_UV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ plateTier10, plateTier10, plateTier10,
+ cableTier10, rodTier10a, rodTier10a,
+ cableTier10, RECIPE_CONSTANTS.electricMotor_MAX, smallGearTier10,
+ RECIPE_CONSTANTS.electricPiston_MAX);
+
+ //Robot Arms
+ UtilsRecipe.addShapedGregtechRecipe(
+ cableTier7, cableTier7, cableTier7,
+ RECIPE_CONSTANTS.electricMotor_LuV, rodTier7a, RECIPE_CONSTANTS.electricMotor_LuV,
+ RECIPE_CONSTANTS.electricPiston_LuV, circuitTier7, rodTier7a,
+ RECIPE_CONSTANTS.robotArm_LuV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ cableTier8, cableTier8, cableTier8,
+ RECIPE_CONSTANTS.electricMotor_ZPM, rodTier8a, RECIPE_CONSTANTS.electricMotor_ZPM,
+ RECIPE_CONSTANTS.electricPiston_ZPM, circuitTier8, rodTier8a,
+ RECIPE_CONSTANTS.robotArm_ZPM);
+ UtilsRecipe.addShapedGregtechRecipe(
+ cableTier9, cableTier9, cableTier9,
+ RECIPE_CONSTANTS.electricMotor_UV, rodTier9a, RECIPE_CONSTANTS.electricMotor_UV,
+ RECIPE_CONSTANTS.electricPiston_UV, circuitTier9, rodTier9a,
+ RECIPE_CONSTANTS.robotArm_UV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ cableTier10, cableTier10, cableTier10,
+ RECIPE_CONSTANTS.electricMotor_MAX, rodTier10a, RECIPE_CONSTANTS.electricMotor_MAX,
+ RECIPE_CONSTANTS.electricPiston_MAX, circuitTier10, rodTier10a,
+ RECIPE_CONSTANTS.robotArm_MAX);
+
+ //Conveyor Modules
+ UtilsRecipe.addShapedGregtechRecipe(
+ plateRubber, plateRubber, plateRubber,
+ RECIPE_CONSTANTS.electricMotor_LuV, cableTier7, RECIPE_CONSTANTS.electricMotor_LuV,
+ plateRubber, plateRubber, plateRubber,
+ RECIPE_CONSTANTS.conveyorModule_LuV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ plateRubber, plateRubber, plateRubber,
+ RECIPE_CONSTANTS.electricMotor_ZPM, cableTier8, RECIPE_CONSTANTS.electricMotor_ZPM,
+ plateRubber, plateRubber, plateRubber,
+ RECIPE_CONSTANTS.conveyorModule_ZPM);
+ UtilsRecipe.addShapedGregtechRecipe(
+ plateRubber, plateRubber, plateRubber,
+ RECIPE_CONSTANTS.electricMotor_UV, cableTier9, RECIPE_CONSTANTS.electricMotor_UV,
+ plateRubber, plateRubber, plateRubber,
+ RECIPE_CONSTANTS.conveyorModule_UV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ plateRubber, plateRubber, plateRubber,
+ RECIPE_CONSTANTS.electricMotor_MAX, cableTier10, RECIPE_CONSTANTS.electricMotor_MAX,
+ plateRubber, plateRubber, plateRubber,
+ RECIPE_CONSTANTS.conveyorModule_MAX);
+
+ //Emitter Modules
+ UtilsRecipe.addShapedGregtechRecipe(
+ rodTier7c, rodTier7c, circuitTier7,
+ cableTier7, circuitTier6, rodTier7c,
+ circuitTier7, cableTier7, rodTier7c,
+ RECIPE_CONSTANTS.emitter_LuV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ rodTier8c, rodTier8c, circuitTier8,
+ cableTier8, circuitTier7, rodTier8c,
+ circuitTier8, cableTier8, rodTier8c,
+ RECIPE_CONSTANTS.emitter_ZPM);
+ UtilsRecipe.addShapedGregtechRecipe(
+ rodTier9c, rodTier9c, circuitTier9,
+ cableTier9, circuitTier8, rodTier9c,
+ circuitTier9, cableTier9, rodTier9c,
+ RECIPE_CONSTANTS.emitter_UV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ rodTier10c, rodTier10c, circuitTier10,
+ cableTier10, circuitTier9, rodTier10c,
+ circuitTier10, cableTier10, rodTier10c,
+ RECIPE_CONSTANTS.emitter_MAX);
+
+ //Field Generator Modules
+ UtilsRecipe.addShapedGregtechRecipe(
+ wireTier7, circuitTier7, wireTier7,
+ circuitTier7, circuitTier6, circuitTier7,
+ wireTier7, circuitTier7, wireTier7,
+ RECIPE_CONSTANTS.fieldGenerator_LuV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ wireTier8, circuitTier8, wireTier8,
+ circuitTier8, circuitTier7, circuitTier8,
+ wireTier8, circuitTier8, wireTier8,
+ RECIPE_CONSTANTS.fieldGenerator_ZPM);
+ UtilsRecipe.addShapedGregtechRecipe(
+ wireTier9, circuitTier9, wireTier9,
+ circuitTier9, circuitTier8, circuitTier9,
+ wireTier9, circuitTier9, wireTier9,
+ RECIPE_CONSTANTS.fieldGenerator_UV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ wireTier10, circuitTier10, wireTier10,
+ circuitTier10, circuitTier9, circuitTier10,
+ wireTier10, circuitTier10, wireTier10,
+ RECIPE_CONSTANTS.fieldGenerator_MAX);
+
+ //Sensor Modules
+ UtilsRecipe.addShapedGregtechRecipe(
+ plateTier7, null, circuitTier6,
+ plateTier7, rodTier7c, null,
+ circuitTier7, plateTier7, plateTier7,
+ RECIPE_CONSTANTS.sensor_LuV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ plateTier8, null, circuitTier7,
+ plateTier8, rodTier8c, null,
+ circuitTier8, plateTier8, plateTier8,
+ RECIPE_CONSTANTS.sensor_ZPM);
+ UtilsRecipe.addShapedGregtechRecipe(
+ plateTier9, null, circuitTier8,
+ plateTier9, rodTier9c, null,
+ circuitTier9, plateTier9, plateTier9,
+ RECIPE_CONSTANTS.sensor_UV);
+ UtilsRecipe.addShapedGregtechRecipe(
+ plateTier10, null, circuitTier9,
+ plateTier10, rodTier10c, null,
+ circuitTier10, plateTier10, plateTier10,
+ RECIPE_CONSTANTS.sensor_MAX);
+
+ Utils.LOG_INFO("Done loading recipes for the Various machine components.");
+
+ }
+
+ private static void GregtechMachinePhase(){
+ Utils.LOG_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]), 32, 256);
+ 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]), 64, 512);
+ 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]), 96, 1024);
+ 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]), 32, 512);
+ 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]), 64, 1024);
+ 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]), 96, 2048);
+ GT_Values.RA.addForgeHammerRecipe(ItemList.Circuit_Master.get(1L, new Object[0]), GregtechItemList.Circuit_Parts_Crystal_Chip_IV.get(5L, new Object[0]), 32, 256);
+ GT_Values.RA.addForgeHammerRecipe(GregtechItemList.Circuit_IV.get(1L, new Object[0]), GregtechItemList.Circuit_Parts_Crystal_Chip_LuV.get(5L, new Object[0]), 64, 512);
+ GT_Values.RA.addForgeHammerRecipe(GregtechItemList.Circuit_LuV.get(1L, new Object[0]), GregtechItemList.Circuit_Parts_Crystal_Chip_ZPM.get(5L, new Object[0]), 128, 1024);
+ for (Materials tMat : Materials.VALUES) {
+ if ((tMat.mStandardMoltenFluid != null) && (tMat.contains(SubTag.SOLDERING_MATERIAL))) {
+ 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]), 32, 512);