From 87f5c9648088ad8c5683f0d9ce99fadcd8052aad Mon Sep 17 00:00:00 2001 From: chochem <40274384+chochem@users.noreply.github.com> Date: Sun, 10 Sep 2023 01:00:27 +0100 Subject: Ra2ify gt++ Part 1 (#739) * another deprecation * agrichem ra2 * dehydrator coils * nuclear chem * general recipes * generic chem RA2 and NO,NO2 cleanup * start with gregtech recipes * another deprecation * more gregtech recipes * dont deprecate ABS yet, was just a mistake * gregtech recipes * even more gregtech recipes * finish assembler recipes * fuels and fluid extraction * centrifuge and mixer * chem recipes * compression and maceration * remove duplicate bending * blast furnace (remove a broken one) * AL recipes * distilling * baseitemingots * bee recipes and some cleanup * coke things * random one * cryo and pyro --- src/main/java/gtPlusPlus/core/item/ModItems.java | 8 +- .../core/item/base/ingots/BaseItemIngotHot.java | 11 +- .../core/item/base/ingots/BaseItemIngot_OLD.java | 7 +- .../core/item/chemistry/AgriculturalChem.java | 148 +- .../core/item/chemistry/GenericChem.java | 476 ++----- .../core/item/chemistry/NuclearChem.java | 33 +- .../gtPlusPlus/core/recipe/RECIPES_GREGTECH.java | 1438 +++++++++----------- .../gtPlusPlus/core/recipe/RECIPES_General.java | 73 +- .../core/util/reflect/AddGregtechRecipe.java | 1 + .../xmod/forestry/bees/custom/GTPP_Bees.java | 8 +- .../xmod/forestry/bees/custom/ItemCustomComb.java | 137 +- .../xmod/forestry/bees/items/output/GTPP_Drop.java | 9 +- .../forestry/bees/items/output/GTPP_Propolis.java | 11 +- .../interfaces/internal/IGregtech_RecipeAdder.java | 16 +- .../registration/gregtech/GregtechDehydrator.java | 16 +- .../xmod/railcraft/HANDLER_Railcraft.java | 39 +- .../recipe/TF_Gregtech_Recipes.java | 119 +- 17 files changed, 1012 insertions(+), 1538 deletions(-) (limited to 'src/main/java/gtPlusPlus') diff --git a/src/main/java/gtPlusPlus/core/item/ModItems.java b/src/main/java/gtPlusPlus/core/item/ModItems.java index 45dc15b3f2..f85e18b8d6 100644 --- a/src/main/java/gtPlusPlus/core/item/ModItems.java +++ b/src/main/java/gtPlusPlus/core/item/ModItems.java @@ -4,6 +4,8 @@ import static gregtech.api.enums.Mods.Forestry; import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.enums.Mods.GregTech; import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc; import net.minecraft.item.EnumRarity; @@ -700,7 +702,9 @@ public final class ModItems { temp1, null, true); - GT_Values.RA.addFluidExtractionRecipe(temp2, null, new FluidStack(fluidFertBasic, 36), 10000, 5, 16); + GT_Values.RA.stdBuilder().itemInputs(temp2).noItemOutputs().noFluidInputs() + .fluidOutputs(new FluidStack(fluidFertBasic, 36)).duration(5 * TICKS).eut(16) + .addTo(sFluidExtractionRecipes); } fluidFertUN32 = FluidUtils.generateFluidNonMolten( "UN32Fertiliser", @@ -871,7 +875,7 @@ public final class ModItems { public static void registerCustomMaterialComponents() { // Custom GT++ Crafting Components - /** + /* * Try generate dusts for missing rare earth materials if they don't exist */ if (!ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustGadolinium", 1))) { diff --git a/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java b/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java index b180a80f2b..94a84ed27d 100644 --- a/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java +++ b/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java @@ -2,6 +2,8 @@ package gtPlusPlus.core.item.base.ingots; import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.enums.Mods.GregTech; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sVacuumRecipes; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; @@ -12,6 +14,7 @@ import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.enums.GT_Values; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.item.base.BaseItemComponent; import gtPlusPlus.core.lib.CORE; @@ -51,11 +54,9 @@ public class BaseItemIngotHot extends BaseItemIngot { private void generateRecipe() { Logger.WARNING("Adding Vacuum Freezer recipe for a Hot Ingot of " + this.materialName + "."); - CORE.RA.addVacuumFreezerRecipe( - ItemUtils.getSimpleStack(this), - this.outputIngot.copy(), - (int) Math.max(this.componentMaterial.getMass() * 3L, 1L), - this.componentMaterial.vVoltageMultiplier); + GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(this)).itemOutputs(this.outputIngot.copy()) + .noFluidInputs().noFluidOutputs().duration(Math.max(this.componentMaterial.getMass() * 3L, 1L) * TICKS) + .eut(this.componentMaterial.vVoltageMultiplier).addTo(sVacuumRecipes); } @Override diff --git a/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java b/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java index 222f6e9c1a..dcb9738fd4 100644 --- a/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java +++ b/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java @@ -1,6 +1,8 @@ package gtPlusPlus.core.item.base.ingots; import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import net.minecraft.entity.Entity; import net.minecraft.item.Item; @@ -8,7 +10,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.util.GT_ModHandler; +import gregtech.api.enums.GT_Values; import gregtech.api.util.GT_OreDictUnificator; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.creative.AddToCreativeTab; @@ -78,7 +80,8 @@ public class BaseItemIngot_OLD extends Item { if ((temp != null) && !temp.equals("")) { tempOutput = ItemUtils.getItemStackOfAmountFromOreDict(temp, 1); if (tempOutput != null) { - GT_ModHandler.addCompressionRecipe(tempStack, tempOutput); + GT_Values.RA.stdBuilder().itemInputs(tempStack).itemOutputs(tempOutput).noFluidInputs() + .noFluidOutputs().duration(15 * SECONDS).eut(2).addTo(sCompressorRecipes); } } } else if (this.unlocalName.contains("itemHotIngot")) { diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java b/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java index effb10268a..1da1fb6bfc 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java @@ -3,6 +3,11 @@ package gtPlusPlus.core.item.chemistry; import static gregtech.api.enums.Mods.BiomesOPlenty; import static gregtech.api.enums.Mods.Forestry; import static gregtech.api.enums.Mods.TinkerConstruct; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import java.lang.reflect.Field; import java.util.ArrayList; @@ -17,13 +22,15 @@ import net.minecraftforge.oredict.OreDictionary; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; -import gtPlusPlus.api.helpers.MaterialHelper; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.api.objects.minecraft.ItemPackage; import gtPlusPlus.core.item.circuit.GTPP_IntegratedCircuit_Item; import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.minecraft.FluidUtils; @@ -166,7 +173,7 @@ public class AgriculturalChem extends ItemPackage { mAluminiumPellet = ItemUtils.simpleMetaStack(mAgrichemItem1, 17, 1); mSodiumAluminate = ItemUtils.simpleMetaStack(mAgrichemItem1, 18, 1); - /** + /* * If It exists, don't add a new one. */ if (OreDictionary.doesOreNameExist("dustSodiumHydroxide_GT5U") @@ -413,46 +420,26 @@ public class AgriculturalChem extends ItemPackage { ItemStack aDirtDust = ItemUtils.getSimpleStack(dustDirt, 1); // Poop Juice to Basic Slurry - GT_Values.RA.addCentrifugeRecipe( - CI.getNumberedCircuit(10), - null, - FluidUtils.getFluidStack(PoopJuice, 1000), // In - // Fluid - FluidUtils.getFluidStack(ManureSlurry, 250), // Out Fluid - aDirtDust, - aDirtDust, - aManureByprod1, - aManureByprod1, - aManureByprod1, - aManureByprod1, - new int[] { 2000, 2000, 500, 500, 250, 250 }, // Chances - 10 * 20, // Time - 30); // EU + GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(aDirtDust, aDirtDust, aManureByprod1, aManureByprod1, aManureByprod1, aManureByprod1) + .outputChances(2000, 2000, 500, 500, 250, 250).fluidInputs(FluidUtils.getFluidStack(PoopJuice, 1000)) + .fluidOutputs(FluidUtils.getFluidStack(ManureSlurry, 250)).duration(10 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(sCentrifugeRecipes); // More Efficient way to get byproducts, less Slurry - GT_Values.RA.addCentrifugeRecipe( - CI.getNumberedCircuit(20), - null, - FluidUtils.getFluidStack(PoopJuice, 1000), // In - // Fluid - FluidUtils.getFluidStack(ManureSlurry, 50), // Out Fluid - aDirtDust, - aDirtDust, - aManureByprod1, - aManureByprod1, - aManureByprod2, - aManureByprod2, - new int[] { 4000, 3000, 1250, 1250, 675, 675 }, // Chances - 20 * 20, // Time - 60); // EU + GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(aDirtDust, aDirtDust, aManureByprod1, aManureByprod1, aManureByprod2, aManureByprod2) + .outputChances(4000, 3000, 1250, 1250, 675, 675).fluidInputs(FluidUtils.getFluidStack(PoopJuice, 1000)) + .fluidOutputs(FluidUtils.getFluidStack(ManureSlurry, 50)).duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV / 2).addTo(sCentrifugeRecipes); } private static void addAdvancedSlurryRecipes() { - ItemStack aCircuit = CI.getNumberedCircuit(10); + ItemStack aCircuit = GT_Utility.getIntegratedCircuit(10); ItemStack aBone; ItemStack aMeat; - ItemStack aEmptyCells = CI.emptyCells(2); + ItemStack aEmptyCells = Materials.Empty.getCells(2); ItemStack aInputCells = ItemUtils.getItemStackOfAmountFromOreDict("cellRawAnimalWaste", 2); FluidStack aOutput = FluidUtils.getFluidStack(FertileManureSlurry, 1000); @@ -462,17 +449,9 @@ public class AgriculturalChem extends ItemPackage { for (ItemStack aMeatStack : mList_Master_Meats) { aMeat = ItemUtils.getSimpleStack(aMeatStack, 5); // Poop Juice to Fertile Slurry - GT_Values.RA.addMixerRecipe( - aCircuit, - aBone, - aMeat, - aInputCells, - aBloodStack, // Input Fluid - aOutput, // Output Fluid - aEmptyCells, // Output Item - 20 * 8, // Time? - 60 // Eu? - ); + GT_Values.RA.stdBuilder().itemInputs(aCircuit, aBone, aMeat, aInputCells).itemOutputs(aEmptyCells) + .fluidInputs(aBloodStack).fluidOutputs(aOutput).duration(8 * SECONDS) + .eut(TierEU.RECIPE_MV / 2).addTo(sMixerRecipes); } } } @@ -487,13 +466,14 @@ public class AgriculturalChem extends ItemPackage { aPeat = ItemUtils.getSimpleStack(aPeatStack, 3); for (ItemStack aMeatStack : mList_Master_Meats) { aMeat = ItemUtils.getSimpleStack(aMeatStack, 5); - CORE.RA.addChemicalRecipe(aPeat, aMeat, aInputFluid, null, aOutputDust, 20 * 20, 120); + GT_Values.RA.stdBuilder().itemInputs(aPeat, aMeat).itemOutputs(aOutputDust).fluidInputs(aInputFluid) + .noFluidOutputs().duration(20 * SECONDS).eut(TierEU.RECIPE_MV).addTo(UniversalChemical); } - aPeat = ItemUtils.getSimpleStack(aPeatStack, 2); for (ItemStack aMeatStack : mList_Master_FruitVege) { aMeat = ItemUtils.getSimpleStack(aMeatStack, 9); - CORE.RA.addChemicalRecipe(aPeat, aMeat, aInputFluid, null, aOutputDust, 10 * 20, 120); + GT_Values.RA.stdBuilder().itemInputs(aPeat, aMeat).itemOutputs(aOutputDust).fluidInputs(aInputFluid) + .noFluidOutputs().duration(10 * SECONDS).eut(TierEU.RECIPE_MV).addTo(UniversalChemical); } } } @@ -507,12 +487,14 @@ public class AgriculturalChem extends ItemPackage { aPeat = ItemUtils.getSimpleStack(aPeatStack, 5); for (ItemStack aMeatStack : mList_Master_Meats) { aMeat = ItemUtils.getSimpleStack(aMeatStack, 7); - CORE.RA.addChemicalRecipe(aPeat, aMeat, aInputFluid, null, aOutputDust, 10 * 20, 140); + GT_Values.RA.stdBuilder().itemInputs(aPeat, aMeat).itemOutputs(aOutputDust).fluidInputs(aInputFluid) + .noFluidOutputs().duration(10 * SECONDS).eut(140).addTo(UniversalChemical); } aPeat = ItemUtils.getSimpleStack(aPeatStack, 3); for (ItemStack aMeatStack : mList_Master_FruitVege) { aMeat = ItemUtils.getSimpleStack(aMeatStack, 12); - CORE.RA.addChemicalRecipe(aPeat, aMeat, aInputFluid, null, aOutputDust, 5 * 20, 140); + GT_Values.RA.stdBuilder().itemInputs(aPeat, aMeat).itemOutputs(aOutputDust).fluidInputs(aInputFluid) + .noFluidOutputs().duration(5 * SECONDS).eut(140).addTo(UniversalChemical); } } } @@ -527,7 +509,7 @@ public class AgriculturalChem extends ItemPackage { // Dehydrate Organise Fert to Normal Fert. - /** + /* * Forestry Support */ if (Forestry.isModLoaded()) { @@ -558,7 +540,7 @@ public class AgriculturalChem extends ItemPackage { } } - /** + /* * IC2 Support */ aFertIC2 = ItemUtils.getItemStackFromFQRN("IC2:itemFertilizer", 1); @@ -573,29 +555,25 @@ public class AgriculturalChem extends ItemPackage { 240); // Dirt Production - CORE.RA.addCompressorRecipe( - ItemUtils.getSimpleStack(dustDirt, 9), - ItemUtils.getSimpleStack(Blocks.dirt), - 20 * 2, - 8); + GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(dustDirt, 9)) + .itemOutputs(ItemUtils.getSimpleStack(Blocks.dirt)).noFluidInputs().noFluidOutputs() + .duration(2 * SECONDS).eut(8).addTo(sCompressorRecipes); // Centrifuge Byproducts // Ammonium Nitrate, Phosphates, Calcium, Copper, Carbon - GT_Values.RA.addCentrifugeRecipe( - CI.getNumberedCircuit(20), - ItemUtils.getSimpleStack(aManureByprod, 4), - FluidUtils.getFluidStack("sulfuricacid", 250), // In Fluid - FluidUtils.getFluidStack("sulfuricapatite", 50), // Out Fluid - MaterialHelper.getDustSmall(Materials.Phosphorus, 2), - MaterialHelper.getDustSmall(Materials.Calcium, 2), - MaterialHelper.getDustTiny(Materials.Copper, 1), - MaterialHelper.getDust(Materials.Carbon, 1), - ItemUtils.getSimpleStack(dustDirt, 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAmmoniumNitrate", 1), - new int[] { 2500, 2500, 750, 1000, 5000, 250 }, // Chances - 20 * 20, // Time - 60); // EU + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getSimpleStack(aManureByprod, 4), GT_Utility.getIntegratedCircuit(20)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Phosphorus, 2L), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Calcium, 2L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L), + ItemUtils.getSimpleStack(dustDirt, 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAmmoniumNitrate", 1)) + .outputChances(2500, 2500, 750, 1000, 5000, 250).fluidInputs(Materials.SulfuricAcid.getFluid(250)) + .fluidOutputs(FluidUtils.getFluidStack("sulfuricapatite", 50)).duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV / 2).addTo(sCentrifugeRecipes); // Add Fuel Usages CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(PoopJuice, 1000), 12); @@ -603,20 +581,18 @@ public class AgriculturalChem extends ItemPackage { CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(FertileManureSlurry, 1000), 32); // Red Slurry / Tailings Processing - GT_Values.RA.addCentrifugeRecipe( - CI.getNumberedBioCircuit(10), - GT_Values.NI, - FluidUtils.getFluidStack(AgriculturalChem.RedMud, 1000), - FluidUtils.getWater(500), - ELEMENT.getInstance().IRON.getSmallDust(1), - ELEMENT.getInstance().COPPER.getSmallDust(1), - ELEMENT.getInstance().TIN.getSmallDust(1), - ELEMENT.getInstance().SULFUR.getSmallDust(1), - ELEMENT.getInstance().NICKEL.getTinyDust(1), - ELEMENT.getInstance().LEAD.getTinyDust(1), - new int[] { 3000, 3000, 2000, 2000, 1000, 1000 }, - 30 * 20, - 30); + GT_Values.RA.stdBuilder().itemInputs(CI.getNumberedBioCircuit(10)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Iron, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Copper, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Tin, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Sulfur, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Nickel, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1L)) + .outputChances(3000, 3000, 2000, 2000, 1000, 1000) + .fluidInputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 1000)) + .fluidOutputs(Materials.Water.getFluid(500)).duration(30 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(sCentrifugeRecipes); } @Override diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java b/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java index 3249b2da0e..99229211ad 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java @@ -1,5 +1,13 @@ package gtPlusPlus.core.item.chemistry; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBlastRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; +import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; + import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -12,7 +20,10 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TextureSet; +import gregtech.api.enums.TierEU; import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_RecipeConstants; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.minecraft.ItemPackage; import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase; @@ -35,24 +46,10 @@ import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; public class GenericChem extends ItemPackage { - /** - * Switches - */ - private static boolean usingGregtechNitricOxide = false; - - private static boolean usingGregtechNitrogenDioxide = false; - /** * Materials */ - // public static final Material BAKELITE = new Material("Bakelite", MaterialState.SOLID, TextureSet.SET_DULL, new - // short[]{90, 140, 140}, 120, 240, 23, 24, true, null, 0);//Not a GT Inherited Material - // public static final Material NYLON = new Material("Nylon", MaterialState.SOLID, TextureSet.SET_SHINY, new - // short[]{45, 45, 45}, 300, 600, 44, 48, true, null, 0);//Not a GT Inherited Material - // public static final Material CARBYNE = new Material("Carbyne", MaterialState.SOLID, TextureSet.SET_DULL, new - // short[]{25, 25, 25}, 2500, 5000, 63, 52, true, null, 0);//Not a GT Inherited Material - // Refined PTFE public static final Material TEFLON = new Material( "Teflon", @@ -91,8 +88,6 @@ public class GenericChem extends ItemPackage { public static Fluid Ethylanthrahydroquinone2; public static Fluid Hydrogen_Peroxide; public static Fluid Lithium_Peroxide; - public static Fluid Nitric_Oxide; - public static Fluid Nitrogen_Dioxide; public static Fluid Carbon_Disulfide; /** @@ -329,24 +324,6 @@ public class GenericChem extends ItemPackage { null, null); - if (FluidRegistry.isFluidRegistered("nitricoxide")) { - Nitric_Oxide = FluidRegistry.getFluid("nitricoxide"); - usingGregtechNitricOxide = true; - } else { - Nitric_Oxide = FluidUtils - .generateFluidNoPrefix("nitricoxide", "Nitric Oxide", 200, new short[] { 125, 200, 240, 100 }); - } - if (FluidRegistry.isFluidRegistered("nitrogendioxide")) { - Nitrogen_Dioxide = FluidRegistry.getFluid("nitrogendioxide"); - usingGregtechNitrogenDioxide = true; - } else { - Nitrogen_Dioxide = FluidUtils.generateFluidNoPrefix( - "nitrogendioxide", - "Nitrogen Dioxide", - 200, - new short[] { 100, 175, 255, 100 }); - } - // Lithium Hydroperoxide - LiOH + H2O2 → LiOOH + 2 H2O // ItemUtils.generateSpecialUseDusts("LithiumHydroperoxide", "Lithium Hydroperoxide", "HLiO2", // Utils.rgbtoHexValue(125, 125, 125)); @@ -398,18 +375,6 @@ public class GenericChem extends ItemPackage { recipeHydrogenPeroxide(); recipeLithiumHydroperoxide(); recipeLithiumPeroxide(); - // The follow is using alk science, ignore them - if (!usingGregtechNitricOxide) { - recipeNitricOxide(); - } - if (!usingGregtechNitrogenDioxide) { - recipeNitrogenDioxide(); - } - - // Add recipes if we are not using GT's fluid. - if (!FluidRegistry.isFluidRegistered("hydrochloricacid_gt5u")) { - recipeHydrochloricAcid(); - } recipeSodiumEthoxide(); recipeCarbonDisulfide(); @@ -475,15 +440,13 @@ public class GenericChem extends ItemPackage { private void recipeCarbonDisulfide() { - CORE.RA.addBlastRecipe( - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 8), - ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 16) }, - new FluidStack[] {}, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustDarkAsh", 1) }, - new FluidStack[] { FluidUtils.getFluidStack(Carbon_Disulfide, 4000) }, - 20 * 60 * 10, - 30, - 1500); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 8), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 16L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 1L)).noFluidInputs() + .fluidOutputs(FluidUtils.getFluidStack(Carbon_Disulfide, 4000)).duration(10 * MINUTES) + .eut(TierEU.RECIPE_LV).metadata(COIL_HEAT, 1500).addTo(sBlastRecipes); CORE.RA.addChemicalPlantRecipe( new ItemStack[] { CI.getNumberedCircuit(20), ItemUtils.getSimpleStack(mBrownCatalyst, 0), @@ -518,229 +481,29 @@ public class GenericChem extends ItemPackage { // Burnables // Gas Fuels - GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellNitrobenzene", 1), null, 1600, 1); + GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("cellNitrobenzene", 1)) + .noItemOutputs().noFluidInputs().noFluidOutputs().metadata(FUEL_VALUE, 1600).metadata(FUEL_TYPE, 1) + .duration(0).eut(0).addTo(GT_RecipeConstants.Fuel); } private void recipeGrindingBallAlumina() { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), ItemUtils.getSimpleStack(AgriculturalChem.mAlumina, 64) }, - FluidUtils.getFluidStack(GenericChem.Aniline, 4000), - ItemUtils.getSimpleStack(mMillingBallAlumina, 8), - 180 * 20, - 480); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(AgriculturalChem.mAlumina, 64), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemUtils.getSimpleStack(mMillingBallAlumina, 8)) + .fluidInputs(FluidUtils.getFluidStack(GenericChem.Aniline, 4000)).noFluidOutputs().duration(3 * MINUTES) + .eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); } private void recipeGrindingBallSoapstone() { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), - ItemUtils.getItemStackOfAmountFromOreDict("dustSoapstone", 32) }, - FluidUtils.getFluidStack(AgrichemFluids.mLiquidResin, 2500), - ItemUtils.getSimpleStack(mMillingBallSoapstone, 8), - 120 * 20, - 480); - } - - // The follow is using alk science, ignore them - private void recipeNitrogenDioxide() { - ItemStack aNitricOxideCell = ItemUtils.getItemStackOfAmountFromOreDict("cellNitricOxide", 1); - ItemStack aNitrogenDioxideCell = ItemUtils.getItemStackOfAmountFromOreDict("cellNitrogenDioxide", 1); - GT_Values.RA.addChemicalRecipe( - ItemUtils.getSimpleStack(aNitricOxideCell, 2), - GT_Utility.getIntegratedCircuit(1), - ELEMENT.getInstance().OXYGEN.getFluidStack(1000), - FluidUtils.getFluidStack(Nitrogen_Dioxide, 3000), - CI.emptyCells(2), - 160); - GT_Values.RA.addChemicalRecipe( - ELEMENT.getInstance().OXYGEN.getCell(1), - GT_Utility.getIntegratedCircuit(1), - FluidUtils.getFluidStack(Nitric_Oxide, 2000), - FluidUtils.getFluidStack(Nitrogen_Dioxide, 3000), - CI.emptyCells(1), - 160); - GT_Values.RA.addChemicalRecipeForBasicMachineOnly( - ItemUtils.getSimpleStack(aNitricOxideCell, 2), - CI.emptyCells(1), - ELEMENT.getInstance().OXYGEN.getFluidStack(1000), - GT_Values.NF, - ItemUtils.getSimpleStack(aNitrogenDioxideCell, 3), - GT_Values.NI, - 160, - 30); - GT_Values.RA.addChemicalRecipeForBasicMachineOnly( - ELEMENT.getInstance().OXYGEN.getCell(1), - CI.emptyCells(2), - FluidUtils.getFluidStack(Nitric_Oxide, 2000), - GT_Values.NF, - ItemUtils.getSimpleStack(aNitrogenDioxideCell, 3), - GT_Values.NI, - 160, - 30); - GT_Values.RA.addChemicalRecipeForBasicMachineOnly( - ItemUtils.getSimpleStack(aNitricOxideCell, 2), - ELEMENT.getInstance().OXYGEN.getCell(1), - GT_Values.NF, - GT_Values.NF, - ItemUtils.getSimpleStack(aNitrogenDioxideCell, 3), - GT_Values.NI, - 160, - 30); - } - - // The follow is using alk science, ignore them - private void recipeNitricOxide() { - ItemStack aWaterCell = ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 1); - ItemStack aNitricOxideCell = ItemUtils.getItemStackOfAmountFromOreDict("cellNitricOxide", 1); - GT_Values.RA.addChemicalRecipeForBasicMachineOnly( - MISC_MATERIALS.AMMONIA.getCell(8), - CI.emptyCells(1), - ELEMENT.getInstance().OXYGEN.getFluidStack(5000), - FluidUtils.getFluidStack(Nitric_Oxide, 4000), - ItemUtils.getSimpleStack(aWaterCell, 9), - GT_Values.NI, - 160, - 30); - GT_Values.RA.addChemicalRecipeForBasicMachineOnly( - ELEMENT.getInstance().OXYGEN.getCell(5), - CI.emptyCells(4), - MISC_MATERIALS.AMMONIA.getFluidStack(8000), - FluidUtils.getFluidStack(Nitric_Oxide, 4000), - ItemUtils.getSimpleStack(aWaterCell, 9), - GT_Values.NI, - 160, - 30); - GT_Values.RA.addChemicalRecipe( - MISC_MATERIALS.AMMONIA.getCell(8), - GT_Utility.getIntegratedCircuit(11), - ELEMENT.getInstance().OXYGEN.getFluidStack(5000), - FluidUtils.getWater(9000), - ItemUtils.getSimpleStack(aNitricOxideCell, 4), - CI.emptyCells(4), - 160); - GT_Values.RA.addChemicalRecipe( - ELEMENT.getInstance().OXYGEN.getCell(5), - GT_Utility.getIntegratedCircuit(11), - MISC_MATERIALS.AMMONIA.getFluidStack(8000), - FluidUtils.getWater(9000), - ItemUtils.getSimpleStack(aNitricOxideCell, 4), - CI.emptyCells(1), - 160); - GT_Values.RA.addChemicalRecipe( - MISC_MATERIALS.AMMONIA.getCell(8), - GT_Utility.getIntegratedCircuit(2), - ELEMENT.getInstance().OXYGEN.getFluidStack(5000), - FluidUtils.getFluidStack(Nitric_Oxide, 4000), - CI.emptyCells(8), - 320); - GT_Values.RA.addChemicalRecipe( - ELEMENT.getInstance().OXYGEN.getCell(5), - GT_Utility.getIntegratedCircuit(2), - MISC_MATERIALS.AMMONIA.getFluidStack(8000), - FluidUtils.getFluidStack(Nitric_Oxide, 4000), - CI.emptyCells(5), - 320); - GT_Values.RA.addChemicalRecipe( - MISC_MATERIALS.AMMONIA.getCell(8), - GT_Utility.getIntegratedCircuit(12), - ELEMENT.getInstance().OXYGEN.getFluidStack(5000), - GT_Values.NF, - ItemUtils.getSimpleStack(aNitricOxideCell, 4), - CI.emptyCells(4), - 160); - GT_Values.RA.addChemicalRecipe( - ELEMENT.getInstance().OXYGEN.getCell(5), - GT_Utility.getIntegratedCircuit(12), - MISC_MATERIALS.AMMONIA.getFluidStack(8000), - GT_Values.NF, - ItemUtils.getSimpleStack(aNitricOxideCell, 4), - CI.emptyCells(1), - 160); - GT_Values.RA.addChemicalRecipeForBasicMachineOnly( - MISC_MATERIALS.AMMONIA.getCell(8), - ELEMENT.getInstance().OXYGEN.getCell(5), - GT_Values.NF, - GT_Values.NF, - ItemUtils.getSimpleStack(aNitricOxideCell, 4), - ItemUtils.getSimpleStack(aWaterCell, 9), - 160, - 30); - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(1) }, - new FluidStack[] { MISC_MATERIALS.AMMONIA.getFluidStack(8000), - ELEMENT.getInstance().OXYGEN.getFluidStack(5000) }, - new FluidStack[] { FluidUtils.getFluidStack(Nitric_Oxide, 4000), FluidUtils.getWater(9000) }, - null, - 160, - 30); - } - - // The follow is using alk science, ignore them - private void recipeHydrochloricAcid() { - - ItemStack aAcidCell = ItemUtils.getItemStackOfAmountFromOreDict("cellHydrochloricAcid", 1); - - CORE.RA.addChemicalRecipe( - ELEMENT.getInstance().CHLORINE.getCell(1), - GT_Utility.getIntegratedCircuit(1), - ELEMENT.getInstance().HYDROGEN.getFluidStack(1000), - FluidUtils.getFluidStack(HydrochloricAcid, 2000), - CI.emptyCells(1), - 60, - 8); - - CORE.RA.addChemicalRecipe( - ELEMENT.getInstance().HYDROGEN.getCell(1), - GT_Utility.getIntegratedCircuit(1), - ELEMENT.getInstance().CHLORINE.getFluidStack(1000), - FluidUtils.getFluidStack(HydrochloricAcid, 2000), - CI.emptyCells(1), - 60, - 8); - - GT_Values.RA.addElectrolyzerRecipe( - CI.emptyCells(1), - GT_Utility.getIntegratedCircuit(1), - FluidUtils.getFluidStack(HydrochloricAcid, 2000), - ELEMENT.getInstance().CHLORINE.getFluidStack(1000), - ELEMENT.getInstance().HYDROGEN.getCell(1), - GT_Values.NI, - GT_Values.NI, - GT_Values.NI, - GT_Values.NI, - GT_Values.NI, - null, - 720, - 30); - - GT_Values.RA.addElectrolyzerRecipe( - CI.emptyCells(1), - GT_Utility.getIntegratedCircuit(11), - FluidUtils.getFluidStack(HydrochloricAcid, 2000), - ELEMENT.getInstance().HYDROGEN.getFluidStack(1000), - ELEMENT.getInstance().CHLORINE.getCell(1), - GT_Values.NI, - GT_Values.NI, - GT_Values.NI, - GT_Values.NI, - GT_Values.NI, - null, - 720, - 30); - - GT_Values.RA.addElectrolyzerRecipe( - ItemUtils.getSimpleStack(aAcidCell, 2), - GT_Values.NI, - GT_Values.NF, - GT_Values.NF, - ELEMENT.getInstance().HYDROGEN.getCell(1), - ELEMENT.getInstance().CHLORINE.getCell(1), - GT_Values.NI, - GT_Values.NI, - GT_Values.NI, - GT_Values.NI, - null, - 720, - 30); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Soapstone, 32L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemUtils.getSimpleStack(mMillingBallSoapstone, 8)) + .fluidInputs(FluidUtils.getFluidStack(AgrichemFluids.mLiquidResin, 2500)).noFluidOutputs() + .duration(2 * MINUTES).eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); } private void recipeCyclohexane() { @@ -781,113 +544,122 @@ public class GenericChem extends ItemPackage { } private void recipeCatalystRed() { - // Assembly Recipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { getTierOneChip(), CI.getEmptyCatalyst(10), ELEMENT.getInstance().IRON.getDust(2), - ELEMENT.getInstance().COPPER.getDust(2), }, - GT_Values.NF, - ItemUtils.getSimpleStack(mRedCatalyst, 10), - 20 * 20, - 30); + // Assembler Recipe + GT_Values.RA.stdBuilder() + .itemInputs( + getTierOneChip(), + CI.getEmptyCatalyst(10), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 2L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 2L)) + .itemOutputs(ItemUtils.getSimpleStack(mRedCatalyst, 10)).noFluidInputs().noFluidOutputs() + .duration(20 * SECONDS).eut(TierEU.RECIPE_LV).addTo(sAssemblerRecipes); } private void recipeCatalystYellow() { - // Assembly Recipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { getTierThreeChip(), CI.getEmptyCatalyst(10), - ELEMENT.getInstance().TUNGSTEN.getDust(4), ELEMENT.getInstance().NICKEL.getDust(4), }, - GT_Values.NF, - ItemUtils.getSimpleStack(mYellowCatalyst, 10), - 60 * 20, - 2000); + // Assembler Recipe + GT_Values.RA.stdBuilder() + .itemInputs( + getTierThreeChip(), + CI.getEmptyCatalyst(10), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 4L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 4L)) + .itemOutputs(ItemUtils.getSimpleStack(mYellowCatalyst, 10)).noFluidInputs().noFluidOutputs() + .duration(1 * MINUTES).eut(TierEU.RECIPE_EV).addTo(sAssemblerRecipes); } private void recipeCatalystBlue() { - // Assembly Recipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { getTierTwoChip(), CI.getEmptyCatalyst(10), ELEMENT.getInstance().COBALT.getDust(3), - ELEMENT.getInstance().TITANIUM.getDust(3), }, - GT_Values.NF, - ItemUtils.getSimpleStack(mBlueCatalyst, 10), - 40 * 20, - 500); + // Assembler Recipe + GT_Values.RA.stdBuilder() + .itemInputs( + getTierTwoChip(), + CI.getEmptyCatalyst(10), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 3L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 3L)) + .itemOutputs(ItemUtils.getSimpleStack(mBlueCatalyst, 10)).noFluidInputs().noFluidOutputs() + .duration(40 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); } private void recipeCatalystOrange() { - // Assembly Recipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { getTierTwoChip(), CI.getEmptyCatalyst(10), ELEMENT.getInstance().VANADIUM.getDust(5), - ELEMENT.getInstance().PALLADIUM.getDust(5), }, - GT_Values.NF, - ItemUtils.getSimpleStack(mOrangeCatalyst, 10), - 40 * 20, - 500); + // Assembler Recipe + GT_Values.RA.stdBuilder() + .itemInputs( + getTierTwoChip(), + CI.getEmptyCatalyst(10), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 5L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Palladium, 5L)) + .itemOutputs(ItemUtils.getSimpleStack(mOrangeCatalyst, 10)).noFluidInputs().noFluidOutputs() + .duration(40 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); } private void recipeCatalystPurple() { - // Assembly Recipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { getTierFourChip(), CI.getEmptyCatalyst(10), ELEMENT.getInstance().IRIDIUM.getDust(6), - ELEMENT.getInstance().RUTHENIUM.getDust(6), }, - GT_Values.NF, - ItemUtils.getSimpleStack(mPurpleCatalyst, 10), - 120 * 20, - 8000); + // Assembler Recipe + GT_Values.RA.stdBuilder() + .itemInputs( + getTierFourChip(), + CI.getEmptyCatalyst(10), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 6L), + ELEMENT.getInstance().RUTHENIUM.getDust(6)) + .itemOutputs(ItemUtils.getSimpleStack(mPurpleCatalyst, 10)).noFluidInputs().noFluidOutputs() + .duration(2 * MINUTES).eut(TierEU.RECIPE_IV).addTo(sAssemblerRecipes); } private void recipeCatalystBrown() { - // Assembly Recipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { getTierOneChip(), CI.getEmptyCatalyst(10), ELEMENT.getInstance().NICKEL.getDust(4), - ELEMENT.getInstance().ALUMINIUM.getDust(4), }, - GT_Values.NF, - ItemUtils.getSimpleStack(mBrownCatalyst, 10), - 15 * 20, - 30); + // Assembler Recipe + GT_Values.RA.stdBuilder() + .itemInputs( + getTierOneChip(), + CI.getEmptyCatalyst(10), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 4L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4L)) + .itemOutputs(ItemUtils.getSimpleStack(mBrownCatalyst, 10)).noFluidInputs().noFluidOutputs() + .duration(15 * SECONDS).eut(TierEU.RECIPE_LV).addTo(sAssemblerRecipes); } private void recipeCatalystPink() { - // Assembly Recipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { getTierThreeChip(), CI.getEmptyCatalyst(10), - ELEMENT.getInstance().PLATINUM.getDust(4), ELEMENT.getInstance().RHODIUM.getDust(4), }, - GT_Values.NF, - ItemUtils.getSimpleStack(mPinkCatalyst, 10), - 30 * 20, - 2000); + // Assembler Recipe + GT_Values.RA.stdBuilder() + .itemInputs( + getTierThreeChip(), + CI.getEmptyCatalyst(10), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 4L), + ELEMENT.getInstance().RHODIUM.getDust(4)) + .itemOutputs(ItemUtils.getSimpleStack(mFormaldehydeCatalyst, 4)).noFluidInputs().noFluidOutputs() + .duration(30 * SECONDS).eut(TierEU.RECIPE_HV / 2).addTo(sAssemblerRecipes); } private void recipeCatalystFormaldehyde() { - // Assembly Recipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { getTierThreeChip(), CI.getEmptyCatalyst(4), - ItemUtils.getSimpleStack(RocketFuels.Formaldehyde_Catalyst_Dust, 8) }, - GT_Values.NF, - ItemUtils.getSimpleStack(mFormaldehydeCatalyst, 4), - 30 * 20, - 240); + // Assembler Recipe + GT_Values.RA.stdBuilder() + .itemInputs( + getTierThreeChip(), + CI.getEmptyCatalyst(4), + ItemUtils.getSimpleStack(RocketFuels.Formaldehyde_Catalyst_Dust, 8)) + .itemOutputs(ItemUtils.getSimpleStack(mBrownCatalyst, 10)).noFluidInputs().noFluidOutputs() + .duration(15 * SECONDS).eut(TierEU.RECIPE_LV).addTo(sAssemblerRecipes); } private void recipeCatalystSolidAcid() { - // Assembly Recipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { getTierThreeChip(), CI.getEmptyCatalyst(5), - ItemUtils.getItemStackOfAmountFromOreDict("dustLapis", 2) }, - MISC_MATERIALS.SOLID_ACID_MIXTURE.getFluidStack(1000), - ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 5), - 30 * 20, - 2000); + // Assembler Recipe + GT_Values.RA.stdBuilder() + .itemInputs( + getTierThreeChip(), + CI.getEmptyCatalyst(5), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lapis, 2L)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 5)) + .fluidInputs(MISC_MATERIALS.SOLID_ACID_MIXTURE.getFluidStack(1000)).noFluidOutputs() + .duration(30 * SECONDS).eut(TierEU.RECIPE_EV).addTo(sAssemblerRecipes); } private void recipeCatalystInfiniteMutation() { - // Assembly Recipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { getTierThreeChip(), CI.getEmptyCatalyst(5), Materials.Infinity.getDust(1), - Materials.Naquadria.getDust(10) }, - GT_Values.NF, - ItemUtils.getSimpleStack(GenericChem.mInfiniteMutationCatalyst, 5), - 5 * 20, - 1966080); + // Assembler Recipe + GT_Values.RA.stdBuilder() + .itemInputs( + getTierThreeChip(), + CI.getEmptyCatalyst(5), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Infinity, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadria, 10L)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mInfiniteMutationCatalyst, 5)).noFluidInputs() + .noFluidOutputs().duration(5 * SECONDS).eut(TierEU.RECIPE_UHV).addTo(sAssemblerRecipes); } private void recipeCadaverineAndPutrescine() { diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/NuclearChem.java b/src/main/java/gtPlusPlus/core/item/chemistry/NuclearChem.java index 0096f48148..1a2bc6bd24 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/NuclearChem.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/NuclearChem.java @@ -1,13 +1,18 @@ package gtPlusPlus.core.item.chemistry; -import net.minecraft.init.Items; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; + import net.minecraftforge.fluids.Fluid; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.minecraft.ItemPackage; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; public class NuclearChem extends ItemPackage { @@ -79,20 +84,18 @@ public class NuclearChem extends ItemPackage { @Override public boolean generateRecipes() { if (generateMutagenRecipe) { - chemReator_CreateMutagen(); + chemReactor_CreateMutagen(); } return true; } - private static void chemReator_CreateMutagen() { - CORE.RA.addChemicalRecipe( - CI.getNumberedCircuit(20), - ItemUtils.getSimpleStack(Items.nether_star, 2), - FluidUtils.getMobEssence(5000), - FluidUtils.getFluidStack(GeneticMutagen, 8000), - null, - 30 * 20, - 500); + private static void chemReactor_CreateMutagen() { + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherStar, 2), + GT_Utility.getIntegratedCircuit(20)) + .noItemOutputs().fluidInputs(FluidUtils.getMobEssence(5000)) + .fluidOutputs(FluidUtils.getFluidStack(GeneticMutagen, 8000)).duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV).addTo(UniversalChemical); } - } diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index 57a2ed8345..2ecaa0fd17 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -3,6 +3,41 @@ package gtPlusPlus.core.recipe; import static gregtech.api.enums.Mods.Backpack; import static gregtech.api.enums.Mods.Baubles; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBlastRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBrewingRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCutterRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sDistillationRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sDistilleryRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtruderRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFusionRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sVacuumRecipes; +import static gregtech.api.util.GT_RecipeBuilder.BUCKETS; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; +import static gregtech.api.util.GT_RecipeBuilder.INGOTS; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; +import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; +import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; +import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -16,6 +51,8 @@ import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_RecipeConstants; +import gregtech.api.util.GT_Utility; import gregtech.api.util.HotFuel; import gregtech.api.util.ThermalFuel; import gtPlusPlus.api.objects.Logger; @@ -52,27 +89,21 @@ public class RECIPES_GREGTECH { private static void execute() { electrolyzerRecipes(); assemblerRecipes(); - fluidcannerRecipes(); + fluidCannerRecipes(); distilleryRecipes(); extractorRecipes(); fluidExtractorRecipes(); - chemicalBathRecipes(); chemicalReactorRecipes(); dehydratorRecipes(); blastFurnaceRecipes(); largeChemReactorRecipes(); fusionRecipes(); - fissionFuelRecipes(); - autoclaveRecipes(); compressorRecipes(); mixerRecipes(); macerationRecipes(); centrifugeRecipes(); - benderRecipes(); cyclotronRecipes(); blastSmelterRecipes(); - sifterRecipes(); - electroMagneticSeperatorRecipes(); extruderRecipes(); cuttingSawRecipes(); breweryRecipes(); @@ -80,12 +111,11 @@ public class RECIPES_GREGTECH { assemblyLineRecipes(); latheRecipes(); vacuumFreezerRecipes(); - fluidheaterRecipes(); + fluidHeaterRecipes(); chemplantRecipes(); - packagerRecipes(); alloySmelterRecipes(); - /** + /* * Special Recipe handlers */ RECIPES_SeleniumProcessing.init(); @@ -97,24 +127,9 @@ public class RECIPES_GREGTECH { private static void alloySmelterRecipes() { // Wood's Glass Laser Lens - GT_Values.RA.addAlloySmelterRecipe( - MISC_MATERIALS.WOODS_GLASS.getDust(5), - ItemList.Shape_Mold_Ball.get(0), - GregtechItemList.Laser_Lens_WoodsGlass.get(1), - 20 * 300, - MaterialUtils.getVoltageForTier(3)); - } - - private static void packagerRecipes() {} - - private static void implosionRecipes() { - - // GT_Values.RA.addImplosionRecipe( - // ItemUtils.getSimpleStack(ModItems.itemSunnariumBit, 9), - // 16, - // ItemUtils.getSimpleStack(AdvancedSolarPanel.itemSunnariumPart, 1), - // GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glowstone, 8)); - + GT_Values.RA.stdBuilder().itemInputs(MISC_MATERIALS.WOODS_GLASS.getDust(5), ItemList.Shape_Mold_Ball.get(0)) + .itemOutputs(GregtechItemList.Laser_Lens_WoodsGlass.get(1)).noFluidInputs().noFluidOutputs() + .duration(5 * MINUTES).eut(TierEU.RECIPE_HV).addTo(sAlloySmelterRecipes); } private static void chemplantRecipes() { @@ -127,8 +142,8 @@ public class RECIPES_GREGTECH { // Advanced method for Nitric Acid Production CORE.RA.addChemicalPlantRecipe( new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getPinkCatalyst(0), }, - new FluidStack[] { FluidUtils.getFluidStack(GenericChem.Nitrogen_Dioxide, 4000), - FluidUtils.getAir(4000), FluidUtils.getWater(2000), }, + new FluidStack[] { Materials.NitrogenDioxide.getFluid(4000L), FluidUtils.getAir(4000), + FluidUtils.getWater(2000), }, new ItemStack[] {}, new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 4000), }, 10 * 20, @@ -165,11 +180,10 @@ public class RECIPES_GREGTECH { // 3NO2 + H2O = 2HNO3 + NO CORE.RA.addChemicalPlantRecipe( new ItemStack[] { CI.getNumberedAdvancedCircuit(16), CI.getPinkCatalyst(0), }, - new FluidStack[] { FluidUtils.getFluidStack(GenericChem.Nitrogen_Dioxide, 3000), - FluidUtils.getDistilledWater(1000) }, + new FluidStack[] { Materials.NitrogenDioxide.getFluid(3000L), FluidUtils.getDistilledWater(1000) }, new ItemStack[] {}, new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 2000), - FluidUtils.getFluidStack(GenericChem.Nitric_Oxide, 1000), }, + Materials.NitricOxide.getFluid(1000L), }, 10 * 20, 480, 2); @@ -251,106 +265,113 @@ public class RECIPES_GREGTECH { } } - private static void fluidheaterRecipes() { - GT_Values.RA.addFluidHeaterRecipe( - CI.getNumberedCircuit(20), - FluidUtils.getWater(1000), - FluidUtils.getHotWater(1000), - 30, - 30); + private static void fluidHeaterRecipes() { + GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(20)).noItemOutputs() + .fluidInputs(Materials.Water.getFluid(1000)).fluidOutputs(FluidUtils.getHotWater(1000)) + .duration(1 * SECONDS + 10 * TICKS).eut(TierEU.RECIPE_LV).addTo(sFluidHeaterRecipes); } private static void vacuumFreezerRecipes() { - GT_Values.RA.addVacuumFreezerRecipe( - GregtechItemList.Bomb_Cast_Molten.get(1), - GregtechItemList.Bomb_Cast_Set.get(1), - 20 * 30); + GT_Values.RA.stdBuilder().itemInputs(GregtechItemList.Bomb_Cast_Molten.get(1)) + .itemOutputs(GregtechItemList.Bomb_Cast_Set.get(1)).noFluidInputs().noFluidOutputs() + .duration(30 * SECONDS).eut(TierEU.RECIPE_MV).addTo(sVacuumRecipes); } private static void latheRecipes() { - - GT_Values.RA.addLatheRecipe( - ALLOY.EGLIN_STEEL.getBlock(1), - GregtechItemList.Bomb_Cast_Mold.get(1), - null, - 20 * 60 * 15, - 120); - - GT_Values.RA.addLatheRecipe( - GregtechItemList.Bomb_Cast_Set.get(1), - GregtechItemList.Bomb_Cast_Broken.get(2), - ItemUtils.getSimpleStack(ModItems.itemBombCasing, 2), - 20 * 60 * 5, - 30); + GT_Values.RA.stdBuilder().itemInputs(ALLOY.EGLIN_STEEL.getBlock(1)) + .itemOutputs(GregtechItemList.Bomb_Cast_Mold.get(1)).noFluidInputs().noFluidOutputs() + .duration(15 * MINUTES).eut(TierEU.RECIPE_MV).addTo(sLatheRecipes); + + GT_Values.RA.stdBuilder().itemInputs(GregtechItemList.Bomb_Cast_Set.get(1)) + .itemOutputs( + GregtechItemList.Bomb_Cast_Broken.get(2), + ItemUtils.getSimpleStack(ModItems.itemBombCasing, 2)) + .noFluidInputs().noFluidOutputs().duration(5 * MINUTES).eut(TierEU.RECIPE_LV).addTo(sLatheRecipes); } private static void fusionRecipes() { - // Hypogen Creation - GT_Values.RA.addFusionReactorRecipe( - ELEMENT.STANDALONE.DRAGON_METAL.getFluidStack(144), - ELEMENT.STANDALONE.RHUGNOR.getFluidStack(288), - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(36), - 2048 * 4, - MaterialUtils.getVoltageForTier(9), - 600000000 * 2); + // Hypogen + GT_Values.RA.stdBuilder().noItemInputs().noItemOutputs() + .fluidInputs( + ELEMENT.STANDALONE.DRAGON_METAL.getFluidStack(144), + ELEMENT.STANDALONE.RHUGNOR.getFluidStack(288)) + .fluidOutputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(36)) + .duration(6 * MINUTES + 49 * SECONDS + 12 * TICKS).eut(TierEU.RECIPE_UHV) + .metadata(FUSION_THRESHOLD, 1_200_000_000).addTo(sFusionRecipes); // Rhugnor - GT_Values.RA.addFusionReactorRecipe( - MaterialUtils.getMaterial("Infinity", "Neutronium").getMolten(144), - ALLOY.QUANTUM.getFluidStack(288), - ELEMENT.STANDALONE.RHUGNOR.getFluidStack(144), - 512, - MaterialUtils.getVoltageForTier(8), - 2000000000); + GT_Values.RA.stdBuilder().noItemInputs().noItemOutputs() + .fluidInputs( + MaterialUtils.getMaterial("Infinity", "Neutronium").getMolten(144), + ALLOY.QUANTUM.getFluidStack(288)) + .fluidOutputs(ELEMENT.STANDALONE.RHUGNOR.getFluidStack(144)).duration(25 * SECONDS + 12 * TICKS) + .eut(TierEU.RECIPE_UV).metadata(FUSION_THRESHOLD, 2_000_000_000).addTo(sFusionRecipes); } private static void assemblyLineRecipes() { - ItemStack[] aCoilWire = new ItemStack[] { ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 0, 64), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 1, 64), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 2, 64), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 3, 64), }; - // Containment Casings - CORE.RA.addAssemblylineRecipe( - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_1_CONTAINMENT, 1), - 20 * 60 * 30, - new Object[] { ItemList.Field_Generator_IV.get(32), ItemList.Electric_Motor_EV.get(64), - ItemList.Energy_LapotronicOrb.get(32), CI.getTieredComponent(OrePrefixes.cableGt12, 7, 32), + GT_Values.RA.stdBuilder() + .metadata( + RESEARCH_ITEM, + ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_1_CONTAINMENT, 1)) + .metadata(RESEARCH_TIME, 30 * MINUTES) + .itemInputs( + ItemList.Field_Generator_IV.get(32), + ItemList.Electric_Motor_EV.get(64), + ItemList.Energy_LapotronicOrb.get(32), + CI.getTieredComponent(OrePrefixes.cableGt12, 7, 32), CI.getTieredComponent(OrePrefixes.wireGt16, 6, 64), - ItemUtils.getOrePrefixStack(OrePrefixes.plate, Materials.Naquadria, 64), - ELEMENT.getInstance().GADOLINIUM.getDust(32), ELEMENT.getInstance().SAMARIUM.getDust(16), - ALLOY.ARCANITE.getGear(8), new Object[] { CI.getTieredCircuitOreDictName(5), 64 }, + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadria, 64L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gadolinium, 32L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Samarium, 16L), + ALLOY.ARCANITE.getGear(8), + new Object[] { CI.getTieredCircuitOreDictName(5), 64 }, new Object[] { CI.getTieredCircuitOreDictName(6), 32 }, new Object[] { CI.getTieredCircuitOreDictName(7), 16 }, - GregtechItemList.Laser_Lens_Special.get(1), aCoilWire[3] }, - new FluidStack[] { ALLOY.NITINOL_60.getFluidStack(144 * 9 * 4), - ALLOY.ENERGYCRYS