From d7667e6cc270244ec747fe8d624908a1b9190c79 Mon Sep 17 00:00:00 2001 From: Alkalus <3060479+draknyte1@users.noreply.github.com> Date: Sat, 27 Nov 2021 19:44:42 +0000 Subject: Added new NEI handler for LFTR. Fixed LFTR fuel recipes. Fixed LFTR recipe handling. --- .../gregtech/loaders/recipe/RecipeLoader_LFTR.java | 64 ++++++++++------------ 1 file changed, 30 insertions(+), 34 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java index 424c2ecce5..af692c8bbf 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java @@ -1,25 +1,16 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe; -import java.util.Collection; - -import net.minecraft.item.ItemStack; - -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GTPP_Recipe; - -import gtPlusPlus.api.objects.minecraft.NoConflictGTRecipeMap; -import gtPlusPlus.core.recipe.common.CI; +import gregtech.api.util.GT_Recipe; +import gtPlusPlus.core.item.ModItems; +import gtPlusPlus.core.item.chemistry.NuclearChem; +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.FluidStack; -public class RecipeLoader_LFTR { - - - protected final static NoConflictGTRecipeMap mRecipesLFTR = new NoConflictGTRecipeMap(); - - public static Collection getRecipes(){ - return mRecipesLFTR.getRecipeMap(); - } +public class RecipeLoader_LFTR { public static void generate() { // Fli2BeF4 + Thorium TetraFluoride = Uranium233 @@ -28,70 +19,75 @@ public class RecipeLoader_LFTR { //1l/40t = 1000l/10hr (Probably better) LiFBeF2ThF4UF4 //1l/20t= 1000l/2.5hr LiFBeF2ZrF4UF4 //1l/10t= 1000l/2.5hr LiFBeF2ZrF4U235 + + FluidStack Li2BeF4 = new FluidStack(ModItems.fluidFLiBeSalt, 34); //LiFBeF2ThF4UF4 GT_Recipe LFTR1 = new GTPP_Recipe( true, - new ItemStack[] {CI.getNumberedCircuit(1)}, new ItemStack[] {}, - null, new int[] {5000, 2500}, + new ItemStack[] {}, + null, new int[] {10000, 5000, 2500}, new FluidStack[] { - FluidUtils.getFluidStack("molten.li2bef4", 34), - FluidUtils.getFluidStack("molten.LiFBeF2ThF4UF4".toLowerCase(), 17) + NUCLIDE.LiFBeF2ThF4UF4.getFluid(17), + Li2BeF4 }, new FluidStack[] { + new FluidStack(NuclearChem.Burnt_LiFBeF2ThF4UF4, 17), FluidUtils.getFluidStack("molten.uraniumhexafluoride", 10), FluidUtils.getFluidStack("molten.uraniumhexafluoride", 5) }, 12000,//time 0,//cost - 4096//fuel value + 8192//fuel value ); //LiFBeF2ZrF4UF4 GT_Recipe LFTR2 = new GTPP_Recipe( true, - new ItemStack[] {CI.getNumberedCircuit(2)}, new ItemStack[] {}, - null, new int[] {2500, 1250}, + new ItemStack[] {}, + null, new int[] {10000, 2500, 1250}, new FluidStack[] { - FluidUtils.getFluidStack("molten.li2bef4", 34), - FluidUtils.getFluidStack("molten.LiFBeF2ZrF4UF4".toLowerCase(), 17) + NUCLIDE.LiFBeF2ZrF4UF4.getFluid(17), + Li2BeF4 }, new FluidStack[] { + new FluidStack(NuclearChem.Burnt_LiFBeF2ZrF4UF4, 17), FluidUtils.getFluidStack("molten.uraniumhexafluoride", 4), FluidUtils.getFluidStack("molten.uraniumhexafluoride", 2) }, 6000,//time 0,//cost - 4096//fuel value + 8192//fuel value ); //LiFBeF2ZrF4U235 GT_Recipe LFTR3 = new GTPP_Recipe( true, - new ItemStack[] {CI.getNumberedCircuit(3)}, new ItemStack[] {}, - null, new int[] {1000, 500}, + new ItemStack[] {}, + null, new int[] {10000, 1000, 500}, new FluidStack[] { - FluidUtils.getFluidStack("molten.li2bef4", 34), - FluidUtils.getFluidStack("molten.LiFBeF2ZrF4U235".toLowerCase(), 17) + NUCLIDE.LiFBeF2ZrF4U235.getFluid(17), + Li2BeF4 }, new FluidStack[] { + new FluidStack(NuclearChem.Burnt_LiFBeF2ZrF4U235, 17), FluidUtils.getFluidStack("molten.uraniumhexafluoride", 2), FluidUtils.getFluidStack("molten.uraniumhexafluoride", 1) }, 3000,//time 0,//cost - 4096//fuel value + 8192//fuel value ); /*mRecipesLFTR.add(LFTR1); mRecipesLFTR.add(LFTR2); mRecipesLFTR.add(LFTR3);*/ - GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipesEx.add(LFTR1); - GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipesEx.add(LFTR2); - GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipesEx.add(LFTR3); + GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.add(LFTR1); + GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.add(LFTR2); + GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.add(LFTR3); } -- cgit From c8e15b35fa6060e4c9fd45a61c1837e0289ee000 Mon Sep 17 00:00:00 2001 From: Alkalus <3060479+draknyte1@users.noreply.github.com> Date: Sun, 28 Nov 2021 00:26:53 +0000 Subject: Fix a heap of conflicting dehydrator recipes. --- .../gregtech/loaders/RecipeGen_DustGeneration.java | 20 ++++++++++---------- .../loaders/RecipeGen_MaterialProcessing.java | 3 ++- 2 files changed, 12 insertions(+), 11 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java index a346464eeb..773480104a 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java @@ -47,7 +47,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { private void generateRecipes(final Material material, final boolean disableOptional){ - Logger.WARNING("Generating Shaped Crafting recipes for "+material.getLocalizedName()); + Logger.INFO("Generating Shaped Crafting recipes for "+material.getLocalizedName()); final ItemStack normalDust = material.getDust(1); final ItemStack smallDust = material.getSmallDust(1); @@ -59,14 +59,14 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { if (ItemUtils.checkForInvalidItems(tinyDust) && ItemUtils.checkForInvalidItems(normalDust)) { if (RecipeUtils.addShapedRecipe( - tinyDust, tinyDust, tinyDust, + tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, normalDust)){ - Logger.WARNING("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); + Logger.INFO("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); } else { - Logger.WARNING("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); + Logger.INFO("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); } if (RecipeUtils.addShapedRecipe( @@ -74,10 +74,10 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { null, null, null, null, null, null, material.getTinyDust(9))){ - Logger.WARNING("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Success"); + Logger.INFO("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Success"); } else { - Logger.WARNING("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Failed"); + Logger.INFO("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Failed"); } } @@ -87,20 +87,20 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { smallDust, smallDust, null, null, null, null, normalDust)){ - Logger.WARNING("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); + Logger.INFO("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); } else { - Logger.WARNING("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); + Logger.INFO("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); } if (RecipeUtils.addShapedRecipe( null, normalDust, null, null, null, null, null, null, null, material.getSmallDust(4))){ - Logger.WARNING("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); + Logger.INFO("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); } else { - Logger.WARNING("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); + Logger.INFO("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java index 90bd1d8f1a..f8108852f4 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java @@ -18,6 +18,7 @@ import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; import gtPlusPlus.core.material.MaterialStack; import gtPlusPlus.core.material.state.MaterialState; +import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.ItemUtils; import net.minecraftforge.fluids.FluidStack; @@ -186,7 +187,7 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base { ItemStack emptyCell = null; if (mCellCount > 0){ - emptyCell = ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", mCellCount); + emptyCell = CI.emptyCells(mCellCount); Logger.MATERIALS("[Dehydrator] Recipe now requires "+mCellCount+" empty cells as input."); } -- cgit From 474db9db07bba03fc433ba06a52b7a709c536c4e Mon Sep 17 00:00:00 2001 From: Alkalus <3060479+draknyte1@users.noreply.github.com> Date: Sun, 28 Nov 2021 01:52:50 +0000 Subject: Fixed Tiny dust recipes. --- .../gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java index 773480104a..9cd3fdaca4 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java @@ -57,8 +57,8 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { final ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing); - if (ItemUtils.checkForInvalidItems(tinyDust) && ItemUtils.checkForInvalidItems(normalDust)) { - if (RecipeUtils.addShapedRecipe( + if (tinyDust != null && normalDust != null) { + if (RecipeUtils.addShapelessGregtechRecipe( tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, @@ -81,7 +81,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { } } - if (ItemUtils.checkForInvalidItems(smallDust) && ItemUtils.checkForInvalidItems(normalDust)) { + if (smallDust != null && normalDust != null) { if (RecipeUtils.addShapedRecipe( smallDust, smallDust, null, smallDust, smallDust, null, -- cgit From c6a2686e3d2e19ecde9a8e467829dbc9ef3de7a0 Mon Sep 17 00:00:00 2001 From: Alkalus <3060479+draknyte1@users.noreply.github.com> Date: Sun, 28 Nov 2021 11:01:35 +0000 Subject: Fixed shaped dust crafting recipes, turns out they don't like multithreading. --- .../gregtech/loaders/RecipeGen_DustGeneration.java | 61 +++++++++++----------- 1 file changed, 31 insertions(+), 30 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java index 9cd3fdaca4..d5ca3211e9 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java @@ -38,46 +38,30 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { this.toGenerate = M; this.disableOptional = O; mRecipeGenMap.add(this); - } - - @Override - public void run() { - generateRecipes(this.toGenerate, this.disableOptional); - } - - private void generateRecipes(final Material material, final boolean disableOptional){ - - Logger.INFO("Generating Shaped Crafting recipes for "+material.getLocalizedName()); - - final ItemStack normalDust = material.getDust(1); - final ItemStack smallDust = material.getSmallDust(1); - final ItemStack tinyDust = material.getTinyDust(1); - - final ItemStack[] inputStacks = material.getMaterialComposites(); - final ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing); - - + final ItemStack normalDust = M.getDust(1); + final ItemStack smallDust = M.getSmallDust(1); + final ItemStack tinyDust = M.getTinyDust(1); if (tinyDust != null && normalDust != null) { - if (RecipeUtils.addShapelessGregtechRecipe( + if (RecipeUtils.addShapedRecipe( tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, tinyDust, normalDust)){ - Logger.INFO("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); + Logger.INFO("9 Tiny dust to 1 Dust Recipe: "+M.getLocalizedName()+" - Success"); } else { - Logger.INFO("9 Tiny dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); + Logger.INFO("9 Tiny dust to 1 Dust Recipe: "+M.getLocalizedName()+" - Failed"); } if (RecipeUtils.addShapedRecipe( normalDust, null, null, null, null, null, null, null, null, - material.getTinyDust(9))){ - Logger.INFO("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Success"); + M.getTinyDust(9))){ + Logger.INFO("9 Tiny dust from 1 Recipe: "+M.getLocalizedName()+" - Success"); } else { - Logger.INFO("9 Tiny dust from 1 Recipe: "+material.getLocalizedName()+" - Failed"); + Logger.INFO("9 Tiny dust from 1 Recipe: "+M.getLocalizedName()+" - Failed"); } } @@ -87,22 +71,39 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { smallDust, smallDust, null, null, null, null, normalDust)){ - Logger.INFO("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); + Logger.INFO("4 Small dust to 1 Dust Recipe: "+M.getLocalizedName()+" - Success"); } else { - Logger.INFO("4 Small dust to 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); + Logger.INFO("4 Small dust to 1 Dust Recipe: "+M.getLocalizedName()+" - Failed"); } if (RecipeUtils.addShapedRecipe( null, normalDust, null, null, null, null, null, null, null, - material.getSmallDust(4))){ - Logger.INFO("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Success"); + M.getSmallDust(4))){ + Logger.INFO("4 Small dust from 1 Dust Recipe: "+M.getLocalizedName()+" - Success"); } else { - Logger.INFO("4 Small dust from 1 Dust Recipe: "+material.getLocalizedName()+" - Failed"); + Logger.INFO("4 Small dust from 1 Dust Recipe: "+M.getLocalizedName()+" - Failed"); } } + } + + @Override + public void run() { + generateRecipes(this.toGenerate, this.disableOptional); + } + + private void generateRecipes(final Material material, final boolean disableOptional){ + + Logger.INFO("Generating Shaped Crafting recipes for "+material.getLocalizedName()); + + final ItemStack normalDust = material.getDust(1); + final ItemStack smallDust = material.getSmallDust(1); + final ItemStack tinyDust = material.getTinyDust(1); + + final ItemStack[] inputStacks = material.getMaterialComposites(); + final ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing); //Macerate blocks back to dusts. final ItemStack materialBlock = material.getBlock(1); -- cgit From d76fe6c897d28af0f99c0fa04c7de7c654497742 Mon Sep 17 00:00:00 2001 From: Alkalus <3060479+draknyte1@users.noreply.github.com> Date: Sun, 28 Nov 2021 16:46:38 +0000 Subject: Added NEI handler for LFTR Sparging. Fixed Material generation for noble gases. Fixed Chemical Formula not being applied to some cells. --- .../gregtech/loaders/RecipeGen_DustGeneration.java | 2 +- .../gregtech/loaders/recipe/RecipeLoader_LFTR.java | 85 ++++++++++++++++++++-- 2 files changed, 78 insertions(+), 9 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java index d5ca3211e9..173d11c97b 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java @@ -298,7 +298,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { if (x.getStackMaterial() != null){ if (x.getStackMaterial().getDust(1) == null){ MaterialState f = x.getStackMaterial().getState(); - if (f == MaterialState.GAS || f == MaterialState.LIQUID || f == MaterialState.PURE_LIQUID){ + if (f == MaterialState.GAS || f == MaterialState.LIQUID || f == MaterialState.PURE_LIQUID || f == MaterialState.PURE_GAS){ oxygen = x.getStackMaterial().getFluid((int) (material.vSmallestRatio[compSlot] * 1000)); } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java index af692c8bbf..43097413be 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java @@ -1,17 +1,55 @@ 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.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 net.minecraftforge.fluids.FluidStack; public class RecipeLoader_LFTR { + 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 @@ -19,21 +57,24 @@ public class RecipeLoader_LFTR { //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); //LiFBeF2ThF4UF4 GT_Recipe LFTR1 = new GTPP_Recipe( true, new ItemStack[] {}, new ItemStack[] {}, - null, new int[] {10000, 5000, 2500}, + 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) }, @@ -47,13 +88,14 @@ public class RecipeLoader_LFTR { true, new ItemStack[] {}, new ItemStack[] {}, - null, new int[] {10000, 2500, 1250}, + 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) }, @@ -67,13 +109,14 @@ public class RecipeLoader_LFTR { true, new ItemStack[] {}, new ItemStack[] {}, - null, new int[] {10000, 1000, 500}, + 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) }, @@ -82,13 +125,39 @@ public class RecipeLoader_LFTR { 8192//fuel value ); - /*mRecipesLFTR.add(LFTR1); - mRecipesLFTR.add(LFTR2); - mRecipesLFTR.add(LFTR3);*/ + // 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); - + } } -- cgit From 258679b1d299e653695cd9c94e5e36db0791d0a2 Mon Sep 17 00:00:00 2001 From: Alkalus <3060479+draknyte1@users.noreply.github.com> Date: Sun, 28 Nov 2021 23:49:19 +0000 Subject: Moved all Nuclear recipes to their own class. Fixed Air Intake working when disabled. --- .../gregtech/loaders/recipe/RecipeLoader_FFPP.java | 163 ++++++ .../loaders/recipe/RecipeLoader_Nuclear.java | 617 +++++++++++++++++++++ 2 files changed, 780 insertions(+) create mode 100644 src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java create mode 100644 src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java new file mode 100644 index 0000000000..f55b5ca1d6 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java @@ -0,0 +1,163 @@ +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.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 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); + + //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 + ); + + //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 + ); + + //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 + ); + + // 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); + + + } +} diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java new file mode 100644 index 0000000000..4128c228b3 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java @@ -0,0 +1,617 @@ +package gtPlusPlus.xmod.gregtech.loaders.recipe; + +import static gtPlusPlus.core.lib.CORE.GTNH; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.util.GT_ModHandler; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.item.ModItems; +import gtPlusPlus.core.item.chemistry.GenericChem; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.material.nuclear.FLUORIDES; +import gtPlusPlus.core.material.nuclear.NUCLIDE; +import gtPlusPlus.core.recipe.common.CI; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.minecraft.FluidUtils; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.core.util.reflect.AddGregtechRecipe; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + +public class RecipeLoader_Nuclear { + + + + public static void generate() { + createRecipes(); + RecipeLoader_LFTR.generate(); + RecipeLoader_FFPP.generate(); + } + + private static void createRecipes() { + autoclave(); + blastFurnace(); + centrifugeRecipes(); + chemicalBathRecipes(); + chemicalReactorRecipes(); + dehydratorRecipes(); + electroMagneticSeperator(); + fluidExtractorRecipes(); + macerator(); + mixerRecipes(); + sifter(); + } + + private static void autoclave() { + + GT_Values.RA.addAutoclaveRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 9), + FluidUtils.getFluidStack("chlorine", 9 * 4 * 144), + ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 9), + 0, + 120 * 20, + 30); + + } + + private static void blastFurnace() { + + GT_Values.RA.addBlastRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2), + ItemUtils.getItemStackOfAmountFromOreDict("dustBerylliumFluoride", 1), + GT_Values.NF, + GT_Values.NF, + ItemUtils.getItemStackOfAmountFromOreDict("dustLi2BeF4", 3), + null, + 60 * 20, 2000, + 3000); + + GT_Values.RA.addBlastRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1), + null, + GT_Values.NF, + GT_Values.NF, + ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1), + null, + 60 * 20, + 340, + 300); + + } + + + private static void centrifugeRecipes() { + + //Process Used Fuel Rods for Krypton + + //Uranium + GT_Values.RA.addCentrifugeRecipe( + CI.getNumberedCircuit(20), + ItemUtils.getItemStackFromFQRN("IC2:reactorUraniumSimpledepleted", 8), + GT_Values.NF, + ELEMENT.getInstance().KRYPTON.getFluid(60), + ItemList.IC2_Fuel_Rod_Empty.get(8), + ELEMENT.getInstance().URANIUM238.getDust(2), + ELEMENT.getInstance().URANIUM232.getSmallDust(1), + ELEMENT.getInstance().URANIUM233.getSmallDust(1), + ELEMENT.getInstance().URANIUM235.getSmallDust(1), + ELEMENT.getInstance().PLUTONIUM239.getTinyDust(1), + new int[] { 0, 0, 1000, 1000, 1000, 500 }, 500 * 20, 4000); + //Mox + GT_Values.RA.addCentrifugeRecipe( + CI.getNumberedCircuit(20), + ItemUtils.getItemStackFromFQRN("IC2:reactorMOXSimpledepleted", 8), + GT_Values.NF, + ELEMENT.getInstance().KRYPTON.getFluid(90), + ItemList.IC2_Fuel_Rod_Empty.get(8), + ELEMENT.getInstance().PLUTONIUM244.getDust(2), + ELEMENT.getInstance().PLUTONIUM241.getTinyDust(1), + ELEMENT.getInstance().PLUTONIUM239.getTinyDust(1), + ELEMENT.getInstance().PLUTONIUM238.getTinyDust(1), + ELEMENT.getInstance().PLUTONIUM239.getTinyDust(1), + new int[] { 0, 0, 500, 500, 500, 500 }, 750 * 20, 4000); + + //Thorium + GT_Values.RA.addCentrifugeRecipe( + CI.getNumberedCircuit(20), + ItemList.Depleted_Thorium_1.get(8), + GT_Values.NF, + ELEMENT.getInstance().KRYPTON.getFluid(30), + ItemList.IC2_Fuel_Rod_Empty.get(8), + ELEMENT.getInstance().THORIUM.getDust(2), + ELEMENT.getInstance().THORIUM232.getDust(1), + ELEMENT.getInstance().LUTETIUM.getSmallDust(1), + ELEMENT.getInstance().POLONIUM.getSmallDust(1), + ELEMENT.getInstance().THALLIUM.getTinyDust(1), + new int[] { 0, 0, 5000, 5000, 5000, 2500 }, 250 * 20, 4000); + + } + + + private static void chemicalBathRecipes() { + + int[] chances = {9000, 6000, 3000}; + GT_Values.RA.addChemicalBathRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 12), + FluidUtils.getFluidStack("chlorine", 2400), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 4), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 5), + chances, + 30 * 20, + 480); + + chances = new int[]{9000, 3000, 1000}; + GT_Values.RA.addChemicalBathRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustRutile", 5), + FluidUtils.getFluidStack("chlorine", 4000), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3), + ItemUtils.getItemStackOfAmountFromOreDict("dustTitanium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1), + chances, + 30 * 20, + 1024); + + GT_Values.RA.addChemicalBathRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 10), + FluidUtils.getFluidStack("hydrofluoricacid", 10 * 144), + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 10), + null, + null, + new int[] {}, + 90 * 20, + 500); + + } + + + private static void chemicalReactorRecipes() { + + GT_Values.RA.addChemicalRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 5), // Input + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), // Input + null, // Fluid Input + null, // Fluid Output + ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 10), + 600 * 20); + + GT_Values.RA.addChemicalRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 5), // Input + null, // Input Stack 2 + FluidUtils.getFluidStack("hydrofluoricacid", 5 * 144), + FluidUtils.getFluidStack("water", 5 * 144), // Fluid Output + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 5), + 600 * 20); + + GT_Values.RA.addChemicalRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 1), null, + FluidUtils.getFluidStack("sulfuricacid", 144 * 8), + FluidUtils.getFluidStack("sulfuriclithium", 144 * 2), + ItemUtils.getItemStackOfAmountFromOreDict("dustSmallLithium7", 1), + 20 * 20); + + GT_Values.RA.addChemicalRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 16), + FluidUtils.getFluidStack("water", 1000), + FluidUtils.getFluidStack("lithiumhydroxide", 144 * 4), + CI.emptyCells(1), + 300 * 20); + + // LFTR Fuel Related Compounds + if (GTNH) { + // Hydroxide + AddGregtechRecipe.addChemicalRecipeForBasicMachineOnly( + ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1), + ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF, + FluidUtils.getFluidStack("hydroxide", 2000), + CI.emptyCells(2), GT_Values.NI, 8 * 20, 30); + // Beryllium Hydroxide + GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustBeryllium", 7), + ItemUtils.getGregtechCircuit(3), FluidUtils.getFluidStack("hydroxide", 1000), + FluidUtils.getFluidStack("berylliumhydroxide", 2000), GT_Values.NI, 8 * 20); + // Ammonium Bifluoride + GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1), + ItemUtils.getGregtechCircuit(3), FluidUtils.getFluidStack("ammonium", 1000), + FluidUtils.getFluidStack("ammoniumbifluoride", 2000), + CI.emptyCells(1), 26 * 20); + // Ammonium + AddGregtechRecipe.addChemicalRecipeForBasicMachineOnly( + ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 1), + ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF, + FluidUtils.getFluidStack("ammonium", 2000), + CI.emptyCells(2), GT_Values.NI, 20 * 20, 30); + } + + if (!GTNH) { + // Hydroxide + GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1), + ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF, + FluidUtils.getFluidStack("hydroxide", 2000), + CI.emptyCells(2), 8 * 20); + // Ammonia (moved to GTNH core mod) + GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 3), + ItemUtils.getItemStackOfAmountFromOreDict("dustMagnetite", 0), + FluidUtils.getFluidStack("nitrogen", 1000), FluidUtils.getFluidStack("ammonia", 1000), + CI.emptyCells(3), 14 * 20); + // Beryllium Hydroxide + GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustBeryllium", 7), GT_Values.NI, + FluidUtils.getFluidStack("hydroxide", 1000), FluidUtils.getFluidStack("berylliumhydroxide", 2000), + GT_Values.NI, 8 * 20); + // Ammonium Bifluoride + GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1), + GT_Values.NI, FluidUtils.getFluidStack("ammonium", 1000), + FluidUtils.getFluidStack("ammoniumbifluoride", 2000), + CI.emptyCells(1), 26 * 20); + // Ammonium + GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 1), + ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1), GT_Values.NF, + FluidUtils.getFluidStack("ammonium", 2000), + CI.emptyCells(2), 20 * 20); + } + + + //Technetium + GT_Values.RA.addChemicalRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("dustTechnetium99", 1), + null, + FluidUtils.getFluidStack("sulfuricacid", 1000), + FluidUtils.getFluidStack("sulfuricacid", 144 * 2), + ItemUtils.getItemStackOfAmountFromOreDict("dustTechnetium", 1), + 100 * 20); + + } + + private static void dehydratorRecipes() { + + // Makes 7-Lithium + CORE.RA.addDehydratorRecipe( + new ItemStack[] { + CI.getNumberedAdvancedCircuit(14), + ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricLithium", 1) + }, + FluidUtils.getFluidStack("sulfuriclithium", 440), + null, + new ItemStack[] { + CI.emptyCells(1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 3), + ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSodium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 4) + }, + new int[] {10000, 10000, 10000, 10000, 10000}, + 30 * 20, + 30); + + // Makes Lithium Carbonate + CORE.RA.addDehydratorRecipe( + new ItemStack[] { + CI.emptyCells(12), + ItemUtils.getItemStackOfAmountFromOreDict("dustLepidolite", 20) + }, // Item input (Array, up to 2) + FluidUtils.getFluidStack("sulfuricacid", 10000), + FluidUtils.getFluidStack("sulfuriclithium", 10000), + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("dustPotassium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustAluminium", 4), + ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 10), + ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 2), + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3), // LithiumCarbonate + }, // Output Array of Items - Upto 9, + new int[] { 10000, 10000, 10000, 10000, 10000 }, + 75 * 20, // Time in ticks + 1000); // EU + + // Makes Uranium Tetrafluoride + CORE.RA.addDehydratorRecipe( + new ItemStack[] { + CI.getNumberedAdvancedCircuit(13), + ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 10) + }, + FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 1440), + null, + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("dustUraniumTetrafluoride", 10), + CI.emptyCells(10) + }, + new int[] { 10000 }, + 150 * 20, // Time in ticks + 2000); // EU + + // Makes Uranium Hexafluoride + CORE.RA.addDehydratorRecipe( + new ItemStack[] { + CI.getNumberedAdvancedCircuit(12), + ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 10) + }, // Item + FluidUtils.getFluidStack("molten.uraniumhexafluoride", 1440), // Fluid + null, // Fluid output (slot 2) + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("dustUraniumHexafluoride", 10), + CI.emptyCells(10) }, // Output + new int[] { 10000 }, + 300 * 20, // Time in ticks + 4000); // EU + + // Calcium Hydroxide + if ((ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) || LoadedMods.IHL) { + CORE.RA.addDehydratorRecipe( + new ItemStack[] { + CI.getNumberedBioCircuit(20), + ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 10) + }, + FluidUtils.getFluidStack("water", 10000), + null, // Fluid output (slot 2) + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 20) + }, // Output + new int[] { 10000 }, + 120 * 20, // Time in ticks + 120); // EU + } + else { + Logger.INFO("[dustCalciumHydroxide] FAILED TO LOAD RECIPE"); + if (!ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) { + Logger.INFO("Could not find dustQuicklime, cannot make dustCalciumHydroxide."); + } + else if (!LoadedMods.IHL) { + Logger.INFO("IHL not loaded."); + } + } + + // 2 LiOH + CaCO3 + CORE.RA.addDehydratorRecipe( + new ItemStack[] { + CI.getNumberedAdvancedCircuit(20), + ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 5) + }, // Item + null, // Fluid input (slot 1) + null, // Fluid output (slot 2) + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 2), + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 3) + }, // Output + new int[] { 10000, 10000 }, + 120 * 20, // Time in ticks + 1000); // EU + + // LiOH Liquid to Dust + CORE.RA.addDehydratorRecipe( + new ItemStack[] { + CI.getNumberedAdvancedCircuit(22) + }, + FluidUtils.getFluidStack("lithiumhydroxide", 144), + null, + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 1) + }, + new int[] { 10000 }, + 1 * 20, // Time in ticks + 64); // EU + + // Zirconium Chloride -> TetraFluoride + FluidStack aHydrogenChloride = new FluidStack(GenericChem.HydrochloricAcid, 9000); + CORE.RA.addDehydratorRecipe( + new ItemStack[] { + CI.getNumberedAdvancedCircuit(11), + ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 9), + }, // Item + FluidUtils.getFluidStack("hydrofluoricacid", 9 * 144), + aHydrogenChloride, + new ItemStack[] { + FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(9) + }, + new int[] { 10000 }, + 120 * 20, // Time in ticks + 500); // EU + + // Zirconium Chloride -> TetraFluoride + FluidStack aGregtechHydro = FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 1); + if (aGregtechHydro != null || Utils.getGregtechVersionAsInt() >= 50929) { + CORE.RA.addDehydratorRecipe( + new ItemStack[] { + CI.getNumberedAdvancedCircuit(10), + ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 9) + }, + FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 18 * 144), + aHydrogenChloride, + new ItemStack[] { + FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(9) + }, + new int[] { 10000 }, + 240 * 20, // Time in ticks + 500); // EU + } + + // Be(OH)2 + 2 (NH4)HF2 → (NH4)2BeF4 + 2 H2O + CORE.RA.addDehydratorRecipe( + new ItemStack[] { + CI.getNumberedAdvancedCircuit(6), + ItemUtils.getItemStackOfAmountFromOreDict("cellAmmoniumBifluoride", 4) + }, + FluidUtils.getFluidStack("berylliumhydroxide", 2000), // Fluid input (slot 1) + FluidUtils.getFluidStack("ammoniumtetrafluoroberyllate", 6000), + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 4) + }, + new int[] { 10000}, + 32 * 20, // Time in ticks + 64); // EU + + // (NH4)2BeF4 → 2 NH3 + 2 HF + BeF2 + CORE.RA.addDehydratorRecipe( + new ItemStack[] { + CI.getNumberedAdvancedCircuit(17), + CI.emptyCells(5) + }, + FluidUtils.getFluidStack("ammoniumtetrafluoroberyllate", 5000), + null, + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 2), + ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 2), + ItemUtils.getItemStackOfAmountFromOreDict("cellBerylliumFluoride", 1) + }, + new int[] {10000, 10000, 10000}, + 5 * 60 * 20, + 120); + + + } + + private static void electroMagneticSeperator() { + + // Zirconium + GT_Values.RA.addElectromagneticSeparatorRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedBauxite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustBauxite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSmallRutile", 1), + ItemUtils.getItemStackOfAmountFromOreDict("nuggetZirconium", 1), + new int[] { 10000, 2500, 4000 }, + 20 * 20, + 24); + + // Zircon + GT_Values.RA.addElectromagneticSeparatorRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMagnetite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustMagnetite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1), + new int[] { 10000, 1250, 2500 }, + 20 * 20, + 24); + GT_Values.RA.addElectromagneticSeparatorRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1), + new int[] { 10000, 1250, 2500 }, + 20 * 20, + 24); + + } + + private static void fluidExtractorRecipes() { + + //FLiBe fuel + CORE.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLi2BeF4", 1), + new FluidStack(ModItems.fluidFLiBeSalt, 144), 100, 500); + //LFTR Fuel 1 + CORE.RA.addFluidExtractionRecipe(NUCLIDE.LiFBeF2ZrF4U235.getDust(1), + NUCLIDE.LiFBeF2ZrF4U235.getFluid(144), 250, 1000); + CORE.RA.addFluidExtractionRecipe(NUCLIDE.LiFBeF2ZrF4UF4.getDust(1), + NUCLIDE.LiFBeF2ZrF4UF4.getFluid(144), 150, 2000); + CORE.RA.addFluidExtractionRecipe(NUCLIDE.LiFBeF2ThF4UF4.getDust(1), + NUCLIDE.LiFBeF2ThF4UF4.getFluid(144), 200, 1500); + + //ZIRCONIUM_TETRAFLUORIDE + CORE.RA.addFluidExtractionRecipe(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1), + FluidUtils.getFluidStack(ModItems.fluidZrF4, 144), 200, 512+256); + + } + + private static void macerator() { + + GT_ModHandler.addPulverisationRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1)); + + } + + private static void mixerRecipes() { + + GT_Values.RA.addMixerRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 4), + ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1), + null, + null, + FluidUtils.getFluidStack("hydrofluoricacid", 144 * 5), + FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 144 * 5), + null, + 3000, + 500); + + } + + + private static void sifter() { + + // Zirconium + GT_Values.RA.addSifterRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedIlmenite", 1), + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyWroughtIron", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1) }, + new int[] { 5000, 2500, 1000, 1000, 300, 300 }, + 20 * 30, + 500); + GT_Values.RA.addSifterRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedTin", 1), + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZinc", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1) }, + new int[] { 10000, 5000, 1500, 1000, 500, 500 }, + 20 * 30, + 500); + GT_Values.RA.addSifterRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1), + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyTin", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1) }, + new int[] { 10000, 5000, 1500, 1000, 500, 500 }, + 20 * 30, + 500); + + // Radium + GT_Values.RA.addSifterRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUranium", 1), + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("dustUranium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyLead", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) }, + new int[] { 10000, 5000, 1000, 500, 500, 500 }, + 20 * 30, + 500); + GT_Values.RA.addSifterRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUraninite", 1), + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("dustUraninite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyUranium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) }, + new int[] { 10000, 5000, 500, 250, 250, 250 }, + 20 * 30, + 500); + GT_Values.RA.addSifterRecipe( + ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPitchblende", 1), + new ItemStack[] { + ItemUtils.getItemStackOfAmountFromOreDict("dustPitchblende", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyLead", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) }, + new int[] { 10000, 5000, 500, 250, 250, 250 }, + 20 * 30, + 500); + } + +} -- cgit 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. --- .../gregtech/loaders/recipe/RecipeLoader_FFPP.java | 205 +++++++-------------- 1 file changed, 67 insertions(+), 138 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders') 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 From 7f35f5cf2684d056e5cce278e555d685e20a5821 Mon Sep 17 00:00:00 2001 From: Alkalus <3060479+draknyte1@users.noreply.github.com> Date: Mon, 6 Dec 2021 10:56:09 +0000 Subject: Added more Nuclear fluids/dusts. Added two new machines. --- .../gregtech/loaders/recipe/RecipeLoader_FFPP.java | 92 ---------------------- .../loaders/recipe/RecipeLoader_Nuclear.java | 2 +- .../recipe/RecipeLoader_NuclearFuelProcessing.java | 92 ++++++++++++++++++++++ 3 files changed, 93 insertions(+), 93 deletions(-) delete mode 100644 src/Java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_FFPP.java create mode 100644 src/Java/gtPlusPlus/xmod/gregte