diff --git a/groovy/material/FirstDegreeMaterials.groovy b/groovy/material/FirstDegreeMaterials.groovy index 29e066aa6..34d133fc3 100644 --- a/groovy/material/FirstDegreeMaterials.groovy +++ b/groovy/material/FirstDegreeMaterials.groovy @@ -710,7 +710,7 @@ public class FirstDegreeMaterials { .flags(DISABLE_DECOMPOSITION) .colorAverage() .build() - .setFormula("(Ni,Co)Cl2(H2O)4", true) + .setFormula("[(Ni,Co)Cl2](H2O)4", true) AcidicCopperSolution = new Material.Builder(8194, SuSyUtility.susyId('acidic_copper_solution')) .liquid(new FluidBuilder().attribute(FluidAttributes.ACID)) @@ -1778,7 +1778,13 @@ public class FirstDegreeMaterials { .colorAverage() .build(); - //FREE ID: 8360 + ImpureCobaltOxide = new Material.Builder(8360, SuSyUtility.susyId('impure_cobalt_oxide')) + .dust() + .components(CobaltOxide) + .color(0xd6e600) + .build(); + + ImpureCobaltOxide.setFormula("(CoO)(?)", true) CrudeTin = new Material.Builder(8361, SuSyUtility.susyId('crude_tin')) .liquid(new FluidBuilder().temperature(600)) @@ -3250,7 +3256,13 @@ public class FirstDegreeMaterials { ThalliumSulfateSolution.setFormula("(Tl2SO4)(H2O)", true) - //FREE ID: 8597 + ImpureCobaltSulfateSolution = new Material.Builder(8597, SuSyUtility.susyId("impure_cobalt_sulfate_solution")) + .liquid() + .components(Cobalt, Sulfur, Oxygen * 4, Water) + .colorAverage() + .build(); + + ImpureCobaltSulfateSolution.setFormula("(CoSO4)(?)(H2O)", true) //FREE ID: 8598 diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index d64cdd7e3..4f1c2c57f 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -479,6 +479,7 @@ class SuSyMaterials { public static Material AcrylicPhotoemulsion; public static Material TreatedCollagen; public static Material ImpureThalliumSulfateSolution; + public static Material ImpureCobaltSulfateSolution; public static Material ImpureCadmiumSulfateSolution; public static Material TannicAcidSolution; public static Material GermaniumRichOxide; @@ -836,6 +837,7 @@ class SuSyMaterials { public static Material SaltyArsenicPentoxide; public static Material TinIVOxide; public static Material AntimonyVOxide; + public static Material ImpureCobaltOxide public static Material CrudeTin; public static Material LeachedCassiteriteConcentrate; public static Material AmmoniumTungstateSolution; diff --git a/groovy/postInit/chemistry/inorganic_chemistry/elements/d_block/group9/CobaltChain.groovy b/groovy/postInit/chemistry/inorganic_chemistry/elements/d_block/group9/CobaltChain.groovy index 864e47788..d9f5bec62 100644 --- a/groovy/postInit/chemistry/inorganic_chemistry/elements/d_block/group9/CobaltChain.groovy +++ b/groovy/postInit/chemistry/inorganic_chemistry/elements/d_block/group9/CobaltChain.groovy @@ -2,19 +2,77 @@ import globals.Globals import static globals.CarbonGlobals.* ROASTER = recipemap('roaster') +EBF = recipemap('electric_blast_furnace') PBF_RECIPES = recipemap("primitive_blast_furnace") +FLUIDIZEDBR = recipemap('fluidized_bed_reactor') +BR = recipemap('batch_reactor') +ELECTROLYTIC_CELL = recipemap('electrolytic_cell') + +//ROAST RECOVERY OF As2O3 +//COBALTITE MODIFICATION +mods.gregtech.electric_blast_furnace.removeByInput(120, [metaitem('dustCobaltite')], [fluid('oxygen') * 3000]) + + +EBF.recipeBuilder() + .inputs(ore('dustCobaltite') * 2) + .fluidInputs(fluid('oxygen') * 9000) + .outputs(metaitem('dustImpureCobaltOxide') * 2) + .chancedOutput(metaitem('dustArsenicTrioxide') * 5, 7500, 0) + .fluidOutputs(fluid('sulfur_dioxide') * 2000) + .EUt(Globals.voltAmps[1]) + .blastFurnaceTemp(1023) + .duration(240) + .buildAndRegister() + +FLUIDIZEDBR.recipeBuilder() + .inputs(ore('dustCobaltite') * 2) + .fluidInputs(fluid('oxygen') * 9000) + .outputs(metaitem('dustImpureCobaltOxide') * 4) + .chancedOutput(metaitem('dustArsenicTrioxide') * 5, 9000, 0) + .fluidOutputs(fluid('sulfur_dioxide') * 2000) + .EUt(Globals.voltAmps[2]) + .duration(120) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustImpureCobaltOxide')) + .fluidInputs(fluid('sulfuric_acid') * 1000) + .fluidOutputs(fluid('impure_cobalt_sulfate_solution') * 1000) + .EUt(Globals.voltAmps[1]) + .duration(240) + .buildAndRegister() + +ELECTROLYTIC_CELL.recipeBuilder() + .notConsumable(metaitem('stickCobalt')) + .notConsumable(metaitem('graphite_electrode')) + .fluidInputs(fluid('impure_cobalt_sulfate_solution') * 1000) + .outputs(metaitem('dustCobalt')) + .fluidOutputs(fluid('sulfuric_acid') * 1000) + .fluidOutputs(fluid('oxygen') * 1000) + .EUt(Globals.voltAmps[2]) + .duration(240) + .buildAndRegister() for (combustible in combustibles()) { - ROASTER.recipeBuilder() + EBF.recipeBuilder() .inputs(ore('dustCobaltOxide') * 2) .inputs(ore(combustible.name) * combustible.equivalent(1)) .outputs(metaitem('dustCobalt')) .fluidOutputs(fluid('carbon_monoxide') * 1000) - .duration(120) - .EUt(Globals.voltAmps[2]) + .blastFurnaceTemp(1200) + .duration(240) + .EUt(Globals.voltAmps[1]) .buildAndRegister() } +ROASTER.recipeBuilder() + .inputs(ore('dustCobalt')) + .fluidInputs(fluid('oxygen') * 1000) + .outputs(metaitem('dustCobaltOxide') * 2) + .EUt(Globals.voltAmps[1]) + .duration(120) + .buildAndRegister() + // Primitive ways for getting impure cobalt (cobalt matte) for Kovar. def cobalt_matte_recipes = [ ["oreCobaltite", 1], diff --git a/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group15/ArsenicChain.groovy b/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group15/ArsenicChain.groovy index 889b12d43..c2670bcbd 100644 --- a/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group15/ArsenicChain.groovy +++ b/groovy/postInit/chemistry/inorganic_chemistry/elements/p_block/group15/ArsenicChain.groovy @@ -47,21 +47,6 @@ CLARIFIER.recipeBuilder() .duration(20) .buildAndRegister() -//ROAST RECOVERY OF As2O3 (75% EFFICIENCY) -//COBALTITE MODIFICATION -mods.gregtech.electric_blast_furnace.removeByInput(120, [metaitem('dustCobaltite')], [fluid('oxygen') * 3000]) - -EBF.recipeBuilder() - .inputs(ore('dustCobaltite') * 2) - .fluidInputs(fluid('oxygen') * (3000 + 4000 + 2000)) - .outputs(metaitem('dustCobaltOxide') * 4) - .chancedOutput(metaitem('dustArsenicTrioxide') * 5, 7500, 0) - .fluidOutputs(fluid('sulfur_dioxide') * 2000) - .blastFurnaceTemp(1200) - .duration(120) - .EUt(Globals.voltAmps[2]) - .buildAndRegister() - //SPERRYLITE ROASTING EBF.recipeBuilder() .inputs(ore('dustSperrylite')) diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index fb8894792..b56bed7eb 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -833,6 +833,7 @@ susy.material.salty_arsenic_acid=Salty Arsenic Acid susy.material.salty_arsenic_pentoxide=Salty Arsenic Pentoxide susy.material.tin_iv_oxide=Tin IV Oxide susy.material.antimony_v_oxide=Antimony V Oxide +susy.material.impure_cobalt_oxide=Impure Cobalt Oxide susy.material.cassiterite_concentrate=Cassiterite Concentrate susy.material.crude_tin=Crude Tin susy.material.leached_cassiterite_concentrate=Leached Cassiterite Concentrate @@ -1903,6 +1904,7 @@ susy.material.polyvinyl_alcohol=Polyvinyl Alcohol susy.material.impure_thallium_sulfate_solution=Impure Thallium Sulfate Solution susy.material.thallium_i_chloride=Thallium I Chloride susy.material.thallium_sulfate_solution=Thallium Sulfate Solution +susy.material.impure_cobalt_sulfate_solution=Impure Cobalt Sulfate Solution susy.material.impure_cadmium_sulfate_solution=Impure Cadmium Sulfate Solution susy.material.purified_cadmium_solution=Purified Cadmium Solution susy.material.spent_pbi_solution=Spent PBI Solution