diff --git a/groovy/material/FirstDegreeMaterials.groovy b/groovy/material/FirstDegreeMaterials.groovy index a6c6d4036..aea107e4f 100644 --- a/groovy/material/FirstDegreeMaterials.groovy +++ b/groovy/material/FirstDegreeMaterials.groovy @@ -233,7 +233,6 @@ public class FirstDegreeMaterials { .dust() .color(0xb09d99) .components(Iron * 2, Sulfur * 3, Oxygen * 12) - .flags(DECOMPOSITION_BY_ELECTROLYZING) .build() .setFormula("Fe2(SO4)3", true); diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index dce180fbe..e92d08660 100644 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -1196,7 +1196,7 @@ CSTR.recipeBuilder() .fluidInputs(fluid('nitric_oxide') * 50) .fluidOutputs(fluid('nitrogen_dioxide') * 50) .duration(8) -.EUt(30) +.EUt(7) .buildAndRegister() CSTR.recipeBuilder() @@ -1205,7 +1205,7 @@ CSTR.recipeBuilder() .fluidOutputs(fluid('nitric_acid') * 100) .fluidOutputs(fluid('nitric_oxide') * 50) .duration(12) -.EUt(30) +.EUt(7) .buildAndRegister() // Methyl Acetate @@ -1378,18 +1378,6 @@ DISTILLERY.recipeBuilder() .EUt(30) .buildAndRegister() -// Sulfur Trioxide - -ROASTER.recipeBuilder() -.fluidInputs(fluid('oxygen') * 1000) -.fluidInputs(fluid('sulfur_dioxide') * 1000) -.notConsumable(ore('dustVanadiumPentoxide')) -.fluidOutputs(fluid('sulfur_trioxide') * 1000) - -.duration(200) -.EUt(7) -.buildAndRegister() - // Saltpeter and Sodium Hydroxide Solution MIXER.recipeBuilder() diff --git a/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group16/SulfurChain.groovy b/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group16/SulfurChain.groovy index 6ae1f31f8..6bb48bb27 100644 --- a/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group16/SulfurChain.groovy +++ b/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group16/SulfurChain.groovy @@ -5,20 +5,91 @@ import gregtech.api.unification.material.Materials; import gregtech.api.unification.ore.OrePrefix; import gregtech.api.unification.stack.UnificationEntry; -def ROASTER_RECIPES = recipemap('roaster'); - -ROASTER_RECIPES.recipeBuilder() -.inputs(ore('dustPyrite') * 2) -.outputs(metaitem('dustIronIiiSulfate')) -.outputs(metaitem('dustSulfur')) -.duration(80) -.EUt(7) -.buildAndRegister() - -ROASTER_RECIPES.recipeBuilder() -.inputs(ore('dustIronIiiSulfate')) -.outputs(metaitem('dustBandedIron')) -.fluidOutputs(fluid('sulfur_trioxide') * 3000) -.duration(160) -.EUt(7) -.buildAndRegister() + +// Banded Iron Dust * 1 +mods.gregtech.electric_blast_furnace.removeByInput(120, [metaitem('dustPyrite')], [fluid('oxygen') * 3000]) + + +ROASTER = recipemap('roaster') +CRYSTALLIZER = recipemap('crystallizer') +BR = recipemap('batch_reactor') + +//Steam-Age source of SO3/H2SO4 +ROASTER.recipeBuilder() + .inputs(ore('dustAnglesite')) + .outputs(metaitem('dustMassicot') * 2) + .fluidOutputs(fluid('sulfur_trioxide') * 1000) + .duration(400) + .EUt(30) + .buildAndRegister() + +//Pyrite roasting for SO2 +ROASTER.recipeBuilder() + .circuitMeta(1) + .inputs(ore('dustPyrite') * 1) + .outputs(metaitem('dustIronIISulfide') * 2) + .outputs(metaitem('dustSulfur')) + .duration(80) + .EUt(16) + .buildAndRegister() + +ROASTER.recipeBuilder() + .circuitMeta(1) + .inputs(ore('dustIronIISulfide') * 2) + .fluidInputs(fluid('oxygen') * 3000) + .outputs(metaitem('dustBandedIron') * 2) + .fluidOutputs(fluid('sulfur_dioxide') * 1000) + .duration(80) + .EUt(30) + .buildAndRegister() + +ROASTER.recipeBuilder() + .inputs(ore('dustPyrite') * 1) + .fluidInputs(fluid('oxygen') * 5000) + .outputs(metaitem('dustBandedIron') * 2) + .fluidOutputs(fluid('sulfur_dioxide') * 2000) + .duration(160) + .EUt(30) + .buildAndRegister() + +//Wet Oxidation of Pyrite +CRYSTALLIZER.recipeBuilder() + .inputs(ore('dustPyrite') * 2) + //.fluidInputs(fluid('oxygen') * 15000) //technically this process is done by using air but you can't fit 45k air or 15k oxygen into an LV crystallizer + .outputs(metaitem('dustIronIiiSulfate') * 17) + .fluidOutputs(fluid('diluted_sulfuric_acid') * 2000) + .duration(160) + .EUt(30) + .buildAndRegister() + +ROASTER.recipeBuilder() + .inputs(ore('dustIronIiiSulfate') * 17) + .outputs(metaitem('dustBandedIron') * 2) + .fluidOutputs(fluid('sulfur_trioxide') * 3000) + .duration(160) + .EUt(30) + .buildAndRegister() + +// Sulfur Trioxide + +ROASTER.recipeBuilder() + .fluidInputs(fluid('oxygen') * 4000) + .fluidInputs(fluid('sulfur_dioxide') * 4000) + .notConsumable(ore('dustVanadiumPentoxide')) + .fluidOutputs(fluid('sulfur_trioxide') * 4000) + .duration(40) + .EUt(30) + .buildAndRegister() + +//Lead chamber process + +BR.recipeBuilder() + .fluidInputs(fluid('sulfuric_acid') * 1000) + .fluidInputs(fluid('dense_steam') * 3000) + .fluidInputs(fluid('sulfur_dioxide') * 1000) + .fluidInputs(fluid('nitrogen_dioxide') * 1000) + .fluidOutputs(fluid('diluted_sulfuric_acid') * 4000) + .fluidOutputs(fluid('nitric_oxide') * 1000) + .duration(320) + .EUt(7) + .buildAndRegister() \ No newline at end of file