aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ArtificialMicaLine.java32
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/PlatinumSludgeOverHaul.java32
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java19
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java8
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CellLoader.java171
5 files changed, 138 insertions, 124 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ArtificialMicaLine.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ArtificialMicaLine.java
index 0063abf7c1..5ecbac56d6 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ArtificialMicaLine.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ArtificialMicaLine.java
@@ -17,29 +17,29 @@ import net.minecraftforge.fluids.FluidStack;
public class ArtificialMicaLine {
public static void runArtificialMicaRecipe() {
- //Mg + O = 2MgO
+ //Mg + O = MgO
GT_Values.RA.addChemicalRecipe(Materials.Magnesium.getDust(1), null, Materials.Oxygen.getGas(1000), null, Materials.Magnesia.getDust(2), 40, 8);
- //Si + 6HF = 7H2SiF6
- GT_Values.RA.addChemicalRecipe(Materials.Silicon.getDust(1), null, Materials.HydrofluoricAcid.getFluid(6000), WerkstoffLoader.HexafluorosilicicAcid.getFluidOrGas(7000), null, 400, 120);
- //K + Cl = 2KCl
+ //Si + 6HF = H2SiF6 + 4H
+ GT_Values.RA.addChemicalRecipe(Materials.Silicon.getDust(1), Materials.Empty.getCells(4), Materials.HydrofluoricAcid.getFluid(6000), WerkstoffLoader.HexafluorosilicicAcid.getFluidOrGas(1000), Materials.Hydrogen.getCells(4), 400, 120);
+ //K + Cl = KCl
GT_Values.RA.addChemicalRecipe(Materials.Potassium.getDust(1), GT_Utility.getIntegratedCircuit(2), Materials.Chlorine.getGas(1000), null, Materials.RockSalt.getDust(2), 20, 8);
//2KCl + H2SiF6 = 2HCl + K2SiF6
- GT_Values.RA.addMixerRecipe(Materials.RockSalt.getDust(2), null, null, null, WerkstoffLoader.HexafluorosilicicAcid.getFluidOrGas(1000), Materials.HydrochloricAcid.getGas(2000), WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 1), 20, 8);
- //2K + CO2 + O = 6K2CO3
- GT_Values.RA.addChemicalRecipe(Materials.Potassium.getDust(2), Materials.CarbonDioxide.getCells(1), Materials.Oxygen.getGas(1000), null, WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 6), 40, 8);
- //K2O + CO2 = 6K2CO3
- GT_Values.RA.addChemicalRecipe(Materials.Potash.getDust(1), Materials.CarbonDioxide.getCells(1), null, null, WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 6), 40, 8);
+ GT_Values.RA.addMixerRecipe(Materials.RockSalt.getDust(4), null, null, null, WerkstoffLoader.HexafluorosilicicAcid.getFluidOrGas(1000), Materials.HydrochloricAcid.getGas(2000), WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 9), 20, 8);
+ //2K + CO2 + O = K2CO3
+ GT_Values.RA.addChemicalRecipe(Materials.Potassium.getDust(2), Materials.CarbonDioxide.getCells(1), Materials.Oxygen.getGas(1000), null, WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 6), Materials.Empty.getCells(1), 40, 8);
+ //K2O + CO2 = K2CO3
+ GT_Values.RA.addChemicalRecipe(Materials.Potash.getDust(3), Materials.CarbonDioxide.getCells(1), null, null, WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 6), Materials.Empty.getCells(1), 40, 8);
//55Quartz Dust + 20K2SiF6 + 12Al2O3 + 4K2CO3 = 91Raw Fluorophlogopite Dust
GT_Values.RA.addMixerRecipe(Materials.QuartzSand.getDust(55), WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 20), WerkstoffLoader.Alumina.get(OrePrefixes.dust, 12), WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 4), null, GT_Utility.getIntegratedCircuit(4), null, null, null, null, null, WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 27), null, null, 400, 120);
- //55Quartzite/Nether Quartz Dust + 20K2SiF6 + 12Al2O3 + 4K2CO3 = 136Raw Fluorophlogopite Dust
- GT_Values.RA.addMixerRecipe(Materials.Quartzite.getDust(55), WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 20), WerkstoffLoader.Alumina.get(OrePrefixes.dust, 12), WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 4), null, GT_Utility.getIntegratedCircuit(4), null, null, null, null, null, WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 8), null, 600, 120);
- GT_Values.RA.addMixerRecipe(Materials.NetherQuartz.getDust(55), WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 20), WerkstoffLoader.Alumina.get(OrePrefixes.dust, 12), WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 4), null, GT_Utility.getIntegratedCircuit(4), null, null, null, null, null, WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 8), null, 600, 120);
- //62Certus Quartz Dust + 10K2SiF6 + 12Al2O3 + 4K2CO3 = 91Raw Fluorophlogopite Dust
- GT_Values.RA.addMixerRecipe(Materials.CertusQuartz.getDust(62), WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 10), WerkstoffLoader.Alumina.get(OrePrefixes.dust, 12), WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 4), null, GT_Utility.getIntegratedCircuit(4), null, null, null, null, null, WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 27), null, null, 600, 120);
+ //55Quartzite/Nether Quartz Dust + 20K2SiF6 + 57Al2O3 + 4K2CO3 = 136Raw Fluorophlogopite Dust
+ GT_Values.RA.addMixerRecipe(Materials.Quartzite.getDust(55), WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 20), WerkstoffLoader.Alumina.get(OrePrefixes.dust, 57), WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 4), null, GT_Utility.getIntegratedCircuit(4), null, null, null, null, null, WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 8), null, 600, 120);
+ GT_Values.RA.addMixerRecipe(Materials.NetherQuartz.getDust(55), WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 20), WerkstoffLoader.Alumina.get(OrePrefixes.dust, 57), WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 4), null, GT_Utility.getIntegratedCircuit(4), null, null, null, null, null, WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 8), null, 600, 120);
+ //62Certus Quartz Dust + 10K2SiF6 + 12Al2O3 + 7K2CO3 = 91Raw Fluorophlogopite Dust
+ GT_Values.RA.addMixerRecipe(Materials.CertusQuartz.getDust(62), WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 10), WerkstoffLoader.Alumina.get(OrePrefixes.dust, 12), WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 7), null, GT_Utility.getIntegratedCircuit(4), null, null, null, null, null, WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 27), null, null, 600, 120);
//MgO(s) = MgO(l)
GT_Values.RA.addFluidExtractionRecipe(Materials.Magnesia.getDust(1), null, Materials.Magnesia.getMolten(144), 0, 20, 120);
- //27Raw Fluorophlogopite Dust + 432MgO(l) = 4608Fluorophlogopite(l)
- GT_Values.RA.addBlastRecipe(WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 27), null, BW_GT_MaterialReference.Magnesia.getMolten(432), WerkstoffLoader.HotFluorophlogopite.getFluidOrGas(4608), Materials.Glass.getDust(1), null, 600, 480, 1700);
+ //27Raw Fluorophlogopite Dust + 720MgO(l) = 4608Fluorophlogopite(l)
+ GT_Values.RA.addBlastRecipe(WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 27), null, BW_GT_MaterialReference.Magnesia.getMolten(720), WerkstoffLoader.HotFluorophlogopite.getFluidOrGas(4608), Materials.Glass.getDust(1), null, 600, 480, 1700);
//144Fluorophlogopite(l) = Fluorophlogopite
GT_Recipe.GT_Recipe_Map.sVacuumRecipes.addRecipe(new GT_Recipe(false, new ItemStack[]{ItemList.Shape_Mold_Plate.get(0)}, new ItemStack[]{WerkstoffLoader.Fluorophlogopite.get(OrePrefixes.plate, 1)}, null, null, new FluidStack[]{WerkstoffLoader.HotFluorophlogopite.getFluidOrGas(144)}, null, 10, 120, 0));
//Fluorophlogopite = 4Insulator Foil
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/PlatinumSludgeOverHaul.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/PlatinumSludgeOverHaul.java
index 90494ec1fa..fe1dbbe91b 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/PlatinumSludgeOverHaul.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/PlatinumSludgeOverHaul.java
@@ -77,13 +77,16 @@ public class PlatinumSludgeOverHaul {
private static void runHelperrecipes() {
//DilutedSulfuricAcid
- GT_Values.RA.addMixerRecipe(Materials.SulfuricAcid.getCells(3), Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1), null, null, null, Materials.DilutedSulfuricAcid.getCells(4), 30, 30);
- GT_Values.RA.addMixerRecipe(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1), null, null, Materials.SulfuricAcid.getFluid(3000), Materials.DilutedSulfuricAcid.getFluid(4000), Materials.Empty.getCells(1), 30, 30);
- GT_Values.RA.addMixerRecipe(Materials.SulfuricAcid.getCells(3), GT_Utility.getIntegratedCircuit(1), null, null, Materials.Water.getFluid(1000), Materials.DilutedSulfuricAcid.getFluid(4000), Materials.Empty.getCells(3), 30, 30);
+ // 2H2SO4 + H2O = 3H2SO4(d)
+ GT_Values.RA.addMixerRecipe(Materials.SulfuricAcid.getCells(2), Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1), null, null, null, Materials.DilutedSulfuricAcid.getCells(3), 30, 30);
+ GT_Values.RA.addMixerRecipe(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1), null, null, Materials.SulfuricAcid.getFluid(2000), Materials.DilutedSulfuricAcid.getFluid(3000), Materials.Empty.getCells(1), 30, 30);
+ GT_Values.RA.addMixerRecipe(Materials.SulfuricAcid.getCells(2), GT_Utility.getIntegratedCircuit(1), null, null, Materials.Water.getFluid(1000), Materials.DilutedSulfuricAcid.getFluid(3000), Materials.Empty.getCells(2), 30, 30);
//FormicAcid
- GT_Values.RA.addChemicalRecipe(Materials.CarbonMonoxide.getCells(1), Materials.SodiumHydroxide.getDust(1), null, null, Sodiumformate.get(cell), null, 15);
- GT_Values.RA.addChemicalRecipe(Sodiumformate.get(cell, 2), GT_Utility.getIntegratedCircuit(1), Materials.SulfuricAcid.getFluid(1000), null, FormicAcid.get(cell, 2), Sodiumsulfate.get(dust, 1), 15);
- GT_Values.RA.addChemicalRecipe(Materials.SulfuricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1), Sodiumformate.getFluidOrGas(2000), FormicAcid.getFluidOrGas(2000), Materials.Empty.getCells(1), Sodiumsulfate.get(dust, 1), 15);
+ //CO + NaOH = CHO2Na
+ GT_Values.RA.addChemicalRecipe(Materials.CarbonMonoxide.getCells(1), Materials.SodiumHydroxide.getDust(3), null, null, Sodiumformate.get(cell), null, 15);
+ //H2SO4 + 2CHO2Na = 2CH2O2 + Na2SO4
+ GT_Values.RA.addChemicalRecipe(Sodiumformate.get(cell, 2), GT_Utility.getIntegratedCircuit(1), Materials.SulfuricAcid.getFluid(1000), null, FormicAcid.get(cell, 2), Sodiumsulfate.get(dust, 7), 15);
+ GT_Values.RA.addChemicalRecipe(Materials.SulfuricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1), Sodiumformate.getFluidOrGas(2000), FormicAcid.getFluidOrGas(2000), Materials.Empty.getCells(1), Sodiumsulfate.get(dust, 7), 15);
//AquaRegia
GT_Values.RA.addMixerRecipe(Materials.DilutedSulfuricAcid.getCells(1), Materials.NitricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1), null, null, null, AquaRegia.get(cell, 2), 30, 30);
GT_Values.RA.addMixerRecipe(Materials.DilutedSulfuricAcid.getCells(1), Materials.NitricAcid.getCells(1), GT_Utility.getIntegratedCircuit(2), null, null, AquaRegia.getFluidOrGas(2000), Materials.Empty.getCells(2), 30, 30);
@@ -91,6 +94,7 @@ public class PlatinumSludgeOverHaul {
GT_Values.RA.addMixerRecipe(Materials.DilutedSulfuricAcid.getCells(1), GT_Utility.getIntegratedCircuit(4), null, null, Materials.NitricAcid.getFluid(1000), AquaRegia.getFluidOrGas(2000), Materials.Empty.getCells(1), 30, 30);
//AmmoniumCloride
+ //NH3 + HCl = NH4Cl
GT_Values.RA.addChemicalRecipe(Materials.Ammonia.getCells(1), GT_Utility.getIntegratedCircuit(1), Materials.HydrochloricAcid.getFluid(1000), null, AmmoniumChloride.get(cell, 1), null, 15);
GT_Values.RA.addChemicalRecipe(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1), Materials.Ammonia.getGas(1000), AmmoniumChloride.getFluidOrGas(1000), Materials.Empty.getCells(1), null, 15);
@@ -112,10 +116,10 @@ public class PlatinumSludgeOverHaul {
GT_Values.RA.addChemicalRecipe(PTMetallicPowder.get(dust), GT_Utility.getIntegratedCircuit(1), AquaRegia.getFluidOrGas(1000), PTConcentrate.getFluidOrGas(1000), PTResidue.get(dustTiny), 250);
GT_Values.RA.addChemicalRecipe(PTMetallicPowder.get(dust, 9), GT_Utility.getIntegratedCircuit(9), AquaRegia.getFluidOrGas(9000), PTConcentrate.getFluidOrGas(9000), PTResidue.get(dust), 2250);
- GT_Values.RA.addCentrifugeRecipe(PTConcentrate.get(cell,2), null, AmmoniumChloride.getFluidOrGas(200), PDAmmonia.getFluidOrGas(200), PTSaltCrude.get(dustTiny, 16), PTRawPowder.get(dustTiny,2), Materials.NitrogenDioxide.getCells(1), Materials.DilutedSulfuricAcid.getCells(1), null, null, null, 1200, 30);
+ GT_Values.RA.addCentrifugeRecipe(PTConcentrate.get(cell,2), null, AmmoniumChloride.getFluidOrGas(200), PDAmmonia.getFluidOrGas(200), PTSaltCrude.get(dustTiny, 16), PTRawPowder.get(dustTiny,4), Materials.NitrogenDioxide.getCells(1), Materials.DilutedSulfuricAcid.getCells(1), null, null, null, 1200, 30);
//GT_Values.RA.addCentrifugeRecipe(PTConcentrate.get(cell,18), GT_Utility.getIntegratedCircuit(9), AmmoniumChloride.getFluidOrGas(1800), PDAmmonia.getFluidOrGas(1800), PTSaltCrude.get(dust, 16), PTRawPowder.get(dust,2), Materials.NitrogenDioxide.getCells(9), Materials.DilutedSulfuricAcid.getCells(9), null, null, null, 1400, 240);
- GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(1)}, new FluidStack[]{PTConcentrate.getFluidOrGas(2000), AmmoniumChloride.getFluidOrGas(200)}, new FluidStack[]{PDAmmonia.getFluidOrGas(200), Materials.NitrogenDioxide.getGas(1000),Materials.DilutedSulfuricAcid.getFluid(1000)}, new ItemStack[]{PTSaltCrude.get(dustTiny, 16), PTRawPowder.get(dustTiny,2)}, 1200, 30);
- GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(2)}, new FluidStack[]{PTConcentrate.getFluidOrGas(18000), AmmoniumChloride.getFluidOrGas(1800)}, new FluidStack[]{PDAmmonia.getFluidOrGas(1800), Materials.NitrogenDioxide.getGas(9000),Materials.DilutedSulfuricAcid.getFluid(9000)}, new ItemStack[]{PTSaltCrude.get(dust, 16), PTRawPowder.get(dust,2)}, 1400, 240);
+ GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(1)}, new FluidStack[]{PTConcentrate.getFluidOrGas(2000), AmmoniumChloride.getFluidOrGas(200)}, new FluidStack[]{PDAmmonia.getFluidOrGas(200), Materials.NitrogenDioxide.getGas(1000),Materials.DilutedSulfuricAcid.getFluid(1000)}, new ItemStack[]{PTSaltCrude.get(dustTiny, 16), PTRawPowder.get(dustTiny,4)}, 1200, 30);
+ GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(2)}, new FluidStack[]{PTConcentrate.getFluidOrGas(18000), AmmoniumChloride.getFluidOrGas(1800)}, new FluidStack[]{PDAmmonia.getFluidOrGas(1800), Materials.NitrogenDioxide.getGas(9000),Materials.DilutedSulfuricAcid.getFluid(9000)}, new ItemStack[]{PTSaltCrude.get(dust, 16), PTRawPowder.get(dust,4)}, 1400, 240);
GT_Values.RA.addSifterRecipe(PTSaltCrude.get(dust), new ItemStack[]{
PTSaltRefined.get(dust),
PTSaltRefined.get(dust),
@@ -130,7 +134,8 @@ public class PlatinumSludgeOverHaul {
1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1500,
}, 600, 30);
GT_Values.RA.addBlastRecipe(PTSaltRefined.get(dust), GT_Utility.getIntegratedCircuit(1), null, Materials.Chlorine.getGas(87), PTMetallicPowder.get(dust), null, 200, 120, 900);
- GT_Values.RA.addChemicalRecipe(PTRawPowder.get(dust, 2), Materials.Calcium.getDust(1), null, null, Materials.Platinum.getDust(2), CalciumChloride.get(dust), 30);
+ //2PtCl + Ca = 2Pt + CaCl2
+ GT_Values.RA.addChemicalRecipe(PTRawPowder.get(dust, 4), Materials.Calcium.getDust(1), null, null, Materials.Platinum.getDust(2), CalciumChloride.get(dust, 3), 30);
//Pd
GT_Values.RA.addChemicalRecipe(PDMetallicPowder.get(dust), GT_Utility.getIntegratedCircuit(1), Materials.Ammonia.getGas(1000), PDAmmonia.getFluidOrGas(1000), null, 250);
GT_Values.RA.addChemicalRecipe(PDMetallicPowder.get(dust), GT_Utility.getIntegratedCircuit(1), PDAmmonia.getFluidOrGas(1000), null, PDSalt.get(dustTiny, 16), PDRawPowder.get(dustTiny, 2), 250);
@@ -151,7 +156,8 @@ public class PlatinumSludgeOverHaul {
}, 600, 30);
GT_Values.RA.addChemicalRecipeForBasicMachineOnly(PDRawPowder.get(dust, 2), Materials.Empty.getCells(1), FormicAcid.getFluidOrGas(4000), Materials.Ammonia.getGas(2000), Materials.Palladium.getDust(2), Materials.Ethylene.getCells(1), 250, 30);
GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{PDRawPowder.get(dust, 2)}, new FluidStack[]{FormicAcid.getFluidOrGas(4000)}, new FluidStack[]{Materials.Ammonia.getGas(2000), Materials.Ethylene.getGas(1000), Materials.Water.getFluid(1000)}, new ItemStack[]{Materials.Palladium.getDust(2)}, 250, 30);
- GT_Values.RA.addChemicalRecipe(Sodiumsulfate.get(dust, 1), Materials.Hydrogen.getCells(2), null, Materials.SulfuricAcid.getFluid(1000), Materials.Sodium.getDust(2), Materials.Empty.getCells(2), 30);
+ //Na2SO4 + 2H = 2Na + H2SO4
+ GT_Values.RA.addChemicalRecipe(Sodiumsulfate.get(dust, 7), Materials.Hydrogen.getCells(2), null, Materials.SulfuricAcid.getFluid(1000), Materials.Sodium.getDust(2), Materials.Empty.getCells(2), 30);
//K2S2O7
// GT_Values.RA.addChemicalRecipe(Sodiumsulfate.get(dust), Materials.Potassium.getDust(2), Materials.Oxygen.getGas(3000), null, PotassiumDisulfate.get(dust,6), null, 30);
//Rh/Os/Ir/Ru
@@ -186,7 +192,9 @@ public class PlatinumSludgeOverHaul {
GT_Values.RA.addChemicalRecipe(Materials.Zinc.getDust(1), null, RHSulfateSolution.getFluidOrGas(1000), null, ZincSulfate.get(dust,6), CrudeRhMetall.get(dust), 300);
GT_Values.RA.addBlastRecipe(CrudeRhMetall.get(dust), Materials.Salt.getDust(1), Materials.Chlorine.getGas(1000), null, RHSalt.get(dust, 3), null, 300, 120, 600);
GT_Values.RA.addMixerRecipe(RHSalt.get(dust, 10), null, null, null, Materials.Water.getFluid(2000), RHSaltSolution.getFluidOrGas(2000), null, 300, 30);
- GT_Values.RA.addChemicalRecipe(SodiumNitrate.get(dust), GT_Utility.getIntegratedCircuit(1), RHSaltSolution.getFluidOrGas(1000), null, RHNitrate.get(dust), Materials.Salt.getDust(1), 300);
+ GT_Values.RA.addChemicalRecipe(SodiumNitrate.get(dust, 5), GT_Utility.getIntegratedCircuit(1), RHSaltSolution.getFluidOrGas(1000), null, RHNitrate.get(dust), Materials.Salt.getDust(2), 300);
+ //Na + HNO3 = NaNO3 + H
+ GT_Values.RA.addChemicalRecipe(Materials.Sodium.getDust(1), GT_Values.NI, Materials.NitricAcid.getFluid(1000), Materials.Hydrogen.getGas(1000), SodiumNitrate.get(dust, 5), 8, 60);
GT_Values.RA.addSifterRecipe(RHNitrate.get(dust), new ItemStack[]{
RhFilterCake.get(dust),
RhFilterCake.get(dust),
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java
index 46177597ad..1eefa100d5 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java
@@ -1230,11 +1230,12 @@ public class WerkstoffLoader {
subscriptNumbers("NaNO3"),
new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
- new Werkstoff.GenerationFeatures().disable().onlyDust().addChemicalRecipes(),
+ new Werkstoff.GenerationFeatures().disable().onlyDust(),
82,
TextureSet.SET_ROUGH,
new Pair<>(Materials.Sodium, 1),
- new Pair<>(Materials.NitricAcid, 1)
+ new Pair<>(Materials.Nitrogen, 1),
+ new Pair<>(Materials.Oxygen, 3)
);
public static final Werkstoff RHNitrate = new Werkstoff(
new short[]{0x77, 0x66, 0x49},
@@ -1411,21 +1412,27 @@ public class WerkstoffLoader {
new short[]{0x2c, 0x70, 0xb5},
"Hexafluorosilicic Acid",
subscriptNumbers("H2SiF6"),
- new Werkstoff.Stats(),
+ new Werkstoff.Stats().setElektrolysis(true),
Werkstoff.Types.COMPOUND,
new Werkstoff.GenerationFeatures().disable().addCells(),
98,
- TextureSet.SET_FLUID
+ TextureSet.SET_FLUID,
+ new Pair<>(Materials.Hydrogen, 2),
+ new Pair<>(Materials.Silicon, 1),
+ new Pair<>(Materials.Fluorine, 6)
);
public static final Werkstoff Potassiumfluorosilicate = new Werkstoff(
new short[]{0x2e, 0x97, 0xb2},
"Potassiumfluorosilicate",
subscriptNumbers("K2SiF6"),
- new Werkstoff.Stats(),
+ new Werkstoff.Stats().setElektrolysis(true),
Werkstoff.Types.COMPOUND,
new Werkstoff.GenerationFeatures().disable().onlyDust(),
99,
- TextureSet.SET_SHINY
+ TextureSet.SET_SHINY,
+ new Pair<>(Materials.Potassium, 2),
+ new Pair<>(Materials.Silicon, 1),
+ new Pair<>(Materials.Fluorine, 6)
);
public static final Werkstoff Alumina = new Werkstoff(
new short[]{0xa0, 0xad, 0xb1},
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
index a8af99b104..aefb3df7b4 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
@@ -292,15 +292,19 @@ public class AdditionalRecipes {
400,
BW_Util.getMachineVoltageFromTier(5)
);
- GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(dust), Materials.Aluminium.getDust(1), Materials.Thorium.getDust(1), 1000);
- GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(dust), Materials.Magnesium.getDust(1), Materials.Thorium.getDust(1), 1000);
+ //3ThO2 + 4Al = 3Th + 2Al2O3
+ GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(dust, 9), Materials.Aluminium.getDust(4), null, null, Materials.Thorium.getDust(3), Materials.Aluminiumoxide.getDust(10), 1000);
+ //ThO2 + 2Mg = Th + 2MgO
+ GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(dust, 3), Materials.Magnesium.getDust(2), null, null, Materials.Thorium.getDust(1), Materials.Magnesia.getDust(4), 1000);
GT_Values.RA.addChemicalRecipe(WerkstoffLoader.Thorianit.get(crushed), ItemList.Crop_Drop_Thorium.get(9), Materials.Water.getFluid(1000), Materials.Thorium.getMolten(144), WerkstoffLoader.Thorianit.get(crushedPurified, 4), 96, 24);
//Prasiolite
GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(dust, Materials.Quartzite, 40L), Materials.Amethyst.getDust(10), GT_Values.NF, GT_Values.NF, WerkstoffLoader.Prasiolite.get(OrePrefixes.gemFlawed, 20), GT_Values.NI, 800, BW_Util.getMachineVoltageFromTier(2), 500);
GT_Values.RA.addPrimitiveBlastRecipe(GT_OreDictUnificator.get(dust, Materials.Quartzite, 40L), Materials.Amethyst.getDust(10), 6, WerkstoffLoader.Prasiolite.get(OrePrefixes.gemFlawed, 20), GT_Values.NI, 800);
//Cubic Circonia
+ //2Y + 3O = Y2O3
GT_Values.RA.addChemicalRecipe(Materials.Yttrium.getDust(2), GT_Utility.getIntegratedCircuit(5), Materials.Oxygen.getGas(3000), GT_Values.NF, WerkstoffLoader.YttriumOxide.get(dust, 5), 4096, BW_Util.getMachineVoltageFromTier(1));
+ //Zr + 2O =Y22O3= ZrO2
GT_Recipe.GT_Recipe_Map.sBlastRecipes.addRecipe(false, new ItemStack[]{WerkstoffLoader.Zirconium.get(dust, 10), WerkstoffLoader.YttriumOxide.get(dust)}, new ItemStack[]{WerkstoffLoader.YttriumOxide.get(dust), WerkstoffLoader.CubicZirconia.get(gemFlawed, 40)}, null, null, new FluidStack[]{Materials.Oxygen.getGas(20000)}, null, 57600, BW_Util.getMachineVoltageFromTier(3), 2953);
//Tellurium
GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(crushed, Materials.Lead, 10L), GT_Utility.getIntegratedCircuit(17), GT_Values.NF, GT_Values.NF, Materials.Lead.getIngots(10), Materials.Tellurium.getNuggets(20), 800, BW_Util.getMachineVoltageFromTier(2), 722);
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CellLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CellLoader.java
index 896ea0ca23..a452f6b4e5 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CellLoader.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CellLoader.java
@@ -27,10 +27,9 @@ import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
import com.github.bartimaeusnek.bartworks.system.material.werkstoff_loaders.IWerkstoffRunnable;
import com.github.bartimaeusnek.bartworks.util.BWRecipes;
-import gregtech.api.enums.Element;
-import gregtech.api.enums.GT_Values;
-import gregtech.api.enums.ItemList;
-import gregtech.api.enums.Materials;
+import com.github.bartimaeusnek.bartworks.util.Pair;
+import gregtech.api.enums.*;
+import gregtech.api.interfaces.ISubTagContainer;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
@@ -40,6 +39,9 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
import java.util.Objects;
import static gregtech.api.enums.OrePrefixes.*;
@@ -47,93 +49,86 @@ import static gregtech.api.enums.OrePrefixes.cell;
public class CellLoader implements IWerkstoffRunnable {
@Override
+ @SuppressWarnings("unchecked")
public void run(Werkstoff werkstoff) {
if (!werkstoff.hasItemType(cell))
return;
-// if (werkstoff.getStats().isElektrolysis() || werkstoff.getStats().isCentrifuge() || werkstoff.getGenerationFeatures().hasChemicalRecipes()) {
-// List<FluidStack> flOutputs = new ArrayList<>();
-// List<ItemStack> stOutputs = new ArrayList<>();
-// HashMap<ISubTagContainer, Pair<Integer, Integer>> tracker = new HashMap<>();
-// int cells = 0;
-// for (Pair<ISubTagContainer, Integer> container : werkstoff.getContents().getValue().toArray(new Pair[0])) {
-// if (container.getKey() instanceof Materials) {
-// if (((Materials) container.getKey()).hasCorrespondingGas() || ((Materials) container.getKey()).hasCorrespondingFluid() || ((Materials) container.getKey()).mIconSet == TextureSet.SET_FLUID) {
-// FluidStack tmpFl = ((Materials) container.getKey()).getGas(1000 * container.getValue());
-// if (tmpFl == null || tmpFl.getFluid() == null) {
-// tmpFl = ((Materials) container.getKey()).getFluid(1000 * container.getValue());
-// }
-// flOutputs.add(tmpFl);
-// if (flOutputs.size() > 1) {
-// if (!tracker.containsKey(container.getKey())) {
-// stOutputs.add(((Materials) container.getKey()).getCells(container.getValue()));
-// tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1));
-// } else {
-// stOutputs.add(((Materials) container.getKey()).getCells(tracker.get(container.getKey()).getKey() + container.getValue()));
-// stOutputs.remove(tracker.get(container.getKey()).getValue() + 1);
-// }
-// cells += container.getValue();
-// }
-// } else {
-// if (((Materials) container.getKey()).getDust(container.getValue()) == null)
-// continue;
-// if (!tracker.containsKey(container.getKey())) {
-// stOutputs.add(((Materials) container.getKey()).getDust(container.getValue()));
-// tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1));
-// } else {
-// stOutputs.add(((Materials) container.getKey()).getDust(tracker.get(container.getKey()).getKey() + container.getValue()));
-// stOutputs.remove(tracker.get(container.getKey()).getValue() + 1);
-// }
-// }
-// } else if (container.getKey() instanceof Werkstoff) {
-// if (((Werkstoff) container.getKey()).getStats().isGas() || ((Werkstoff) container.getKey()).hasItemType(cell)) {
-// FluidStack tmpFl = ((Werkstoff) container.getKey()).getFluidOrGas(1000 * container.getValue());
-// if (tmpFl == null || tmpFl.getFluid() == null) {
-// tmpFl = ((Werkstoff) container.getKey()).getFluidOrGas(1000 * container.getValue());
-// }
-// flOutputs.add(tmpFl);
-// if (flOutputs.size() > 1) {
-// if (!tracker.containsKey(container.getKey())) {
-// stOutputs.add(((Werkstoff) container.getKey()).get(cell, container.getValue()));
-// tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1));
-// } else {
-// stOutputs.add(((Werkstoff) container.getKey()).get(cell, tracker.get(container.getKey()).getKey() + container.getValue()));
-// stOutputs.remove(tracker.get(container.getKey()).getValue() + 1);
-// }
-// cells += container.getValue();
-// }
-// } else {
-// if (!((Werkstoff) container.getKey()).hasItemType(dust))
-// continue;
-// if (!tracker.containsKey(container.getKey())) {
-// stOutputs.add(((Werkstoff) container.getKey()).get(dust, container.getValue()));
-// tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1));
-// } else {
-// stOutputs.add(((Werkstoff) container.getKey()).get(dust, (tracker.get(container.getKey()).getKey() + container.getValue())));
-// stOutputs.remove(tracker.get(container.getKey()).getValue() + 1);
-// }
-// }
-// }
-// }
-// ItemStack input = werkstoff.get(cell);
-// input.stackSize = werkstoff.getContents().getKey();
-// cells += werkstoff.getContents().getKey();
-// stOutputs.add(Materials.Empty.getCells(cells));
-// if (werkstoff.getStats().isElektrolysis())
-// GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes.add(new BWRecipes.DynamicGTRecipe(true, new ItemStack[]{input, cells > 0 ? Materials.Empty.getCells(cells) : null}, stOutputs.toArray(new ItemStack[0]), null, null, new FluidStack[]{null}, new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null}, (int) Math.max(1L, Math.abs(werkstoff.getStats().getProtons() * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 30, 0));
-// if (werkstoff.getStats().isCentrifuge())
-// GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.add(new BWRecipes.DynamicGTRecipe(true, new ItemStack[]{input, cells > 0 ? Materials.Empty.getCells(cells) : null}, stOutputs.toArray(new ItemStack[0]), null, null, new FluidStack[]{null}, new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null}, (int) Math.max(1L, Math.abs(werkstoff.getStats().getMass() * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 5, 0));
-// if (werkstoff.getGenerationFeatures().hasChemicalRecipes()) {
-// if (cells > 0)
-// stOutputs.add(Materials.Empty.getCells(cells));
-// GT_Recipe.GT_Recipe_Map.sChemicalRecipes.add(new BWRecipes.DynamicGTRecipe(true, stOutputs.toArray(new ItemStack[0]),new ItemStack[]{input},null,null,new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null},null,(int) Math.max(1L, Math.abs(werkstoff.getStats().getProtons() * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 30,0));
-// }
-// if (werkstoff.getGenerationFeatures().hasMixerRecipes()) {
-// if (cells > 0)
-// stOutputs.add(Materials.Empty.getCells(cells));
-// GT_Recipe.GT_Recipe_Map.sMixerRecipes.add(new BWRecipes.DynamicGTRecipe(true, stOutputs.toArray(new ItemStack[0]),new ItemStack[]{input},null,null,new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null},null,(int) Math.max(1L, Math.abs(werkstoff.getStats().getMass() * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 5,0));
-// }
-// }
+ if (werkstoff.getStats().isElektrolysis() || werkstoff.getStats().isCentrifuge()) {
+ List<FluidStack> flOutputs = new ArrayList<>();
+ List<ItemStack> stOutputs = new ArrayList<>();
+ HashMap<ISubTagContainer, Pair<Integer, Integer>> tracker = new HashMap<>();
+ int cells = 0;
+ for (Pair<ISubTagContainer, Integer> container : werkstoff.getContents().getValue().toArray(new Pair[0])) {
+ if (container.getKey() instanceof Materials) {
+ if (((Materials) container.getKey()).hasCorrespondingGas() || ((Materials) container.getKey()).hasCorrespondingFluid() || ((Materials) container.getKey()).mIconSet == TextureSet.SET_FLUID) {
+ FluidStack tmpFl = ((Materials) container.getKey()).getGas(1000 * container.getValue());
+ if (tmpFl == null || tmpFl.getFluid() == null) {
+ tmpFl = ((Materials) container.getKey()).getFluid(1000 * container.getValue());
+ }
+ flOutputs.add(tmpFl);
+ if (flOutputs.size() > 1) {
+ if (!tracker.containsKey(container.getKey())) {
+ stOutputs.add(((Materials) container.getKey()).getCells(container.getValue()));
+ tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1));
+ } else {
+ stOutputs.add(((Materials) container.getKey()).getCells(tracker.get(container.getKey()).getKey() + container.getValue()));
+ stOutputs.remove(tracker.get(container.getKey()).getValue() + 1);
+ }
+ cells += container.getValue();
+ }
+ } else {
+ if (((Materials) container.getKey()).getDust(container.getValue()) == null)
+ continue;
+ if (!tracker.containsKey(container.getKey())) {
+ stOutputs.add(((Materials) container.getKey()).getDust(container.getValue()));
+ tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1));
+ } else {
+ stOutputs.add(((Materials) container.getKey()).getDust(tracker.get(container.getKey()).getKey() + container.getValue()));
+ stOutputs.remove(tracker.get(container.getKey()).getValue() + 1);
+ }
+ }
+ } else if (container.getKey() instanceof Werkstoff) {
+ if (((Werkstoff) container.getKey()).getStats().isGas() || ((Werkstoff) container.getKey()).hasItemType(cell)) {
+ FluidStack tmpFl = ((Werkstoff) container.getKey()).getFluidOrGas(1000 * container.getValue());
+ if (tmpFl == null || tmpFl.getFluid() == null) {
+ tmpFl = ((Werkstoff) container.getKey()).getFluidOrGas(1000 * container.getValue());
+ }
+ flOutputs.add(tmpFl);
+ if (flOutputs.size() > 1) {
+ if (!tracker.containsKey(container.getKey())) {
+ stOutputs.add(((Werkstoff) container.getKey()).get(cell, container.getValue()));
+ tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1));
+ } else {
+ stOutputs.add(((Werkstoff) container.getKey()).get(cell, tracker.get(container.getKey()).getKey() + container.getValue()));
+ stOutputs.remove(tracker.get(container.getKey()).getValue() + 1);
+ }
+ cells += container.getValue();
+ }
+ } else {
+ if (!((Werkstoff) container.getKey()).hasItemType(dust))
+ continue;
+ if (!tracker.containsKey(container.getKey())) {
+ stOutputs.add(((Werkstoff) container.getKey()).get(dust, container.getValue()));
+ tracker.put(container.getKey(), new Pair<>(container.getValue(), stOutputs.size() - 1));
+ } else {
+ stOutputs.add(((Werkstoff) container.getKey()).get(dust, (tracker.get(container.getKey()).getKey() + container.getValue())));
+ stOutputs.remove(tracker.get(container.getKey()).getValue() + 1);
+ }
+ }
+ }
+ }
+ ItemStack input = werkstoff.get(cell);
+ input.stackSize = 1;
+
+ int cellEmpty = cells - 1;
+
+ stOutputs.add(Materials.Empty.getCells(-cellEmpty));
+ if (werkstoff.getStats().isElektrolysis())
+ GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes.add(new BWRecipes.DynamicGTRecipe(true, new ItemStack[]{input, cellEmpty > 0 ? Materials.Empty.getCells(cellEmpty) : null}, stOutputs.toArray(new ItemStack[0]), null, null, new FluidStack[]{null}, new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null}, (int) Math.max(1L, Math.abs(werkstoff.getStats().getProtons() * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 30, 0));
+ if (werkstoff.getStats().isCentrifuge())
+ GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.add(new BWRecipes.DynamicGTRecipe(true, new ItemStack[]{input, cellEmpty > 0 ? Materials.Empty.getCells(cellEmpty) : null}, stOutputs.toArray(new ItemStack[0]), null, null, new FluidStack[]{null}, new FluidStack[]{flOutputs.size() > 0 ? flOutputs.get(0) : null}, (int) Math.max(1L, Math.abs(werkstoff.getStats().getMass() * werkstoff.getContents().getValue().size())), Math.min(4, werkstoff.getContents().getValue().size()) * 5, 0));
+ }
//Tank "Recipe"
GT_Utility.addFluidContainerData(new FluidContainerRegistry.FluidContainerData(new FluidStack(Objects.requireNonNull(WerkstoffLoader.fluids.get(werkstoff)), 1000), werkstoff.get(cell), Materials.Empty.getCells(1)));
@@ -186,4 +181,4 @@ public class CellLoader implements IWerkstoffRunnable {
//GT_Recipe.GT_Recipe_Map.sReplicatorFakeRecipes.addFakeRecipe(false, new BWRecipes.DynamicGTRecipe(false, new ItemStack[]{Materials.Empty.getCells(1)}, new ItemStack[]{werkstoff.get(cell)}, scannerOutput, null, new FluidStack[]{Materials.UUMatter.getFluid(werkstoffBridgeMaterial.getMass())}, null, (int) (werkstoffBridgeMaterial.getMass() * 512L), 30, 0));
}
}
-} \ No newline at end of file
+}