diff options
| author | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-07 16:36:25 +1000 |
|---|---|---|
| committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-07 16:36:25 +1000 |
| commit | 221c2f0fe81430e7dd4087e5f5845bd7c62ec56d (patch) | |
| tree | d6e0faaef01b9d517828557e1be82500d476f95e /src/Java/gtPlusPlus/core/recipe | |
| parent | 5872c0947ce7bc788b03fa2fb690b8815d3d0a04 (diff) | |
| download | GT5-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')
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); |
