diff options
author | hallucinogender <107995536+hallucinogender@users.noreply.github.com> | 2024-06-26 17:59:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-26 18:59:43 +0200 |
commit | 4dd7d54c19254a36e3e4f2c5d9ac8d3954e75828 (patch) | |
tree | b810abddf267cfc91ef5156dac7a6d7b484ad31d /src/main/java/gtPlusPlus/xmod/gregtech/loaders | |
parent | d6e5c7fda26603ee3da14a00de7bbb90d0c2825b (diff) | |
download | GT5-Unofficial-4dd7d54c19254a36e3e4f2c5d9ac8d3954e75828.tar.gz GT5-Unofficial-4dd7d54c19254a36e3e4f2c5d9ac8d3954e75828.tar.bz2 GT5-Unofficial-4dd7d54c19254a36e3e4f2c5d9ac8d3954e75828.zip |
LFTR chemistry fixes + samarium (III) chloride chemical formula fix (#2645)
* Update RecipeLoader_Nuclear.java
Start of LFTR fixes.
* Update MaterialGenerator.java
* Corrected chemical formula of Li2CO3 + Ca(OH)2
* Fixed samarium chloride chemical formula
* Revert item to fluid ratio change
* Second round of fixes
- Revert item:fluid ratio change from initial fix attempt
- Recipes:
- Autoclave:
- 1 zirconium dust + 4000 chlorine = 1 zirconium pellet
- Blast furnace:
- Fixed chemistry of lithium tetrafluoroberyllate
- Uses solid rule
- Chemical bath:
- Fixed chemistry of lithium fluoride from lithium carbonate
- Chemical reactor:
- Fixed chemistry of producing Li2CO3 + Ca(OH)2 compound dust
- Ca(OH)2 is treated as 1 calcium + 2 oxygen + 2 hydrogen rather than 1 calcium + 2 hydroxide
- This is for consistency with how it is produced and used elsewhere
- Fixed chemistry of lithium fluoride from lithium hydroxide
- Fixed chemistry of producing lithium hydroxide fluid
- Fixed chemistry of beryllium hydroxide production
- Uses solid rule
- Fixed chemistry of ammonium bifluoride production
- Uses solid rule
- Fixed chemistry of sodium fluoride production
- Dehydrator:
- Fixed chemistry of using Li2CO3 + Ca(OH)2 compound dust
- See previous note regarding calcium hydroxide
- Fixed chemistry in both recipes for zirconium tetrafluoride dust
- Preliminary fix for ammonium tetrafluoroberyllate production
- Requires cell volume fix for molten fluids
- Otherwise requires migrating to LCR
- Preliminary fix for ammonium tetrafluoroberyllate dehydrating
- Requires cell volume fix for molten fluids
- Otherwise requires migrating to LCR
- Macerator:
- 1 zirconium pellet = 5 ZrCl4 dust
- Mixer:
- Fixed chemistry of uranium tetrafluoride production
- This breaks LFTR balance, to be fixed once chemistry is fixed
* Ammonium tetrafluoroberyllate recipes
Fixes ammonium tetrafluoroberyllate recipes to circumvent currently-incorrect cell volumes by using dust forms of beryllium hydroxide, ammonium bifluoride, and beryllium fluoride.
* Lithium tetrafluoroberyllate melting fix
Reverted previous change to item:fluid ratio for lithium tetrafluoroberyllate.
* Chemical formula adjustments
Adjusted formula of calcium hydroxide to be consistent with how it is used everywhere (i.e. 1 part calcium, 2 parts oxygen, and 2 parts hydrogen, rather than 1 part calcium and 2 parts hydroxide as the previous formula implied).
Also adjusted formula and name of the lithium carbonate + calcium hydroxide compound.
* sa+bs
* Update WerkstoffMaterialPool.java
---------
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/loaders')
-rw-r--r-- | src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java | 135 |
1 files changed, 73 insertions, 62 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java index a25ed99dd2..8b30a3e344 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java @@ -58,24 +58,24 @@ public class RecipeLoader_Nuclear { private static void autoclave() { GT_Values.RA.addAutoclaveRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 9), - FluidUtils.getFluidStack("chlorine", 9 * 4 * 144), - ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 9), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), + FluidUtils.getFluidStack("chlorine", 4000), + ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1), 0, - 120 * 20, + 15 * 20, 30); } private static void blastFurnace() { GT_Values.RA.addBlastRecipe( - FLUORIDES.LITHIUM_FLUORIDE.getDust(2), - FLUORIDES.BERYLLIUM_FLUORIDE.getDust(1), + FLUORIDES.LITHIUM_FLUORIDE.getDust(4), + FLUORIDES.BERYLLIUM_FLUORIDE.getDust(3), GT_Values.NF, GT_Values.NF, - NUCLIDE.Li2BeF4.getDust(3), + NUCLIDE.Li2BeF4.getDust(7), null, - 60 * 20, + 140 * 20, 2000, 3000); @@ -182,14 +182,14 @@ public class RecipeLoader_Nuclear { 1024); GT_Values.RA.addChemicalBathRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 10), - FluidUtils.getFluidStack("hydrofluoricacid", 10 * 144), - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 10), + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3), + FluidUtils.getFluidStack("hydrofluoricacid", 500), + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2), null, null, new int[] {}, - 90 * 20, - 500); + 9 * 20, + 480); } private static void chemicalReactorRecipes() { @@ -198,27 +198,27 @@ public class RecipeLoader_Nuclear { .getItemStackOfAmountFromOreDictNoBroken("cellHydrofluoricAcid_GT5U", 2); GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 5), // Input + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 6), // Input ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), // Input null, // Fluid Input null, // Fluid Output - ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 10), + ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 11), 600 * 20); GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 5), // Input + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 3), // Input null, // Input Stack 2 - FluidUtils.getFluidStack("hydrofluoricacid", 5 * 144), - FluidUtils.getFluidStack("water", 5 * 144), // Fluid Output - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 5), - 600 * 20); + FluidUtils.getFluidStack("hydrofluoricacid", 500), + FluidUtils.getFluidStack("water", 1000), // Fluid Output + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2), + 120 * 20); GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1), + ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 8), ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 16), - FluidUtils.getFluidStack("water", 1000), - FluidUtils.getFluidStack("lithiumhydroxide", 2000 + 144 * 4), - CI.emptyCells(1), + FluidUtils.getFluidStack("water", 8000), + FluidUtils.getFluidStack("lithiumhydroxide", 6912), + CI.emptyCells(8), 300 * 20); // LFTR Fuel Related Compounds @@ -235,18 +235,18 @@ public class RecipeLoader_Nuclear { // Beryllium Hydroxide GT_Values.RA.addChemicalRecipe( ItemUtils.getGregtechCircuit(3), - ELEMENT.getInstance().BERYLLIUM.getDust(7), - MISC_MATERIALS.HYDROXIDE.getFluidStack(1000), - FLUORIDES.BERYLLIUM_HYDROXIDE.getFluidStack(2000), + ELEMENT.getInstance().BERYLLIUM.getDust(1), + MISC_MATERIALS.HYDROXIDE.getFluidStack(2000), + FLUORIDES.BERYLLIUM_HYDROXIDE.getFluidStack(432), GT_Values.NI, - 8 * 20, + 4 * 20, 30); // Ammonium Bifluoride GT_Values.RA.addChemicalRecipe( ItemUtils.getGregtechCircuit(3), ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1), - MISC_MATERIALS.AMMONIUM.getFluidStack(1000), - FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(2000), + MISC_MATERIALS.AMMONIA.getFluidStack(1000), + FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(576), CI.emptyCells(1), 20 * 20, 30); @@ -255,13 +255,14 @@ public class RecipeLoader_Nuclear { GT_Values.RA.addChemicalRecipe( ItemUtils.getGregtechCircuit(3), aGtHydrofluoricAcid, - MISC_MATERIALS.AMMONIUM.getFluidStack(1000), - FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(2000), + MISC_MATERIALS.AMMONIA.getFluidStack(1000), + FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(576), CI.emptyCells(2), 40 * 20, 30); } // Ammonium + // To be deprecated now that it is no longer needed for ammonium bifluoride GT_Values.RA.addChemicalRecipe( ItemUtils.getGregtechCircuit(3), ELEMENT.getInstance().HYDROGEN.getCell(1), @@ -272,22 +273,22 @@ public class RecipeLoader_Nuclear { 20 * 20, 30); - // Sodium Hydroxide + // Sodium Fluoride GT_Values.RA.addChemicalRecipe( CI.getNumberedBioCircuit(15), - ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3), FluidUtils.getFluidStack("hydrofluoricacid", 500), FluidUtils.getWater(1000), - FLUORIDES.SODIUM_FLUORIDE.getDust(1), + FLUORIDES.SODIUM_FLUORIDE.getDust(2), 60 * 20); if (FluidUtils.doesFluidExist("hydrofluoricacid_gt5u")) { GT_Values.RA.addChemicalRecipe( CI.getNumberedBioCircuit(15), - ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3), FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 1000), FluidUtils.getWater(1000), - FLUORIDES.SODIUM_FLUORIDE.getDust(1), + FLUORIDES.SODIUM_FLUORIDE.getDust(2), 60 * 20); } } @@ -350,13 +351,13 @@ public class RecipeLoader_Nuclear { // 2 LiOH + CaCO3 CORE.RA.addDehydratorRecipe( new ItemStack[] { CI.getNumberedAdvancedCircuit(20), - ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 5) }, // Item + ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 11) }, // Item null, // Fluid input (slot 1) null, // Fluid output (slot 2) - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 2), - ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 3) }, // Output + new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 6), + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 5) }, // Output new int[] { 10000, 10000 }, - 120 * 20, // Time in ticks + 240 * 20, // Time in ticks 1000); // EU // LiOH Liquid to Dust @@ -370,46 +371,52 @@ public class RecipeLoader_Nuclear { 64); // EU // Zirconium Chloride -> TetraFluoride - FluidStack aHydrogenChloride = new FluidStack(GenericChem.HydrochloricAcid, 9000); + FluidStack aHydrogenChloride = new FluidStack(GenericChem.HydrochloricAcid, 800); CORE.RA.addDehydratorRecipe( new ItemStack[] { CI.getNumberedAdvancedCircuit(11), - ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 9), }, // Item - FluidUtils.getFluidStack("hydrofluoricacid", 9 * 144), + ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1), }, // Item + FluidUtils.getFluidStack("hydrofluoricacid", 400), aHydrogenChloride, - new ItemStack[] { FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(9) }, + new ItemStack[] { FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1) }, new int[] { 10000 }, - 120 * 20, // Time in ticks + 15 * 20, // Time in ticks 500); // EU // Zirconium Chloride -> TetraFluoride CORE.RA.addDehydratorRecipe( new ItemStack[] { CI.getNumberedAdvancedCircuit(10), - ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 9) }, - FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 18 * 144), + ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1) }, + FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 800), aHydrogenChloride, - new ItemStack[] { FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(9) }, + new ItemStack[] { FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1) }, new int[] { 10000 }, - 240 * 20, // Time in ticks + 30 * 20, // Time in ticks 500); // EU // Be(OH)2 + 2 (NH4)HF2 → (NH4)2BeF4 + 2 H2O + // Inputs use solid rule because they are molten forms of solids + // Outputs use fluid rule because they are not molten forms of solids CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(6), FLUORIDES.AMMONIUM_BIFLUORIDE.getCell(4) }, - FLUORIDES.BERYLLIUM_HYDROXIDE.getFluidStack(2000), // Fluid input (slot 1) - FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(6000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 4) }, + new ItemStack[] { FLUORIDES.BERYLLIUM_HYDROXIDE.getDust(3), CI.emptyCells(2) }, + FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(1152), // Fluid input (slot 1) + FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(1000), + new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 2) }, new int[] { 10000 }, - 32 * 20, // Time in ticks + 6 * 20, // Time in ticks 64); // EU // (NH4)2BeF4 → 2 NH3 + 2 HF + BeF2 + // Ammonium tetrafluoroberyllate uses fluid rule because it is not a molten form of a solid + // Beryllium fluoride uses solid rule + // Industrial strength hydrofluoric acid follows its usual convention where it is twice as dense as regular + // hydrofluoric acid CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.emptyCells(5) }, - FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(5000), + new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.emptyCells(3) }, + FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(1000), null, new ItemStack[] { MISC_MATERIALS.AMMONIA.getCell(2), - ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 2), - FLUORIDES.BERYLLIUM_FLUORIDE.getCell(1) }, + ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1), + FLUORIDES.BERYLLIUM_FLUORIDE.getDust(3) }, new int[] { 10000, 10000, 10000 }, 5 * 60 * 20, 120); @@ -564,18 +571,22 @@ public class RecipeLoader_Nuclear { GT_ModHandler.addPulverisationRecipe( ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1)); + ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 5)); } private static void mixerRecipes() { + // Rebalanced to correct the chemistry + // UF4 uses solid rule due to item form even though item form currently is inaccessible because item form may be + // accessible in future and must be consistent + // UF4 solid rule also assumes 1:144 item:fluid ratio in this case GT_Values.RA.addMixerRecipe( ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 4), ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1), null, null, - FluidUtils.getFluidStack("hydrofluoricacid", 5000), - FLUORIDES.URANIUM_TETRAFLUORIDE.getFluidStack(5000), + FluidUtils.getFluidStack("hydrofluoricacid", 10000), + FLUORIDES.URANIUM_TETRAFLUORIDE.getFluidStack(3600), null, 3000, 500); |