diff options
Diffstat (limited to 'src/main')
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 +} |