From 92ba4e62b6628a146dd24df13ae9ec40b0a69a22 Mon Sep 17 00:00:00 2001 From: Alkalus <3060479+draknyte1@users.noreply.github.com> Date: Mon, 29 Nov 2021 16:38:31 +0000 Subject: Added new generic Nuclear Chem item. Added ability to set Fluid for a Material. Moved Nuclear recipe generation to a different phase during init. --- src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java | 3 - .../gregtech/loaders/recipe/RecipeLoader_FFPP.java | 205 +++++++-------------- 2 files changed, 67 insertions(+), 141 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java index 8908e7af7b..6b7ca6c9b3 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java @@ -55,8 +55,6 @@ import gtPlusPlus.xmod.gregtech.loaders.ProcessingElectricSnips; import gtPlusPlus.xmod.gregtech.loaders.ProcessingToolHeadChoocher; import gtPlusPlus.xmod.gregtech.loaders.misc.AddCustomMachineToPA; import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_AlgaeFarm; -import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_FFPP; -import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_LFTR; import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_Nuclear; import gtPlusPlus.xmod.gregtech.recipes.RecipesToRemove; import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechConduits; @@ -156,7 +154,6 @@ public class HANDLER_GT { convertPyroToCokeOven(); Meta_GT_Proxy.fixIC2FluidNames(); RecipeLoader_AlgaeFarm.generateRecipes(); - RecipeLoader_Nuclear.generate(); } public static void addNewOrePrefixes() { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java index f55b5ca1d6..d1d800cebc 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java @@ -1,163 +1,92 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe; import gregtech.api.enums.Materials; -import gregtech.api.util.GTPP_Recipe; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GasSpargingRecipe; -import gregtech.api.util.GasSpargingRecipeMap; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.item.chemistry.NuclearChem; +import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.material.nuclear.NUCLIDE; import gtPlusPlus.core.util.minecraft.FluidUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; +import gtPlusPlus.core.util.minecraft.MaterialUtils; import net.minecraftforge.fluids.FluidStack; public class RecipeLoader_FFPP { - private static AutoMap mNobleGases; - private static AutoMap mFluorideGases; - private static AutoMap mSpargeGases; - - private static void configureSparging() { - if (mSpargeGases == null) { - mSpargeGases = new AutoMap(); - mSpargeGases.add(Materials.Helium.getGas(1).getFluid()); - mSpargeGases.add(Materials.Fluorine.getGas(1).getFluid()); - } - if (mNobleGases == null) { - mNobleGases = new AutoMap(); - mNobleGases.add(mSpargeGases.get(0)); - mNobleGases.add(ELEMENT.getInstance().XENON.getFluid(1).getFluid()); - mNobleGases.add(ELEMENT.getInstance().NEON.getFluid(1).getFluid()); - mNobleGases.add(ELEMENT.getInstance().ARGON.getFluid(1).getFluid()); - mNobleGases.add(ELEMENT.getInstance().KRYPTON.getFluid(1).getFluid()); - mNobleGases.add(ELEMENT.getInstance().RADON.getFluid(1).getFluid()); - } - if (mFluorideGases == null) { - mFluorideGases = new AutoMap(); - mFluorideGases.add(mSpargeGases.get(1)); - mFluorideGases.add(FLUORIDES.LITHIUM_FLUORIDE.getFluid(1).getFluid()); - mFluorideGases.add(FLUORIDES.NEPTUNIUM_HEXAFLUORIDE.getFluid(1).getFluid()); - mFluorideGases.add(FLUORIDES.TECHNETIUM_HEXAFLUORIDE.getFluid(1).getFluid()); - mFluorideGases.add(FLUORIDES.SELENIUM_HEXAFLUORIDE.getFluid(1).getFluid()); - mFluorideGases.add(FLUORIDES.THORIUM_TETRAFLUORIDE.getFluid(1).getFluid()); - } - } - public static void generate() { - // Fli2BeF4 + Thorium TetraFluoride = Uranium233 - //72k Ticks/hr - //1l/4t = 1000l/hr - //1l/40t = 1000l/10hr (Probably better) LiFBeF2ThF4UF4 - //1l/20t= 1000l/2.5hr LiFBeF2ZrF4UF4 - //1l/10t= 1000l/2.5hr LiFBeF2ZrF4U235 - configureSparging(); - FluidStack Li2BeF4 = new FluidStack(ModItems.fluidFLiBeSalt, 34); - FluidStack aBurntLi2BeF4 = new FluidStack(ModItems.fluidFLiBeSaltBurnt, 34); + // Create Fuels + + final FluidStack aLithiumFluoride = FLUORIDES.LITHIUM_FLUORIDE.getFluid(100); + final FluidStack aBerylliumFluoride = FLUORIDES.BERYLLIUM_FLUORIDE.getFluid(100); + final FluidStack aThoriumFluoride = FLUORIDES.THORIUM_TETRAFLUORIDE.getFluid(100); + final FluidStack aZirconiumFluoride = FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluid(100); + final FluidStack aUraniumTetraFluoride = FLUORIDES.URANIUM_TETRAFLUORIDE.getFluid(100); + final FluidStack aUranium235 = ELEMENT.getInstance().URANIUM235.getFluid(1000); + final FluidStack aLiFBeF2ZrF4U235 = NUCLIDE.LiFBeF2ZrF4U235.getFluid(100); + final FluidStack aLiFBeF2ZrF4UF4 = NUCLIDE.LiFBeF2ZrF4UF4.getFluid(100); + final FluidStack aLiFBeF2ThF4UF4 = NUCLIDE.LiFBeF2ThF4UF4.getFluid(100); - //LiFBeF2ThF4UF4 - GT_Recipe LFTR1 = new GTPP_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, new int[] {10000, 10000, 5000, 2500}, - new FluidStack[] { - NUCLIDE.LiFBeF2ThF4UF4.getFluid(17), - Li2BeF4 - }, - new FluidStack[] { - new FluidStack(NuclearChem.Burnt_LiFBeF2ThF4UF4, 17), - aBurntLi2BeF4, - FluidUtils.getFluidStack("molten.uraniumhexafluoride", 10), - FluidUtils.getFluidStack("molten.uraniumhexafluoride", 5) - }, - 12000,//time - 0,//cost - 8192//fuel value + // 7LiF - BeF2 - ZrF4 - U235 - 590C + CORE.RA.addFissionFuel( + FluidUtils.getFluidStack(aLithiumFluoride, 550), + FluidUtils.getFluidStack(aBerylliumFluoride, 150), + FluidUtils.getFluidStack(aZirconiumFluoride, 60), + FluidUtils.getFluidStack(aUranium235, 240), + null, null, null, null, null, // Extra 5 inputs + FluidUtils.getFluidStack(aLiFBeF2ZrF4U235, 1000), + null, + 90 * 60 * 20, // Duration + MaterialUtils.getVoltageForTier(5) ); - - //LiFBeF2ZrF4UF4 - GT_Recipe LFTR2 = new GTPP_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, new int[] {10000, 10000, 2500, 1250}, - new FluidStack[] { - NUCLIDE.LiFBeF2ZrF4UF4.getFluid(17), - Li2BeF4 - }, - new FluidStack[] { - new FluidStack(NuclearChem.Burnt_LiFBeF2ZrF4UF4, 17), - aBurntLi2BeF4, - FluidUtils.getFluidStack("molten.uraniumhexafluoride", 4), - FluidUtils.getFluidStack("molten.uraniumhexafluoride", 2) - }, - 6000,//time - 0,//cost - 8192//fuel value + + // 7LiF - BeF2 - ZrF4 - UF4 - 650C + CORE.RA.addFissionFuel( + FluidUtils.getFluidStack(aLithiumFluoride, 650), + FluidUtils.getFluidStack(aBerylliumFluoride, 250), + FluidUtils.getFluidStack(aZirconiumFluoride, 80), + FluidUtils.getFluidStack(aUraniumTetraFluoride, 70), + null, null, null, null, null, // Extra 5 inputs + FluidUtils.getFluidStack(aLiFBeF2ZrF4UF4, 1000), + null, + 120 * 60 * 20, + MaterialUtils.getVoltageForTier(5) ); - //LiFBeF2ZrF4U235 - GT_Recipe LFTR3 = new GTPP_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, new int[] {10000, 10000, 1000, 500}, - new FluidStack[] { - NUCLIDE.LiFBeF2ZrF4U235.getFluid(17), - Li2BeF4 - }, - new FluidStack[] { - new FluidStack(NuclearChem.Burnt_LiFBeF2ZrF4U235, 17), - aBurntLi2BeF4, - FluidUtils.getFluidStack("molten.uraniumhexafluoride", 2), - FluidUtils.getFluidStack("molten.uraniumhexafluoride", 1) - }, - 3000,//time - 0,//cost - 8192//fuel value + // 7liF - BeF2 - ThF4 - UF4 - 566C + CORE.RA.addFissionFuel( + FluidUtils.getFluidStack(aLithiumFluoride, 620), + FluidUtils.getFluidStack(aBerylliumFluoride, 280), + FluidUtils.getFluidStack(aThoriumFluoride, 70), + FluidUtils.getFluidStack(aUraniumTetraFluoride, 70), + null, null, null, null, null, // Extra 5 inputs + FluidUtils.getFluidStack(aLiFBeF2ThF4UF4, 1000), + null, + 150 * 60 * 20, // Duration + MaterialUtils.getVoltageForTier(5) ); + + + // Reprocess Fuels - // Sparging NEI Recipes - GasSpargingRecipeMap.addRecipe( - new FluidStack(mSpargeGases.get(0), 50), - new FluidStack[] { - new FluidStack(mNobleGases.get(0), 50), - new FluidStack(mNobleGases.get(1), 10), - new FluidStack(mNobleGases.get(2), 10), - new FluidStack(mNobleGases.get(3), 10), - new FluidStack(mNobleGases.get(4), 10), - new FluidStack(mNobleGases.get(5), 10) - }, - new int[] { - 5000, 1000, 1000, 1000, 1000, 1000 - }); - - GasSpargingRecipeMap.addRecipe( - new FluidStack(mSpargeGases.get(1), 100), - new FluidStack[] { - new FluidStack(mFluorideGases.get(0), 100), - new FluidStack(mFluorideGases.get(1), 20), - new FluidStack(mFluorideGases.get(2), 20), - new FluidStack(mFluorideGases.get(3), 20), - new FluidStack(mFluorideGases.get(4), 20), - new FluidStack(mFluorideGases.get(5), 20) - }, - new int[] { - 10000, 2000, 2000, 2000, 2000, 2000 - }); - - GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.add(LFTR1); - GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.add(LFTR2); - GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.add(LFTR3); + final FluidStack aBurntLiFBeF2ZrF4U235 = new FluidStack(NuclearChem.Burnt_LiFBeF2ZrF4U235, 17); + final FluidStack aBurntLiFBeF2ZrF4UF4 = new FluidStack(NuclearChem.Burnt_LiFBeF2ZrF4UF4, 17); + final FluidStack aBurntLiFBeF2ThF4UF4 = new FluidStack(NuclearChem.Burnt_LiFBeF2ThF4UF4, 17); + final FluidStack aBurntLi2BeF4 = new FluidStack(ModItems.fluidFLiBeSaltBurnt, 34); + final FluidStack aHelium = Materials.Helium.getGas(1000); + final FluidStack aFluorine = Materials.Fluorine.getGas(1000); + CORE.RA.addFissionFuel( + FluidUtils.getFluidStack(aBurntLiFBeF2ZrF4U235, 500), + FluidUtils.getFluidStack(aBerylliumFluoride, 280), + FluidUtils.getFluidStack(aThoriumFluoride, 70), + FluidUtils.getFluidStack(aUraniumTetraFluoride, 70), + null, null, null, null, null, // Extra 5 inputs + FluidUtils.getFluidStack(aLiFBeF2ThF4UF4, 1000), + null, + 150 * 60 * 20, // Duration + MaterialUtils.getVoltageForTier(5) + ); } } -- cgit