aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/loaders
diff options
context:
space:
mode:
authorhallucinogender <107995536+hallucinogender@users.noreply.github.com>2024-06-26 17:59:43 +0100
committerGitHub <noreply@github.com>2024-06-26 18:59:43 +0200
commit4dd7d54c19254a36e3e4f2c5d9ac8d3954e75828 (patch)
treeb810abddf267cfc91ef5156dac7a6d7b484ad31d /src/main/java/gtPlusPlus/xmod/gregtech/loaders
parentd6e5c7fda26603ee3da14a00de7bbb90d0c2825b (diff)
downloadGT5-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.java135
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);