diff options
Diffstat (limited to 'src/Java/gtPlusPlus/core/recipe')
-rw-r--r-- | src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java | 256 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java | 274 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/recipe/common/CI.java | 276 |
3 files changed, 676 insertions, 130 deletions
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index e2c69277f6..627c171a00 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -1,22 +1,25 @@ package gtPlusPlus.core.recipe; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - -import static gtPlusPlus.core.util.minecraft.ItemUtils.getSimpleStack; - import gregtech.api.GregTech_API; -import gregtech.api.enums.*; -import gregtech.api.util.*; - +import gregtech.api.enums.ConfigCategories; +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.GT_Utility; +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.IonParticles; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.material.Particle; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.material.nuclear.NUCLIDE; import gtPlusPlus.core.recipe.common.CI; @@ -25,10 +28,12 @@ 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.minecraft.RecipeUtils; import gtPlusPlus.core.util.reflect.AddGregtechRecipe; import gtPlusPlus.everglades.dimension.Dimension_Everglades; 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; public class RECIPES_GREGTECH { @@ -70,9 +75,42 @@ public class RECIPES_GREGTECH { extruderRecipes(); cuttingSawRecipes(); breweryRecipes(); + laserEngraverRecipes(); addFuels(); } + private static void laserEngraverRecipes() { + + GT_Values.RA.addLaserEngraverRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 6L), + GregtechItemList.Laser_Lens_Special.get(0), + ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getDust(1), + 20 * 60 * 3, + MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.vTier)); + + GT_Values.RA.addLaserEngraverRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 8L), + GregtechItemList.Laser_Lens_Special.get(0), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(1), + 20 * 60 * 2, + MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ASTRAL_TITANIUM.vTier)); + + GT_Values.RA.addLaserEngraverRecipe( + ALLOY.NITINOL_60.getBlock(2), + GregtechItemList.Laser_Lens_Special.get(0), + ELEMENT.STANDALONE.ADVANCED_NITINOL.getBlock(1), + 20 * 60 * 1, + MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ADVANCED_NITINOL.vTier)); + + GT_Values.RA.addLaserEngraverRecipe( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 64L), + GregtechItemList.Laser_Lens_Special.get(0), + ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getDust(1), + 20 * 60 * 5, + MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.vTier)); + + } + private static void breweryRecipes() { CORE.RA.addBrewingRecipe(14, EnchantingUtils.getMobEssence(100), EnchantingUtils.getLiquidXP(1332), 100, 120, false); CORE.RA.addBrewingRecipe(14, EnchantingUtils.getLiquidXP(1332), EnchantingUtils.getMobEssence(100), 100, 120, false); @@ -481,10 +519,9 @@ public class RECIPES_GREGTECH { } // Calcium Hydroxide - if ((ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1).getItem() != ModItems.AAA_Broken) - || LoadedMods.IHL) { + if ((ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) || LoadedMods.IHL) { try { - + CORE.RA.addDehydratorRecipe( new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 10) }, // Item FluidUtils.getFluidStack("water", 10000), // Fluid input @@ -1261,39 +1298,218 @@ public class RECIPES_GREGTECH { //Polonium CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.bismuth", 1), - new ItemStack[] { GregtechItemList.Pellet_RTG_PO210.get(1) }, null, new int[] { 100 }, 20 * 300, 2040, + new ItemStack[] { GregtechItemList.Pellet_RTG_PO210.get(1) }, null, new int[] { 100 }, 20 * 300 * 100, 2040, 500 * 20); //Americium CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.americium", 1), - new ItemStack[] { GregtechItemList.Pellet_RTG_AM241.get(4) }, null, new int[] { 2500 }, 20 * 300, 1020, + new ItemStack[] { GregtechItemList.Pellet_RTG_AM241.get(4) }, null, new int[] { 2500 }, 20 * 300 * 100, 1020, 500 * 20); //PO Special Value //Strontium u235 CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.uranium235", 10), - new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 570 }, 20 * 300, 1020, + new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 570 }, 20 * 300 * 100, 1020, 500 * 20); //PO Special Value //Strontium u233 CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.uranium233", 10), - new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 660 }, 20 * 300, 1020, + new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 660 }, 20 * 300 * 100, 1020, 500 * 20); //PO Special Value //Strontium pu239 CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.plutonium239", 10), - new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 220 }, 20 * 300, 1020, + new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 220 }, 20 * 300 * 100, 1020, 500 * 20); //PO Special Value //Plutonium CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.plutonium238", 1), - new ItemStack[] { GregtechItemList.Pellet_RTG_PU238.get(2) }, null, new int[] { 780 }, 20 * 300, 1020, + new ItemStack[] { GregtechItemList.Pellet_RTG_PU238.get(2) }, null, new int[] { 780 }, 20 * 300 * 100, 1020, 500 * 20); //PO Special Value - //Neptunium CORE.RA.addCyclotronRecipe(new ItemStack[] {ELEMENT.getInstance().URANIUM238.getDust(1) }, FluidUtils.getFluidStack("deuterium", 400), + new ItemStack[] {ItemUtils.getSimpleStack(ModItems.dustNeptunium238)}, null, new int[] { 500 }, 20 * 5, 500, + 500 * 20); //PO Special Value + + + /** + * Particle Science + */ + + + // Quark Smash + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(3), + FluidUtils.getFluidStack("plasma.hydrogen", 1000), + new ItemStack[] { + Particle.getBaseParticle(Particle.UP), + Particle.getBaseParticle(Particle.DOWN), + Particle.getBaseParticle(Particle.CHARM), + Particle.getBaseParticle(Particle.STRANGE), + Particle.getBaseParticle(Particle.TOP), + Particle.getBaseParticle(Particle.BOTTOM), + }, + null, + new int[] { 50, 50, 50, 50, 50, 50 }, + 20 * 300 * 38, + (int) GT_Values.V[7], + 750 * 20); + + // Lepton Smash + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(6), + FluidUtils.getFluidStack("plasma.helium", 1500), + new ItemStack[] { + Particle.getBaseParticle(Particle.ELECTRON), + Particle.getBaseParticle(Particle.MUON), + Particle.getBaseParticle(Particle.TAU), + Particle.getBaseParticle(Particle.ELECTRON_NEUTRINO), + Particle.getBaseParticle(Particle.MUON_NEUTRINO), + Particle.getBaseParticle(Particle.TAU_NEUTRINO), + }, + null, + new int[] { 60, 40, 20, 15, 10, 5 }, + 20 * 300 * 38, + (int) GT_Values.V[7], + 750 * 20); + + //Boson Smash + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(9), + FluidUtils.getFluidStack("plasma.helium", 1500), + new ItemStack[] { + Particle.getBaseParticle(Particle.GLUON), + Particle.getBaseParticle(Particle.PHOTON), + Particle.getBaseParticle(Particle.Z_BOSON), + Particle.getBaseParticle(Particle.W_BOSON), + Particle.getBaseParticle(Particle.HIGGS_BOSON), + }, + null, + new int[] { 60, 60, 50, 50, 1 }, + 20 * 300 * 38, + (int) GT_Values.V[7], + 750 * 20); + + + // Mixed Smash 1 + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(12), + FluidUtils.getFluidStack("plasma.beryllium", 2500), + new ItemStack[] { + Particle.getBaseParticle(Particle.GRAVITON), + Particle.getBaseParticle(Particle.UP), + Particle.getBaseParticle(Particle.DOWN), + Particle.getBaseParticle(Particle.CHARM), + Particle.getBaseParticle(Particle.STRANGE), + Particle.getBaseParticle(Particle.TOP), + Particle.getBaseParticle(Particle.BOTTOM), + Particle.getBaseParticle(Particle.ELECTRON), + Particle.getBaseParticle(Particle.MUON), + Particle.getBaseParticle(Particle.TAU), + Particle.getBaseParticle(Particle.ELECTRON_NEUTRINO), + Particle.getBaseParticle(Particle.MUON_NEUTRINO), + Particle.getBaseParticle(Particle.TAU_NEUTRINO), + Particle.getBaseParticle(Particle.GLUON), + Particle.getBaseParticle(Particle.PHOTON), + Particle.getBaseParticle(Particle.Z_BOSON), + Particle.getBaseParticle(Particle.W_BOSON), + Particle.getBaseParticle(Particle.HIGGS_BOSON), + }, + null, + new int[] { 5, 20, 20, 20, 20, 20, 20, 15, 15, 15, 10, 10, 10, 40, 40, 40, 40, 1 }, + 20 * 300 * 134, + (int) GT_Values.V[8], + 750 * 20); + + //Graviton Smash + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(15), + FluidUtils.getFluidStack("plasma.hydrogen", 10), + new ItemStack[] { + Particle.getBaseParticle(Particle.GRAVITON), + Particle.getBaseParticle(Particle.UNKNOWN) + }, + null, + new int[] {15, 1000}, + 20 * 30, + (int) GT_Values.V[6], + 1000 * 20); + + //Quantum Anomaly + CORE.RA.addCyclotronRecipe( + new ItemStack[] { + CI.getNumberedCircuit(24), + Particle.getBaseParticle(Particle.UNKNOWN), + }, + FluidUtils.getFluidStack("plasma.osmium", 3), + new ItemStack[] { + GregtechItemList.Laser_Lens_Special.get(1) + }, + null, + new int[] {100}, + 20 * 60, + (int) GT_Values.V[6], + 1000 * 20); + + /* + * Ions + */ + + String[] aElementsTest = new String[] { + "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminum", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon" + }; + + int IonCount = 2; + int tenCountA = 1; + int tenCountB = 0; + for (String y : IonParticles.MetaToNameMap.values()) { + + if (tenCountB == 12) { + tenCountB = 0; + tenCountA++; + } + else { + tenCountB++; + } + + FluidStack aPlasma = FluidUtils.getFluidStack("plasma."+y.toLowerCase(), 1); + + // Ionize Plasma + if (aPlasma != null) { + CORE.RA.addCyclotronRecipe( + CI.getNumberedCircuit(1+(tenCountA-1)), + aPlasma, + new ItemStack[] { + Particle.getIon(y, 1), + Particle.getIon(y, 2), + Particle.getIon(y, 3), + Particle.getIon(y, -1), + Particle.getIon(y, -2), + Particle.getIon(y, -3), + Particle.getIon(y, 1), + Particle.getIon(y, 2), + Particle.getIon(y, -1), + }, + null, + new int[] { 75, 50, 25, 75, 50, 25, 75, 50, 75}, + 20 * 20 * (IonCount++) * tenCountA, + (int) GT_Values.V[7], + 1500 * 20 * tenCountA); + } + else { + Logger.INFO("Plasma for "+y+" does not exist, please report this to Alkalus."); + } + } + + + + + + /*CORE.RA.addCyclotronRecipe(new ItemStack[] {ELEMENT.getInstance().URANIUM238.getDust(1) }, FluidUtils.getFluidStack("deuterium", 400), ItemUtils.getSimpleStack(ModItems.dustNeptunium238), null, new int[] { 500 }, 20 * 5, 500, 500 * 20); //PO Special Value +*/ + } diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java index 0040edfa99..27116ba125 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java @@ -208,6 +208,7 @@ public class RECIPES_Machines { private static void run(){ initModItems(); controlCores(); + energyCores(); } private static void initModItems(){ @@ -338,109 +339,7 @@ public class RECIPES_Machines { 8000); - //Buffer Core - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[1], cableTier1, CI.component_Plate[1], - "circuitPrimitive", "plateStaballoy", "circuitPrimitive", - CI.component_Plate[1], cableTier1, CI.component_Plate[1], - RECIPE_BufferCore_ULV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[2], cableTier2, CI.component_Plate[2], - RECIPE_BufferCore_ULV, CI.machineHull_HV, RECIPE_BufferCore_ULV, - CI.component_Plate[2], cableTier2, CI.component_Plate[2], - RECIPE_BufferCore_LV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[3], cableTier3, CI.component_Plate[3], - RECIPE_BufferCore_LV, CI.circuitTier2, RECIPE_BufferCore_LV, - CI.component_Plate[3], cableTier3, CI.component_Plate[3], - RECIPE_BufferCore_MV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[4], cableTier4, CI.component_Plate[4], - RECIPE_BufferCore_MV, CI.circuitTier3, RECIPE_BufferCore_MV, - CI.component_Plate[4], cableTier4, CI.component_Plate[4], - RECIPE_BufferCore_HV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[5], cableTier5, CI.component_Plate[5], - RECIPE_BufferCore_HV, CI.circuitTier4, RECIPE_BufferCore_HV, - CI.component_Plate[5], cableTier5, CI.component_Plate[5], - RECIPE_BufferCore_EV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[6], cableTier6, CI.component_Plate[6], - RECIPE_BufferCore_EV, CI.circuitTier5, RECIPE_BufferCore_EV, - CI.component_Plate[6], cableTier6, CI.component_Plate[6], - RECIPE_BufferCore_IV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[7], cableTier7, CI.component_Plate[7], - RECIPE_BufferCore_IV, CI.circuitTier6, RECIPE_BufferCore_IV, - CI.component_Plate[7], cableTier7, CI.component_Plate[7], - RECIPE_BufferCore_LuV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[8], cableTier8, CI.component_Plate[8], - RECIPE_BufferCore_LuV, CI.circuitTier7, RECIPE_BufferCore_LuV, - CI.component_Plate[8], cableTier8, CI.component_Plate[8], - RECIPE_BufferCore_ZPM); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[9], cableTier9, CI.component_Plate[9], - RECIPE_BufferCore_ZPM, CI.circuitTier8, RECIPE_BufferCore_ZPM, - CI.component_Plate[9], cableTier9, CI.component_Plate[9], - RECIPE_BufferCore_UV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[10], cableTier10, CI.component_Plate[10], - RECIPE_BufferCore_UV, CI.circuitTier9, RECIPE_BufferCore_UV, - CI.component_Plate[10], cableTier10, CI.component_Plate[10], - RECIPE_BufferCore_MAX); - - - RecipeUtils.addShapedGregtechRecipe( - wireTier1, RECIPE_BufferCore_ULV, wireTier1, - wireTier1, CI.machineCasing_ULV, wireTier1, - CI.circuitPrimitive, CI.circuitTier1, CI.circuitPrimitive, - RECIPE_Buffer_ULV); - RecipeUtils.addShapedGregtechRecipe( - wireTier2, RECIPE_BufferCore_LV, wireTier2, - wireTier2, CI.machineCasing_LV, wireTier2, - CI.circuitTier1, RECIPE_BufferCore_LV, CI.circuitTier1, - RECIPE_Buffer_LV); - RecipeUtils.addShapedGregtechRecipe( - wireTier3, RECIPE_BufferCore_MV, wireTier3, - wireTier3, CI.machineCasing_MV, wireTier3, - CI.circuitTier2, RECIPE_BufferCore_MV, CI.circuitTier2, - RECIPE_Buffer_MV); - RecipeUtils.addShapedGregtechRecipe( - wireTier4, RECIPE_BufferCore_HV, wireTier4, - wireTier4, CI.machineCasing_HV, wireTier4, - CI.circuitTier3, RECIPE_BufferCore_HV, CI.circuitTier3, - RECIPE_Buffer_HV); - RecipeUtils.addShapedGregtechRecipe( - wireTier5, RECIPE_BufferCore_EV, wireTier5, - wireTier5, CI.machineCasing_EV, wireTier5, - CI.circuitTier4, RECIPE_BufferCore_EV, CI.circuitTier4, - RECIPE_Buffer_EV); - RecipeUtils.addShapedGregtechRecipe( - wireTier6, RECIPE_BufferCore_IV, wireTier6, - wireTier6, CI.machineCasing_IV, wireTier6, - CI.circuitTier5, RECIPE_BufferCore_IV, CI.circuitTier5, - RECIPE_Buffer_IV); - RecipeUtils.addShapedGregtechRecipe( - wireTier7, RECIPE_BufferCore_LuV, wireTier7, - wireTier7, CI.machineCasing_LuV, wireTier7, - CI.circuitTier6, RECIPE_BufferCore_LuV, CI.circuitTier6, - RECIPE_Buffer_LuV); - RecipeUtils.addShapedGregtechRecipe( - wireTier8, RECIPE_BufferCore_ZPM, wireTier8, - wireTier8, CI.machineCasing_ZPM, wireTier8, - CI.circuitTier7, RECIPE_BufferCore_ZPM, CI.circuitTier7, - RECIPE_Buffer_ZPM); - RecipeUtils.addShapedGregtechRecipe( - wireTier9, RECIPE_BufferCore_UV, wireTier9, - wireTier9, CI.machineCasing_UV, wireTier9, - CI.circuitTier8, RECIPE_BufferCore_UV, CI.circuitTier8, - RECIPE_Buffer_UV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[11], RECIPE_BufferCore_MAX, CI.component_Plate[11], - wireTier10, CI.machineCasing_MAX, wireTier10, - CI.circuitTier9, RECIPE_BufferCore_MAX, CI.circuitTier9, - RECIPE_Buffer_MAX); + //Steam Condenser if (CORE.ConfigSwitches.enableMachine_SteamConverter ){ @@ -1702,6 +1601,175 @@ public class RECIPES_Machines { aOutput[i], 60 * 20 * 1 * (i+1), MaterialUtils.getVoltageForTier(i)); + } + } + + private static void energyCores() { + + //Simpler Recipes for normal Players, Force assembly crafting in GTNH + if (!GTNH) { + //Buffer Core + /*RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[1], cableTier1, CI.component_Plate[1], + "circuitPrimitive", "plateStaballoy", "circuitPrimitive", + CI.component_Plate[1], cableTier1, CI.component_Plate[1], + RECIPE_BufferCore_ULV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[2], cableTier2, CI.component_Plate[2], + RECIPE_BufferCore_ULV, CI.machineHull_HV, RECIPE_BufferCore_ULV, + CI.component_Plate[2], cableTier2, CI.component_Plate[2], + RECIPE_BufferCore_LV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[3], cableTier3, CI.component_Plate[3], + RECIPE_BufferCore_LV, CI.circuitTier2, RECIPE_BufferCore_LV, + CI.component_Plate[3], cableTier3, CI.component_Plate[3], + RECIPE_BufferCore_MV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[4], cableTier4, CI.component_Plate[4], + RECIPE_BufferCore_MV, CI.circuitTier3, RECIPE_BufferCore_MV, + CI.component_Plate[4], cableTier4, CI.component_Plate[4], + RECIPE_BufferCore_HV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[5], cableTier5, CI.component_Plate[5], + RECIPE_BufferCore_HV, CI.circuitTier4, RECIPE_BufferCore_HV, + CI.component_Plate[5], cableTier5, CI.component_Plate[5], + RECIPE_BufferCore_EV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[6], cableTier6, CI.component_Plate[6], + RECIPE_BufferCore_EV, CI.circuitTier5, RECIPE_BufferCore_EV, + CI.component_Plate[6], cableTier6, CI.component_Plate[6], + RECIPE_BufferCore_IV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[7], cableTier7, CI.component_Plate[7], + RECIPE_BufferCore_IV, CI.circuitTier6, RECIPE_BufferCore_IV, + CI.component_Plate[7], cableTier7, CI.component_Plate[7], + RECIPE_BufferCore_LuV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[8], cableTier8, CI.component_Plate[8], + RECIPE_BufferCore_LuV, CI.circuitTier7, RECIPE_BufferCore_LuV, + CI.component_Plate[8], cableTier8, CI.component_Plate[8], + RECIPE_BufferCore_ZPM); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[9], cableTier9, CI.component_Plate[9], + RECIPE_BufferCore_ZPM, CI.circuitTier8, RECIPE_BufferCore_ZPM, + CI.component_Plate[9], cableTier9, CI.component_Plate[9], + RECIPE_BufferCore_UV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[10], cableTier10, CI.component_Plate[10], + RECIPE_BufferCore_UV, CI.circuitTier9, RECIPE_BufferCore_UV, + CI.component_Plate[10], cableTier10, CI.component_Plate[10], + RECIPE_BufferCore_MAX);*/ + + + /*RecipeUtils.addShapedGregtechRecipe( + wireTier1, RECIPE_BufferCore_ULV, wireTier1, + wireTier1, CI.machineCasing_ULV, wireTier1, + CI.circuitPrimitive, CI.circuitTier1, CI.circuitPrimitive, + RECIPE_Buffer_ULV); + RecipeUtils.addShapedGregtechRecipe( + wireTier2, RECIPE_BufferCore_LV, wireTier2, + wireTier2, CI.machineCasing_LV, wireTier2, + CI.circuitTier1, RECIPE_BufferCore_LV, CI.circuitTier1, + RECIPE_Buffer_LV); + RecipeUtils.addShapedGregtechRecipe( + wireTier3, RECIPE_BufferCore_MV, wireTier3, + wireTier3, CI.machineCasing_MV, wireTier3, + CI.circuitTier2, RECIPE_BufferCore_MV, CI.circuitTier2, + RECIPE_Buffer_MV); + RecipeUtils.addShapedGregtechRecipe( + wireTier4, RECIPE_BufferCore_HV, wireTier4, + wireTier4, CI.machineCasing_HV, wireTier4, + CI.circuitTier3, RECIPE_BufferCore_HV, CI.circuitTier3, + RECIPE_Buffer_HV); + RecipeUtils.addShapedGregtechRecipe( + wireTier5, RECIPE_BufferCore_EV, wireTier5, + wireTier5, CI.machineCasing_EV, wireTier5, + CI.circuitTier4, RECIPE_BufferCore_EV, CI.circuitTier4, + RECIPE_Buffer_EV); + RecipeUtils.addShapedGregtechRecipe( + wireTier6, RECIPE_BufferCore_IV, wireTier6, + wireTier6, CI.machineCasing_IV, wireTier6, + CI.circuitTier5, RECIPE_BufferCore_IV, CI.circuitTier5, + RECIPE_Buffer_IV); + RecipeUtils.addShapedGregtechRecipe( + wireTier7, RECIPE_BufferCore_LuV, wireTier7, + wireTier7, CI.machineCasing_LuV, wireTier7, + CI.circuitTier6, RECIPE_BufferCore_LuV, CI.circuitTier6, + RECIPE_Buffer_LuV); + RecipeUtils.addShapedGregtechRecipe( + wireTier8, RECIPE_BufferCore_ZPM, wireTier8, + wireTier8, CI.machineCasing_ZPM, wireTier8, + CI.circuitTier7, RECIPE_BufferCore_ZPM, CI.circuitTier7, + RECIPE_Buffer_ZPM); + RecipeUtils.addShapedGregtechRecipe( + wireTier9, RECIPE_BufferCore_UV, wireTier9, + wireTier9, CI.machineCasing_UV, wireTier9, + CI.circuitTier8, RECIPE_BufferCore_UV, CI.circuitTier8, + RECIPE_Buffer_UV); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[11], RECIPE_BufferCore_MAX, CI.component_Plate[11], + wireTier10, CI.machineCasing_MAX, wireTier10, + CI.circuitTier9, RECIPE_BufferCore_MAX, CI.circuitTier9, + RECIPE_Buffer_MAX);*/ + } + + + ItemStack[] aBufferOutput = new ItemStack[] { + RECIPE_Buffer_ULV, RECIPE_Buffer_LV, RECIPE_Buffer_MV, + RECIPE_Buffer_HV, RECIPE_Buffer_EV, RECIPE_Buffer_IV, + RECIPE_Buffer_LuV, RECIPE_Buffer_ZPM, RECIPE_Buffer_UV, RECIPE_Buffer_MAX }; + + + + ItemStack[] aOutput = new ItemStack[] { + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"1", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"2", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"3", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"4", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"5", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"6", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"7", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"8", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"9", 1), + ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"10", 1) + }; + + int aCostMultiplier = GTNH ? 4 : 1; + + for (int i = 0; i < 10; i++) { + + ItemStack aPrevTier = (i == 0 ? CI.getTieredMachineHull(4) : aOutput[i-1]); + aPrevTier.stackSize = GTNH ? 4 : 2; + int aTier = (i + 1); + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + aPrevTier, + CI.getTieredComponent(OrePrefixes.plate, aTier, 4 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.cableGt04, i, 2 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.circuit, aTier, 2 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.screw, aTier, 6 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.bolt, i, 12 * (GTNH ? 2 : 1)), + }, + CI.getTieredFluid(i, (144 * 4 * aTier)), //Input Fluid + aOutput[i], + 45 * 10 * 1 * (aTier), + MaterialUtils.getVoltageForTier(i)); + + //Energy Buffer + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + ItemUtils.getSimpleStack(aOutput[i], 4), + CI.getTieredComponent(OrePrefixes.plate, aTier, 8 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.wireGt08, i, 4 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.circuit, i, 4 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.stickLong, aTier, 4 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.gearGt, i, 5 * (GTNH ? 2 : 1)), + }, + CI.getTieredFluid(aTier, (144 * 16 * aTier)), //Input Fluid + aBufferOutput[i], + 45 * 20 * 1 * (aTier), + MaterialUtils.getVoltageForTier(i)); + } diff --git a/src/Java/gtPlusPlus/core/recipe/common/CI.java b/src/Java/gtPlusPlus/core/recipe/common/CI.java index dc156c6f91..5f334cdc71 100644 --- a/src/Java/gtPlusPlus/core/recipe/common/CI.java +++ b/src/Java/gtPlusPlus/core/recipe/common/CI.java @@ -1,29 +1,31 @@ package gtPlusPlus.core.recipe.common; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; - +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.material.ALLOY; +import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.recipe.LOADER_Machine_Components; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.xmod.eio.material.MaterialEIO; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import ic2.core.Ic2Items; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; public class CI { //null - public static ItemStack _NULL = ItemUtils.getSimpleStack(ModItems.AAA_Broken); + public static ItemStack _NULL = ItemUtils.getErrorStack(1); //bits public static long bits = GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE @@ -520,5 +522,265 @@ public class CI { public static ItemStack emptyCells(int i) { return ItemUtils.getEmptyCell(i); } + + + + /* + * + */ + + private static final Material[] aMaterial_Main = new Material[] { + MaterialEIO.REDSTONE_ALLOY, + ALLOY.POTIN, + ALLOY.ZIRCONIUM_CARBIDE, + ALLOY.EGLIN_STEEL, + ALLOY.INCONEL_792, + ALLOY.TUNGSTEN_TITANIUM_CARBIDE, + ALLOY.NITINOL_60, + ALLOY.ZERON_100, + ALLOY.PIKYONIUM, + ELEMENT.STANDALONE.ADVANCED_NITINOL, + ALLOY.ABYSSAL, + ALLOY.QUANTUM + }; + + private static final Material[] aMaterial_Secondary = new Material[] { + ELEMENT.getInstance().LEAD, + ALLOY.TUMBAGA, + ALLOY.SILICON_CARBIDE, + ALLOY.TUNGSTEN_CARBIDE, + ALLOY.INCONEL_690, + ALLOY.STELLITE, + ALLOY.ARCANITE, + ALLOY.LAFIUM, + ALLOY.CINOBITE, + ALLOY.TITANSTEEL, + ALLOY.OCTIRON, + ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN + }; + + private static final Material[] aMaterial_Tertiary = new Material[] { + ELEMENT.getInstance().IRON, + ALLOY.STEEL, + ELEMENT.getInstance().ALUMINIUM, + ALLOY.STAINLESSSTEEL, + ELEMENT.getInstance().TUNGSTEN, + ALLOY.HASTELLOY_N, + ALLOY.ENERGYCRYSTAL, + ALLOY.TRINIUM_NAQUADAH_CARBON, + ALLOY.TRINIUM_REINFORCED_STEEL, //Arceus + ALLOY.TITANSTEEL, + ELEMENT.STANDALONE.ASTRAL_TITANIUM, + ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN + }; + + private static final Materials[] aMaterial_Cables = new Materials[] { + (CORE.ConfigSwitches.enableCustom_Cables && LoadedMods.EnderIO) ? Materials.RedstoneAlloy : CORE.GTNH ? Materials.Lead : Materials.Tin, + Materials.Cobalt, + Materials.AnnealedCopper, + Materials.Gold, + Materials.Titanium, + Materials.Nichrome, + Materials.Platinum, + Materials.YttriumBariumCuprate, + Materials.Naquadah, + Materials.Duranium, + Materials.Superconductor, + }; + + private static final Materials[] aMaterial_Circuits = new Materials[] { + Materials.Primitive, + Materials.Basic, + Materials.Good, + Materials.Advanced, + Materials.Data, + Materials.Data, + Materials.Elite, + Materials.Master, + Materials.Ultimate, + Materials.Superconductor, + Materials.Infinite, + }; + + private static final Material[][] aMaster = new Material[][] {aMaterial_Main, aMaterial_Secondary, aMaterial_Tertiary}; + + + public static FluidStack getTieredFluid(int aTier, int aAmount) { + ItemStack aCell = getTieredComponent(OrePrefixes.liquid, aTier, 1); + FluidStack a = GT_Utility.getFluidForFilledItem(aCell, true); + if (a == null) { + a = aMaster[0][aTier].getFluid(aAmount); + } + a.amount = aAmount; + return a; + } + + public static ItemStack getTieredComponent(OrePrefixes aPrefix, int aTier, int aAmount) { + aTier = Math.max(0, aTier); + + Material m = null; + + + + + + + if (aPrefix == OrePrefixes.liquid) { + int aMatID = (aTier == 0 || aTier == 2 || aTier == 5 || aTier == 8 ? 0 : (aTier == 1 || aTier == 3 || aTier == 6 || aTier == 9 ? 1 : 2)); + ItemStack aCell = aMaster[aMatID][aTier].getCell(aAmount); + return aCell; + } + + if (aPrefix == OrePrefixes.circuit) { + if (aTier == 4) { + return ItemUtils.getSimpleStack(CI.getDataStick(), aAmount); + } + else if (aTier == 5) { + return ItemUtils.getSimpleStack(CI.getDataOrb(), aAmount); + } + return ItemUtils.getOrePrefixStack(OrePrefixes.circuit, aMaterial_Circuits[aTier], aAmount); + } + + //Check for Cables first, catch SuperConductor case and swap to wire. + if (aPrefix == OrePrefixes.cableGt01 || aPrefix == OrePrefixes.cableGt02 || aPrefix == OrePrefixes.cableGt04 || aPrefix == OrePrefixes.cableGt08 || aPrefix == OrePrefixes.cableGt12) { + //Special Handler + if (aTier == 10) { + if (aPrefix == OrePrefixes.cableGt01) { + aPrefix = OrePrefixes.wireGt02; + } + else if (aPrefix == OrePrefixes.cableGt02) { + aPrefix = OrePrefixes.wireGt04; + } + else if (aPrefix == OrePrefixes.cableGt04) { + aPrefix = OrePrefixes.wireGt08; + } + else if (aPrefix == OrePrefixes.cableGt08) { + aPrefix = OrePrefixes.wireGt12; + } + else if (aPrefix == OrePrefixes.cableGt12) { + aPrefix = OrePrefixes.wireGt16; + } + } + else { + return ItemUtils.getOrePrefixStack(aPrefix, aMaterial_Cables[aTier], aAmount); + } + + + } + if (aPrefix == OrePrefixes.wireGt01 || aPrefix == OrePrefixes.wireGt02 || aPrefix == OrePrefixes.wireGt04 || aPrefix == OrePrefixes.wireGt08 || aPrefix == OrePrefixes.wireGt12 || aPrefix == OrePrefixes.wireGt16) { + return ItemUtils.getOrePrefixStack(aPrefix, aMaterial_Cables[aTier], aAmount); + } + + if (aPrefix == OrePrefixes.pipeTiny || aPrefix == OrePrefixes.pipeSmall || aPrefix == OrePrefixes.pipe || aPrefix == OrePrefixes.pipeMedium || aPrefix == OrePrefixes.pipeLarge || aPrefix == OrePrefixes.pipeHuge) { + if (aTier == 0) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.Lead, aAmount); + } + else if (aTier == 1) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.Steel, aAmount); + } + else if (aTier == 2) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.StainlessSteel, aAmount); + } + else if (aTier == 3) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.Tungsten, aAmount); + } + else if (aTier == 4) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.TungstenSteel, aAmount); + } + else if (aTier == 5) { + return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.MARAGING350, aAmount); + } + else if (aTier == 6) { + return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.STABALLOY, aAmount); + } + else if (aTier == 7) { + return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.HASTELLOY_X, aAmount); + } + else if (aTier == 8) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.Ultimate, aAmount); + } + else if (aTier == 9) { + return ItemUtils.getOrePrefixStack(OrePrefixes.pipeMedium, Materials.Superconductor, aAmount); + } + else if (aTier == 10) { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.Europium, aAmount); + } + else { + return ItemUtils.getOrePrefixStack(aPrefix, Materials.Titanium, aAmount); + } + } + + ItemStack aTempStack = null; + + if (aPrefix == OrePrefixes.gear || aPrefix == OrePrefixes.gearGt) { + m = aMaster[0][aTier]; + } + else if (aPrefix == OrePrefixes.rod || aPrefix == OrePrefixes.stick) { + m = aMaster[0][aTier]; + } + else if (aPrefix == OrePrefixes.stickLong) { + m = aMaster[1][aTier]; + } + else if (aPrefix == OrePrefixes.bolt) { + m = aMaster[2][aTier]; + } + else if (aPrefix == OrePrefixes.screw) { + m = aMaster[0][aTier]; + } + else if (aPrefix == OrePrefixes.rotor) { + m = aMaster[1][aTier]; + } + else if (aPrefix == OrePrefixes.frame || aPrefix == OrePrefixes.frameGt) { + m = aMaster[2][aTier]; + } + else if (aPrefix == OrePrefixes.ingot) { + m = aMaster[1][aTier]; + } + else if (aPrefix == OrePrefixes.plate) { + m = aMaster[0][aTier]; + } + else if (aPrefix == OrePrefixes.plateDouble) { + m = aMaster[0][aTier]; + } + else if (aPrefix == OrePrefixes.ring) { + m = aMaster[2][aTier]; + } + else if (aPrefix == OrePrefixes.cell) { + m = aMaster[1][aTier]; + } + else { + m = aMaterial_Main[aTier]; + } + + ItemStack aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount); + + //If Invalid, Try First Material + if (!ItemUtils.checkForInvalidItems(aReturn)) { + m = aMaster[0][aTier]; + aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount); + + //If Invalid, Try Second Material + if (!ItemUtils.checkForInvalidItems(aReturn)) { + m = aMaster[1][aTier]; + aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount); + + //If Invalid, Try Third Material + if (!ItemUtils.checkForInvalidItems(aReturn)) { + m = aMaster[2][aTier]; + aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount); + + //All Invalid? Ok, shit. + //Let's add a special error ingot. + if (!ItemUtils.checkForInvalidItems(aReturn)) { + aReturn = ItemUtils.getErrorStack(1, (aPrefix.toString()+m.getLocalizedName()+" x"+aAmount)); + } + } + } + } + + return aReturn; + + + } } |