From 11bd22d0bb0b898ae478c4221d91a37d03880e49 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Sat, 21 Oct 2023 17:59:43 -0500 Subject: [PATCH 01/19] PEVA --- .../material/OrganicChemistryMaterials.groovy | 10 +- groovy/material/SuSyMaterials.groovy | 4 +- groovy/material/ThirdDegreeMaterials.groovy | 6 + .../chemistry/ChemistryOverhaul.groovy | 109 -------------- .../polymers/PolyvinylChain.groovy | 136 ++++++++++++++++++ resources/langfiles/lang/en_us.lang | 4 +- 6 files changed, 157 insertions(+), 112 deletions(-) create mode 100644 groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index 310061a80..aeeec6a50 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -450,7 +450,7 @@ public class OrganicChemistryMaterials { .colorAverage() .build(); - PolyvinylAcetateSolution = new Material.Builder(15072, SuSyUtility.susyId('polyvinyl_acetate_solution')) + PolyvinylAcetateMixture = new Material.Builder(15072, SuSyUtility.susyId('polyvinyl_acetate_mixture')) .fluid() .components(Methanol, 1, PolyvinylAcetate, 1) .colorAverage() @@ -1864,5 +1864,13 @@ public class OrganicChemistryMaterials { .color(0x609169) .iconSet(DULL) .build(); + + PolyvinylEthyleneAcetate = new Material.Builder(15297, SuSyUtility.susyId('polyvinyl_ethylene_acetate')) + .polymer() + .components(Ethylene, 1, VinylAcetate, 1) + .color(0x686ad4) + .iconSet(DULL) + .build(); + } } diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 200d97fea..1de6c18f1 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -1172,7 +1172,7 @@ class SuSyMaterials { public static Material StyreneSolution; public static Material PolystyreneSolution; public static Material VinylAcetateSolution; - public static Material PolyvinylAcetateSolution; + public static Material PolyvinylAcetateMixture; public static Material Bleach; public static Material ImpureBleach; public static Material OneFourDichlorobenzeneSolution; @@ -1415,6 +1415,7 @@ class SuSyMaterials { public static Material CrudeDimethylTerephthalate; public static Material WetTerephthalicAcid; public static Material WetIsophthalicAcid; + public static Material PolyethyleneVinylAcetate; // Third Degree Materials @@ -1489,6 +1490,7 @@ class SuSyMaterials { public static Material CrudeDimethylTerephthalateSolution; public static Material TerephthalateMotherLiquor; public static Material MethylParaToluateMixture; + public static Material PolyethyleneVinylAcetateMixture; // Thermodynamics/Greenhouse Materials diff --git a/groovy/material/ThirdDegreeMaterials.groovy b/groovy/material/ThirdDegreeMaterials.groovy index 003088f48..596832da0 100644 --- a/groovy/material/ThirdDegreeMaterials.groovy +++ b/groovy/material/ThirdDegreeMaterials.groovy @@ -450,5 +450,11 @@ public class ThirdDegreeMaterials { .components(MethylParaToluate, 1, DimethylTerephthalate, 1) .colorAverage() .build(); + + PolyethyleneVinylAcetateMixture = new Material.Builder(24070, SuSyUtility.susyId('polyethylene_vinyl_acetate_mixture')) + .fluid() + .components(PolyethyleneVinylAcetate, 1, Methanol, 1) + .colorAverage() + .build(); } } diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 63b24a157..7e4b9f276 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -1828,115 +1828,6 @@ BR.recipeBuilder() .EUt(30) .buildAndRegister() -// Vinyl Chloride - -BR.recipeBuilder() - .fluidInputs(fluid('mercury') * 1000) - .fluidInputs(fluid('chlorine') * 2000) - .outputs(metaitem('dustMercuryIiChloride') * 3) - .duration(200) - .EUt(30) - .buildAndRegister() - -TBR.recipeBuilder() - .notConsumable(metaitem('dustMercuryIiChloride')) - .fluidInputs(fluid('acetylene') * 50) - .fluidInputs(fluid('hydrogen_chloride') * 50) - .fluidOutputs(fluid('vinyl_chloride') * 50) - .duration(5) - .EUt(30) - .buildAndRegister() - -CSTR.recipeBuilder() -.fluidInputs(fluid('chlorine') * 100) -.fluidInputs(fluid('ethylene') * 50) -.fluidOutputs(fluid('vinyl_chloride') * 50) -.fluidOutputs(fluid('hydrogen_chloride') * 50) -.duration(5) -.EUt(30) -.buildAndRegister() - -CSTR.recipeBuilder() -.fluidInputs(fluid('ethylene') * 50) -.fluidInputs(fluid('hydrogen_chloride') * 50) -.fluidInputs(fluid('oxygen') * 50) -.fluidOutputs(fluid('vinyl_chloride') * 50) -.fluidOutputs(fluid('water') * 50) -.duration(10) -.EUt(30) -.buildAndRegister() - -CSTR.recipeBuilder() -.fluidInputs(fluid('ethane') * 50) -.fluidInputs(fluid('chlorine') * 200) -.fluidOutputs(fluid('vinyl_chloride') * 50) -.fluidOutputs(fluid('hydrogen_chloride') * 150) -.duration(10) -.EUt(30) -.buildAndRegister() - -CSTR.recipeBuilder() -.fluidInputs(fluid('ethane') * 50) -.fluidInputs(fluid('hydrogen_chloride') * 50) -.fluidInputs(fluid('oxygen') * 100) -.fluidOutputs(fluid('vinyl_chloride') * 50) -.fluidOutputs(fluid('water') * 100) -.duration(10) -.EUt(30) -.buildAndRegister() - -// PVC - -AUTOCLAVE.recipeBuilder() -.fluidInputs(fluid('vinyl_chloride') * 1000) -.fluidInputs(fluid('water') * 1000) -.fluidOutputs(fluid('vinyl_chloride_suspension') * 2000) -.duration(160) -.EUt(30) -.buildAndRegister() - -POLYMERIZATION.recipeBuilder() -.fluidInputs(fluid('vinyl_chloride_suspension') * 2000) -.inputs(ore('dustTinyPotassiumPersulfate')) -.fluidOutputs(fluid('polyvinyl_chloride_suspension') * 2000) -.duration(300) -.EUt(60) -.buildAndRegister() - -DRYER.recipeBuilder() -.fluidInputs(fluid('polyvinyl_chloride_suspension') * 2000) -.outputs(metaitem('dustPolyvinylChloride') * 7) -.fluidOutputs(fluid('water') * 1000) -.duration(260) -.EUt(30) -.buildAndRegister() - -// Polyvinyl Acetate - -MIXER.recipeBuilder() -.fluidInputs(fluid('vinyl_acetate') * 1000) -.fluidInputs(fluid('methanol') * 1000) -.fluidOutputs(fluid('vinyl_acetate_solution') * 1000) -.duration(200) -.EUt(30) -.buildAndRegister() - -POLYMERIZATION.recipeBuilder() -.fluidInputs(fluid('vinyl_acetate_solution') * 2000) -.inputs(ore('dustTinyPotassiumPersulfate')) -.fluidOutputs(fluid('polyvinyl_acetate_solution') * 2000) -.duration(300) -.EUt(60) -.buildAndRegister() - -DRYER.recipeBuilder() -.fluidInputs(fluid('polyvinyl_acetate_solution') * 2000) -.outputs(metaitem('dustPolyvinylAcetate') * 7) -.fluidOutputs(fluid('methanol') * 1000) -.duration(260) -.EUt(30) -.buildAndRegister() - // Allyl Chloride CSTR.recipeBuilder() diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy new file mode 100644 index 000000000..2eff7381e --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy @@ -0,0 +1,136 @@ +CSTR = recipemap('continuous_stirred_tank_reactor') +TBR = recipemap('trickle_bed_reactor') +BR = recipemap('batch_reactor') +POLYMERIZATION = recipemap('polymerization_tank') +MIXER = recipemap('mixer') +DRYER = recipemap('dryer') +AUTOCLAVE = recipemap('autoclave') +PHASE_SEPARATOR = recipemap('phase_separator') + +// Vinyl Chloride + +BR.recipeBuilder() + .fluidInputs(fluid('mercury') * 1000) + .fluidInputs(fluid('chlorine') * 2000) + .outputs(metaitem('dustMercuryIiChloride') * 3) + .duration(200) + .EUt(30) + .buildAndRegister() + +TBR.recipeBuilder() + .notConsumable(metaitem('dustMercuryIiChloride')) + .fluidInputs(fluid('acetylene') * 50) + .fluidInputs(fluid('hydrogen_chloride') * 50) + .fluidOutputs(fluid('vinyl_chloride') * 50) + .duration(5) + .EUt(30) + .buildAndRegister() + +CSTR.recipeBuilder() + .fluidInputs(fluid('chlorine') * 100) + .fluidInputs(fluid('ethylene') * 50) + .fluidOutputs(fluid('vinyl_chloride') * 50) + .fluidOutputs(fluid('hydrogen_chloride') * 50) + .duration(5) + .EUt(30) + .buildAndRegister() + +CSTR.recipeBuilder() + .fluidInputs(fluid('ethylene') * 50) + .fluidInputs(fluid('hydrogen_chloride') * 50) + .fluidInputs(fluid('oxygen') * 50) + .fluidOutputs(fluid('vinyl_chloride') * 50) + .fluidOutputs(fluid('water') * 50) + .duration(10) + .EUt(30) + .buildAndRegister() + +CSTR.recipeBuilder() + .fluidInputs(fluid('ethane') * 50) + .fluidInputs(fluid('chlorine') * 200) + .fluidOutputs(fluid('vinyl_chloride') * 50) + .fluidOutputs(fluid('hydrogen_chloride') * 150) + .duration(10) + .EUt(30) + .buildAndRegister() + +CSTR.recipeBuilder() + .fluidInputs(fluid('ethane') * 50) + .fluidInputs(fluid('hydrogen_chloride') * 50) + .fluidInputs(fluid('oxygen') * 100) + .fluidOutputs(fluid('vinyl_chloride') * 50) + .fluidOutputs(fluid('water') * 100) + .duration(10) + .EUt(30) + .buildAndRegister() + +// PVC + +AUTOCLAVE.recipeBuilder() + .fluidInputs(fluid('vinyl_chloride') * 1000) + .fluidInputs(fluid('water') * 1000) + .fluidOutputs(fluid('vinyl_chloride_suspension') * 2000) + .duration(160) + .EUt(30) + .buildAndRegister() + +POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('vinyl_chloride_suspension') * 2000) + .inputs(ore('dustTinyPotassiumPersulfate')) + .fluidOutputs(fluid('polyvinyl_chloride_suspension') * 2000) + .duration(300) + .EUt(60) + .buildAndRegister() + +DRYER.recipeBuilder() + .fluidInputs(fluid('polyvinyl_chloride_suspension') * 2000) + .outputs(metaitem('dustPolyvinylChloride') * 7) + .fluidOutputs(fluid('water') * 1000) + .duration(260) + .EUt(30) + .buildAndRegister() + +// Polyvinyl Acetate + +MIXER.recipeBuilder() + .fluidInputs(fluid('vinyl_acetate') * 1000) + .fluidInputs(fluid('methanol') * 1000) + .fluidOutputs(fluid('vinyl_acetate_solution') * 1000) + .duration(200) + .EUt(30) + .buildAndRegister() + +POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('vinyl_acetate_solution') * 2000) + .inputs(ore('dustTinyPotassiumPersulfate')) + .fluidOutputs(fluid('polyvinyl_acetate_mixture') * 2000) + .duration(150) + .EUt(60) + .buildAndRegister() + +PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('polyvinyl_acetate_mixture') * 2000) + .outputs(metaitem('dustPolyvinylAcetate') * 7) + .fluidOutputs(fluid('methanol') * 1000) + .duration(50) + .buildAndRegister() + +// Poly(ethylene-vinyl acetate) + +POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('ethylene') * 1000) + .fluidInputs(fluid('vinyl_acetate_solution') * 1000) + .inputs(ore('dustTinyPotassiumPersulfate')) + .fluidOutputs(fluid('polyethylene_vinyl_acetate_mixture') * 2000) + .duration(150) + .EUt(60) + .buildAndRegister() + +PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('polyethylenevinyl_acetate_mixture') * 2000) + .outputs(metaitem('dustPolyvinylAcetate') * 7) + .fluidOutputs(fluid('methanol') * 1000) + .duration(50) + .buildAndRegister() + + diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index eacc19be1..dae66b3ff 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -73,7 +73,7 @@ susy.material.polyvinyl_chloride_suspension=Polyvinyl Chloride Suspension susy.material.polystyrene_solution=Polystyrene Solution susy.material.styrene_solution=Styrene Solution susy.material.vinyl_acetate_solution=Vinyl Acetate Solution -susy.material.polyvinyl_acetate_solution=Polyvinyl Acetate Solution +susy.material.polyvinyl_acetate_mixture=Polyvinyl Acetate Mixture susy.material.bleach=Bleach susy.material.impure_bleach=Impure Bleach susy.material.one_four_dichlorobenzene_solution=1,4-Dichlorobenzene Solution @@ -1770,6 +1770,8 @@ susy.material.terephthalate_mother_liquor=Terephthalate Mother Liquor susy.material.wet_terephthalic_acid=Wet Terephthalic Acid susy.material.wet_isophthalic_acid=Wet Isophthalic Acid susy.material.methyl_para_toluate_mixture=Methyl p-Toluate Mixture +susy.material.polyethylene_vinyl_acetate=Polyethylene Vinyl Acetate (PEVA) +susy.material.polyethylene_vinyl_acetate_mixture=Polyethylene Vinyl Acetate (PEVA) Mixture # Isotopes From 3af02fcfa1f187ddea6c1a929a82b78353a218eb Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Sat, 21 Oct 2023 19:08:04 -0500 Subject: [PATCH 02/19] fixes --- groovy/material/OrganicChemistryMaterials.groovy | 2 +- .../organic_chemistry/polymers/PolyvinylChain.groovy | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index aeeec6a50..2d87421ee 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -1865,7 +1865,7 @@ public class OrganicChemistryMaterials { .iconSet(DULL) .build(); - PolyvinylEthyleneAcetate = new Material.Builder(15297, SuSyUtility.susyId('polyvinyl_ethylene_acetate')) + PolyethyleneVinylAcetate = new Material.Builder(15297, SuSyUtility.susyId('polyvinyl_ethylene_acetate')) .polymer() .components(Ethylene, 1, VinylAcetate, 1) .color(0x686ad4) diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy index 2eff7381e..7f14a60fd 100644 --- a/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy @@ -127,8 +127,8 @@ POLYMERIZATION.recipeBuilder() .buildAndRegister() PHASE_SEPARATOR.recipeBuilder() - .fluidInputs(fluid('polyethylenevinyl_acetate_mixture') * 2000) - .outputs(metaitem('dustPolyvinylAcetate') * 7) + .fluidInputs(fluid('polyethylene_vinyl_acetate_mixture') * 2000) + .outputs(metaitem('dustPolyethyleneVinylAcetate') * 7) .fluidOutputs(fluid('methanol') * 1000) .duration(50) .buildAndRegister() From 14999700d04026bb59e89225fbd6c00ded31972f Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Sat, 11 Nov 2023 00:35:38 -0600 Subject: [PATCH 03/19] added pipe property to PEVA --- groovy/material/OrganicChemistryMaterials.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index 2d87421ee..bf517c89e 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -1869,6 +1869,7 @@ public class OrganicChemistryMaterials { .polymer() .components(Ethylene, 1, VinylAcetate, 1) .color(0x686ad4) + .fluidPipeProperties(363, 100, true) .iconSet(DULL) .build(); From c8d5b75c4e8de615c10ca0277b6b93f93109e49f Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Fri, 17 Nov 2023 16:49:19 -0600 Subject: [PATCH 04/19] lubricity additive --- groovy/material/FirstDegreeMaterials.groovy | 8 ++- .../material/OrganicChemistryMaterials.groovy | 14 +++++ groovy/material/SuSyMaterials.groovy | 6 +- groovy/material/ThirdDegreeMaterials.groovy | 6 ++ .../UnknownCompositionMaterials.groovy | 7 ++- .../organic_chemistry/Surfactants.groovy | 60 +++++++++++++++++++ resources/langfiles/lang/en_us.lang | 5 ++ 7 files changed, 103 insertions(+), 3 deletions(-) create mode 100644 groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy diff --git a/groovy/material/FirstDegreeMaterials.groovy b/groovy/material/FirstDegreeMaterials.groovy index 6f8ef9f1a..94927d23b 100644 --- a/groovy/material/FirstDegreeMaterials.groovy +++ b/groovy/material/FirstDegreeMaterials.groovy @@ -3278,6 +3278,12 @@ public class FirstDegreeMaterials{ .color(0xfc7e89) .build(); - CobaltIIAcetate.setFormula("Co(C2H3O2)2", true) + CobaltIIAcetate.setFormula("Co(C2H3O2)2", true) + + ChlorosulfuricAcid = new Material.Builder(8578, SuSyUtility.susyId("chlorosulfuric_acid")) + .fluid(FluidTypes.ACID) + .components(Hydrogen, 1, Sulfur, 1, Oxygen, 3, Chlorine, 1) + .colorAverage() + .build(); } } \ No newline at end of file diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index 310061a80..e2cbeef69 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -1864,5 +1864,19 @@ public class OrganicChemistryMaterials { .color(0x609169) .iconSet(DULL) .build(); + + DodecanesulfonicAcid = new Material.Builder(1529, SuSyUtility.susyId('dodec')) + .dust() + .components(Carbon, 12, Hydrogen, 26, Sulfur, 1, Oxygen, 4) + .iconSet(SAND) + .color(0xd8dbb8) + .build(); + + SodiumDodecylSulfate = new Material.Builder(1529, SuSyUtility.susyId('dodec')) + .dust() + .components(Carbon, 12, Hydrogen, 25 Sulfur, 1, Oxygen, 4, Sodium, 1) + .iconSet(SAND) + .color(0xe6e4cf) + .build(); } } diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 200d97fea..451a4c4c3 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -478,10 +478,10 @@ class SuSyMaterials { public static Material ImpureCelestineSlurry; public static Material CelestineSlurry; public static Material BariumResidue; - public static Material OrganosiliconMixture; public static Material ImpurePolydimethylsiloxaneMixture; public static Material RawPolydimethylsiloxaneMixture; + public static Mateiral LubricityAdditive; // Petrochem Materials @@ -1415,6 +1415,9 @@ class SuSyMaterials { public static Material CrudeDimethylTerephthalate; public static Material WetTerephthalicAcid; public static Material WetIsophthalicAcid; + public static Material ChlorosulfuricAcid; + public static Material DodecanesulfonicAcid; + public static Material SodiumDodecylSulfate; // Third Degree Materials @@ -1489,6 +1492,7 @@ class SuSyMaterials { public static Material CrudeDimethylTerephthalateSolution; public static Material TerephthalateMotherLiquor; public static Material MethylParaToluateMixture; + public static Material SodiumDodecylSulfateSolution; // Thermodynamics/Greenhouse Materials diff --git a/groovy/material/ThirdDegreeMaterials.groovy b/groovy/material/ThirdDegreeMaterials.groovy index 003088f48..f3ee74286 100644 --- a/groovy/material/ThirdDegreeMaterials.groovy +++ b/groovy/material/ThirdDegreeMaterials.groovy @@ -450,5 +450,11 @@ public class ThirdDegreeMaterials { .components(MethylParaToluate, 1, DimethylTerephthalate, 1) .colorAverage() .build(); + + SodiumDodecylSulfateSolution = new Material.Builder(24070, SuSyUtility.susyId('sodium_dodecyl_sulfate_solution')) + .fluid() + .components(SodiumDodecylSulfate, 1, Salt, 1, Water, 1) + .colorAverage() + .build(); } } diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index a3ba7c739..59a4ac8f1 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1838,6 +1838,11 @@ public class UnknownCompositionMaterials { RawPolydimethylsiloxaneMixture = new Material.Builder(4350, SuSyUtility.susyId("raw_polydimethylsiloxane_mixture")) .fluid() .color(0xf6f7f0) - .build(); + .build(); + + LubricityAdditive = new Material.Builder(4351, SuSyUtility.susyId("lubricity_additive")) + .fluid() + .color(0xab8f61) + .build(); } } diff --git a/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy b/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy new file mode 100644 index 000000000..c070143cc --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy @@ -0,0 +1,60 @@ +import static globals.Globals.* + +CSTR = recipemap('continuous_stirred_tank_reactor') +TBR = recipemap('trickle_bed_reactor') +FBR = recipemap('fixed_bed_reactor') +BCR = recipemap('bubble_column_reactor') +BR = recipemap('batch_reactor') +FLUIDIZEDBR = recipemap('fluidized_bed_reactor') +DISTILLATION_TOWER = recipemap('distillation_tower') +DISTILLERY = recipemap('distillery') +ROASTER = recipemap('roaster') +CRYSTALLIZER = recipemap('crystallizer') +MIXER = recipemap('mixer') +DRYER = recipemap('dryer') +CHEMICAL_BATH = recipemap('chemical_bath') +LCR = recipemap('large_chemical_reactor') + +CSTR.recipeBuilder() + .notConsumable(ore('platePolytetrafluoroethylene') * 6) + .fluidInputs(fluid('sulfur_trioxide') * 50) + .fluidInputs(fluid('hydrogen_chloride') * 50) + .fluidOutputs(fluid('chlorosulfuric_acid') * 50) + .duration(5) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +BR.recipeBuilder() + .notConsumable(ore('platePolytetrafluoroethylene') * 6) + .fluidInputs(fluid('chlorosulfuric_acid') * 1000) + .fluidInputs(fluid('n_dodecanol') * 1000) + .outputs(metaitem('dustDodecanesulfonicAcid')) + .fluidOutputs(fluid('hydrogen_chloride') * 1000) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(metaitem('dustDodecanesulfonicAcid')) + .fluidInputs(fluid('sodium_hydroxide_solution') * 1000) + .fluidOutputs(fluid('sodium_dodecyl_sulfate_solution') * 1000) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +DRYER.recipeBuilder() + .fluidInputs(fluid('sodium_dodecyl_sulfate_solution') * 1000) + .outputs(metaitem('dustSalt') * 2) + .fluidOutputs(fluid('sodium_dodecyl_sulfate') * 144) + .fluidOutputs(fluid('steam') * 1000) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +MIXER.recipeBuilder() + .inputs(metaitem('dustSodiumDodecylSulfate')) + .fluidInputs(fluid('toluene') * 100) + .fluidOutputs(fluid('lubricity_additive') * 100) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() \ No newline at end of file diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index eacc19be1..fc062b31f 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -1770,6 +1770,11 @@ susy.material.terephthalate_mother_liquor=Terephthalate Mother Liquor susy.material.wet_terephthalic_acid=Wet Terephthalic Acid susy.material.wet_isophthalic_acid=Wet Isophthalic Acid susy.material.methyl_para_toluate_mixture=Methyl p-Toluate Mixture +susy.material.chlorosulfuric_acid=Chlorosulfuric Acid +susy.material.sodium_dodecyl_sulfate_solution=Sodium Dodecyl Sulfate Solution +susy.material.dodecanesulfonic_acid=Dodecanesulfonic Acid +susy.material.sodium_dodecyl_sulfate=Sodium Dodecyl Sulfate +susy.material.lubricity_additive=Lubricity Additive # Isotopes From 906bbc6cdac65cf1ff939896a37e856967d6ac63 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:33:17 -0600 Subject: [PATCH 05/19] lubricity additive changes added narrow-chain ethoxylate surfactant to lubricity additive swapped solvent --- groovy/material/ThirdDegreeMaterials.groovy | 2 +- .../organic_chemistry/Surfactants.groovy | 20 ++++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/groovy/material/ThirdDegreeMaterials.groovy b/groovy/material/ThirdDegreeMaterials.groovy index f3ee74286..b0b7d145e 100644 --- a/groovy/material/ThirdDegreeMaterials.groovy +++ b/groovy/material/ThirdDegreeMaterials.groovy @@ -453,7 +453,7 @@ public class ThirdDegreeMaterials { SodiumDodecylSulfateSolution = new Material.Builder(24070, SuSyUtility.susyId('sodium_dodecyl_sulfate_solution')) .fluid() - .components(SodiumDodecylSulfate, 1, Salt, 1, Water, 1) + .components(SodiumDodecylSulfate, 1, Water, 2) .colorAverage() .build(); } diff --git a/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy b/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy index c070143cc..93d059813 100644 --- a/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy @@ -42,19 +42,29 @@ BR.recipeBuilder() .EUt(Globals.voltAmps[1]) .buildAndRegister() -DRYER.recipeBuilder() +DISTILLERY.recipeBuilder() .fluidInputs(fluid('sodium_dodecyl_sulfate_solution') * 1000) - .outputs(metaitem('dustSalt') * 2) .fluidOutputs(fluid('sodium_dodecyl_sulfate') * 144) - .fluidOutputs(fluid('steam') * 1000) + .fluidOutputs(fluid('water') * 2000) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustTinySodiumHydroxide')) + .fluidInputs(fluid('ethylene_oxide') * 1000) + .fluidInputs(fluid('n_butanol') * 1000) + .fluidOutputs(fluid('two_butoxyethanol') * 1000) .duration(100) .EUt(Globals.voltAmps[1]) .buildAndRegister() MIXER.recipeBuilder() .inputs(metaitem('dustSodiumDodecylSulfate')) - .fluidInputs(fluid('toluene') * 100) - .fluidOutputs(fluid('lubricity_additive') * 100) + .fluidInputs(fluid('two_butoxyethanol') * 100) + .fluidInputs(fluid('isopropyl_alcohol') * 100) + .fluidInputs(fluid('naphtha') * 1800) + .fluidOutputs(fluid('lubricity_additive') * 2000) .duration(100) .EUt(Globals.voltAmps[1]) .buildAndRegister() \ No newline at end of file From ff50d7324253b043cdd903d4a5ac35101332b61b Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Fri, 17 Nov 2023 20:29:18 -0600 Subject: [PATCH 06/19] antistatic additive + oleum stoik rebalance --- .../material/OrganicChemistryMaterials.groovy | 18 ++++++++-- groovy/material/SuSyMaterials.groovy | 3 ++ .../UnknownCompositionMaterials.groovy | 5 +++ .../chemistry/ChemistryOverhaul.groovy | 11 +++--- .../organic_chemistry/Extractants.groovy | 16 ++++++--- .../organic_chemistry/Surfactants.groovy | 34 ++++++++++++++++++- .../polymers/EpoxyChain.groovy | 16 +++------ resources/langfiles/lang/en_us.lang | 3 ++ 8 files changed, 82 insertions(+), 24 deletions(-) diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index e2cbeef69..c49fc0c8c 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -1865,18 +1865,32 @@ public class OrganicChemistryMaterials { .iconSet(DULL) .build(); - DodecanesulfonicAcid = new Material.Builder(1529, SuSyUtility.susyId('dodec')) + DodecanesulfonicAcid = new Material.Builder(15297, SuSyUtility.susyId('dodecanesulfonic_acid')) .dust() .components(Carbon, 12, Hydrogen, 26, Sulfur, 1, Oxygen, 4) .iconSet(SAND) .color(0xd8dbb8) .build(); - SodiumDodecylSulfate = new Material.Builder(1529, SuSyUtility.susyId('dodec')) + SodiumDodecylSulfate = new Material.Builder(15298, SuSyUtility.susyId('sodium_dodecyl_sulfate')) .dust() .components(Carbon, 12, Hydrogen, 25 Sulfur, 1, Oxygen, 4, Sodium, 1) .iconSet(SAND) .color(0xe6e4cf) .build(); + + Dinonylnaphthalene = new Material.Builder(15299, SuSyUtility.susyId('dinonylnaphthalene')) + .dust() + .components(Carbon, 28, Hydrogen, 44) + .iconSet(SAND) + .color(0xbfa263) + .build(); + + DinonylnaphthaleneSulfonicAcid = new Material.Builder(15300, SuSyUtility.susyId('dinonylnaphthalene_sulfonic_acid')) + .dust() + .components(Carbon, 28, Hydrogen, 44, Sulfur, 1, Oxygen, 3) + .iconSet(SAND) + .color(0xbfb463) + .build(); } } diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 451a4c4c3..f8ba896a2 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -482,6 +482,7 @@ class SuSyMaterials { public static Material ImpurePolydimethylsiloxaneMixture; public static Material RawPolydimethylsiloxaneMixture; public static Mateiral LubricityAdditive; + public static Mateiral AntistaticAdditive; // Petrochem Materials @@ -1418,6 +1419,8 @@ class SuSyMaterials { public static Material ChlorosulfuricAcid; public static Material DodecanesulfonicAcid; public static Material SodiumDodecylSulfate; + public static Mateiral Dinonylnaphthalene; + public static Mateiral DinonylnaphthaleneSulfonate; // Third Degree Materials diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index 59a4ac8f1..32b1aca21 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1844,5 +1844,10 @@ public class UnknownCompositionMaterials { .fluid() .color(0xab8f61) .build(); + + AntistaticAdditive = new Material.Builder(4352, SuSyUtility.susyId("antistatic_additive")) + .fluid() + .color(0xd1cc8e) + .build(); } } diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 63b24a157..54c2060a7 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -3525,11 +3525,12 @@ DRYER.recipeBuilder() // Tosylic Acid, Hydrogen Silsesquioxane -BR.recipeBuilder() - .fluidInputs(fluid('toluene') * 1000) - .fluidInputs(fluid('oleum') * 1000) - .fluidInputs(fluid('distilled_water') * 1000) - .fluidOutputs(fluid('tosylic_acid_solution') * 1000) +CSTR.recipeBuilder() + .fluidInputs(fluid('toluene') * 50) + .fluidInputs(fluid('oleum') * 550) + .fluidInputs(fluid('distilled_water') * 50) + .fluidOutputs(fluid('tosylic_acid_solution') * 50) + .fluidOutputs(fluid('sulfuric_acid') * 500) .duration(20) .EUt(30) .buildAndRegister() diff --git a/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy index 67a74e5b9..313bb52d0 100644 --- a/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy @@ -721,7 +721,7 @@ CSTR.recipeBuilder() CHEMICAL_BATH.recipeBuilder() .inputs(ore('roundCrosslinkedPolystyrene') * 32) - .fluidInputs(fluid('oleum') * 1000) + .fluidInputs(fluid('oleum') * 1100) .outputs(metaitem('beads.ag_fifty_w_x_eight')) .fluidOutputs(fluid('sulfuric_acid') * 1000) .EUt(120) @@ -761,14 +761,22 @@ CSTR.recipeBuilder() CSTR.recipeBuilder() .fluidInputs(fluid('sulfuric_acid') * 50) .fluidInputs(fluid('sulfur_trioxide') * 5) - .fluidOutputs(fluid('oleum') * 50) - .duration(5) + .fluidOutputs(fluid('oleum') * 55) + .duration(4) + .EUt(30) + .buildAndRegister() + +MIXER.recipeBuilder() + .fluidInputs(fluid('sulfuric_acid') * 1000) + .fluidInputs(fluid('sulfur_trioxide') * 100) + .fluidOutputs(fluid('oleum') * 1100) + .duration(80) .EUt(120) .buildAndRegister() CHEMICAL_BATH.recipeBuilder() .inputs(ore('roundPalladiumDopedCrosslinkedPolystyrene') * 32) - .fluidInputs(fluid('oleum') * 1000) + .fluidInputs(fluid('oleum') * 1100) .outputs(metaitem('beads.amberlyst_ch')) .fluidOutputs(fluid('sulfuric_acid') * 1000) .EUt(120) diff --git a/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy b/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy index 93d059813..8a7b9cd3a 100644 --- a/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy @@ -15,6 +15,8 @@ DRYER = recipemap('dryer') CHEMICAL_BATH = recipemap('chemical_bath') LCR = recipemap('large_chemical_reactor') +// Lubricity Surfactants (SDS, Narrow-chain ethoxylates) + CSTR.recipeBuilder() .notConsumable(ore('platePolytetrafluoroethylene') * 6) .fluidInputs(fluid('sulfur_trioxide') * 50) @@ -62,9 +64,39 @@ BR.recipeBuilder() MIXER.recipeBuilder() .inputs(metaitem('dustSodiumDodecylSulfate')) .fluidInputs(fluid('two_butoxyethanol') * 100) - .fluidInputs(fluid('isopropyl_alcohol') * 100) .fluidInputs(fluid('naphtha') * 1800) + .fluidInputs(fluid('isopropyl_alcohol') * 100) .fluidOutputs(fluid('lubricity_additive') * 2000) .duration(100) .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +// Antistatic surfactant (dinonylnaphthalene sulfonate) + +BR.recipeBuilder() + .fluidInputs(fluid('napthalene') * 1000) + .fluidInputs(fluid('tripropylene') * 2000) + .notConsumable(fluid('hydrofluoric_acid') * 100) + .outputs(metaitem('dustDinonylnaphthalene')) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustDinonylnaphthalene')) + .fluidInputs(fluid('oleum') * 11000) + .outputs(metaitem('dustDinonylnaphthaleneSulfonicAcid')) + .fluidOutputs(fluid('sulfuric_acid') * 10000) + .duration(5) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +MIXER.recipeBuilder() + .inputs(ore('dustSmallDinonylnaphthaleneSulfonicAcid')) + .fluidInputs(fluid('toluene') * 1100) + .fluidInputs(fluid('naphtha') * 600) + .fluidInputs(fluid('isopropyl_alcohol') * 50) + .fluidOutputs(fluid('antistatic_additive') * 2000) + .duration(100) + .EUt(Globals.voltAmps[1]) .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/EpoxyChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/EpoxyChain.groovy index 96c128088..0f4e0f3d1 100644 --- a/groovy/postInit/chemistry/organic_chemistry/polymers/EpoxyChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/EpoxyChain.groovy @@ -414,9 +414,10 @@ BR.recipeBuilder() BR.recipeBuilder() .inputs(ore('dustTinyPotassiumPersulfate')) - .fluidInputs(fluid('methane') * 8000) - .fluidInputs(fluid('oleum') * 8000) - .fluidOutputs(fluid('methanesulfonic_acid') * 8000) + .fluidInputs(fluid('methane') * 1000) + .fluidInputs(fluid('oleum') * 11000) + .fluidOutputs(fluid('methanesulfonic_acid') * 1000) + .fluidOutputs(fluid('sulfuric_acid') * 10000) .duration(100) .EUt(480) .buildAndRegister() @@ -430,15 +431,6 @@ BR.recipeBuilder() .EUt(30) .buildAndRegister() -BR.recipeBuilder() - .inputs(ore('dustTinyPotassiumPersulfate')) - .fluidInputs(fluid('methane') * 8000) - .fluidInputs(fluid('oleum') * 8000) - .fluidOutputs(fluid('methanesulfonic_acid') * 8000) - .duration(100) - .EUt(480) - .buildAndRegister() - MIXER.recipeBuilder() .inputs(ore('dustPhosphorusPentoxide')) .fluidInputs(fluid('methanesulfonic_acid') * 4000) diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index fc062b31f..4cc4f4f5a 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -1775,6 +1775,9 @@ susy.material.sodium_dodecyl_sulfate_solution=Sodium Dodecyl Sulfate Solution susy.material.dodecanesulfonic_acid=Dodecanesulfonic Acid susy.material.sodium_dodecyl_sulfate=Sodium Dodecyl Sulfate susy.material.lubricity_additive=Lubricity Additive +susy.material.dinonylnaphthalene=Dinonylnaphthalene +susy.material.dinonylnaphthalene_sulfonic_acid=Dinonylnaphthalene Sulfonic Acid +susy.material.antistatic_additive=Antistatic Additive # Isotopes From f7b707c9efb61255ac15a8144925ecd743b32e50 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Sat, 18 Nov 2023 23:11:03 -0600 Subject: [PATCH 07/19] antifoaming additive + additives file --- .../material/OrganicChemistryMaterials.groovy | 6 ++ groovy/material/SuSyMaterials.groovy | 6 +- .../UnknownCompositionMaterials.groovy | 5 ++ .../organic_chemistry/Surfactants.groovy | 20 ----- .../organic_chemistry/fuels/Additives.groovy | 77 +++++++++++++++++++ resources/langfiles/lang/en_us.lang | 2 + 6 files changed, 94 insertions(+), 22 deletions(-) create mode 100644 groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index c49fc0c8c..af368b224 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -1892,5 +1892,11 @@ public class OrganicChemistryMaterials { .iconSet(SAND) .color(0xbfb463) .build(); + + Pseudocumene = new Material.Builder(15301, SuSyUtility.susyId('pseudocumene')) + .fluid() + .components(Carbon, 9, Hydrogen, 12) + .color(0x553300) + .build(); } } diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index f8ba896a2..9a67e679b 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -483,6 +483,7 @@ class SuSyMaterials { public static Material RawPolydimethylsiloxaneMixture; public static Mateiral LubricityAdditive; public static Mateiral AntistaticAdditive; + public static Material AntifoamingAdditive; // Petrochem Materials @@ -1419,8 +1420,9 @@ class SuSyMaterials { public static Material ChlorosulfuricAcid; public static Material DodecanesulfonicAcid; public static Material SodiumDodecylSulfate; - public static Mateiral Dinonylnaphthalene; - public static Mateiral DinonylnaphthaleneSulfonate; + public static Material Dinonylnaphthalene; + public static Material DinonylnaphthaleneSulfonate; + public static Material Psuedocumene; // Third Degree Materials diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index 32b1aca21..5c0dcdf53 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1849,5 +1849,10 @@ public class UnknownCompositionMaterials { .fluid() .color(0xd1cc8e) .build(); + + AntifoamingAdditive = new Material.Builder(4353, SuSyUtility.susyId("antifoaming_additive")) + .fluid() + .color(0x597275) + .build(); } } diff --git a/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy b/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy index 8a7b9cd3a..4119f356b 100644 --- a/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy @@ -61,16 +61,6 @@ BR.recipeBuilder() .EUt(Globals.voltAmps[1]) .buildAndRegister() -MIXER.recipeBuilder() - .inputs(metaitem('dustSodiumDodecylSulfate')) - .fluidInputs(fluid('two_butoxyethanol') * 100) - .fluidInputs(fluid('naphtha') * 1800) - .fluidInputs(fluid('isopropyl_alcohol') * 100) - .fluidOutputs(fluid('lubricity_additive') * 2000) - .duration(100) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() - // Antistatic surfactant (dinonylnaphthalene sulfonate) BR.recipeBuilder() @@ -89,14 +79,4 @@ BR.recipeBuilder() .fluidOutputs(fluid('sulfuric_acid') * 10000) .duration(5) .EUt(Globals.voltAmps[1]) - .buildAndRegister() - -MIXER.recipeBuilder() - .inputs(ore('dustSmallDinonylnaphthaleneSulfonicAcid')) - .fluidInputs(fluid('toluene') * 1100) - .fluidInputs(fluid('naphtha') * 600) - .fluidInputs(fluid('isopropyl_alcohol') * 50) - .fluidOutputs(fluid('antistatic_additive') * 2000) - .duration(100) - .EUt(Globals.voltAmps[1]) .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy b/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy new file mode 100644 index 000000000..a648c6bae --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy @@ -0,0 +1,77 @@ +import static globals.Globals.* + +CSTR = recipemap('continuous_stirred_tank_reactor') +TBR = recipemap('trickle_bed_reactor') +FBR = recipemap('fixed_bed_reactor') +BCR = recipemap('bubble_column_reactor') +BR = recipemap('batch_reactor') +POLYMERIZATION = recipemap('polymerization_tank') +FLUIDIZEDBR = recipemap('fluidized_bed_reactor') +DISTILLATION_TOWER = recipemap('distillation_tower') +DISTILLERY = recipemap('distillery') +ROASTER = recipemap('roaster') +CRYSTALLIZER = recipemap('crystallizer') +MIXER = recipemap('mixer') +DRYER = recipemap('dryer') +CHEMICAL_BATH = recipemap('chemical_bath') +CENTRIFUGE = recipemap('centrifuge') +PYROLYSE = recipemap('pyrolyse_oven') +LCR = recipemap('large_chemical_reactor') +EBF = recipemap('electric_blast_furnace') +VULCANIZER = recipemap('vulcanizing_press') +ALLOY_SMELTER = recipemap('alloy_smelter') +ARC_FURNACE = recipemap('arc_furnace') +VACUUM_DT = recipemap('vacuum_distillation') +AUTOCLAVE = recipemap('autoclave') +COMPRESSOR = recipemap('compressor') +ASSEMBLER = recipemap('assembler') +ELECTROLYZER = recipemap('electrolyzer') +ELECTROLYTIC_CELL = recipemap('electrolytic_cell') +REACTION_FURNACE = recipemap('reaction_furnace') +ELECTROMAGNETIC_SEPARATOR = recipemap('electromagnetic_separator') +PSA = recipemap('pressure_swing_adsorption') +SINTERING_OVEN = recipemap('sintering_oven') + +def major_solvents = [ + 'xylene' + 'naphtha' + 'toluene' +] + +def minor_solvents = [ + 'naphthalene' + 'pseudocumene' + 'isopropyl_alcohol' +] + +for (major_solvent in major_solvents) { + for (minor_solvent in minor_solvents) { + MIXER.recipeBuilder() + .inputs(metaitem('dustSodiumDodecylSulfate')) + .fluidInputs(fluid('two_butoxyethanol') * 100) + .fluidInputs(fluid(major_solvent) * 1500) + .fluidInputs(fluid(minor_solvent) * 400) + .fluidOutputs(fluid('lubricity_additive') * 2000) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + MIXER.recipeBuilder() + .inputs(ore('dustSmallDinonylnaphthaleneSulfonicAcid')) + .fluidInputs(fluid(major_solvent) * 1500) + .fluidInputs(fluid(minor_solvent) * 500) + .fluidOutputs(fluid('antistatic_additive') * 2000) + .duration(100) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + MIXER.recipeBuilder() + .fluidInputs(fluid('polydimethylsiloxane') * 100) + .fluidInputs(fluid(major_solvent) * 1500) + .fluidInputs(fluid(minor_solvent) * 400) + .fluidOutputs(fluid('lubricity_additive') * 2000) + .fluidOutputs(fluid('antifoaming_additive') * 2000) + } +} + + diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index 4cc4f4f5a..4ed7724d5 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -1778,6 +1778,8 @@ susy.material.lubricity_additive=Lubricity Additive susy.material.dinonylnaphthalene=Dinonylnaphthalene susy.material.dinonylnaphthalene_sulfonic_acid=Dinonylnaphthalene Sulfonic Acid susy.material.antistatic_additive=Antistatic Additive +susy.material.antifoaming_additive=Antifoaming Additive +susy.material.pseudocumene=Pseudocumene # Isotopes From e479389d3595e1f73d3c924b18e44eb9b2f0e11b Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Mon, 20 Nov 2023 22:17:53 -0600 Subject: [PATCH 08/19] refactor additives (in progress) --- groovy/material/FirstDegreeMaterials.groovy | 10 +- .../material/OrganicChemistryMaterials.groovy | 66 ++- groovy/material/SecondDegreeMaterials.groovy | 12 + groovy/material/SuSyMaterials.groovy | 30 +- groovy/material/ThirdDegreeMaterials.groovy | 25 + .../UnknownCompositionMaterials.groovy | 31 +- .../chemistry/ChemistryOverhaul.groovy | 40 +- .../chemistry/elements/ManganeseChain.groovy | 57 +- .../organic_chemistry/Extractants.groovy | 12 +- .../organic_chemistry/OilOverhaul.groovy | 542 +----------------- .../organic_chemistry/fuels/Additives.groovy | 529 ++++++++++++++++- .../{ => fuels}/Surfactants.groovy | 14 +- .../postInit/electronics/SMDComponents.groovy | 18 +- resources/langfiles/lang/en_us.lang | 22 +- resources/langfiles/lang/zh_cn.lang | 3 +- 15 files changed, 824 insertions(+), 587 deletions(-) rename groovy/postInit/chemistry/organic_chemistry/{ => fuels}/Surfactants.groovy (92%) diff --git a/groovy/material/FirstDegreeMaterials.groovy b/groovy/material/FirstDegreeMaterials.groovy index 94927d23b..67d2ffbbe 100644 --- a/groovy/material/FirstDegreeMaterials.groovy +++ b/groovy/material/FirstDegreeMaterials.groovy @@ -892,7 +892,7 @@ public class FirstDegreeMaterials{ VeryDilutedSulfuricAcid = new Material.Builder(8219, SuSyUtility.susyId('very_diluted_sulfuric_acid')) .fluid(FluidTypes.ACID) - .components(Water, 2, SulfuricAcid, 1) + .components(SulfuricAcid, 1, Water, 2) .color(0x54362c) .build() @@ -2014,7 +2014,7 @@ public class FirstDegreeMaterials{ .build() .setFormula("Mn(NO3)2", true) - PurifiedManganeseDioxide = new Material.Builder(8395, SuSyUtility.susyId('purified_manganese_dioxide')) + ManganeseDioxide = new Material.Builder(8395, SuSyUtility.susyId('manganese_dioxide')) .dust() .iconSet('SHINY') .components(Manganese, 1, Oxygen, 2) @@ -3285,5 +3285,11 @@ public class FirstDegreeMaterials{ .components(Hydrogen, 1, Sulfur, 1, Oxygen, 3, Chlorine, 1) .colorAverage() .build(); + + ManganeseIIChloride = new Material.Builder(8579, SuSyUtility.susyId("manganese_ii_chloride")) + .dust() + .components(Manganese, 1, Chlorine, 2) + .colorAverage() + .build(); } } \ No newline at end of file diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index af368b224..71fc57813 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -1481,11 +1481,7 @@ public class OrganicChemistryMaterials { .color(0xd13485) .build(); - SodiumCyclopentadienide = new Material.Builder(15235, SuSyUtility.susyId('sodium_cyclopentadienide')) - .dust() - .components(Sodium, 1, Carbon, 5, Hydrogen, 5) - .colorAverage() - .build(); + //FREE ID: 15235 OctylHydroxamicAcid = new Material.Builder(15236, SuSyUtility.susyId('octyl_hydroxamic_acid')) .dust() @@ -1898,5 +1894,65 @@ public class OrganicChemistryMaterials { .components(Carbon, 9, Hydrogen, 12) .color(0x553300) .build(); + + Methylcyclopentadiene = new Material.Builder(15302, SuSyUtility.susyId('methylcyclopentadiene')) + .fluid() + .components(Carbon, 6, Hydrogen, 8) + .color(0x57ab82) + .build(); + + Methylcyclopentadiene.setFormula('C5H4CH3', true) + + Diglyme = new Material.Builder(15303, SuSyUtility.susyId('diglyme')) + .fluid() + .components(Carbon, 6, Hydrogen, 14, Oxygen, 3) + .color(0x2f9982) + .build(); + + Bismethylcyclopentadienylmanganese = new Material.Builder(15304, SuSyUtility.susyId('bismethylcyclopentadienylmanganese')) + .fluid() + .components(Carbon, 12, Hydrogen, 10, Manganese, 1) + .color(0x75250d) + .build(); + + Bismethylcyclopentadienylmanganese.setFormula('Mn(C5H4CH3)2', true) + + MethylcyclopentadienylmanganeseTricarbonyl = new Material.Builder(15305, SuSyUtility.susyId('methylcyclopentadienylmanganese_tricarbonyl')) + .fluid() + .components(Carbon, 9, Hydrogen, 7, Oxygen, 3, Manganese, 1) + .color(0xa16c0b) + .build() + + MethylcyclopentadienylmanganeseTricarbonyl.setFormula('(C5H4CH3)Mn(CO)3', true) + + MethylCarbitol = new Material.Builder(15306, SuSyUtility.susyId('methyl_carbitol')) + .fluid() + .components(Carbon, 5, Hydrogen, 12, Oxygen, 3) + .color(0x3fd1b1) + .build(); + + DiisopropylParaPhenylenediamine = new Material.Builder(15307, SuSyUtility.susyId('diisopropyl_para_phenylenediamine')) + .dust() + .components(Carbon, 12, Hydrogen, 22, Nitrogen, 2) + .color(0x1d666e) + .build(); + + OneTwoDiaminopropaneSolution = new Material.Builder(15308, SuSyUtility.susyId('one_two_diaminopropane_solution')) + .fluid() + .components(Carbon, 3, Hydrogen, 10, Nitrogen, 2, Water, 1) + .color(0x22b55d) + .build(); + + Salicylaldehyde = new Material.Builder(1530, SuSyUtility.susyId('salicylaldehyde')) + .fluid() + .components(Carbon, 7, Hydrogen, 6, Oxygen, 2) + .color(0x3f44a6) + .build(); + + SalicylideneOneTwoPropanediamine = new Material.Builder(15310, SuSyUtility.susyId('salicylidene_one_two_propanediamine')) + .dust() + .components(Carbon, 17, Hydrogen, 18, Nitrogen, 2, Oxygen, 2) + .color(0x571f80) + .build(); } } diff --git a/groovy/material/SecondDegreeMaterials.groovy b/groovy/material/SecondDegreeMaterials.groovy index d3c43fcec..f6b41c3ff 100644 --- a/groovy/material/SecondDegreeMaterials.groovy +++ b/groovy/material/SecondDegreeMaterials.groovy @@ -634,5 +634,17 @@ public class SecondDegreeMaterials { .components(Palladium, 1, ActivatedCarbon, 4) .colorAverage() .build(); + + ManganeseIIChlorideSolution = new Material.Builder(8578, SuSyUtility.susyId("manganese_ii_chloride_solution")) + .fluid() + .components(ManganeseIIChloride, 1, Water, 3) + .colorAverage() + .build(); + + DilutedManganeseIIChlorideSolution = new Material.Builder(8578, SuSyUtility.susyId("diluted_manganese_ii_chloride_solution")) + .fluid() + .components(ManganeseIIChloride, 1, Water, 6) + .colorAverage() + .build(); } } diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 9a67e679b..3f949c1c9 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -337,10 +337,9 @@ class SuSyMaterials { public static Material UranylCarbonateSolution; public static Material UranylSulfateSolution; public static Material TetraethylleadSludge; - public static Material GasolineOxygenates; - public static Material GasolineAntioxidants; - public static Material GasolineAntiknock; - public static Material GasolineGeneralAdditives; + public static Material Oxygenates; + public static Material Antioxidants; + public static Material Antiknock; public static Material MidgradeGasoline; public static Material PremiumGasoline; public static Material SupremeGasoline; @@ -484,6 +483,10 @@ class SuSyMaterials { public static Mateiral LubricityAdditive; public static Mateiral AntistaticAdditive; public static Material AntifoamingAdditive; + public static Material DiisopropylParaPhenylenediamineSolution; + public static Material PropanolamineMix; + public static Material MetalDeactivator; + public static Material SalicylideneOneTwoPropanediamineSolution; // Petrochem Materials @@ -845,7 +848,7 @@ class SuSyMaterials { public static Material SodiumBismuthate; public static Material BismuthIIIOxide; public static Material ManganeseIINitrate; - public static Material PurifiedManganeseDioxide; + public static Material ManganeseDioxide; public static Material BariumTitanate; public static Material RawElectrum; public static Material NeodymiumAlloy; @@ -1014,6 +1017,7 @@ class SuSyMaterials { public static Material ImpureStrontiumSulfide; public static Material DilutedAceticAcid; public static Material CobaltIIAcetate; + public static Material ManganeseIIChloride; // Second Degree Materials @@ -1115,6 +1119,8 @@ class SuSyMaterials { public static Material ImpureBariumSulfideSolution; public static Material ImpureStrontiumSulfideSlurry; public static Material PalladiumOnCarbon; + public static Material ManganeseIIChlorideSolution; + public static Material DilutedManganeseIIChlorideSolution; // Organic Chemistry Materials @@ -1351,7 +1357,6 @@ class SuSyMaterials { public static Material Methylaluminoxane; public static Material ZirconoceneDichloride; public static Material Tetrahydrofuran; - public static Material SodiumCyclopentadienide; public static Material PotassiumButylXanthate; public static Material PicricAcid; public static Material Monomethylhydrazine; @@ -1423,6 +1428,15 @@ class SuSyMaterials { public static Material Dinonylnaphthalene; public static Material DinonylnaphthaleneSulfonate; public static Material Psuedocumene; + public static Material Methylcyclopentadiene; + public static Material Diglyme; + public static Material Bismethylcyclopentadienylmanganese; + public static Material MethylcyclopentadienylmanganeseTricarbonyl; + public static Material MethylCarbitol; + public static Material DiisopropylParaPhenylenediamine; + public static Material OneTwoDiaminopropaneSolution; + public static Material Salicylaldehyde; + public static Material SalicylideneOneTwoPropanediamine; // Third Degree Materials @@ -1498,6 +1512,10 @@ class SuSyMaterials { public static Material TerephthalateMotherLiquor; public static Material MethylParaToluateMixture; public static Material SodiumDodecylSulfateSolution; + public static Material SodiumCyclopentadienide; + public static Material MethylcyclopentadieneSolution; + public static Material BismethylcyclopentadienylmanganeseSolution; + public static Material SalicylaldehydeSolution; // Thermodynamics/Greenhouse Materials diff --git a/groovy/material/ThirdDegreeMaterials.groovy b/groovy/material/ThirdDegreeMaterials.groovy index b0b7d145e..a0b5938ad 100644 --- a/groovy/material/ThirdDegreeMaterials.groovy +++ b/groovy/material/ThirdDegreeMaterials.groovy @@ -456,5 +456,30 @@ public class ThirdDegreeMaterials { .components(SodiumDodecylSulfate, 1, Water, 2) .colorAverage() .build(); + + SodiumCyclopentadienideSolution = new Material.Builder(24071, SuSyUtility.susyId('sodium_cyclopentadienide_solution')) + .fluid() + .components(Sodium, 1, Carbon, 5, Hydrogen, 5, Tetrahydrofuran, 1) + .colorAverage() + .build() + .setFormula("(NaC5H5)(C4H8O)", true); + + MethylcyclopentadieneSolution = new Material.Builder(24072, SuSyUtility.susyId('methylcyclopentadiene_solution')) + .fluid() + .components(Methylcyclopentadiene, 1, Tetrahydrofuran, 1, Salt, 2) + .colorAverage() + .build(); + + BismethylcyclopentadienylmanganeseSolution = new Material.Builder(24073, SuSyUtility.susyId('bismethylcyclopentadienylmanganese_solution')) + .fluid() + .components(Bismethylcyclopentadienylmanganese, 1, Diglyme, 1, Salt, 2) + .colorAverage() + .build(); + + SalicylaldehydeSolution = new Material.Builder(24074, SuSyUtility.susyId('salicylaldehyde_solution')) + .fluid() + .components(Salicylaldehyde, 1, RockSalt, 3, Water, 2) + .colorAverage() + .build(); } } diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index 5c0dcdf53..bc2b59745 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1138,25 +1138,22 @@ public class UnknownCompositionMaterials { .color(0x2b1e1e) .build(); - GasolineOxygenates = new Material.Builder(4218, SuSyUtility.susyId('gasoline_oxygenates')) + Oxygenates = new Material.Builder(4218, SuSyUtility.susyId('oxygenates')) .fluid() .color(0xb4c5e0) .build(); - GasolineAntioxidants = new Material.Builder(4219, SuSyUtility.susyId('gasoline_antioxidants')) + Antioxidants = new Material.Builder(4219, SuSyUtility.susyId('antioxidants')) .fluid() .color(0x380b0d) .build(); - GasolineAntiknock = new Material.Builder(4220, SuSyUtility.susyId('gasoline_antiknock')) + Antiknock = new Material.Builder(4220, SuSyUtility.susyId('antiknock')) .fluid() .color(0x48485e) .build(); - GasolineGeneralAdditives = new Material.Builder(4221, SuSyUtility.susyId('gasoline_general_additives')) - .fluid() - .color(0x718072) - .build(); + //FREE ID: 4221 MidgradeGasoline = new Material.Builder(4222, SuSyUtility.susyId('midgrade_gasoline')) .fluid() @@ -1854,5 +1851,25 @@ public class UnknownCompositionMaterials { .fluid() .color(0x597275) .build(); + + DiisopropylParaPhenylenediamineSolution = new Material.Builder(4354, SuSyUtility.susyId('diisopropyl_para_phenylenediamine_solution')) + .fluid() + .color(0x189477) + .build(); + + PropanolamineMix = new Material.Builder(4355, SuSyUtility.susyId('propanolamine_mix')) + .fluid() + .color(0x4cb522) + .build(); + + SalicylideneOneTwoPropanediamineSolution = new Material.Builder(4356, SuSyUtility.susyId('salicylidene_one_two_propanediamine_solution')) + .fluid() + .color(0x3e1f80) + .build(); + + MetalDeactivator = new Material.Builder(4357, SuSyUtility.susyId('metal_deactivator')) + .fluid() + .color(0x9b34a8) + .build(); } } diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 54c2060a7..9d90ab3bd 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -1096,7 +1096,7 @@ FBR.recipeBuilder() .EUt(30) .buildAndRegister() -// Hypochloric Acid +// Hypochlorous Acid BCR.recipeBuilder() .fluidInputs(fluid('water') * 50) @@ -4025,7 +4025,9 @@ DISTILLATION_TOWER.recipeBuilder() BR.recipeBuilder() .fluidInputs(fluid('sodium') * 144) .fluidInputs(fluid('cyclopentadiene') * 1000) - .outputs(metaitem('dustSodiumCyclopentadienide')) + .fluidInputs(fluid('tetrahydrofuran') * 1000) + .fluidOutputs(fluid('sodium_cyclopentadienide_solution') * 1000) + .fluidOutputs(fluid('hydrogen') * 1000) .EUt(1920) .duration(60) .buildAndRegister() @@ -4040,10 +4042,10 @@ BR.recipeBuilder() BR.recipeBuilder() .inputs(ore('dustZirconiumTetrachlorideTetrahydrofuranComplex') * 7) - .inputs(ore('dustSodiumCyclopentadienide') * 2) + .fluidInputs(fluid('sodium_cyclopentadienide_solution') * 2000) .outputs(metaitem('dustZirconoceneDichloride')) .outputs(metaitem('dustSalt') * 4) - .fluidOutputs(fluid('tetrahydrofuran') * 2000) + .fluidOutputs(fluid('tetrahydrofuran') * 4000) .EUt(1920) .duration(60) .buildAndRegister() @@ -4573,3 +4575,33 @@ BR.recipeBuilder() .duration(120) .EUt(30) .buildAndRegister() + +// Ethylbenzene + +CSTR.recipeBuilder() + .fluidInputs(fluid('benzene') * 50) + .fluidInputs(fluid('ethylene') * 50) + .notConsumable(fluid('sulfuric_acid') * 50) + .fluidOutputs(fluid('ethylbenzene') * 50) + .duration(5) + .EUt(120) + .buildAndRegister() + +// Nitromethane + +CSTR.recipeBuilder() +.fluidInputs(fluid('propane') * 50) +.fluidInputs(fluid('nitric_acid') * 150) +.fluidOutputs(fluid('diluted_nitromethane') * 200) +.fluidOutputs(fluid('nitric_oxide') * 100) +.duration(5) +.EUt(120) +.buildAndRegister() + +DT.recipeBuilder() +.fluidInputs(fluid('diluted_nitromethane') * 4000) +.fluidOutputs(fluid('water') * 3000) +.fluidOutputs(fluid('nitromethane') * 1000) +.duration(200) +.EUt(120) +.buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/elements/ManganeseChain.groovy b/groovy/postInit/chemistry/elements/ManganeseChain.groovy index f1292ca0e..40d276b29 100644 --- a/groovy/postInit/chemistry/elements/ManganeseChain.groovy +++ b/groovy/postInit/chemistry/elements/ManganeseChain.groovy @@ -129,10 +129,63 @@ ELECTROLYTIC_CELL.recipeBuilder() .EUt(Globals.voltAmps[2]) .buildAndRegister() +// MnCl2 + +BR.recipeBuilder() + .inputs(ore('dustManganese')) + .fluidInputs(fluid('chlorine') * 2000) + .outputs(metaitem('dustManganeseIiChloride') * 3) + .duration(100) + .EUt(120) + .buildAndRegister() +BR.recipeBuilder() + .inputs(ore('dustManganeseIiOxide') * 2) + .fluidInputs(fluid('hydrochloric_acid') * 2000) + .fluidOutputs(fluid('manganese_ii_chloride_solution') * 3000) + .duration(100) + .EUt(120) + .buildAndRegister() +DISTILLERY.recipeBuilder() + .fluidInputs(fluid('manganese_ii_chloride_solution') * 3000) + .outputs(metaitem('dustManganeseIiChloride') * 3) + .fluidOutputs(fluid('water') * 3000) + .duration(20) + .EUt(30) + .buildAndRegister() +BR.recipeBuilder() + .inputs(ore('dustManganeseDioxide') * 3) + .fluidInputs(fluid('hydrochloric_acid') * 4000) + .fluidOutputs(fluid('dilute_manganese_ii_chloride_solution') * 6000) + .fluidOutputs(fluid('chlorine') * 2000) + .duration(100) + .EUt(120) + .buildAndRegister() +DISTILLERY.recipeBuilder() + .fluidInputs(fluid('dilute_manganese_ii_chloride_solution') * 3000) + .outputs(metaitem('dustManganeseIiChloride') * 3) + .fluidOutputs(fluid('water') * 6000) + .duration(20) + .EUt(30) + .buildAndRegister() - - \ No newline at end of file +// MnO2 + +BR.recipeBuilder() + .inputs(ore('dustPyrolusite') * 3) + .fluidInputs(fluid('nitrogen_dioxide') * 2000) + .outputs(metaitem('dustManganeseIiNitrate') * 9) + .duration(100) + .EUt(120) + .buildAndRegister() + +ROASTER.recipeBuilder() + .inputs(ore('dustManganeseIiNitrate') * 9) + .fluidOutputs(fluid('nitrogen_dioxide') * 2000) + .outputs(metaitem('dustManganeseDioxide') * 3) + .duration(100) + .EUt(120) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy index 313bb52d0..c10e5aee7 100644 --- a/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy @@ -569,7 +569,7 @@ DISTILLATION_TOWER.recipeBuilder() MIXER.recipeBuilder() .inputs(ore('dustYttriumOxide') * 5) .inputs(ore('dustNeodymiumOxide') * 5) - .inputs(ore('dustPurifiedManganeseDioxide') * 3) + .inputs(ore('dustManganeseDioxide') * 3) .outputs(metaitem('dustRareEarthCatalystYNd') * 13) .duration(200) .EUt(Globals.voltAmps[1]) @@ -628,14 +628,14 @@ FBR.recipeBuilder() .buildAndRegister() CSTR.recipeBuilder() - .notConsumable(fluid('sulfuric_acid') * 50) + .fluidInputs(fluid('sulfuric_acid') * 50) .fluidInputs(fluid('diethylene_glycol') * 50) .fluidInputs(fluid('n_butanol') * 100) .fluidOutputs(fluid('dibutyl_carbitol') * 50) + .fluidOutputs(fluid('very_diluted_sulfuric_acid') * 150) .duration(5) .EUt(120) .buildAndRegister() - //TRI OCTYL DECYL AMINE CSTR.recipeBuilder() .fluidInputs(fluid('hydrobromic_acid') * 50) @@ -689,11 +689,11 @@ BR.recipeBuilder() .buildAndRegister() LCR.recipeBuilder() - .notConsumable(fluid('sulfuric_acid') * 1000) - .notConsumable(metaitem('dustSodiumCyanoborohydride') * 7) + .inputs(ore('dustSodiumCyanoborohydride') * 7) .fluidInputs(fluid('nine_octadecanone') * 3000) - .fluidInputs(fluid('ammonia') * 1000) + .fluidInputs(fluid('ammonium_chloride_solution') * 1000) .fluidOutputs(fluid('tri_octyl_decyl_amine') * 1000) + .fluidOutputs(fluid('wastewater') * 1000) .duration(300) .EUt(480) .buildAndRegister() diff --git a/groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy b/groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy index 34b51bbbb..ffd43c0dd 100644 --- a/groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy @@ -1216,528 +1216,34 @@ REFORMER.recipeBuilder() .EUt(Globals.voltAmps[1] * 2) .buildAndRegister() -// FUEL ADDITIVES - -CSTR.recipeBuilder() - .fluidInputs(fluid('isobutylene') * 50) - .fluidInputs(fluid('water') * 50) - .notConsumable(fluid('sulfuric_acid') * 50) - .fluidOutputs(fluid('tert_butyl_alcohol') * 50) - .duration(5) - .EUt(120) - .buildAndRegister() - -CSTR.recipeBuilder() - .fluidInputs(fluid('isobutylene') * 100) - .fluidInputs(fluid('cresol') * 50) - .notConsumable(fluid('sulfuric_acid') * 50) - .fluidOutputs(fluid('butylated_hydroxytoluene') * 50) - .duration(5) - .EUt(120) - .buildAndRegister() - -CSTR.recipeBuilder() - .fluidInputs(fluid('isobutylene') * 50) - .fluidInputs(fluid('xylenol') * 50) - .notConsumable(fluid('sulfuric_acid') * 50) - .fluidOutputs(fluid('dimethyl_tert_butylphenol') * 50) - .duration(5) - .EUt(120) - .buildAndRegister() - -CSTR.recipeBuilder() - .fluidInputs(fluid('benzene') * 50) - .fluidInputs(fluid('ethylene') * 50) - .notConsumable(fluid('sulfuric_acid') * 50) - .fluidOutputs(fluid('ethylbenzene') * 50) - .duration(5) - .EUt(120) - .buildAndRegister() - -BR.recipeBuilder() - .inputs(ore('dustAluminium')) - .fluidInputs(fluid('phenol') * 3000) - .fluidOutputs(fluid('aluminium_phenolate') * 1000) - .fluidOutputs(fluid('hydrogen') * 3000) - .duration(200) - .EUt(120) - .buildAndRegister() - -CSTR.recipeBuilder() - .fluidInputs(fluid('isobutylene') * 100) - .fluidInputs(fluid('phenol') * 50) - .notConsumable(fluid('aluminium_phenolate') * 50) - .fluidOutputs(fluid('di_tert_butylphenol') * 50) - .duration(5) - .EUt(120) - .buildAndRegister() - -CSTR.recipeBuilder() - .fluidInputs(fluid('isobutylene') * 50) - .fluidInputs(fluid('isobutane') * 50) - .notConsumable(fluid('sulfuric_acid') * 50) - .fluidOutputs(fluid('isooctane') * 50) - .duration(5) - .EUt(120) - .buildAndRegister() - -ALLOY_SMELTER.recipeBuilder() - .inputs(ore('dustPotassium')) - .inputs(ore('dustMolecularSieve') * 4) - .outputs(metaitem('dustPotassiumMolecularSieve') * 4) - .duration(300) - .EUt(120) - .buildAndRegister() - -ALLOY_SMELTER.recipeBuilder() - .inputs(ore('dustCaesium')) - .inputs(ore('dustMolecularSieve') * 4) - .outputs(metaitem('dustCesiumMolecularSieve') * 4) - .duration(400) - .EUt(120) - .buildAndRegister() - -ALLOY_SMELTER.recipeBuilder() - .inputs(ore('dustSodium')) - .inputs(ore('dustLead')) - .outputs(metaitem('ingotSodiumLeadAlloy') * 2) - .duration(300) - .EUt(30) - .buildAndRegister() - -SIFTER.recipeBuilder() - .fluidInputs(fluid('isoprene') * 4000) - .inputs(ore('dustCesiumMolecularSieve') * 1) - .fluidOutputs(fluid('purified_isoprene') * 4000) - .outputs(metaitem('dustSaturatedCesiumMolecularSieve') * 1) - .duration(200) - .EUt(120) - .buildAndRegister() - -SIFTER.recipeBuilder() - .fluidInputs(fluid('isoprene') * 4000) - .inputs(ore('dustPotassiumMolecularSieve') * 1) - .fluidOutputs(fluid('purified_isoprene') * 4000) - .outputs(metaitem('dustSaturatedPotassiumMolecularSieve') * 1) - .duration(300) - .EUt(120) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('benzene') * 50) - .inputs(ore('dustSaturatedPotassiumMolecularSieve') * 1) - .fluidOutputs(fluid('cyclopentadiene_solution') * 100) - .outputs(metaitem('dustPotassiumMolecularSieve') * 1) - .duration(200) - .EUt(120) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('benzene') * 100) - .inputs(ore('dustSaturatedCesiumMolecularSieve') * 1) - .fluidOutputs(fluid('cyclopentadiene_solution') * 200) - .outputs(metaitem('dustCesiumMolecularSieve') * 1) - .duration(200) - .EUt(120) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('cyclopentadiene_solution') * 2000) - .fluidOutputs(fluid('benzene') * 1000) - .fluidOutputs(fluid('cyclopentadiene') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() - POLYMERIZATION_TANK.recipeBuilder() - .fluidInputs(fluid('isoprene') * 1000) - .outputs(metaitem('dustPolyisoprene') * 4) - .notConsumable(metaitem('dustZieglerNattaCatalyst')) - .duration(200) - .EUt(120) - .buildAndRegister() + .fluidInputs(fluid('isoprene') * 1000) + .outputs(metaitem('dustPolyisoprene') * 4) + .notConsumable(metaitem('dustZieglerNattaCatalyst')) + .duration(200) + .EUt(120) + .buildAndRegister() POLYMERIZATION_TANK.recipeBuilder() - .fluidInputs(fluid('isoprene') * 1000) - .outputs(metaitem('dustPolyisoprene') * 6) - .notConsumable(fluid('butyllithium') * 100) - .duration(200) - .EUt(120) - .buildAndRegister() + .fluidInputs(fluid('isoprene') * 1000) + .outputs(metaitem('dustPolyisoprene') * 6) + .notConsumable(fluid('butyllithium') * 100) + .duration(200) + .EUt(120) + .buildAndRegister() POLYMERIZATION_TANK.recipeBuilder() - .fluidInputs(fluid('purified_isoprene') * 1000) - .outputs(metaitem('dustPolyisoprene') * 6) - .notConsumable(metaitem('dustZieglerNattaCatalyst')) - .duration(200) - .EUt(120) - .buildAndRegister() + .fluidInputs(fluid('purified_isoprene') * 1000) + .outputs(metaitem('dustPolyisoprene') * 6) + .notConsumable(metaitem('dustZieglerNattaCatalyst')) + .duration(200) + .EUt(120) + .buildAndRegister() POLYMERIZATION_TANK.recipeBuilder() - .fluidInputs(fluid('purified_isoprene') * 1000) - .outputs(metaitem('dustPolyisoprene') * 8) - .notConsumable(fluid('butyllithium') * 100) - .duration(200) - .EUt(120) - .buildAndRegister() - -BCR.recipeBuilder() - .fluidInputs(fluid('hydrogen_chloride') * 50) - .fluidInputs(fluid('ethylene') * 50) - .fluidOutputs(fluid('chloroethane') * 50) - .duration(5) - .EUt(120) - .buildAndRegister() - -BR.recipeBuilder() - .fluidInputs(fluid('chloroethane') * 4000) - .inputs(ore('dustSodiumLeadAlloy') * 8) - .fluidOutputs(fluid('tetraethyllead_sludge') * 2000) - .duration(200) - .EUt(120) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('tetraethyllead_sludge') * 2000) - .outputs(metaitem('dustSalt') * 8) - .fluidOutputs(fluid('lead') * 432) - .fluidOutputs(fluid('tetraethyllead') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() - -BR.recipeBuilder() - .fluidInputs(fluid('iron_pentacarbonyl') * 1000) - .fluidInputs(fluid('cyclopentadiene') * 2000) - .outputs(metaitem('dustFerrocene') * 11) - .fluidOutputs(fluid('carbon_monoxide') * 5000) - .fluidOutputs(fluid('hydrogen') * 2000) - .duration(300) - .EUt(120) - .buildAndRegister() - -CSTR.recipeBuilder() - .fluidInputs(fluid('isobutane') * 50) - .fluidInputs(fluid('oxygen') * 100) - .fluidOutputs(fluid('tert_butyl_hydroperoxide') * 50) - .duration(5) - .EUt(120) - .buildAndRegister() - -TBR.recipeBuilder() - .fluidInputs(fluid('tert_butyl_hydroperoxide') * 50) - .fluidInputs(fluid('tert_butyl_alcohol') * 50) - .notConsumable(metaitem('dustMolecularSieve')) - .fluidOutputs(fluid('diluted_di_tert_butyl_peroxide') * 100) - .duration(5) - .EUt(120) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('diluted_di_tert_butyl_peroxide') * 2000) - .fluidOutputs(fluid('water') * 1000) - .fluidOutputs(fluid('di_tert_butyl_peroxide') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() - -CSTR.recipeBuilder() - .fluidInputs(fluid('two_ethylhexanol') * 50) - .fluidInputs(fluid('nitration_mixture') * 100) - .fluidOutputs(fluid('diluted_two_ethylhexyl_nitrate') * 150) - .duration(5) - .EUt(120) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('diluted_two_ethylhexyl_nitrate') * 3000) - .fluidOutputs(fluid('two_ethylhexyl_nitrate') * 1000) - .fluidOutputs(fluid('water') * 1000) - .fluidOutputs(fluid('sulfuric_acid') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() - -CSTR.recipeBuilder() - .fluidInputs(fluid('propane') * 50) - .fluidInputs(fluid('nitric_acid') * 150) - .fluidOutputs(fluid('diluted_nitromethane') * 200) - .fluidOutputs(fluid('nitric_oxide') * 100) - .duration(5) - .EUt(120) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('diluted_nitromethane') * 4000) - .fluidOutputs(fluid('water') * 3000) - .fluidOutputs(fluid('nitromethane') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() - -//TODO: MOVE TO LARGE MIXING MULTIBLOCK WHEN IT'S DONE - -LCR.recipeBuilder() - .circuitMeta(1) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_antioxidants') * 100) - .fluidInputs(fluid('gasoline_oxygenates') * 100) - .fluidOutputs(fluid('midgrade_gasoline') * 1000) - .duration(20) - .EUt(120) - .buildAndRegister() - -LCR.recipeBuilder() - .circuitMeta(2) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_antioxidants') * 100) - .fluidInputs(fluid('gasoline_antiknock') * 100) - .fluidOutputs(fluid('midgrade_gasoline') * 1000) - .duration(20) - .EUt(120) - -LCR.recipeBuilder() - .circuitMeta(3) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_oxygenates') * 100) - .fluidInputs(fluid('gasoline_antiknock') * 100) - .fluidOutputs(fluid('midgrade_gasoline') * 1000) - .duration(20) - .EUt(120) - .buildAndRegister() - -LCR.recipeBuilder() - .circuitMeta(4) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_general_additives') * 100) - .fluidInputs(fluid('gasoline_antioxidants') * 100) - .fluidOutputs(fluid('midgrade_gasoline') * 1000) - .duration(20) - .EUt(120) - .buildAndRegister() - -LCR.recipeBuilder() - .circuitMeta(5) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_general_additives') * 100) - .fluidInputs(fluid('gasoline_oxygenates') * 100) - .fluidOutputs(fluid('midgrade_gasoline') * 1000) - .duration(20) - .EUt(120) - -LCR.recipeBuilder() - .circuitMeta(6) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_general_additives') * 100) - .fluidInputs(fluid('gasoline_antiknock') * 100) - .fluidOutputs(fluid('midgrade_gasoline') * 1000) - .duration(20) - .EUt(120) - .buildAndRegister() - -LCR.recipeBuilder() - .circuitMeta(7) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_general_additives') * 100) - .fluidInputs(fluid('gasoline_antioxidants') * 100) - .fluidInputs(fluid('gasoline_oxygenates') * 100) - .fluidOutputs(fluid('premium_gasoline') * 1000) - .duration(20) - .EUt(120) - .buildAndRegister() - -LCR.recipeBuilder() - .circuitMeta(8) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_general_additives') * 100) - .fluidInputs(fluid('gasoline_antioxidants') * 100) - .fluidInputs(fluid('gasoline_antiknock') * 100) - .fluidOutputs(fluid('premium_gasoline') * 1000) - .duration(20) - .EUt(120) - .buildAndRegister() - -LCR.recipeBuilder() - .circuitMeta(9) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_antioxidants') * 100) - .fluidInputs(fluid('gasoline_oxygenates') * 100) - .fluidInputs(fluid('gasoline_antiknock') * 100) - .fluidOutputs(fluid('premium_gasoline') * 1000) - .duration(20) - .EUt(120) - -LCR.recipeBuilder() - .circuitMeta(10) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_general_additives') * 100) - .fluidInputs(fluid('gasoline_oxygenates') * 100) - .fluidInputs(fluid('gasoline_antiknock') * 100) - .fluidOutputs(fluid('premium_gasoline') * 1000) - .duration(20) - .EUt(120) - .buildAndRegister() - -LCR.recipeBuilder() - .circuitMeta(11) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_general_additives') * 100) - .fluidInputs(fluid('gasoline_oxygenates') * 100) - .fluidInputs(fluid('gasoline_antiknock') * 100) - .fluidInputs(fluid('gasoline_antioxidants') * 100) - .fluidOutputs(fluid('supreme_gasoline') * 1000) - .duration(20) - .EUt(120) - .buildAndRegister() - -def OxygenateMap = [ - 'ethanol': 500, - 'methanol': 500, - 'n_butanol': 100, - 'tert_butyl_alcohol': 100, - 'isopropyl_alcohol': 200, - 'ethyl_tertbutyl_ether': 150 -] - -def AntioxidantMap = [ - 'butylated_hydroxytoluene': 300, - 'dimethyl_tert_butylphenol': 300, - 'di_tert_butylphenol': 300, - 'ethylenediamine': 300 -] - -def AntiknockMap = [ - 'toluene': 500, - 'isooctane': 300, - 'tetraethyllead': 100 -] - -def GeneralAdditiveMap = [ - 'acetone': 500, - 'diethyl_ether': 500, - 'nitromethane': 500 -] - -def AdditivesMap = [ - 'gasoline_general_additives', - 'gasoline_antioxidants', - 'gasoline_oxygenates', - 'gasoline_antiknock' -] - -def getUniquePairs(Map materialsMap) { - def pairs = [] - - materialsMap.each { material1, _ -> - materialsMap.each { material2, __ -> - if (material1 == material2) { return } - def combinationExists = pairs.any { combination -> combination.contains(material1) && combination.contains(material2) } - if (!combinationExists) { pairs << [material1, material2] } - } - } - - return pairs -} - -getUniquePairs(GeneralAdditiveMap).each { key, val -> - MIXER.recipeBuilder() - .fluidInputs(fluid(key) * GeneralAdditiveMap[key]) - .fluidInputs(fluid(val) * GeneralAdditiveMap[val]) - .fluidOutputs(fluid('gasoline_general_additives') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() -} - -getUniquePairs(OxygenateMap).each { key, val -> - MIXER.recipeBuilder() - .fluidInputs(fluid(key) * OxygenateMap[key]) - .fluidInputs(fluid(val) * OxygenateMap[val]) - .fluidOutputs(fluid('gasoline_oxygenates') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() -} - -getUniquePairs(AntioxidantMap).each { key, val -> - MIXER.recipeBuilder() - .fluidInputs(fluid(key) * AntioxidantMap[key]) - .fluidInputs(fluid(val) * AntioxidantMap[val]) - .fluidOutputs(fluid('gasoline_antioxidants') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() -} - -AntiknockMap.each { key, val -> - MIXER.recipeBuilder() - .inputs(ore('dustFerrocene')) - .fluidInputs(fluid(key) * val) - .fluidOutputs(fluid('gasoline_antiknock') * 2000) - .duration(200) - .EUt(120) - .buildAndRegister() -} - -getUniquePairs(AntiknockMap).each { key, val -> - MIXER.recipeBuilder() - .fluidInputs(fluid(key) * AntiknockMap[key]) - .fluidInputs(fluid(val) * AntiknockMap[val]) - .fluidOutputs(fluid('gasoline_antiknock') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() -} - -// Cetane-Boosted Diesel * 750 -mods.gregtech.mixer.removeByInput(480, null, [fluid('bio_diesel') * 1000, fluid('tetranitromethane') * 40]) -// Cetane-Boosted Diesel * 1000 -mods.gregtech.mixer.removeByInput(480, null, [fluid('diesel') * 1000, fluid('tetranitromethane') * 20]) - -/* MIXER.recipeBuilder() - .fluidInputs(fluid('diesel') * 1000) - .fluidInputs(fluid('tetranitromethane') * 20) - .fluidOutputs(fluid('nitro_fuel') * 1000) - .duration(20) - .EUt(120) - .buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('bio_diesel') * 1000) - .fluidInputs(fluid('tetranitromethane') * 40) - .fluidOutputs(fluid('nitro_fuel') * 750) - .duration(20) - .EUt(120) - .buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('diesel') * 1000) - .fluidInputs(fluid('two_ethylhexanol') * 10) - .fluidOutputs(fluid('nitro_fuel') * 1000) - .duration(20) - .EUt(120) - .buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('bio_diesel') * 1000) - .fluidInputs(fluid('two_ethylhexanol') * 20) - .fluidOutputs(fluid('nitro_fuel') * 750) - .duration(20) - .EUt(120) - .buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('diesel') * 1000) - .fluidInputs(fluid('di_tert_butyl_peroxide') * 10) - .fluidOutputs(fluid('nitro_fuel') * 1000) - .duration(20) - .EUt(120) - .buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('bio_diesel') * 1000) - .fluidInputs(fluid('di_tert_butyl_peroxide') * 20) - .fluidOutputs(fluid('nitro_fuel') * 750) - .duration(20) - .EUt(120) - .buildAndRegister() */ \ No newline at end of file + .fluidInputs(fluid('purified_isoprene') * 1000) + .outputs(metaitem('dustPolyisoprene') * 8) + .notConsumable(fluid('butyllithium') * 100) + .duration(200) + .EUt(120) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy b/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy index a648c6bae..6a1ea350a 100644 --- a/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy @@ -42,18 +42,457 @@ def minor_solvents = [ 'naphthalene' 'pseudocumene' 'isopropyl_alcohol' + 'ethylbenzene' ] +// Antioxidant active ingredients + + // 2,6-Di-tert-butylphenol + + CSTR.recipeBuilder() + .fluidInputs(fluid('isobutylene') * 50) + .fluidInputs(fluid('water') * 50) + .notConsumable(fluid('sulfuric_acid') * 50) + .fluidOutputs(fluid('tert_butyl_alcohol') * 50) + .duration(5) + .EUt(120) + .buildAndRegister() + + // 2,4,6-tri-tert-butylphenol (BHT) + + CSTR.recipeBuilder() + .fluidInputs(fluid('isobutylene') * 100) + .fluidInputs(fluid('cresol') * 50) + .notConsumable(fluid('sulfuric_acid') * 50) + .fluidOutputs(fluid('butylated_hydroxytoluene') * 50) + .duration(5) + .EUt(120) + .buildAndRegister() + + // 2,4-Dimethyl-6-tert-butylphenol + + CSTR.recipeBuilder() + .fluidInputs(fluid('isobutylene') * 50) + .fluidInputs(fluid('xylenol') * 50) + .notConsumable(fluid('sulfuric_acid') * 50) + .fluidOutputs(fluid('dimethyl_tert_butylphenol') * 50) + .duration(5) + .EUt(120) + .buildAndRegister() + + // 2,6-Di-tert-butylphenol + + BR.recipeBuilder() + .inputs(ore('dustAluminium')) + .fluidInputs(fluid('phenol') * 3000) + .fluidOutputs(fluid('aluminium_phenolate') * 1000) + .fluidOutputs(fluid('hydrogen') * 3000) + .duration(200) + .EUt(120) + .buildAndRegister() + + CSTR.recipeBuilder() + .fluidInputs(fluid('isobutylene') * 100) + .fluidInputs(fluid('phenol') * 50) + .notConsumable(fluid('aluminium_phenolate') * 50) + .fluidOutputs(fluid('di_tert_butylphenol') * 50) + .duration(5) + .EUt(120) + .buildAndRegister() + + // N-substituted p-Phenylenediamine + + BR.recipeBuilder() + .inputs(ore('dustParaPhenylenediamine') * 16) + .inputs(ore('dustSodiumCyanoborohydride') * 14) + .fluidInputs(fluid('hydrochloric_acid') * 2000) + .fluidInputs(fluid('acetone') * 2000) + .fluidOutputs(fluid('diisopropyl_para_phenylenediamine_solution') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + + DISTILLERY.recipeBuilder() + .fluidInputs(fluid('diisopropyl_para_phenylenediamine_solution') * 1000) + .outputs(metaitem('dustDiisopropylParaPhenylenediamine') * 36) + .fluidOutputs(fluid('wastewater') * 2000) + .duration(20) + .EUt(30) + .buildAndRegister() + +// Fuel system icing inhibitor & diglyme + +CSTR.recipeBuilder() + .circuitMeta(1) + .fluidInputs(fluid('sulfuric_acid') * 50) + .fluidInputs(fluid('diethylene_glycol') * 50) + .fluidInputs(fluid('methanol') * 100) + .fluidOutputs(fluid('diglyme') * 50) + .fluidOutputs(fluid('very_diluted_sulfuric_acid') * 150) + .duration(5) + .EUt(120) + .buildAndRegister() + +CSTR.recipeBuilder() + .circuitMeta(2) + .fluidInputs(fluid('sulfuric_acid') * 50) + .fluidInputs(fluid('diethylene_glycol') * 50) + .fluidInputs(fluid('methanol') * 50) + .fluidOutputs(fluid('methyl_carbitol') * 50) + .fluidOutputs(fluid('diluted_sulfuric_acid') * 100) + .duration(5) + .EUt(120) + .buildAndRegister() + +// Antiknock active ingredients + + // Isooctane + + CSTR.recipeBuilder() + .fluidInputs(fluid('isobutylene') * 50) + .fluidInputs(fluid('isobutane') * 50) + .notConsumable(fluid('sulfuric_acid') * 50) + .fluidOutputs(fluid('isooctane') * 50) + .duration(5) + .EUt(120) + .buildAndRegister() + + // Ferrocene + + ALLOY_SMELTER.recipeBuilder() + .inputs(ore('dustPotassium')) + .inputs(ore('dustMolecularSieve') * 4) + .outputs(metaitem('dustPotassiumMolecularSieve') * 4) + .duration(300) + .EUt(120) + .buildAndRegister() + + ALLOY_SMELTER.recipeBuilder() + .inputs(ore('dustCaesium')) + .inputs(ore('dustMolecularSieve') * 4) + .outputs(metaitem('dustCesiumMolecularSieve') * 4) + .duration(400) + .EUt(120) + .buildAndRegister() + + ALLOY_SMELTER.recipeBuilder() + .inputs(ore('dustSodium')) + .inputs(ore('dustLead')) + .outputs(metaitem('ingotSodiumLeadAlloy') * 2) + .duration(300) + .EUt(30) + .buildAndRegister() + + SIFTER.recipeBuilder() + .fluidInputs(fluid('isoprene') * 4000) + .inputs(ore('dustCesiumMolecularSieve') * 1) + .fluidOutputs(fluid('purified_isoprene') * 4000) + .outputs(metaitem('dustSaturatedCesiumMolecularSieve') * 1) + .duration(200) + .EUt(120) + .buildAndRegister() + + SIFTER.recipeBuilder() + .fluidInputs(fluid('isoprene') * 4000) + .inputs(ore('dustPotassiumMolecularSieve') * 1) + .fluidOutputs(fluid('purified_isoprene') * 4000) + .outputs(metaitem('dustSaturatedPotassiumMolecularSieve') * 1) + .duration(300) + .EUt(120) + .buildAndRegister() + + CENTRIFUGE.recipeBuilder() + .fluidInputs(fluid('benzene') * 50) + .inputs(ore('dustSaturatedPotassiumMolecularSieve') * 1) + .fluidOutputs(fluid('cyclopentadiene_solution') * 100) + .outputs(metaitem('dustPotassiumMolecularSieve') * 1) + .duration(200) + .EUt(120) + .buildAndRegister() + + CENTRIFUGE.recipeBuilder() + .fluidInputs(fluid('benzene') * 100) + .inputs(ore('dustSaturatedCesiumMolecularSieve') * 1) + .fluidOutputs(fluid('cyclopentadiene_solution') * 200) + .outputs(metaitem('dustCesiumMolecularSieve') * 1) + .duration(200) + .EUt(120) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('cyclopentadiene_solution') * 2000) + .fluidOutputs(fluid('benzene') * 1000) + .fluidOutputs(fluid('cyclopentadiene') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + + BR.recipeBuilder() + .fluidInputs(fluid('iron_pentacarbonyl') * 1000) + .fluidInputs(fluid('cyclopentadiene') * 2000) + .outputs(metaitem('dustFerrocene') * 11) + .fluidOutputs(fluid('carbon_monoxide') * 5000) + .fluidOutputs(fluid('hydrogen') * 2000) + .duration(300) + .EUt(120) + .buildAndRegister() + + // Methylcyclopentadienylmanganese tricarbonyl + + CSTR.recipeBuilder() + .fluidInputs(fluid('sodium_cyclopentadienide_solution') * 50) + .fluidInputs(fluid('chloromethane') * 50) + .fluidOutputs(fluid('methylcyclopentadiene_solution') * 100) + .fluidOutputs(fluid('hydrogen') * 1000) + .duration(5) + .EUt(120) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('methylcyclopentadiene_solution') * 2000) + .outputs(metaitem('dustSalt') * 2) + .fluidOutputs(fluid('methylcyclopentadiene') * 1000) + .fluidOutputs(fluid('tetrahydrofuran') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustManganeseIiChloride') * 3) + .fluidInputs(fluid('sodium') * 288) + .fluidInputs(fluid('methylcyclopentadiene') * 2000) + .fluidInputs(fluid('diglyme') * 1000) + .fluidOutputs(fluid('bismethylcyclopentadienylmanganese_solution') * 2000) + .duration(100) + .EUt(120) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('bismethylcyclopentadienylmanganese_solution') * 1000) + .outputs(metaitem('dustSalt') * 4) + .fluidOutputs(fluid('diglyme') * 1000) + .fluidOutputs(fluid('bismethylcyclopentadienylmanganese') * 1000) + .duration(100) + .EUt(120) + .buildAndRegister() + + BR.recipeBuilder() + .notConsumable(ore('springCupronickel')) + .fluidInputs(fluid('hot_hp_carbon_monoxide') * 3000) + .fluidInputs(fluid('bismethylcyclopentadienylmanganese') * 1000) + .fluidOutputs(fluid('methylcyclopentadienylmanganese_tricarbonyl') * 1000) + .fluidOutputs(fluid('methylcyclopentadiene') * 1000) + .duration(100) + .EUt(120) + .buildAndRegister() + + // Tetraethyl Lead + + BCR.recipeBuilder() + .fluidInputs(fluid('hydrogen_chloride') * 50) + .fluidInputs(fluid('ethylene') * 50) + .fluidOutputs(fluid('chloroethane') * 50) + .duration(5) + .EUt(120) + .buildAndRegister() + + BR.recipeBuilder() + .fluidInputs(fluid('chloroethane') * 4000) + .inputs(ore('dustSodiumLeadAlloy') * 8) + .fluidOutputs(fluid('tetraethyllead_sludge') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('tetraethyllead_sludge') * 2000) + .outputs(metaitem('dustSalt') * 8) + .fluidOutputs(fluid('lead') * 432) + .fluidOutputs(fluid('tetraethyllead') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + +// Cetane improver active ingredients + + // Di-tert-butyl peroxide + + CSTR.recipeBuilder() + .fluidInputs(fluid('isobutane') * 50) + .fluidInputs(fluid('oxygen') * 100) + .fluidOutputs(fluid('tert_butyl_hydroperoxide') * 50) + .duration(5) + .EUt(120) + .buildAndRegister() + + TBR.recipeBuilder() + .fluidInputs(fluid('tert_butyl_hydroperoxide') * 50) + .fluidInputs(fluid('tert_butyl_alcohol') * 50) + .notConsumable(metaitem('dustMolecularSieve')) + .fluidOutputs(fluid('diluted_di_tert_butyl_peroxide') * 100) + .duration(5) + .EUt(120) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('diluted_di_tert_butyl_peroxide') * 2000) + .fluidOutputs(fluid('water') * 1000) + .fluidOutputs(fluid('di_tert_butyl_peroxide') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + + // 2-ethylhexyl nitrate + + CSTR.recipeBuilder() + .fluidInputs(fluid('two_ethylhexanol') * 50) + .fluidInputs(fluid('nitration_mixture') * 100) + .fluidOutputs(fluid('diluted_two_ethylhexyl_nitrate') * 150) + .duration(5) + .EUt(120) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('diluted_two_ethylhexyl_nitrate') * 3000) + .fluidOutputs(fluid('two_ethylhexyl_nitrate') * 1000) + .fluidOutputs(fluid('water') * 1000) + .fluidOutputs(fluid('sulfuric_acid') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + +// Metal deactivator (N,N’-Disalicylidene-1,2-propanediamine, SALPN) + +CSTR.recipeBuilder() + .fluidInputs(fluid('propylene_oxide') * 50) + .fluidInputs(fluid('ammonia') * 50) + .fluidOutputs(fluid('propanolamine_mix') * 50) + .duration(5) + .EUt(120) + .buildAndRegister() + +FBR.recipeBuilder() + .notConsumable(metaitem('catalystBedAlumina')) + .fluidInputs(fluid('propanolamine_mix') * 50) + .fluidInputs(fluid('ammonia') * 50) + .fluidOutputs(fluid('one_two_diaminopropane_solution') * 100) + .duration(5) + .EUt(120) + .buildAndRegister(); + +BR.recipeBuilder() + .inputs(ore('dustPotassiumHydroxide') * 9) + .fluidInputs(fluid('phenol') * 1000) + .fluidInputs(fluid('chloroform') * 1000) + .fluidOutputs(fluid('salicylaldehyde_solution') * 3000) + .duration(200) + .EUt(120) + .buildAndRegister() + +DISTILLATION_TOWER.recipeBuilder() + .fluidInputs(fluid('salicylaldehyde_solution') * 3000) + .outputs(metaitem('dustRockSalt') * 6) + .fluidOutputs(fluid('salicylaldehyde') * 1000) + .fluidOutputs(fluid('water') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('one_two_diaminopropane_solution') * 2000) + .inputs(ore('dustSodiumCyanoborohydride') * 14) + .fluidInputs(fluid('hydrochloric_acid') * 2000) + .fluidInputs(fluid('salicylaldehyde') * 2000) + .fluidOutputs(fluid('salicylidene_one_two_propanediamine_solution') * 3000) + .duration(200) + .EUt(120) + .buildAndRegister() + +DISTILLERY.recipeBuilder() + .fluidInputs(fluid('salicylidene_one_two_propanediamine_solution') * 3000) + .outputs(metaitem('dustSalicylideneOneTwoPropanediamine')) + .fluidOutputs(fluid('wastewater') * 3000) + .duration(20) + .EUt(30) + .buildAndRegister() + +def OxygenateMap = [ + 'ethanol': 500, + 'methanol': 500, + 'n_butanol': 100, + 'tert_butyl_alcohol': 100, + 'isopropyl_alcohol': 200, + 'ethyl_tertbutyl_ether': 150 +] + +def AntioxidantMap = [ + 'butylated_hydroxytoluene': 200, + 'dimethyl_tert_butylphenol': 200, + 'di_tert_butylphenol': 200 +] + +def AntiknockMap = [ + 'toluene': 500, + 'isooctane': 300, + 'tetraethyllead': 100 +] + +def AdditivesMap = [ + 'gasoline_general_additives', + 'gasoline_antioxidants', + 'gasoline_oxygenates', + 'gasoline_antiknock' +] + +def getUniquePairs(Map materialsMap) { + def pairs = [] + + materialsMap.each { material1, _ -> + materialsMap.each { material2, __ -> + if (material1 == material2) { return } + def combinationExists = pairs.any { combination -> combination.contains(material1) && combination.contains(material2) } + if (!combinationExists) { pairs << [material1, material2] } + } + } + + return pairs +} + +getUniquePairs(OxygenateMap).each { key, val -> + MIXER.recipeBuilder() + .fluidInputs(fluid(key) * OxygenateMap[key]) + .fluidInputs(fluid(val) * OxygenateMap[val]) + .fluidOutputs(fluid('gasoline_oxygenates') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() +} + +getUniquePairs(AntiknockMap).each { key, val -> + MIXER.recipeBuilder() + .fluidInputs(fluid(key) * AntiknockMap[key]) + .fluidInputs(fluid(val) * AntiknockMap[val]) + .fluidOutputs(fluid('gasoline_antiknock') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() +} + +// Cetane-Boosted Diesel * 750 +mods.gregtech.mixer.removeByInput(480, null, [fluid('bio_diesel') * 1000, fluid('tetranitromethane') * 40]) +// Cetane-Boosted Diesel * 1000 +mods.gregtech.mixer.removeByInput(480, null, [fluid('diesel') * 1000, fluid('tetranitromethane') * 20]) + for (major_solvent in major_solvents) { for (minor_solvent in minor_solvents) { MIXER.recipeBuilder() - .inputs(metaitem('dustSodiumDodecylSulfate')) + .inputs(metaitem('dustSmallSodiumDodecylSulfate')) .fluidInputs(fluid('two_butoxyethanol') * 100) .fluidInputs(fluid(major_solvent) * 1500) .fluidInputs(fluid(minor_solvent) * 400) .fluidOutputs(fluid('lubricity_additive') * 2000) - .duration(100) - .EUt(Globals.voltAmps[1]) + .duration(200) + .EUt(Globals.voltAmps[2]) .buildAndRegister() MIXER.recipeBuilder() @@ -61,17 +500,89 @@ for (major_solvent in major_solvents) { .fluidInputs(fluid(major_solvent) * 1500) .fluidInputs(fluid(minor_solvent) * 500) .fluidOutputs(fluid('antistatic_additive') * 2000) - .duration(100) - .EUt(Globals.voltAmps[1]) + .duration(200) + .EUt(Globals.voltAmps[2]) .buildAndRegister() MIXER.recipeBuilder() - .fluidInputs(fluid('polydimethylsiloxane') * 100) + .inputs(ore('dustSmallDinonylnaphthaleneSulfonicAcid')) .fluidInputs(fluid(major_solvent) * 1500) - .fluidInputs(fluid(minor_solvent) * 400) - .fluidOutputs(fluid('lubricity_additive') * 2000) - .fluidOutputs(fluid('antifoaming_additive') * 2000) + .fluidInputs(fluid(minor_solvent) * 500) + .fluidOutputs(fluid('antistatic_additive') * 2000) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + MIXER.recipeBuilder() + .inputs(ore('dustSmallSalicylideneOneTwoPropanediamine')) + .fluidInputs(fluid(major_solvent) * 1500) + .fluidInputs(fluid(minor_solvent) * 500) + .fluidOutputs(fluid('metal_deactivator') * 2000) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + getUniquePairs(AntioxidantMap).each { key, val -> + MIXER.recipeBuilder() + .fluidInputs(fluid(key) * AntioxidantMap[key]) + .fluidInputs(fluid(val) * AntioxidantMap[val]) + .fluidInputs(fluid(major_solvent) * 1200) + .fluidInputs(fluid(minor_solvent) * 400) + .fluidOutputs(fluid('antioxidants') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + } + + for (antioxidant in AntioxidantMap) { + MIXER.recipeBuilder() + .inputs(ore('dustDiisopropylParaPhenyleneDiamine') * 4) + .fluidInputs(fluid(antioxidant) * 200) + .fluidInputs(fluid(major_solvent) * 1400) + .fluidInputs(fluid(minor_solvent) * 400) + .fluidOutputs(fluid('gasoline_antiknock') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + } } } +// Gasoline final blending + +LCR.recipeBuilder() + .circuitMeta(1) + .fluidInputs(fluid('gasoline') * 1000) + .fluidInputs(fluid('gasoline_antioxidants') * 100) + .fluidInputs(fluid('gasoline_oxygenates') * 100) + .fluidOutputs(fluid('midgrade_gasoline') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +LCR.recipeBuilder() + .circuitMeta(2) + .fluidInputs(fluid('gasoline') * 1000) + .fluidInputs(fluid('gasoline_general_additives') * 100) + .fluidInputs(fluid('gasoline_antioxidants') * 100) + .fluidInputs(fluid('gasoline_oxygenates') * 100) + .fluidOutputs(fluid('premium_gasoline') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +LCR.recipeBuilder() + .circuitMeta(3) + .fluidInputs(fluid('gasoline') * 1000) + .fluidInputs(fluid('gasoline_general_additives') * 100) + .fluidInputs(fluid('gasoline_oxygenates') * 100) + .fluidInputs(fluid('gasoline_antiknock') * 100) + .fluidInputs(fluid('gasoline_antioxidants') * 100) + .fluidOutputs(fluid('supreme_gasoline') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +// Diesel final blending +// Kerosene final blending \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy b/groovy/postInit/chemistry/organic_chemistry/fuels/Surfactants.groovy similarity index 92% rename from groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy rename to groovy/postInit/chemistry/organic_chemistry/fuels/Surfactants.groovy index 4119f356b..725b3fbae 100644 --- a/groovy/postInit/chemistry/organic_chemistry/Surfactants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/fuels/Surfactants.groovy @@ -23,7 +23,7 @@ CSTR.recipeBuilder() .fluidInputs(fluid('hydrogen_chloride') * 50) .fluidOutputs(fluid('chlorosulfuric_acid') * 50) .duration(5) - .EUt(Globals.voltAmps[1]) + .EUt(Globals.voltAmps[2]) .buildAndRegister() BR.recipeBuilder() @@ -33,7 +33,7 @@ BR.recipeBuilder() .outputs(metaitem('dustDodecanesulfonicAcid')) .fluidOutputs(fluid('hydrogen_chloride') * 1000) .duration(100) - .EUt(Globals.voltAmps[1]) + .EUt(Globals.voltAmps[2]) .buildAndRegister() BR.recipeBuilder() @@ -41,7 +41,7 @@ BR.recipeBuilder() .fluidInputs(fluid('sodium_hydroxide_solution') * 1000) .fluidOutputs(fluid('sodium_dodecyl_sulfate_solution') * 1000) .duration(100) - .EUt(Globals.voltAmps[1]) + .EUt(Globals.voltAmps[2]) .buildAndRegister() DISTILLERY.recipeBuilder() @@ -49,7 +49,7 @@ DISTILLERY.recipeBuilder() .fluidOutputs(fluid('sodium_dodecyl_sulfate') * 144) .fluidOutputs(fluid('water') * 2000) .duration(100) - .EUt(Globals.voltAmps[1]) + .EUt(Globals.voltAmps[2]) .buildAndRegister() BR.recipeBuilder() @@ -58,7 +58,7 @@ BR.recipeBuilder() .fluidInputs(fluid('n_butanol') * 1000) .fluidOutputs(fluid('two_butoxyethanol') * 1000) .duration(100) - .EUt(Globals.voltAmps[1]) + .EUt(Globals.voltAmps[2]) .buildAndRegister() // Antistatic surfactant (dinonylnaphthalene sulfonate) @@ -69,7 +69,7 @@ BR.recipeBuilder() .notConsumable(fluid('hydrofluoric_acid') * 100) .outputs(metaitem('dustDinonylnaphthalene')) .duration(100) - .EUt(Globals.voltAmps[1]) + .EUt(Globals.voltAmps[2]) .buildAndRegister() BR.recipeBuilder() @@ -78,5 +78,5 @@ BR.recipeBuilder() .outputs(metaitem('dustDinonylnaphthaleneSulfonicAcid')) .fluidOutputs(fluid('sulfuric_acid') * 10000) .duration(5) - .EUt(Globals.voltAmps[1]) + .EUt(Globals.voltAmps[2]) .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/electronics/SMDComponents.groovy b/groovy/postInit/electronics/SMDComponents.groovy index 2784b6196..6e91056b4 100644 --- a/groovy/postInit/electronics/SMDComponents.groovy +++ b/groovy/postInit/electronics/SMDComponents.groovy @@ -638,22 +638,6 @@ CUTTER.recipeBuilder() .EUt(240) .buildAndRegister() -BR.recipeBuilder() - .inputs(ore('dustPyrolusite') * 3) - .fluidInputs(fluid('nitrogen_dioxide') * 2000) - .outputs(metaitem('dustManganeseIiNitrate') * 9) - .duration(100) - .EUt(120) - .buildAndRegister() - -ROASTER.recipeBuilder() - .outputs(metaitem('dustPurifiedManganeseDioxide') * 3) - .fluidOutputs(fluid('nitrogen_dioxide') * 2000) - .inputs(ore('dustManganeseIiNitrate') * 9) - .duration(100) - .EUt(120) - .buildAndRegister() - ASSEMBLER.recipeBuilder() .inputs(ore('foilAluminium') * 2) .inputs(item('minecraft:paper')) @@ -664,7 +648,7 @@ ASSEMBLER.recipeBuilder() CANNER.recipeBuilder() .inputs(metaitem('raw_capacitor_roll') * 8) - .inputs(ore('dustPurifiedManganeseDioxide') * 1) + .inputs(ore('dustManganeseDioxide') * 1) .outputs(metaitem('aluminium_electrolytic_capacitor') * 8) .duration(400) .EUt(240) diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index 4ed7724d5..5f233f9f3 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -1513,9 +1513,8 @@ susy.material.trimethylaluminium=Trimethylaluminium susy.material.methylaluminoxane=Methylaluminoxane susy.material.zirconocene_dichloride=Zirconocene Dichloride susy.material.tetrahydrofuran=Tetrahydrofuran -susy.material.sodium_cyclopentadienide=Sodium Cyclopentadienide +susy.material.sodium_cyclopentadienide_solution=Sodium Cyclopentadienide Solution susy.material.kaminsky_catalyst=Kaminsky Catalyst -susy.material.sodium_cyclopentadienide=Sodium Cyclopentadienide susy.material.zirconium_tetrachloride_tetrahydrofuran_complex=Zirconium Tetrachloride Tetrahydrofuran Complex susy.material.potassium_butyl_xanthate=Potassium Butyl Xanthate susy.material.potassium_butyl_xanthate_solution=Potassium Butyl Xanthate Solution @@ -1780,6 +1779,25 @@ susy.material.dinonylnaphthalene_sulfonic_acid=Dinonylnaphthalene Sulfonic Acid susy.material.antistatic_additive=Antistatic Additive susy.material.antifoaming_additive=Antifoaming Additive susy.material.pseudocumene=Pseudocumene +susy.material.manganese_ii_chloride=Manganese II Chloride +susy.material.manganese_ii_chloride_solution=Manganese II Chloride Solution +susy.material.diluted_manganese_ii_chloride_solution=Diluted Manganese II Chloride Solution +susy.material.methylcyclopentadiene=Methylcyclopentadiene +susy.material.diglyme=Diglyme +susy.material.bismethylcyclopentadienylmanganese=Bismethylcyclopentadienylmanganese +susy.material.methylcyclopentadienylmanganese_tricarbonyl=Methylcyclopentadienylmanganese Tricarbonyl +susy.material.methyl_carbitol=Methyl Carbitol +susy.material.methylcyclopentadiene_solution=Methylcyclopentadiene Solution +susy.material.bismethylcyclopentadienylmanganese_solution=Bismethylcyclopentadienylmanganese Solution +susy.material.diisopropyl_para_phenylenediamine=N,N'-Diisopropyl-p-Phenylenediamine +susy.material.diisopropyl_para_phenylenediamine_solution=N,N'-Diisopropyl-p-Phenylenediamine Solution +susy.material.propanolamine_mix=Propanolamine Mix +susy.material.metal_deactivator=Metal Deactivator +susy.material.one_two_diaminopropane_solution=1,2-Diaminopropane Solution +susy.material.salicylaldehyde_solution=Salicylaldehyde Solution +susy.material.salicylaldehyde=Salicylaldehyde +susy.material.salicylidene_one_two_propanediamine=N,N'-bis(salicylidene)-1,2-propanediamine +susy.material.salicylidene_one_two_propanediamine_solution=SalicylideneOneTwoPropanediamineSolution # Isotopes diff --git a/resources/langfiles/lang/zh_cn.lang b/resources/langfiles/lang/zh_cn.lang index 6f7c9f6f6..102b327a0 100644 --- a/resources/langfiles/lang/zh_cn.lang +++ b/resources/langfiles/lang/zh_cn.lang @@ -1503,9 +1503,8 @@ susy.material.trimethylaluminium=三甲基铝 susy.material.methylaluminoxane=甲基铝氧烷 susy.material.zirconocene_dichloride=二环戊二烯基二氯化锆 susy.material.tetrahydrofuran=四氢呋喃 -susy.material.sodium_cyclopentadienide=环戊二烯基钠 +susy.material.sodium_cyclopentadienide_solution=环戊二烯基钠溶液 susy.material.kaminsky_catalyst=卡明斯基催化剂 -susy.material.sodium_cyclopentadienide=环戊二烯基钠 susy.material.zirconium_tetrachloride_tetrahydrofuran_complex=四氯化锆四氢呋喃络合物 susy.material.potassium_butyl_xanthate=丁基黄原酸钠 susy.material.potassium_butyl_xanthate_solution=丁基黄原酸钠溶液 From 06e4a00e3127a1343fcd462e95572e6f364a7683 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Tue, 21 Nov 2023 15:47:46 -0600 Subject: [PATCH 09/19] add ignition improver --- groovy/material/SuSyMaterials.groovy | 1 + .../UnknownCompositionMaterials.groovy | 5 + .../chemistry/ChemistryOverhaul.groovy | 27 ++++++ .../organic_chemistry/fuels/Additives.groovy | 95 +++++++------------ resources/langfiles/lang/en_us.lang | 3 +- 5 files changed, 70 insertions(+), 61 deletions(-) diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 3f949c1c9..1569ff867 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -487,6 +487,7 @@ class SuSyMaterials { public static Material PropanolamineMix; public static Material MetalDeactivator; public static Material SalicylideneOneTwoPropanediamineSolution; + public static Material IgnitionImprover; // Petrochem Materials diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index bc2b59745..c8814f18d 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1871,5 +1871,10 @@ public class UnknownCompositionMaterials { .fluid() .color(0x9b34a8) .build(); + + IgnitionImprover = new Material.Builder(4358, SuSyUtility.susyId('ignition_improver')) + .fluid() + .color(0x8ede6f) + .build(); } } diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 9d90ab3bd..9b90a2ff8 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -4604,4 +4604,31 @@ DT.recipeBuilder() .fluidOutputs(fluid('nitromethane') * 1000) .duration(200) .EUt(120) +.buildAndRegister() + +// Di-tert-butyl peroxide + +CSTR.recipeBuilder() +.fluidInputs(fluid('isobutane') * 50) +.fluidInputs(fluid('oxygen') * 100) +.fluidOutputs(fluid('tert_butyl_hydroperoxide') * 50) +.duration(5) +.EUt(120) +.buildAndRegister() + +TBR.recipeBuilder() +.fluidInputs(fluid('tert_butyl_hydroperoxide') * 50) +.fluidInputs(fluid('tert_butyl_alcohol') * 50) +.notConsumable(metaitem('dustMolecularSieve')) +.fluidOutputs(fluid('diluted_di_tert_butyl_peroxide') * 100) +.duration(5) +.EUt(120) +.buildAndRegister() + +DT.recipeBuilder() +.fluidInputs(fluid('diluted_di_tert_butyl_peroxide') * 2000) +.fluidOutputs(fluid('water') * 1000) +.fluidOutputs(fluid('di_tert_butyl_peroxide') * 1000) +.duration(200) +.EUt(120) .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy b/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy index 6a1ea350a..dad90d09b 100644 --- a/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy @@ -313,53 +313,24 @@ CSTR.recipeBuilder() .EUt(120) .buildAndRegister() -// Cetane improver active ingredients +// Cetane improver (2-ethylhexyl nitrate) - // Di-tert-butyl peroxide - - CSTR.recipeBuilder() - .fluidInputs(fluid('isobutane') * 50) - .fluidInputs(fluid('oxygen') * 100) - .fluidOutputs(fluid('tert_butyl_hydroperoxide') * 50) - .duration(5) - .EUt(120) - .buildAndRegister() - - TBR.recipeBuilder() - .fluidInputs(fluid('tert_butyl_hydroperoxide') * 50) - .fluidInputs(fluid('tert_butyl_alcohol') * 50) - .notConsumable(metaitem('dustMolecularSieve')) - .fluidOutputs(fluid('diluted_di_tert_butyl_peroxide') * 100) - .duration(5) - .EUt(120) - .buildAndRegister() - - DT.recipeBuilder() - .fluidInputs(fluid('diluted_di_tert_butyl_peroxide') * 2000) - .fluidOutputs(fluid('water') * 1000) - .fluidOutputs(fluid('di_tert_butyl_peroxide') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() - - // 2-ethylhexyl nitrate - - CSTR.recipeBuilder() - .fluidInputs(fluid('two_ethylhexanol') * 50) - .fluidInputs(fluid('nitration_mixture') * 100) - .fluidOutputs(fluid('diluted_two_ethylhexyl_nitrate') * 150) - .duration(5) - .EUt(120) - .buildAndRegister() +CSTR.recipeBuilder() + .fluidInputs(fluid('two_ethylhexanol') * 50) + .fluidInputs(fluid('nitration_mixture') * 100) + .fluidOutputs(fluid('diluted_two_ethylhexyl_nitrate') * 150) + .duration(5) + .EUt(120) + .buildAndRegister() - DT.recipeBuilder() - .fluidInputs(fluid('diluted_two_ethylhexyl_nitrate') * 3000) - .fluidOutputs(fluid('two_ethylhexyl_nitrate') * 1000) - .fluidOutputs(fluid('water') * 1000) - .fluidOutputs(fluid('sulfuric_acid') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() +DT.recipeBuilder() + .fluidInputs(fluid('diluted_two_ethylhexyl_nitrate') * 3000) + .fluidOutputs(fluid('two_ethylhexyl_nitrate') * 1000) + .fluidOutputs(fluid('water') * 1000) + .fluidOutputs(fluid('sulfuric_acid') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() // Metal deactivator (N,N’-Disalicylidene-1,2-propanediamine, SALPN) @@ -417,12 +388,14 @@ DISTILLERY.recipeBuilder() .buildAndRegister() def OxygenateMap = [ - 'ethanol': 500, - 'methanol': 500, - 'n_butanol': 100, - 'tert_butyl_alcohol': 100, - 'isopropyl_alcohol': 200, - 'ethyl_tertbutyl_ether': 150 + 'methanol': 125, + 'ethanol': 125, + 'n_propanol': 125, + 'isopropyl_alcohol': 125, + 'n_butanol': 125, + 'isobutyl_alcohol': 125, + 'tert_butyl_alcohol': 125, + 'ethyl_tertbutyl_ether': 125 ] def AntioxidantMap = [ @@ -437,13 +410,6 @@ def AntiknockMap = [ 'tetraethyllead': 100 ] -def AdditivesMap = [ - 'gasoline_general_additives', - 'gasoline_antioxidants', - 'gasoline_oxygenates', - 'gasoline_antiknock' -] - def getUniquePairs(Map materialsMap) { def pairs = [] @@ -487,9 +453,9 @@ for (major_solvent in major_solvents) { for (minor_solvent in minor_solvents) { MIXER.recipeBuilder() .inputs(metaitem('dustSmallSodiumDodecylSulfate')) - .fluidInputs(fluid('two_butoxyethanol') * 100) + .fluidInputs(fluid('two_butoxyethanol') * 250) .fluidInputs(fluid(major_solvent) * 1500) - .fluidInputs(fluid(minor_solvent) * 400) + .fluidInputs(fluid(minor_solvent) * 250) .fluidOutputs(fluid('lubricity_additive') * 2000) .duration(200) .EUt(Globals.voltAmps[2]) @@ -522,6 +488,15 @@ for (major_solvent in major_solvents) { .EUt(Globals.voltAmps[2]) .buildAndRegister() + MIXER.recipeBuilder() + .fluidInputs(fluid('two_ethylhexyl_nitrate') * 250) + .fluidInputs(fluid(major_solvent) * 1500) + .fluidInputs(fluid(minor_solvent) * 250) + .fluidOutputs(fluid('ignition_improver') * 2000) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + getUniquePairs(AntioxidantMap).each { key, val -> MIXER.recipeBuilder() .fluidInputs(fluid(key) * AntioxidantMap[key]) diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index 5f233f9f3..f9b199bc8 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -1797,7 +1797,8 @@ susy.material.one_two_diaminopropane_solution=1,2-Diaminopropane Solution susy.material.salicylaldehyde_solution=Salicylaldehyde Solution susy.material.salicylaldehyde=Salicylaldehyde susy.material.salicylidene_one_two_propanediamine=N,N'-bis(salicylidene)-1,2-propanediamine -susy.material.salicylidene_one_two_propanediamine_solution=SalicylideneOneTwoPropanediamineSolution +susy.material.salicylidene_one_two_propanediamine_solution=N,N'-bis(salicylidene)-1,2-propanediamine Solution +susy.material.ignition_improver=Ignition Improver # Isotopes From db4676ebdad136b949505607472ec77217cb8e31 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Wed, 22 Nov 2023 00:33:18 -0600 Subject: [PATCH 10/19] corrosion inhibitor & cold flow improver --- .../material/OrganicChemistryMaterials.groovy | 27 +++- groovy/material/SuSyMaterials.groovy | 13 +- groovy/material/ThirdDegreeMaterials.groovy | 12 +- .../UnknownCompositionMaterials.groovy | 15 +- .../chemistry/ChemistryOverhaul.groovy | 27 ---- .../organic_chemistry/fuels/Additives.groovy | 139 +++++++++++++++--- .../polymers/PolyvinylChain.groovy | 14 +- resources/langfiles/lang/en_us.lang | 13 +- 8 files changed, 185 insertions(+), 75 deletions(-) diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index f0c24dae0..52e5e755c 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -1955,12 +1955,37 @@ public class OrganicChemistryMaterials { .color(0x571f80) .build(); - PolyethyleneVinylAcetate = new Material.Builder(15311, SuSyUtility.susyId('polyvinyl_ethylene_acetate')) + EthyleneVinylAcetate = new Material.Builder(15311, SuSyUtility.susyId('ethylene_vinyl_acetate')) .polymer() .components(Ethylene, 1, VinylAcetate, 1) .color(0x686ad4) .fluidPipeProperties(363, 100, true) .iconSet(DULL) .build(); + + EthyleneIsobutyleneVinylAcetate = new Material.Builder(15312, SuSyUtility.susyId('ethylene_isobutylene_vinyl_acetate')) + .polymer() + .components(Ethylene, 1, Isobutylene, 1, VinylAcetate, 1) + .color(0x8768d4) + .iconSet(DULL) + .build(); + + Dihexadecylamine = new Material.Builder(15313, SuSyUtility.susyId('dihexadecylamine')) + .fluid() + .components(Carbon, 32, Hydrogen, 67, Nitrogen, 1) + .color(0x5f6e0e) + .build(); + + DihexadecylaminePhthalateAmide = new Material.Builder(15314, SuSyUtility.susyId('dihexadecylamine_phthalate_amide')) + .dust() + .components(Carbon, 72, Hydrogen, 138, Nitrogen, 2, Oxygen, 3) + .color(0x3e6e0e) + .build(); + + MethylTertButylEther = new Material.Builder(15315, SuSyUtility.susyId('methyl_tert_butyl_ether')) + .fluid() + .components(Carbon, 5, Hydrogen, 12, Oxygen, 1) + .color(0xae21b0) + .build(); } } diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index d22a6f65a..f425072cb 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -486,8 +486,9 @@ class SuSyMaterials { public static Material DiisopropylParaPhenylenediamineSolution; public static Material PropanolamineMix; public static Material MetalDeactivator; - public static Material SalicylideneOneTwoPropanediamineSolution; public static Material IgnitionImprover; + public static Material ColdFlowImprover; + public static Material CorrosionInhibitor; // Petrochem Materials @@ -1423,7 +1424,8 @@ class SuSyMaterials { public static Material CrudeDimethylTerephthalate; public static Material WetTerephthalicAcid; public static Material WetIsophthalicAcid; - public static Material PolyethyleneVinylAcetate; + public static Material EthyleneVinylAcetate; + public static Material EthyleneIsobutyleneVinylAcetate; public static Material ChlorosulfuricAcid; public static Material DodecanesulfonicAcid; public static Material SodiumDodecylSulfate; @@ -1439,6 +1441,9 @@ class SuSyMaterials { public static Material OneTwoDiaminopropaneSolution; public static Material Salicylaldehyde; public static Material SalicylideneOneTwoPropanediamine; + public static Material Dihexadecylamine; + public static Material DihexadecylaminePhthalateAmide; + public static Material MethylTertButylEther; // Third Degree Materials @@ -1513,12 +1518,12 @@ class SuSyMaterials { public static Material CrudeDimethylTerephthalateSolution; public static Material TerephthalateMotherLiquor; public static Material MethylParaToluateMixture; - public static Material PolyethyleneVinylAcetateMixture; + public static Material EthyleneVinylAcetateMixture; + public static Material EthyleneIsobutyleneVinylAcetateMixture; public static Material SodiumDodecylSulfateSolution; public static Material SodiumCyclopentadienide; public static Material MethylcyclopentadieneSolution; public static Material BismethylcyclopentadienylmanganeseSolution; - public static Material SalicylaldehydeSolution; // Thermodynamics/Greenhouse Materials diff --git a/groovy/material/ThirdDegreeMaterials.groovy b/groovy/material/ThirdDegreeMaterials.groovy index 9dd335fd7..c08a20ef9 100644 --- a/groovy/material/ThirdDegreeMaterials.groovy +++ b/groovy/material/ThirdDegreeMaterials.groovy @@ -476,15 +476,17 @@ public class ThirdDegreeMaterials { .colorAverage() .build(); - SalicylaldehydeSolution = new Material.Builder(24074, SuSyUtility.susyId('salicylaldehyde_solution')) + //FREE ID: 24074 + + EthyleneVinylAcetateMixture = new Material.Builder(24075, SuSyUtility.susyId('ethylene_vinyl_acetate_mixture')) .fluid() - .components(Salicylaldehyde, 1, RockSalt, 3, Water, 2) + .components(EthyleneVinylAcetate, 1, Methanol, 1) .colorAverage() .build(); - - PolyethyleneVinylAcetateMixture = new Material.Builder(24070, SuSyUtility.susyId('polyethylene_vinyl_acetate_mixture')) + + EthyleneIsobutyleneVinylAcetateMixture = new Material.Builder(24076, SuSyUtility.susyId('ethylene_isobutylene_vinyl_acetate_mixture')) .fluid() - .components(PolyethyleneVinylAcetate, 1, Methanol, 1) + .components(EthyleneIsobutyleneVinylAcetate, 1, Methanol, 1) .colorAverage() .build(); } diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index c8814f18d..6306fddcc 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1862,10 +1862,7 @@ public class UnknownCompositionMaterials { .color(0x4cb522) .build(); - SalicylideneOneTwoPropanediamineSolution = new Material.Builder(4356, SuSyUtility.susyId('salicylidene_one_two_propanediamine_solution')) - .fluid() - .color(0x3e1f80) - .build(); + //FREE ID: 4356 MetalDeactivator = new Material.Builder(4357, SuSyUtility.susyId('metal_deactivator')) .fluid() @@ -1876,5 +1873,15 @@ public class UnknownCompositionMaterials { .fluid() .color(0x8ede6f) .build(); + + ColdFlowImprover = new Material.BUilder(4359, SuSyUtility.susyId('cold_flow_improver')) + .fluid() + .color(0x1c32a3) + .build(); + + CorrosionInhibitor = new Material.Builder(4360, SuSyUtility.susyId('corrosion_inhibitor')) + .fluid() + .color(0x8a633a) + .build(); } } diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 73334e03c..b22a5983b 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -1118,33 +1118,6 @@ BR.recipeBuilder() .EUt(480) .buildAndRegister() -// Ethyl-tert-butyl ether - -FBR.recipeBuilder() -.fluidInputs(fluid('butane') * 50) -.notConsumable(ore('dustAluminiumChloride')) -.fluidOutputs(fluid('isobutane') * 50) -.duration(5) -.EUt(30) -.buildAndRegister() - -FBR.recipeBuilder() -.fluidInputs(fluid('isobutane') * 50) -.notConsumable(ore('dustChromiumTrioxide')) -.fluidOutputs(fluid('isobutylene') * 50) -.duration(5) -.EUt(30) -.buildAndRegister() - - -CSTR.recipeBuilder() -.fluidInputs(fluid('methanol') * 50) -.fluidInputs(fluid('isobutylene') * 50) -.fluidOutputs(fluid('ethyl_tertbutyl_ether') * 50) -.duration(5) -.EUt(30) -.buildAndRegister() - // Cyclohexane TBR.recipeBuilder() diff --git a/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy b/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy index dad90d09b..376151684 100644 --- a/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy @@ -45,6 +45,34 @@ def minor_solvents = [ 'ethylbenzene' ] +// Oxygenates + +// Methyl-tert-butyl ether + + FBR.recipeBuilder() + .fluidInputs(fluid('butane') * 50) + .notConsumable(ore('dustAluminiumChloride')) + .fluidOutputs(fluid('isobutane') * 50) + .duration(5) + .EUt(30) + .buildAndRegister() + + FBR.recipeBuilder() + .fluidInputs(fluid('isobutane') * 50) + .notConsumable(ore('dustChromiumTrioxide')) + .fluidOutputs(fluid('isobutylene') * 50) + .duration(5) + .EUt(30) + .buildAndRegister() + + CSTR.recipeBuilder() + .fluidInputs(fluid('methanol') * 50) + .fluidInputs(fluid('isobutylene') * 50) + .fluidOutputs(fluid('methyl_tert_butyl_ether') * 50) + .duration(5) + .EUt(30) + .buildAndRegister() + // Antioxidant active ingredients // 2,6-Di-tert-butylphenol @@ -355,16 +383,9 @@ BR.recipeBuilder() .inputs(ore('dustPotassiumHydroxide') * 9) .fluidInputs(fluid('phenol') * 1000) .fluidInputs(fluid('chloroform') * 1000) - .fluidOutputs(fluid('salicylaldehyde_solution') * 3000) - .duration(200) - .EUt(120) - .buildAndRegister() - -DISTILLATION_TOWER.recipeBuilder() - .fluidInputs(fluid('salicylaldehyde_solution') * 3000) - .outputs(metaitem('dustRockSalt') * 6) + .fluidInputs(fluid('water') * 1000) .fluidOutputs(fluid('salicylaldehyde') * 1000) - .fluidOutputs(fluid('water') * 2000) + .fluidOutputs(fluid('rock_salt_solution') * 3000) .duration(200) .EUt(120) .buildAndRegister() @@ -374,18 +395,73 @@ BR.recipeBuilder() .inputs(ore('dustSodiumCyanoborohydride') * 14) .fluidInputs(fluid('hydrochloric_acid') * 2000) .fluidInputs(fluid('salicylaldehyde') * 2000) - .fluidOutputs(fluid('salicylidene_one_two_propanediamine_solution') * 3000) + .outputs(metaitem('dustSalicylideneOneTwoPropanediamine')) + .fluidOutputs(fluid('wastewater') * 3000) .duration(200) .EUt(120) .buildAndRegister() -DISTILLERY.recipeBuilder() - .fluidInputs(fluid('salicylidene_one_two_propanediamine_solution') * 3000) - .outputs(metaitem('dustSalicylideneOneTwoPropanediamine')) - .fluidOutputs(fluid('wastewater') * 3000) - .duration(20) - .EUt(30) - .buildAndRegister() +// Cold flow improvers + + // EVA-isobutylene terpolymer for cold flow additives + + POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('ethylene') * 1000) + .fluidInputs(fluid('isobutylene') * 1000) + .fluidInputs(fluid('vinyl_acetate_solution') * 1000) + .inputs(ore('dustTinyPotassiumPersulfate')) + .fluidOutputs(fluid('ethylene_isobutylene_vinyl_acetate_mixture') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + + PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('ethylene_isobutylene_vinyl_acetate_mixture') * 2000) + .outputs(metaitem('dustEthyleneIsobutyleneVinylAcetate')) + .fluidOutputs(fluid('methanol') * 1000) + .duration(50) + .buildAndRegister() + + // Wax antisetlling agent (N,N-dihexadecyl phthalic acid amide) + + FBR.recipeBuilder() + .notConsumable(metaitem('catalystBedAlumina')) + .fluidInputs(fluid('hexadecanol') * 100) + .fluidInputs(fluid('ammonia') * 50) + .fluidOutputs(fluid('dihexadecylamine') * 50) + .fluidOutputs(fluid('water') * 100) + .duration(5) + .EUt(120) + .buildAndRegister(); + + BR.recipeBuilder() + .inputs(ore("dustPhthalicAnhydride") * 13) + .fluidInputs(fluid('dihexadecylamine') * 2000) + .notConsumable(fluid('sulfuric_acid') * 50) + .outputs(metaitem('dustDihexadecylaminePhthalateAmide')) + .duration(200) + .EUt(120) + .buildAndRegister() + +// Corrosion inhibitors + + REACTION_FURNACE.recipeBuilder() + .notConsumable(ore('dustAluminiumSilicate')) + .notConsumable(fluid('argon') * 2000) + .fluidInputs(fluid('linoleic_acid') * 2000) + .fluidOutputs(fluid('corrosion_inhibitor') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + + REACTION_FURNACE.recipeBuilder() + .notConsumable(ore('dustAluminiumSilicate')) + .notConsumable(fluid('argon') * 2000) + .fluidInputs(fluid('oleic_acid') * 2000) + .fluidOutputs(fluid('corrosion_inhibitor') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() def OxygenateMap = [ 'methanol': 125, @@ -395,7 +471,7 @@ def OxygenateMap = [ 'n_butanol': 125, 'isobutyl_alcohol': 125, 'tert_butyl_alcohol': 125, - 'ethyl_tertbutyl_ether': 125 + 'methyl_tert_butyl_ether': 125 ] def AntioxidantMap = [ @@ -497,12 +573,31 @@ for (major_solvent in major_solvents) { .EUt(Globals.voltAmps[2]) .buildAndRegister() + MIXER.recipeBuilder() + .inputs(ore('dustSmallEthyleneIsobutyleneVinylAcetate')) + .fluidInputs(fluid(major_solvent) * 1500) + .fluidInputs(fluid(minor_solvent) * 500) + .fluidOutputs(fluid('cold_flow_improver') * 2000) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + MIXER.recipeBuilder() + .inputs(ore('dustSmallEthyleneIsobutyleneVinylAcetate')) + .inputs(ore('dustSmalldustDihexadecylaminePhthalateAmide')) + .fluidInputs(fluid(major_solvent) * 6000) + .fluidInputs(fluid(minor_solvent) * 2000) + .fluidOutputs(fluid('cold_flow_improver') * 8000) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + getUniquePairs(AntioxidantMap).each { key, val -> MIXER.recipeBuilder() .fluidInputs(fluid(key) * AntioxidantMap[key]) .fluidInputs(fluid(val) * AntioxidantMap[val]) - .fluidInputs(fluid(major_solvent) * 1200) - .fluidInputs(fluid(minor_solvent) * 400) + .fluidInputs(fluid(major_solvent) * 1400) + .fluidInputs(fluid(minor_solvent) * 200) .fluidOutputs(fluid('antioxidants') * 2000) .duration(200) .EUt(120) @@ -513,9 +608,9 @@ for (major_solvent in major_solvents) { MIXER.recipeBuilder() .inputs(ore('dustDiisopropylParaPhenyleneDiamine') * 4) .fluidInputs(fluid(antioxidant) * 200) - .fluidInputs(fluid(major_solvent) * 1400) + .fluidInputs(fluid(major_solvent) * 3400) .fluidInputs(fluid(minor_solvent) * 400) - .fluidOutputs(fluid('gasoline_antiknock') * 2000) + .fluidOutputs(fluid('gasoline_antiknock') * 4000) .duration(200) .EUt(120) .buildAndRegister() diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy index 7f14a60fd..34369bd83 100644 --- a/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy @@ -84,7 +84,7 @@ POLYMERIZATION.recipeBuilder() DRYER.recipeBuilder() .fluidInputs(fluid('polyvinyl_chloride_suspension') * 2000) - .outputs(metaitem('dustPolyvinylChloride') * 7) + .outputs(metaitem('dustPolyvinylChloride')) .fluidOutputs(fluid('water') * 1000) .duration(260) .EUt(30) @@ -110,27 +110,25 @@ POLYMERIZATION.recipeBuilder() PHASE_SEPARATOR.recipeBuilder() .fluidInputs(fluid('polyvinyl_acetate_mixture') * 2000) - .outputs(metaitem('dustPolyvinylAcetate') * 7) + .outputs(metaitem('dustPolyvinylAcetate')) .fluidOutputs(fluid('methanol') * 1000) .duration(50) .buildAndRegister() -// Poly(ethylene-vinyl acetate) +// Ethylene-vinyl acetate) POLYMERIZATION.recipeBuilder() .fluidInputs(fluid('ethylene') * 1000) .fluidInputs(fluid('vinyl_acetate_solution') * 1000) .inputs(ore('dustTinyPotassiumPersulfate')) - .fluidOutputs(fluid('polyethylene_vinyl_acetate_mixture') * 2000) + .fluidOutputs(fluid('ethylene_vinyl_acetate_mixture') * 2000) .duration(150) .EUt(60) .buildAndRegister() PHASE_SEPARATOR.recipeBuilder() - .fluidInputs(fluid('polyethylene_vinyl_acetate_mixture') * 2000) - .outputs(metaitem('dustPolyethyleneVinylAcetate') * 7) + .fluidInputs(fluid('ethylene_vinyl_acetate_mixture') * 2000) + .outputs(metaitem('dustEthyleneVinylAcetate')) .fluidOutputs(fluid('methanol') * 1000) .duration(50) .buildAndRegister() - - diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index c04dfccff..74278b83d 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -1769,8 +1769,10 @@ susy.material.terephthalate_mother_liquor=Terephthalate Mother Liquor susy.material.wet_terephthalic_acid=Wet Terephthalic Acid susy.material.wet_isophthalic_acid=Wet Isophthalic Acid susy.material.methyl_para_toluate_mixture=Methyl p-Toluate Mixture -susy.material.polyethylene_vinyl_acetate=Polyethylene Vinyl Acetate (PEVA) -susy.material.polyethylene_vinyl_acetate_mixture=Polyethylene Vinyl Acetate (PEVA) Mixture +susy.material.ethylene_vinyl_acetate=Ethylene-Vinyl Acetate (EVA) +susy.material.ethylene_vinyl_acetate_mixture=Ethylene-Vinyl Acetate (EVA) Mixture +susy.material.ethylene_isobutylene_vinyl_acetate=Ethylene-Isobutylene-Vinyl Acetate +susy.material.ethylene_isobutylene_vinyl_acetate_mixture=Ethylene-Isobutylene-Vinyl Acetate Mixture susy.material.chlorosulfuric_acid=Chlorosulfuric Acid susy.material.sodium_dodecyl_sulfate_solution=Sodium Dodecyl Sulfate Solution susy.material.dodecanesulfonic_acid=Dodecanesulfonic Acid @@ -1796,11 +1798,14 @@ susy.material.diisopropyl_para_phenylenediamine_solution=N,N'-Diisopropyl-p-Phen susy.material.propanolamine_mix=Propanolamine Mix susy.material.metal_deactivator=Metal Deactivator susy.material.one_two_diaminopropane_solution=1,2-Diaminopropane Solution -susy.material.salicylaldehyde_solution=Salicylaldehyde Solution susy.material.salicylaldehyde=Salicylaldehyde susy.material.salicylidene_one_two_propanediamine=N,N'-bis(salicylidene)-1,2-propanediamine -susy.material.salicylidene_one_two_propanediamine_solution=N,N'-bis(salicylidene)-1,2-propanediamine Solution susy.material.ignition_improver=Ignition Improver +susy.material.cold_flow_improver=Cold Flow Improver +susy.material.dihexadecylamine=Dihexadecylamine +susy.material.dihexadecylamine_phthalate_amide=Dihexadecylamine Phthalate Amide +susy.material.methyl_tert_butyl_ether=Methyl tert-Butyl Ether (MTBE) +susy.material.corrosion_inhibitor=Corrosion Inhibitor # Isotopes From 6ca024a602be8521c13ca628c618b68c92357286 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Thu, 23 Nov 2023 00:35:19 -0600 Subject: [PATCH 11/19] add midgrade, premium, and supreme diesel/kerosene --- groovy/material/SuSyMaterials.groovy | 6 + .../UnknownCompositionMaterials.groovy | 30 ++++ .../organic_chemistry/fuels/Additives.groovy | 145 ++++++++++++------ resources/langfiles/lang/en_us.lang | 6 + 4 files changed, 140 insertions(+), 47 deletions(-) diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index f425072cb..789036be8 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -489,6 +489,12 @@ class SuSyMaterials { public static Material IgnitionImprover; public static Material ColdFlowImprover; public static Material CorrosionInhibitor; + public static Material MidgradeDiesel; + public static Material PremiumDiesel; + public static Material SupremeDiesel; + public static Material MidgradeKerosene; + public static Material PremiumKerosene; + public static Material SupremeKerosene; // Petrochem Materials diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index 6306fddcc..f94fdea86 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1883,5 +1883,35 @@ public class UnknownCompositionMaterials { .fluid() .color(0x8a633a) .build(); + + MidgradeDiesel = new Material.Builder(4361, SuSyUtility.susyId('midgrade_diesel')) + .fluid() + .color(0xc4a535) + .build(); + + PremiumDiesel = new Material.Builder(4362, SuSyUtility.susyId('premium_diesel')) + .fluid() + .color(0xd1aa1d) + .build(); + + SupremeDiesel = new Material.Builder(4363, SuSyUtility.susyId('supreme_diesel')) + .fluid() + .color(0xdb9a16) + .build(); + + MidgradeKerosene = new Material.Builder(4364, SuSyUtility.susyId('midgrade_kerosene')) + .fluid() + .color(0xa8a44a) + .build(); + + PremiumKerosene = new Material.Builder(4365, SuSyUtility.susyId('premium_kerosene')) + .fluid() + .color(0xbab541) + .build(); + + SupremeKerosene = new Material.Builder(4366, SuSyUtility.susyId('supreme_kerosene')) + .fluid() + .color(0xd9c148) + .build(); } } diff --git a/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy b/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy index 376151684..6cc6f1734 100644 --- a/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy @@ -464,13 +464,13 @@ BR.recipeBuilder() .buildAndRegister() def OxygenateMap = [ - 'methanol': 125, - 'ethanol': 125, - 'n_propanol': 125, - 'isopropyl_alcohol': 125, - 'n_butanol': 125, - 'isobutyl_alcohol': 125, - 'tert_butyl_alcohol': 125, + 'methanol': 1000, + 'ethanol': 1000, + 'n_propanol': 750, + 'isopropyl_alcohol': 750, + 'n_butanol': 500, + 'isobutyl_alcohol': 500, + 'tert_butyl_alcohol': 250, 'methyl_tert_butyl_ether': 125 ] @@ -482,8 +482,9 @@ def AntioxidantMap = [ def AntiknockMap = [ 'toluene': 500, - 'isooctane': 300, - 'tetraethyllead': 100 + 'isooctane': 250, + 'tetraethyllead': 100, + 'methylcyclopentadienylmanganese_tricarbonyl': 50 ] def getUniquePairs(Map materialsMap) { @@ -500,26 +501,6 @@ def getUniquePairs(Map materialsMap) { return pairs } -getUniquePairs(OxygenateMap).each { key, val -> - MIXER.recipeBuilder() - .fluidInputs(fluid(key) * OxygenateMap[key]) - .fluidInputs(fluid(val) * OxygenateMap[val]) - .fluidOutputs(fluid('gasoline_oxygenates') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() -} - -getUniquePairs(AntiknockMap).each { key, val -> - MIXER.recipeBuilder() - .fluidInputs(fluid(key) * AntiknockMap[key]) - .fluidInputs(fluid(val) * AntiknockMap[val]) - .fluidOutputs(fluid('gasoline_antiknock') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() -} - // Cetane-Boosted Diesel * 750 mods.gregtech.mixer.removeByInput(480, null, [fluid('bio_diesel') * 1000, fluid('tetranitromethane') * 40]) // Cetane-Boosted Diesel * 1000 @@ -592,6 +573,17 @@ for (major_solvent in major_solvents) { .EUt(Globals.voltAmps[2]) .buildAndRegister() + AntiknockMap.each { key, val -> + MIXER.recipeBuilder() + .fluidInputs(fluid(key) * val) + .fluidInputs(fluid(major_solvent) * 1500) + .fluidInputs(fluid(minor_solvent) * 500 - val) + .fluidOutputs(fluid('gasoline_antiknock') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + } + getUniquePairs(AntioxidantMap).each { key, val -> MIXER.recipeBuilder() .fluidInputs(fluid(key) * AntioxidantMap[key]) @@ -610,44 +602,48 @@ for (major_solvent in major_solvents) { .fluidInputs(fluid(antioxidant) * 200) .fluidInputs(fluid(major_solvent) * 3400) .fluidInputs(fluid(minor_solvent) * 400) - .fluidOutputs(fluid('gasoline_antiknock') * 4000) + .fluidOutputs(fluid('antioxidants') * 4000) .duration(200) .EUt(120) .buildAndRegister() } + + getUniquePairs(OxygenateMap).each { key, val -> + MIXER.recipeBuilder() + .fluidInputs(fluid(key) * OxygenateMap[key]) + .fluidInputs(fluid(val) * OxygenateMap[val]) + .fluidOutputs(fluid('oxygenates') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() +} } } // Gasoline final blending -LCR.recipeBuilder() - .circuitMeta(1) +MIXER.recipeBuilder() .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_antioxidants') * 100) .fluidInputs(fluid('gasoline_oxygenates') * 100) + .fluidInputs(fluid('antiknock') * 100) .fluidOutputs(fluid('midgrade_gasoline') * 1000) .duration(10) .EUt(120) .buildAndRegister() -LCR.recipeBuilder() - .circuitMeta(2) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_general_additives') * 100) - .fluidInputs(fluid('gasoline_antioxidants') * 100) - .fluidInputs(fluid('gasoline_oxygenates') * 100) +MIXER.recipeBuilder() + .fluidOutputs(fluid('midgrade_gasoline') * 1000) + .fluidInputs(fluid('methyl_carbitol') * 100) + .fluidInputs(fluid('corrosion_inhibitor') * 100) .fluidOutputs(fluid('premium_gasoline') * 1000) .duration(10) .EUt(120) .buildAndRegister() -LCR.recipeBuilder() - .circuitMeta(3) - .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_general_additives') * 100) - .fluidInputs(fluid('gasoline_oxygenates') * 100) - .fluidInputs(fluid('gasoline_antiknock') * 100) - .fluidInputs(fluid('gasoline_antioxidants') * 100) +MIXER.recipeBuilder() + .fluidOutputs(fluid('premium_gasoline') * 1000) + .fluidInputs(fluid('antioxidants') * 100) + .fluidInputs(fluid('metal_deactivator') * 100) .fluidOutputs(fluid('supreme_gasoline') * 1000) .duration(10) .EUt(120) @@ -655,4 +651,59 @@ LCR.recipeBuilder() // Diesel final blending -// Kerosene final blending \ No newline at end of file +MIXER.recipeBuilder() + .fluidInputs(fluid('diesel') * 1000) + .fluidInputs(fluid('ignition_improver') * 100) + .fluidInputs(fluid('cold_flow_improver') * 100) + .fluidOutputs(fluid('midgrade_diesel') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +MIXER.recipeBuilder() + .fluidOutputs(fluid('midgrade_diesel') * 1000) + .fluidInputs(fluid('antistatic_additive') * 100) + .fluidInputs(fluid('lubricity_additive') * 100) + .fluidOutputs(fluid('premium_diesel') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +MIXER.recipeBuilder() + .fluidOutputs(fluid('premium_diesel') * 1000) + .fluidInputs(fluid('antioxidants') * 100) + .fluidInputs(fluid('antifoaming_additive') * 100) + .fluidOutputs(fluid('supreme_diesel') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + + +// Kerosene final blending + +MIXER.recipeBuilder() + .fluidInputs(fluid('kerosene') * 1000) + .fluidInputs(fluid('methyl_carbitol') * 100) + .fluidInputs(fluid('antistatic_additive') * 100) + .fluidOutputs(fluid('midgrade_kerosene') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +MIXER.recipeBuilder() + .fluidOutputs(fluid('midgrade_kerosene') * 1000) + .fluidInputs(fluid('lubricity_additive') * 100) + .fluidInputs(fluid('antioxidants') * 100) + .fluidOutputs(fluid('premium_kerosene') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +MIXER.recipeBuilder() + .fluidOutputs(fluid('premium_kerosene') * 1000) + .fluidInputs(fluid('corrosion_inhibitor') * 100) + .fluidInputs(fluid('metal_deactivator') * 100) + .fluidOutputs(fluid('supreme_kerosene') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() \ No newline at end of file diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index 74278b83d..52e9fa2de 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -1806,6 +1806,12 @@ susy.material.dihexadecylamine=Dihexadecylamine susy.material.dihexadecylamine_phthalate_amide=Dihexadecylamine Phthalate Amide susy.material.methyl_tert_butyl_ether=Methyl tert-Butyl Ether (MTBE) susy.material.corrosion_inhibitor=Corrosion Inhibitor +susy.material.midgrade_diesel=Midgrade Diesel +susy.material.premium_diesel=Premium Diesel +susy.material.supreme_diesel=Supreme Diesel +susy.material.midgrade_kerosene=Midgrade Kerosene +susy.material.premium_kerosene=Premium Kerosene +susy.material.supreme_kerosene=Supreme Kerosene # Isotopes From 86bfef07085d9e27bf0b22b9068645bb620d996d Mon Sep 17 00:00:00 2001 From: planetme Date: Thu, 30 Nov 2023 13:59:48 -0600 Subject: [PATCH 12/19] transfer a few days worth of progress --- .../organic_chemistry/fuels/temp.groovy | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 groovy/postInit/chemistry/organic_chemistry/fuels/temp.groovy diff --git a/groovy/postInit/chemistry/organic_chemistry/fuels/temp.groovy b/groovy/postInit/chemistry/organic_chemistry/fuels/temp.groovy new file mode 100644 index 000000000..993b27d81 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/fuels/temp.groovy @@ -0,0 +1,60 @@ +// N-phenyl-1-naphthylamine + +BR.recipeBuilder() + .fluidInputs(fluid('naphthalene') * 1000) + .fluidInputs(fluid('nitration_mixture') * 2000) + .outputs(metaitem('dustCrudeOneNitronaphthalene')) + .fluidOutputs(fluid('diluted_sulfuric_acid') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + +VACUUM_DT.recipeBuilder() + .inputs(ore('dustCrudeOneNitronaphthalene')) + .outputs(metaitem('dustOneNitronaphthalene')) + .duration(200) + .EUt(120) + .buildAndRegister() + +FBR.recipeBuilder() + .inputs(ore('dustOneNitronaphthalene')) + .notConsumable(ore('catalystBedNickel')) + .fluidInputs(fluid('hydrogen') * 6000) + .outputs(metaitem('dustOneNaphthylamine')) + .fluidOutputs(fluid('water') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + +ROASTER.recipeBuilder() + .fluidInputs(fluid('one_naphthylamine') * 144) + .fluidInputs(fluid('aniline') * 1000) + .outputs(metaitem('dustNPhenylOneNaphthylamine')) + .duration(200) + .EUt(120) + .buildAndRegister() + +// Calcium salicylate + +BR.recipeBuilder() + .inputs(ore('dustCalciumHydroxide') * 5) + .fluidInputs(fluid('phenol') * 2000) + .fluidInputs(fluid('carbon_dioxide') * 2000) + .fluidInputs(fluid('diethylene_glycol') * 1000) + .notConsumable(fluid('hp_nitrogen') * 6400) + .fluidOutputs(fluid('calcium_salicylate_solution') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + +DISTILLERY.recipeBuilder() + .fluidInputs(fluid('calcium_salicylate_solution') * 1000) + .outputs(metaitem('dustCalciumSalicylate')) + .fluidOutputs(fluid('diethylene_glycol') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() + + + + From 3c40bec3c6e4e4df58e0542072a4bd4947fe6bd4 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Thu, 30 Nov 2023 22:53:02 -0600 Subject: [PATCH 13/19] transfer progress --- groovy/material/FirstDegreeMaterials.groovy | 2 + .../material/OrganicChemistryMaterials.groovy | 12 + .../material/PetrochemistryMaterials.groovy | 26 +- groovy/material/SuSyMaterials.groovy | 22 + groovy/material/ThirdDegreeMaterials.groovy | 6 + .../UnknownCompositionMaterials.groovy | 5 + .../chemistry/ChemistryOverhaul.groovy | 96 ++-- .../chemistry/elements/SiliconChain.groovy | 14 +- .../organic_chemistry/fuels/temp.groovy | 60 --- .../Fuels.groovy} | 0 .../petrochemistry/Lubricants.groovy | 495 ++++++++++++++++++ .../{ => petrochemistry}/OilOverhaul.groovy | 111 +--- .../Surfactants.groovy | 0 .../polymers/PolydimethylsiloxaneChain.groovy | 121 ++--- .../polymers/PolymethacrylateChain.groovy | 56 ++ resources/langfiles/lang/en_us.lang | 24 +- 16 files changed, 754 insertions(+), 296 deletions(-) delete mode 100644 groovy/postInit/chemistry/organic_chemistry/fuels/temp.groovy rename groovy/postInit/chemistry/organic_chemistry/{fuels/Additives.groovy => petrochemistry/Fuels.groovy} (100%) create mode 100644 groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy rename groovy/postInit/chemistry/organic_chemistry/{ => petrochemistry}/OilOverhaul.groovy (91%) rename groovy/postInit/chemistry/organic_chemistry/{fuels => petrochemistry}/Surfactants.groovy (100%) create mode 100644 groovy/postInit/chemistry/organic_chemistry/polymers/PolymethacrylateChain.groovy diff --git a/groovy/material/FirstDegreeMaterials.groovy b/groovy/material/FirstDegreeMaterials.groovy index 67d2ffbbe..9d3ea01a3 100644 --- a/groovy/material/FirstDegreeMaterials.groovy +++ b/groovy/material/FirstDegreeMaterials.groovy @@ -3291,5 +3291,7 @@ public class FirstDegreeMaterials{ .components(Manganese, 1, Chlorine, 2) .colorAverage() .build(); + + ChloroplatinicAcidSolution } } \ No newline at end of file diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index 52e5e755c..7eddb1038 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -1987,5 +1987,17 @@ public class OrganicChemistryMaterials { .components(Carbon, 5, Hydrogen, 12, Oxygen, 1) .color(0xae21b0) .build(); + + TetraethylOrthosilicate + Methylphenyldichlorosilane + OneOctene + OneDecene + OneDodecene + OneTetradecene + OneHexadecene + OneOctadecene + OneIcosene + OneDocosene + OneTetracosene } } diff --git a/groovy/material/PetrochemistryMaterials.groovy b/groovy/material/PetrochemistryMaterials.groovy index 0559e41a4..6baf11b19 100644 --- a/groovy/material/PetrochemistryMaterials.groovy +++ b/groovy/material/PetrochemistryMaterials.groovy @@ -308,15 +308,29 @@ public class PetrochemistryMaterials { .color(0x1e2021) .build(); - TreatedSulfuricOilResidue = new Material.Builder(20070, SuSyUtility.susyId('treated_sulfuric_oil_residue')) + CrudeLubricatingOil = new Material.Builder(2007, SuSyUtility.susyId('lubrica')) .fluid() - .color(0x3b3a1e) + .color(0x80743c) .build(); - - OilResidue = new Material.Builder(20071, SuSyUtility.susyId('oil_residue')) + + SolventLubricantMixture = new Material.Builder(2007, SuSyUtility.susyId('lubrica')) .fluid() - .color(0x242313) + .color(0x6e803c) + .build(); + + ColdSolventLubricantMixture = new Material.Builder(2007, SuSyUtility.susyId('lubrica')) + .fluid() + .color(0x5e8064) .build(); - } + DewaxedLubricantMixture = new Material.Builder(2007, SuSyUtility.susyId('lubrica')) + .fluid() + .color(0x7d782e) + .build(); + + SulfuricLubricatingOil = new Material.Builder(2007, SuSyUtility.susyId('lubrica')) + .fluid() + .color(0x7d782e) + .build(); + } } \ No newline at end of file diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 789036be8..f04891a87 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -495,6 +495,10 @@ class SuSyMaterials { public static Material MidgradeKerosene; public static Material PremiumKerosene; public static Material SupremeKerosene; + public static Material SAPOEleven; + public static Material PlatinumSAPOEleven; + public static Material SiliconeOilMixture; + public static Material SiliconeOil; // Petrochem Materials @@ -569,6 +573,11 @@ class SuSyMaterials { public static Material BTEX; public static Material Syngas; public static Material ReformedSyngas; + public static Material SulfuricCrudeLubricatingOil; + public static Material SolventLubricantMixture; + public static Material ColdSolventLubricantMixture; + public static Material SulfuricLubricatingOil; + public static Material DewaxedLubricantMixture; // First Degree Materials @@ -1026,6 +1035,7 @@ class SuSyMaterials { public static Material DilutedAceticAcid; public static Material CobaltIIAcetate; public static Material ManganeseIIChloride; + ChloroplatinicAcidSolution // Second Degree Materials @@ -1450,6 +1460,17 @@ class SuSyMaterials { public static Material Dihexadecylamine; public static Material DihexadecylaminePhthalateAmide; public static Material MethylTertButylEther; + public static Material TetraethylOrthosilicate; + public static Material Methylphenyldichlorosilane; + public static Material OneOctene; + public static Material OneDecene; + public static Material OneDodecene; + public static Material OneTetradecene; + public static Material OneHexadecene; + public static Material OneOctadecene; + public static Material OneIcosene; + public static Material OneDocosene; + public static Material OneTetracosene; // Third Degree Materials @@ -1530,6 +1551,7 @@ class SuSyMaterials { public static Material SodiumCyclopentadienide; public static Material MethylcyclopentadieneSolution; public static Material BismethylcyclopentadienylmanganeseSolution; + public static Material DewaxingSolvent; // Thermodynamics/Greenhouse Materials diff --git a/groovy/material/ThirdDegreeMaterials.groovy b/groovy/material/ThirdDegreeMaterials.groovy index c08a20ef9..212a138f6 100644 --- a/groovy/material/ThirdDegreeMaterials.groovy +++ b/groovy/material/ThirdDegreeMaterials.groovy @@ -489,5 +489,11 @@ public class ThirdDegreeMaterials { .components(EthyleneIsobutyleneVinylAcetate, 1, Methanol, 1) .colorAverage() .build(); + + DewaxingSolvent = new Material.BUilder(24077, SuSyUtility.susyId('dewaxing_solvent')) + .fluid() + .components(Dichloroethane, 1, Dicloromethane, 1) + .colorAverage() + .build(); } } diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index f94fdea86..cd3d24bae 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1913,5 +1913,10 @@ public class UnknownCompositionMaterials { .fluid() .color(0xd9c148) .build(); + + SAPOEleven + PlatinumSAPOEleven + SiliconeOilMixture + SiliconeOil } } diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index b22a5983b..d41bdf0e1 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -3099,8 +3099,9 @@ DISTILLATION_TOWER.recipeBuilder() // Hydrazine DISTILLATION_TOWER.recipeBuilder() .fluidInputs(fluid('butene') * 1000) - .fluidOutputs(fluid('one_butene') * 600) - .fluidOutputs(fluid('two_butene') * 400) + .fluidOutputs(fluid('isobutylene') * 500) + .fluidOutputs(fluid('one_butene') * 300) + .fluidOutputs(fluid('two_butene') * 200) .duration(300) .EUt(30) .buildAndRegister() @@ -3323,34 +3324,6 @@ CSTR.recipeBuilder() .EUt(30) .buildAndRegister() -// Acetone Cyanohydrin -CSTR.recipeBuilder() - .fluidInputs(fluid('gtfo_hydrogen_cyanide') * 50) - .fluidInputs(fluid('acetone') * 50) - .fluidOutputs(fluid('acetone_cyanohydrin') * 50) - .duration(10) - .EUt(30) - .buildAndRegister() - -// Methacrylamide Sulfate -CSTR.recipeBuilder() - .fluidInputs(fluid('acetone_cyanohydrin') * 50) - .fluidInputs(fluid('sulfuric_acid') * 50) - .fluidOutputs(fluid('methacrylamide_sulfate') * 50) - .duration(10) - .EUt(30) - .buildAndRegister() - -// Methyl Methacrylate -BR.recipeBuilder() - .fluidInputs(fluid('methacrylamide_sulfate') * 1000) - .fluidInputs(fluid('methanol') * 1000) - .fluidOutputs(fluid('methyl_methacrylate') * 1000) - .outputs(metaitem('dustAmmoniumBisulfate') * 11) - .duration(300) - .EUt(30) - .buildAndRegister() - // Ammonium Bisulfate ELECTROLYZER.recipeBuilder() .fluidInputs(fluid('ammonium_bisulfate') * 1584) @@ -3360,33 +3333,6 @@ ELECTROLYZER.recipeBuilder() .EUt(30) .buildAndRegister() -// Methyl Methacrylate Emulsion Solution -MIXER.recipeBuilder() - .fluidInputs(fluid('methyl_methacrylate') * 1000) - .fluidInputs(fluid('water') * 1000) - .fluidInputs(fluid('gtfo_sodium_stearate') * 100) - .fluidOutputs(fluid('methyl_methacrylate_emulsion') * 2000) - .duration(300) - .EUt(30) - .buildAndRegister() - -// PMMA Solution -POLYMERIZATION.recipeBuilder() - .fluidInputs(fluid('methyl_methacrylate_emulsion') * 2000) - .inputs(ore('dustTinyPotassiumPersulfate')) - .fluidOutputs(fluid('polymethyl_methacrylate_solution') * 2000) - .duration(300) - .EUt(30) - .buildAndRegister() - -// PMMA Dust -DRYER.recipeBuilder() - .fluidInputs(fluid('polymethyl_methacrylate_solution') * 2000) - .outputs(metaitem('dustPmma') * 7) - .duration(300) - .EUt(30) - .buildAndRegister() - // Tosylic Acid, Hydrogen Silsesquioxane CSTR.recipeBuilder() @@ -3498,6 +3444,15 @@ BR.recipeBuilder() .EUt(30) .buildAndRegister() +BR.recipeBuilder() + .inputs(ore('dustBoricAcid') * 7) + .fluidInputs(fluid('hydrogen_fluoride') * 3000) + .fluidOutputs(fluid('boron_trifluoride') * 1000) + .fluidOutputs(fluid('water') * 3000) + .duration(100) + .EUt(30) + .buildAndRegister() + // Tetrasodium EDTA LCR.recipeBuilder() .fluidInputs(fluid('ethylenediamine') * 1000) @@ -4353,10 +4308,31 @@ BR.recipeBuilder() DISTILLATION_TOWER.recipeBuilder() // SCHULZ-FLORY, p = 0.82, ROUNDED TO NEAREST 5 .fluidInputs(fluid('alpha_olefin_mixture') * 1000) + .fluidOutputs(fluid('one_tetracosene') * 20) + .fluidOutputs(fluid('one_docosene') * 30) + .fluidOutputs(fluid('one_icosene') * 35) + .fluidOutputs(fluid('one_octadecene') * 40) + .fluidOutputs(fluid('one_hexadecene') * 50) + .fluidOutputs(fluid('one_tetradecene') * 60) + .fluidOutputs(fluid('one_dodecene') * 75) + .fluidOutputs(fluid('one_decene') * 90) + .fluidOutputs(fluid('one_octene') * 130) + .fluidOutputs(fluid('one_hexene') * 110) + .fluidOutputs(fluid('one_butene') * 160) + .fluidOutputs(fluid('ethylene') * 200) + .duration(125) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +LCR.recipeBuilder() + .fluidOutputs(fluid('one_icosene') * 35) + .fluidOutputs(fluid('one_octadecene') * 40) + .fluidOutputs(fluid('one_hexadecene') * 50) + .fluidOutputs(fluid('one_tetradecene') * 60) + .fluidOutputs(fluid('one_dodecene') * 75) + .fluidOutputs(fluid('one_decene') * 90) + .fluidOutputs(fluid('one_octene') * 130) .fluidOutputs(fluid('eight_twenty_olefin_mixture') * 485) // FOR 1-AMINOETHYL-2-ALKYLIMIDAZOLINE COLLECTOR - .fluidOutputs(fluid('one_hexene') * 140) - .fluidOutputs(fluid('one_butene') * 170) - .fluidOutputs(fluid('ethylene') * 205) .duration(125) .EUt(Globals.voltAmps[3]) .buildAndRegister() diff --git a/groovy/postInit/chemistry/elements/SiliconChain.groovy b/groovy/postInit/chemistry/elements/SiliconChain.groovy index 1f7f673c8..aaaea5d5c 100755 --- a/groovy/postInit/chemistry/elements/SiliconChain.groovy +++ b/groovy/postInit/chemistry/elements/SiliconChain.groovy @@ -19,6 +19,7 @@ def VACUUMCHAMBER = recipemap('vacuum_chamber') def FBR = recipemap('fixed_bed_reactor') def SINTERING_RECIPES = recipemap("sintering_oven") def EBF = recipemap('electric_blast_furnace') +def CSTR = recipemap('continuous_stirred_tank_reactor') // Silicon Carbide Plate * 1 mods.gregtech.compressor.removeByInput(2, [metaitem('dustSiliconCarbide')], null) @@ -228,4 +229,15 @@ for (fuel in sintering_fuels) { .buildAndRegister() } } -} \ No newline at end of file +} + +// TEOS + +CSTR.recipeBuilder() + .fluidInputs(fluid('silicon_tetrachloride') * 50) + .fluidInputs(fluid('ethanol') * 200) + .fluidOutputs(fluid('tetraethyl_orthosilicate') * 50) + .fluidOutputs(fluid('hydrogen_chloride') * 200) + .duration(5) + .EUt(120) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/fuels/temp.groovy b/groovy/postInit/chemistry/organic_chemistry/fuels/temp.groovy deleted file mode 100644 index 993b27d81..000000000 --- a/groovy/postInit/chemistry/organic_chemistry/fuels/temp.groovy +++ /dev/null @@ -1,60 +0,0 @@ -// N-phenyl-1-naphthylamine - -BR.recipeBuilder() - .fluidInputs(fluid('naphthalene') * 1000) - .fluidInputs(fluid('nitration_mixture') * 2000) - .outputs(metaitem('dustCrudeOneNitronaphthalene')) - .fluidOutputs(fluid('diluted_sulfuric_acid') * 2000) - .duration(200) - .EUt(120) - .buildAndRegister() - -VACUUM_DT.recipeBuilder() - .inputs(ore('dustCrudeOneNitronaphthalene')) - .outputs(metaitem('dustOneNitronaphthalene')) - .duration(200) - .EUt(120) - .buildAndRegister() - -FBR.recipeBuilder() - .inputs(ore('dustOneNitronaphthalene')) - .notConsumable(ore('catalystBedNickel')) - .fluidInputs(fluid('hydrogen') * 6000) - .outputs(metaitem('dustOneNaphthylamine')) - .fluidOutputs(fluid('water') * 2000) - .duration(200) - .EUt(120) - .buildAndRegister() - -ROASTER.recipeBuilder() - .fluidInputs(fluid('one_naphthylamine') * 144) - .fluidInputs(fluid('aniline') * 1000) - .outputs(metaitem('dustNPhenylOneNaphthylamine')) - .duration(200) - .EUt(120) - .buildAndRegister() - -// Calcium salicylate - -BR.recipeBuilder() - .inputs(ore('dustCalciumHydroxide') * 5) - .fluidInputs(fluid('phenol') * 2000) - .fluidInputs(fluid('carbon_dioxide') * 2000) - .fluidInputs(fluid('diethylene_glycol') * 1000) - .notConsumable(fluid('hp_nitrogen') * 6400) - .fluidOutputs(fluid('calcium_salicylate_solution') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() - -DISTILLERY.recipeBuilder() - .fluidInputs(fluid('calcium_salicylate_solution') * 1000) - .outputs(metaitem('dustCalciumSalicylate')) - .fluidOutputs(fluid('diethylene_glycol') * 1000) - .duration(20) - .EUt(30) - .buildAndRegister() - - - - diff --git a/groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Fuels.groovy similarity index 100% rename from groovy/postInit/chemistry/organic_chemistry/fuels/Additives.groovy rename to groovy/postInit/chemistry/organic_chemistry/petrochemistry/Fuels.groovy diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy new file mode 100644 index 000000000..c0fe7f09f --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy @@ -0,0 +1,495 @@ +import static globals.Globals.* +import static globals.SinteringGlobals.* + +import static gregtech.api.unification.material.Materials.*; +import gregtech.api.unification.material.MarkerMaterials; +import static gregtech.api.unification.ore.OrePrefix.dye; + +BR = recipemap('batch_reactor') +MIXER = recipemap('mixer') +ELECTROSTATIC_SEPARATOR = recipemap('electrostatic_separator') +CENTRIFUGE = recipemap('centrifuge') +DT = recipemap('distillation_tower') +ROASTER = recipemap('roaster') +VACUUM_DT = recipemap('vacuum_distillation') +CRYSTALLIZER = recipemap('crystallizer') +EXTRACTOR = recipemap('extractor') +ROTARY_KILN = recipemap('rotary_kiln') +COKING = recipemap('coking_tower') +CSTR = recipemap('continuous_stirred_tank_reactor') +CRACKER = recipemap('cracker') +EBF = recipemap('electric_blast_furnace') +REFORMER = recipemap('catalytic_reformer_recipes') +REACTION_FURNACE = recipemap('reaction_furnace') +FBR = recipemap('fixed_bed_reactor') +SIFTER = recipemap('sifter') +ALLOY_SMELTER = recipemap('alloy_smelter') +POLYMERIZATION_TANK = recipemap('polymerization_tank') +BCR = recipemap('bubble_column_reactor') +TBR = recipemap('trickle_bed_reactor') +LCR = recipemap('large_chemical_reactor') +AUTOCLAVE = recipemap('autoclave') +HEAT_EXCHANGER = recipemap('heat_exchanger') +UV_LIGHT_BOX = recipemap('uv_light_box') + +// Lubricant base oils + + // Straight run lubricating oil + + MIXER.recipeBuilder() + .fluidInputs(fluid('dichloroethane') * 1000) + .fluidInputs(fluid('dichloromethane') * 1000) + .fluidOutputs(fluid('dewaxing_solvent') * 2000) + .duration(20) + .EUt(30) + .buildAndRegister() + + CENTRIFUGE.recipeBuilder() + .fluidInputs(fluid('crude_lubricating_oil') * 850) + .fluidInputs(fluid('dewaxing_solvent') * 2000) + .fluidOutputs(fluid('solvent_lubricant_mixture') * 2850) + .duration(20) + .EUt(30) + .buildAndRegister() + + HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('ice') * 500) + .fluidInputs(fluid('solvent_lubricant_mixture') * 2850) + .fluidOutputs(fluid('water') * 500) + .fluidOutputs(fluid('cold_solvent_lubricant_mixture') * 2850) + .duration(5) + .buildAndRegister() + + SIFTER.recipeBuilder() + .notConsumable(metaitem('item_filter')) + .fluidInputs(fluid('cold_solvent_lubricant_mixture') * 2850) + .fluidOutputs(fluid('slack_wax') * 350) + .fluidOutputs(fluid('dewaxed_lubricant_mixture') * 2500) + .duration(20) + .EUt(30) + .buildAndRegister() + + DT.recipeBuilder() + .fluidInputs(fluid('dewaxed_lubricant_mixture') * 2500) + .fluidOutputs(fluid('sulfuric_lubricating_oil') * 500) + .fluidOutputs(fluid('dewaxing_solvent') * 2000) + .duration(20) + .EUt(30) + .buildAndRegister() + + FBR.recipeBuilder() + .fluidInputs(fluid('sulfuric_lubricating_oil') * 180) + .fluidInputs(fluid('hydrogen') * 45) + .notConsumable(metaitem('catalystBedAlumina')) + .fluidOutputs(fluid('lubricating_oil') * 180) + .duration(20) + .EUt(30) + .buildAndRegister() + + // Hydrodewaxing catalyst + + LCR.recipeBuilder() + .inputs(ore('dustAlumina') * 5) + .fluidInputs(fluid('diisopropylamine') * 1200) + .fluidInputs(fluid('phosphoric_acid') * 1000) + .fluidInputs(fluid('tetraethyl_orthosilicate') * 200) + .fluidInputs(fluid('demineralized_water') * 5000) + .outputs(metaitem('dustSapoEleven')) + .duration(600) + .EUt(1920) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustPlatinum')) + .fluidInputs(fluid('aqua_regia') * 8000) + .fluidInputs(fluid('nitric_acid') * 2000) + .fluidOutputs(fluid('chloroplatinic_acid_solution') * 4000) + .fluidOutputs(fluid('nitrogen_dioxide') * 4000) + .duration(20) + .EUt(30) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustSapoEleven')) + .inputs(ore('dustSodiumHydroxide') * 3) + .fluidInputs(fluid('ethylene_glycol') * 500) + .fluidInputs(fluid('chloroplatinic_acid_solution') * 1000) + .outputs(metaitem('dustPlatinumSapoEleven')) + .fluidOutputs(fluid('wastewater') * 1500) + .duration(600) + .EUt(1920) + .buildAndRegister() + + // Hydrodewaxing + + FBR.recipeBuilder() + .fluidInputs(fluid('crude_lubricating_oil') * 850) + .fluidInputs(fluid('hydrogen') * 315) + .notConsumable(metaitem('catalystBedPlatinumSapoEleven')) + .fluidOutputs(fluid('lubricating_oil') * 850) + .duration(20) + .EUt(30) + .buildAndRegister() + + // Silicone oil + + CSTR.recipeBuilder() + .fluidInputs(fluid('methyldichlorosilane') * 50) + .fluidInputs(fluid('chlorobenzene') * 50) + .fluidOutputs(fluid('methylphenyldichlorosilane') * 50) + .fluidOutputs(fluid('hydrogen_chloride') * 50) + .duration(10) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + BR.recipeBuilder() + .fluidInputs(fluid('methyldichlorosilane') * 900) + .fluidInputs(fluid('methylphenyldichlorosilane') * 100) + .fluidInputs(fluid('water') * 3000) + .fluidOutputs(fluid('silicone_oil_mixture') * 3000) + .duration(20) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + + PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('silicone_oil_mixture') * 3000) + .fluidOutputs(fluid('silicone_oil') * 1000) + .fluidOutputs(fluid('hydrochloric_acid') * 2000) + .duration(10) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + + // Polyalphaolefins + + MIXER.recipeBuilder() + .fluidInputs(fluid('boron_trifluoride') * 750) + .fluidInputs(fluid('n_butanol') * 250) + .fluidOutputs(fluid('olefin_polymerization_initiator') * 1000) + .duration(50) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + CSTR.recipeBuilder() + .fluidInputs(fluid('one_dodecene') * 600) + .fluidInputs(fluid('olefin_polymerization_initiator') * 100) + .fluidOutputs(fluid('crude_polyalphaolefin_mixture') * 225) + .duration(2) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + CSTR.recipeBuilder() + .fluidInputs(fluid('one_decene') * 600) + .fluidInputs(fluid('olefin_polymerization_initiator') * 100) + .fluidOutputs(fluid('crude_polyalphaolefin_mixture') * 225) + .duration(2) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + CSTR.recipeBuilder() + .fluidInputs(fluid('crude_polyalphaolefin_mixture') * 225) + .fluidInputs(fluid('water') * 100) + .fluidOutputs(fluid('unsaturated_polyalphaolefin') * 200) + .fluidOutputs(fluid('boron_trifluoride_mixture') * 125) + .duration(2) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + BR.recipeBuilder() + .fluidInputs(fluid('boron_trifluoride_mixture') * 1250) + .fluidInputs(fluid('sulfuric_acid') * 50) + .fluidOutputs(fluid('boron_trifluoride') * 500) + .fluidOutputs(fluid('n_butanol_waste') * 1250) + .duration(40) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + DISTILLATION_TOWER.recipeBuilder() + .fluidInputs(fluid('n_butanol_waste') * 1250) + .fluidOutputs(fluid('n_butanol') * 250) + .fluidOutputs(fluid('wastewater') * 1000) + .duration(40) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + MIXER.recipeBuilder() + .inputs(ore('dustDiamminedichloropalladium') * 11) + .fluidInputs(fluid('phosphoric_acid') * 1000) + .fluidOutputs(fluid('palladium_precursor_solution') * 1000) + .duration(100) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + + SINTERING_OVEN.recipeBuilder() + .inputs(ore('dustAlumina') * 5) + .fluidInputs(fluid('palladium_precursor_solution') * 1000) + .outputs(metaitem('dustSupportedPalladium')) + .fluidOutputs(fluid('phosphoric_acid') * 1000) + .fluidOutputs(fluid('ammonia') * 2000) + .duration(100) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + + FBR.recipeBuilder() + .fluidInputs(fluid('unsaturated_polyalphaolefin') * 50) + .fluidInputs(fluid('hydrogen') * 100) + .notConsumable(metaitem('catalystBedSupportedPalladium')) + .fluidOutputs(fluid('polyalphaolefin') * 50) + .fluidOutputs(fluid('water') * 50) + .duration(20) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + + // Polybutenes + + POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('butene') * 4000) + .fluidInputs(fluid('olefin_polymerization_initiator') * 500) + .fluidOutputs(fluid('polybutene_mixture') * 4125) + .duration(80) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + CSTR.recipeBuilder() + .fluidInputs(fluid('polybutene_mixture') * 4125) + .fluidInputs(fluid('water') * 500) + .fluidOutputs(fluid('polybutene') * 4000) + .fluidOutputs(fluid('boron_trifluoride_mixture') * 625) + .duration(4) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + // Simple esters + + LCR.recipeBuilder() + .fluidInputs(fluid('pseudocumene') * 1000) + .fluidInputs(fluid('hot_hp_air') * 12000) + .fluidInputs(fluid('acetic_acid') * 1000) + .notConsumable(metaitem('dustAmocoProcessCatalyst')) + .fluidOutputs(fluid('trimellitic_anhydride_slurry') * 2000) + .EUt(1920) + .duration(200) + .buildAndRegister() + + DISTILLERY.recipeBuilder() + .fluidInputs(fluid('trimellitic_anhydride_slurry') * 2000) + .outputs(metaitem('dustTrimelliticAcid') * 21) + .fluidOutputs(fluid('diluted_acetic_acid') * 2000) + .EUt(120) + .duration(100) + .buildAndRegister() + + ROASTER.recipeBuilder() + .inputs(ore('dustTrimelliticAcid') * 21) + .fluidOutputs(fluid('steam') * 1000) + .outputs(metaitem('dustTrimelliticAnhydride') * 18) + .EUt(120) + .duration(100) + .buildAndRegister() + +// Friction Modifiers + + /*Mechanically working FMs: molybdenum disulfide, + graphite, PTFE, polyamide, polyimide, fluorinated + graphite + + Adsoprtion layer FMs: + long-chain carboxylic acids, fatty acid esters, + ethers, alcohols, amines, amides, imides + + Tribochemical FMs: + saturated fatty acids, phosphoric and thiophosphoric + acid esters, xanthates, sulfurized fatty + acids + + Friction polymer FMs: + ethoxylated dicarboxylic acid monoesters, dialkyl phthalates, + methacrylates, unsaturated fatty acids, sulfurized olefins*/ + +// Lubricant antioxidants + + // N-phenyl-1-naphthylamine + + BR.recipeBuilder() + .fluidInputs(fluid('naphthalene') * 1000) + .fluidInputs(fluid('nitration_mixture') * 2000) + .outputs(metaitem('dustCrudeOneNitronaphthalene')) + .fluidOutputs(fluid('diluted_sulfuric_acid') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + + VACUUM_DT.recipeBuilder() + .inputs(ore('dustCrudeOneNitronaphthalene')) + .outputs(metaitem('dustOneNitronaphthalene')) + .duration(200) + .EUt(120) + .buildAndRegister() + + FBR.recipeBuilder() + .inputs(ore('dustOneNitronaphthalene')) + .notConsumable(ore('catalystBedNickel')) + .fluidInputs(fluid('hydrogen') * 6000) + .outputs(metaitem('dustOneNaphthylamine')) + .fluidOutputs(fluid('water') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + + ROASTER.recipeBuilder() + .fluidInputs(fluid('one_naphthylamine') * 144) + .fluidInputs(fluid('aniline') * 1000) + .outputs(metaitem('dustNPhenylOneNaphthylamine')) + .duration(200) + .EUt(120) + .buildAndRegister() + +// Pour point depressants + + // Polyisobutene + POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('isobutylene') * 4000) + .fluidInputs(fluid('olefin_polymerization_initiator') * 500) + .fluidOutputs(fluid('polyisobutene_mixture') * 4125) + .duration(80) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + CSTR.recipeBuilder() + .fluidInputs(fluid('polyisobutene_mixture') * 4125) + .fluidInputs(fluid('water') * 500) + .fluidOutputs(fluid('polyisobutene') * 4000) + .fluidOutputs(fluid('boron_trifluoride_mixture') * 625) + .duration(4) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + // Ethylene propylene copolymer + + POLYMERIZATION.recipeBuilder() + .notConsumable(metaitem('dustKaminskyCatalyst')) + .fluidInputs(fluid('ethylene') * 500) + .fluidInputs(fluid('propene') * 500) + .outputs(metaitem('dustEthylenePropyleneCopolymer')) + .EUt(30) + .duration(200) + .buildAndRegister() + + // Polyalkyl methacrylate + + BR.recipeBuilder() + .fluidInputs(fluid('methacrylamide_sulfate') * 1000) + .fluidInputs(fluid('water') * 1000) + .fluidOutputs(fluid('methacrylic_acid') * 1000) + .outputs(metaitem('dustAmmoniumBisulfate') * 11) + .duration(300) + .EUt(30) + .buildAndRegister() + + CSTR.recipeBuilder() + .fluidInputs(fluid('methacrylic_acid') * 50) + .fluidInputs(fluid('lauric_acid') * 50) + .fluidInputs(fluid('sulfuric_acid') * 50) + .fluidOutputs(fluid('alkyl_methacrylate') * 50) + .fluidOutputs(fluid('diluted_sulfuric_acid') * 100) + .duration(15) + .EUt(30) + .buildAndRegister() + + MIXER.recipeBuilder() + .fluidInputs(fluid('alkyl_methacrylate') * 1000) + .fluidInputs(fluid('water') * 1000) + .fluidInputs(fluid('gtfo_sodium_stearate') * 100) + .fluidOutputs(fluid('alkyl_methacrylate_emulsion') * 2000) + .duration(300) + .EUt(30) + .buildAndRegister() + + POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('alkyl_methacrylate_emulsion') * 2000) + .inputs(ore('dustTinyPotassiumPersulfate')) + .fluidOutputs(fluid('polyalkyl_methacrylate_solution') * 2000) + .duration(300) + .EUt(30) + .buildAndRegister() + + DRYER.recipeBuilder() + .fluidInputs(fluid('polyalkyl_methacrylate_solution') * 2000) + .outputs(metaitem('dustPama') * 7) + .duration(300) + .EUt(30) + .buildAndRegister() + + // Hydrogenated styrene-butadiene rubber + + // Hydrogenated styrene-isoprene rubber + +// Detergents/dispersants + + // Calcium phenate + + // Calcium dodecylsulfonate + + // Calcium dodecylbenzylsulfonate + + // Calcium salicylate + + BR.recipeBuilder() + .inputs(ore('dustCalciumHydroxide') * 5) + .inputs(ore('dustCalciumCarbonate') * 5) + .fluidInputs(fluid('phenol') * 2000) + .fluidInputs(fluid('carbon_dioxide') * 2000) + .fluidInputs(fluid('diethylene_glycol') * 1000) + .notConsumable(fluid('hp_nitrogen') * 6400) + .fluidOutputs(fluid('calcium_salicylate_solution') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + + DISTILLERY.recipeBuilder() + .fluidInputs(fluid('calcium_salicylate_solution') * 1000) + .outputs(metaitem('dustCalciumSalicylate')) + .fluidOutputs(fluid('diethylene_glycol') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() + + // Polyisobutene succinic anhydride + +// Demulsifiers + + // Calcium dinonylnaphthalene sulfonate + + // Polyethylene glycol + +// Antiwear + + // Tri-(m/p)-cresylphosphate + + // Zinc/Molybdenum dialkyldithiophosphate + + // Zinc-bis(diethyldithiocarbamate) + +// Antirust + + // Calcium didodecylbenzene sulfonate + + // Alkylsuccinic acid + +// Corrosion inhibitors + + // Benzo/tolyltriazole + + // Mercaptobenzothiazole + + // SALEN + +// Final blending + +def frictionModifiersMap = [ + 'dustTalc': 0.5 + 'dustSoapstone': 0.5 +] + +def baseOils = [ + +] \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/OilOverhaul.groovy similarity index 91% rename from groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy rename to groovy/postInit/chemistry/organic_chemistry/petrochemistry/OilOverhaul.groovy index ffd43c0dd..409407673 100644 --- a/groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/OilOverhaul.groovy @@ -29,6 +29,7 @@ BCR = recipemap('bubble_column_reactor') TBR = recipemap('trickle_bed_reactor') LCR = recipemap('large_chemical_reactor') AUTOCLAVE = recipemap('autoclave') +HEAT_EXCHANGER = recipemap('heat_exchanger') UV_LIGHT_BOX = recipemap('uv_light_box') class Oil { @@ -335,123 +336,19 @@ CENTRIFUGE.recipeBuilder() // Sulfuric Oil Residue Processing -VACUUM_DT.recipeBuilder() + // Solvent Dewaxing + VACUUM_DT.recipeBuilder() .fluidInputs(fluid('sulfuric_oil_residue') * 1000) .fluidOutputs(fractions.fuel_oil.getSulfuric(200)) .fluidOutputs(fractions.diesel.getSulfuric(200)) .fluidOutputs(fractions.kerosene.getSulfuric(150)) .fluidOutputs(fractions.naphtha.getSulfuric(100)) - .fluidOutputs(fluid('lubricating_oil') * 500) - .fluidOutputs(fluid('slack_wax') * 350) + .fluidOutputs(fluid('crude_lubricating_oil') * 850) .outputs(metaitem('bituminous_residue')) .duration(600) .EUt(30) .buildAndRegister() -FBR.recipeBuilder() - .fluidInputs(fluid('sulfuric_oil_residue') * 180) - .fluidInputs(fluid('hydrogen') * 45) - .notConsumable(metaitem('catalystBedAlumina')) - .fluidOutputs(fluid('treated_sulfuric_oil_residue') * 180) - .duration(30) - .EUt(30) - .buildAndRegister() - -DT.recipeBuilder() - .fluidInputs(fluid('treated_sulfuric_oil_residue') * 1000) - .fluidOutputs(fluid('oil_residue') * 1000) - .fluidOutputs(fluid('sour_gas') * 250) - .duration(100) - .EUt(30) - .buildAndRegister() - -VACUUM_DT.recipeBuilder() - .fluidInputs(fluid('oil_residue') * 1000) - .fluidOutputs(fractions.fuel_oil.get(200)) - .fluidOutputs(fractions.diesel.get(200)) - .fluidOutputs(fractions.kerosene.get(150)) - .fluidOutputs(fractions.naphtha.get(100)) - .fluidOutputs(fluid('lubricating_oil') * 500) - .fluidOutputs(fluid('slack_wax') * 350) - .outputs(metaitem('bituminous_residue')) - .duration(600) - .EUt(30) - .buildAndRegister() - -// Lubricating Oil processing - -MIXER.recipeBuilder() -.fluidInputs(fluid('lubricating_oil') * 250) -.inputs(ore('dustRedstone')) -.fluidOutputs(fluid('lubricant') * 500) -.duration(80) -.EUt(7) -.buildAndRegister() - -MIXER.recipeBuilder() -.fluidInputs(fluid('lubricating_oil') * 250) -.inputs(ore('dustTalc')) -.fluidOutputs(fluid('lubricant') * 500) -.duration(80) -.EUt(7) -.buildAndRegister() - -MIXER.recipeBuilder() -.fluidInputs(fluid('lubricating_oil') * 250) -.inputs(ore('dustSoapstone')) -.fluidOutputs(fluid('lubricant') * 500) -.duration(80) -.EUt(7) -.buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('seed_oil') * 250) - .inputs(ore('dustRedstone')) - .fluidOutputs(fluid('lubricant') * 500) - .duration(80) - .EUt(7) - .buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('seed_oil') * 250) - .inputs(ore('dustTalc')) - .fluidOutputs(fluid('lubricant') * 500) - .duration(80) - .EUt(7) - .buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('seed_oil') * 250) - .inputs(ore('dustSoapstone')) - .fluidOutputs(fluid('lubricant') * 500) - .duration(80) - .EUt(7) - .buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('fish_oil') * 250) - .inputs(ore('dustRedstone')) - .fluidOutputs(fluid('lubricant') * 500) - .duration(80) - .EUt(7) - .buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('fish_oil') * 250) - .inputs(ore('dustTalc')) - .fluidOutputs(fluid('lubricant') * 500) - .duration(80) - .EUt(7) - .buildAndRegister() - -MIXER.recipeBuilder() - .fluidInputs(fluid('fish_oil') * 250) - .inputs(ore('dustSoapstone')) - .fluidOutputs(fluid('lubricant') * 500) - .duration(80) - .EUt(7) - .buildAndRegister() - // Slack wax Processing CRYSTALLIZER.recipeBuilder() diff --git a/groovy/postInit/chemistry/organic_chemistry/fuels/Surfactants.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy similarity index 100% rename from groovy/postInit/chemistry/organic_chemistry/fuels/Surfactants.groovy rename to groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/PolydimethylsiloxaneChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/PolydimethylsiloxaneChain.groovy index a4dd67294..d60b0baf1 100644 --- a/groovy/postInit/chemistry/organic_chemistry/polymers/PolydimethylsiloxaneChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/PolydimethylsiloxaneChain.groovy @@ -14,82 +14,83 @@ POLYMERIZATION = recipemap('polymerization_tank') // Polydimethylsiloxane FLUIDIZED_BED_REACTOR.recipeBuilder() - .fluidInputs(fluid('chloromethane') * 2000) - .notConsumable(ore('dustCuprousOxide')) - .inputs(ore('dustSilicon')) - .fluidOutputs(fluid('organosilicon_mixture') * 2000) - .duration(160) - .EUt(Globals.voltAmps[3] * 2) - .buildAndRegister() + .fluidInputs(fluid('chloromethane') * 2000) + .notConsumable(ore('dustCuprousOxide')) + .inputs(ore('dustSilicon')) + .fluidOutputs(fluid('organosilicon_mixture') * 2000) + .duration(160) + .EUt(Globals.voltAmps[3] * 2) + .buildAndRegister() DISTILLATION_TOWER.recipeBuilder() - .fluidInputs(fluid('organosilicon_mixture') * 1000) - .fluidOutputs(fluid('dimethyldichlorosilane') * 800) - .fluidOutputs(fluid('methyltrichlorosilane') * 100) - .fluidOutputs(fluid('methyldichlorosilane') * 50) - .fluidOutputs(fluid('chlorotrimethylsilane') * 50) - .duration(400) - .EUt(Globals.voltAmps[1] * 2) - .buildAndRegister() + .fluidInputs(fluid('organosilicon_mixture') * 1000) + .fluidOutputs(fluid('dimethyldichlorosilane') * 800) + .fluidOutputs(fluid('methyltrichlorosilane') * 100) + .fluidOutputs(fluid('methyldichlorosilane') * 50) + .fluidOutputs(fluid('chlorotrimethylsilane') * 50) + .duration(400) + .EUt(Globals.voltAmps[1] * 2) + .buildAndRegister() -DUMPER.recipeBuilder() - .fluidInputs(fluid('methyltrichlorosilane')* 50) - .duration(2) - .buildAndRegister() + DUMPER.recipeBuilder() + .fluidInputs(fluid('methyltrichlorosilane')* 50) + .duration(2) + .buildAndRegister() DUMPER.recipeBuilder() - .fluidInputs(fluid('methyldichlorosilane')* 50) - .duration(2) - .buildAndRegister() + .fluidInputs(fluid('methyldichlorosilane')* 50) + .duration(2) + .buildAndRegister() DUMPER.recipeBuilder() - .fluidInputs(fluid('chlorotrimethylsilane')* 50) - .duration(2) - .buildAndRegister() + .fluidInputs(fluid('chlorotrimethylsilane')* 50) + .duration(2) + .buildAndRegister() + //Methyltrichlorosilane can be used as a water repellent when put on a surface with water -//methyldichlorosilane is useless as far as i know //Chlorotrimethylsilane has some uses but mostly in reactions that are not relevant to this +// PDMS & Silicone Rubber + CSTR.recipeBuilder() - .fluidInputs(fluid('dimethyldichlorosilane') * 50) - .fluidInputs(fluid('water') * 75) - .fluidOutputs(fluid('impure_polydimethylsiloxane_mixture') * 75) - .fluidOutputs(fluid('hydrochloric_acid') * 50) - .duration(10) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() + .fluidInputs(fluid('dimethyldichlorosilane') * 50) + .fluidInputs(fluid('water') * 125) + .fluidOutputs(fluid('impure_polydimethylsiloxane_mixture') * 75) + .fluidOutputs(fluid('hydrochloric_acid') * 50) + .duration(10) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() PHASE_SEPARATOR.recipeBuilder() - .fluidInputs(fluid('impure_polydimethylsiloxane_mixture') * 1500) - .fluidOutputs(fluid('hydrochloric_acid') * 500) - .fluidOutputs(fluid('raw_polydimethylsiloxane_mixture') * 1000) - .duration(200) - .buildAndRegister() + .fluidInputs(fluid('impure_polydimethylsiloxane_mixture') * 1500) + .fluidOutputs(fluid('hydrochloric_acid') * 500) + .fluidOutputs(fluid('raw_polydimethylsiloxane_mixture') * 1000) + .duration(200) + .buildAndRegister() MIXER.recipeBuilder() - .fluidInputs(fluid('raw_polydimethylsiloxane_mixture') * 1000) - .fluidInputs(fluid('water') * 500) - .fluidOutputs(fluid('hydrochloric_acid') * 500) - .fluidOutputs(fluid('polydimethylsiloxane') * 1000) - .duration(200) - .EUt(Globals.voltAmps[1]) - .buildAndRegister() + .fluidInputs(fluid('raw_polydimethylsiloxane_mixture') * 1000) + .fluidInputs(fluid('water') * 500) + .fluidOutputs(fluid('hydrochloric_acid') * 500) + .fluidOutputs(fluid('polydimethylsiloxane') * 1000) + .duration(200) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() POLYMERIZATION.recipeBuilder() - .fluidInputs(fluid('polydimethylsiloxane') * 1000) - .fluidInputs(fluid('di_tert_butyl_peroxide') * 50) - .inputs(ore('dustSiliconDioxide')) - .fluidOutputs(fluid('silicone_rubber') * 1000) - .duration(100) - .EUt(Globals.voltAmps[3]) - .buildAndRegister() + .fluidInputs(fluid('polydimethylsiloxane') * 1000) + .fluidInputs(fluid('di_tert_butyl_peroxide') * 50) + .inputs(ore('dustSiliconDioxide')) + .fluidOutputs(fluid('silicone_rubber') * 1000) + .duration(100) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() POLYMERIZATION.recipeBuilder() - .fluidInputs(fluid('polydimethylsiloxane') * 1000) - .fluidInputs(fluid('di_tert_butyl_peroxide') * 50) - .inputs(ore('dustCarbon')) - .fluidOutputs(fluid('silicone_rubber') * 1000) - .duration(100) - .EUt(Globals.voltAmps[3]) - .buildAndRegister() - + .fluidInputs(fluid('polydimethylsiloxane') * 1000) + .fluidInputs(fluid('di_tert_butyl_peroxide') * 50) + .inputs(ore('dustCarbon')) + .fluidOutputs(fluid('silicone_rubber') * 1000) + .duration(100) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/PolymethacrylateChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/PolymethacrylateChain.groovy new file mode 100644 index 000000000..f03618729 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/PolymethacrylateChain.groovy @@ -0,0 +1,56 @@ +BR = recipemap('batch_reactor') +POLYMERIZATION = recipemap('polymerization_tank') +MIXER = recipemap('mixer') +DRYER = recipemap('dryer') +CSTR = recipemap('continuous_stirred_tank_reactor') + +// PMMA + +CSTR.recipeBuilder() + .fluidInputs(fluid('gtfo_hydrogen_cyanide') * 50) + .fluidInputs(fluid('acetone') * 50) + .fluidOutputs(fluid('acetone_cyanohydrin') * 50) + .duration(10) + .EUt(30) + .buildAndRegister() + +CSTR.recipeBuilder() + .fluidInputs(fluid('acetone_cyanohydrin') * 50) + .fluidInputs(fluid('sulfuric_acid') * 50) + .fluidOutputs(fluid('methacrylamide_sulfate') * 50) + .duration(10) + .EUt(30) + .buildAndRegister() + +BR.recipeBuilder() + .fluidInputs(fluid('methacrylamide_sulfate') * 1000) + .fluidInputs(fluid('methanol') * 1000) + .fluidOutputs(fluid('methyl_methacrylate') * 1000) + .outputs(metaitem('dustAmmoniumBisulfate') * 11) + .duration(300) + .EUt(30) + .buildAndRegister() + +MIXER.recipeBuilder() + .fluidInputs(fluid('methyl_methacrylate') * 1000) + .fluidInputs(fluid('water') * 1000) + .fluidInputs(fluid('gtfo_sodium_stearate') * 100) + .fluidOutputs(fluid('methyl_methacrylate_emulsion') * 2000) + .duration(300) + .EUt(30) + .buildAndRegister() + +POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('methyl_methacrylate_emulsion') * 2000) + .inputs(ore('dustTinyPotassiumPersulfate')) + .fluidOutputs(fluid('polymethyl_methacrylate_solution') * 2000) + .duration(300) + .EUt(30) + .buildAndRegister() + +DRYER.recipeBuilder() + .fluidInputs(fluid('polymethyl_methacrylate_solution') * 2000) + .outputs(metaitem('dustPmma') * 7) + .duration(300) + .EUt(30) + .buildAndRegister() \ No newline at end of file diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index 52e9fa2de..f16460dec 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -351,8 +351,6 @@ susy.material.brine=Brine susy.material.warm_brine=Warm Brine susy.material.oily_brine=Oily Brine susy.material.sulfuric_oil_residue=Sulfuric Oil Residue -susy.material.treated_sulfuric_oil_residue=Treated Sulfuric Oil Residue -susy.material.oil_residue=Oil Residue susy.material.high_pressure_water=High Pressure Water susy.material.light_bitumen_solution=Light Bitumen Solution susy.material.bitumen_solution=Bitumen Solution @@ -1812,6 +1810,28 @@ susy.material.supreme_diesel=Supreme Diesel susy.material.midgrade_kerosene=Midgrade Kerosene susy.material.premium_kerosene=Premium Kerosene susy.material.supreme_kerosene=Supreme Kerosene +susy.material.crude_lubricating_oil=Crude Lubricating Oil +susy.material.solvent_lubricant_mixture=Solvent-Lubricant Mixture +susy.material.cold_solvent_lubricant_mixture=Cold Solvent-Lubricant Mixture +susy.material.sulfuric_lubricating_oil=Sulfuric Lubricating Oil +susy.material.dewaxing_solvent=Dewaxing Solvent +DewaxedLubricantMixture +SAPOEleven +PlatinumSAPOEleven +SiliconeOilMixture +SiliconeOil +ChloroplatinicAcidSolution +TetraethylOrthosilicate +Methylphenyldichlorosilane +OneOctene +OneDecene +OneDodecene +OneTetradecene +OneHexadecene +OneOctadecene +OneIcosene +OneDocosene +OneTetracosene # Isotopes From fc6f3b2b1c0692428fbc738fa23aea9c77f7665b Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Sat, 2 Dec 2023 22:43:25 -0600 Subject: [PATCH 14/19] IT'S FINALLY OVER (LUBRICANT ADDITIVES) --- .../material/OrganicChemistryMaterials.groovy | 6 - groovy/material/SuSyMaterials.groovy | 1 - .../chemistry/ChemistryOverhaul.groovy | 42 +- .../petrochemistry/Lubricants.groovy | 429 ++++++++++++++++-- .../petrochemistry/OilOverhaul.groovy | 34 +- .../petrochemistry/Surfactants.groovy | 21 +- .../polymers/RubberChain.groovy | 101 +++++ resources/langfiles/lang/en_us.lang | 1 - resources/langfiles/lang/zh_cn.lang | 1 - 9 files changed, 527 insertions(+), 109 deletions(-) diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index 7eddb1038..33fa62a2b 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -480,12 +480,6 @@ public class OrganicChemistryMaterials { .colorAverage() .build(); - DryEthanol = new Material.Builder(15077, SuSyUtility.susyId('dry_ethanol')) - .fluid() - .components(Ethanol, 1) - .color(0xeb6b34) - .build(); - StyreneButadieneSolution = new Material.Builder(15078, SuSyUtility.susyId('styrene_butadiene_solution')) .fluid() .components(Styrene, 1, Butadiene, 1, Ethanol, 1) diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index f04891a87..5ff0f9b1b 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -1203,7 +1203,6 @@ class SuSyMaterials { public static Material ImpureBleach; public static Material OneFourDichlorobenzeneSolution; public static Material OneTwoDichlorobenzeneSolution; - public static Material DryEthanol; public static Material StyreneButadieneSolution; public static Material DiethylEther; public static Material OneBromobutane; diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index d41bdf0e1..da8868dd0 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -91,7 +91,7 @@ CENTRIFUGE.recipeBuilder() .buildAndRegister() CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('ethanol_water_azeotrope') * 250) + .fluidInputs(fluid('ethanol_water_azeotrope') * 280) .fluidInputs(fluid('fish_oil') * 6000) .fluidOutputs(fluid('bio_diesel') * 6000) .fluidOutputs(fluid('glycerol') * 1000) @@ -118,7 +118,7 @@ CENTRIFUGE.recipeBuilder() .buildAndRegister() CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('ethanol_water_azeotrope') * 250) + .fluidInputs(fluid('ethanol_water_azeotrope') * 280) .fluidInputs(fluid('seed_oil') * 6000) .fluidOutputs(fluid('bio_diesel') * 6000) .fluidOutputs(fluid('glycerol') * 1000) @@ -145,7 +145,7 @@ CENTRIFUGE.recipeBuilder() .buildAndRegister() CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('ethanol_water_azeotrope') * 250) + .fluidInputs(fluid('ethanol_water_azeotrope') * 280) .fluidInputs(fluid('gtfo_stearin') * 6000) .fluidOutputs(fluid('bio_diesel') * 6000) .fluidOutputs(fluid('glycerol') * 1000) @@ -1877,42 +1877,6 @@ DISTILLERY.recipeBuilder() .EUt(30) .buildAndRegister() -//styrene butadiene rubber - -SIFTER.recipeBuilder() -.fluidInputs(fluid('ethanol') * 1000) -.inputs(ore('dustMolecularSieve')* 4) -.fluidOutputs(fluid('dry_ethanol') * 1000) -.outputs(metaitem('dustWetMolecularSieve') * 4) //im not too sure about this recipe? -.EUt(30) -.duration(450) -.buildAndRegister() - -MIXER.recipeBuilder() -.fluidInputs(fluid('styrene') * 1000) -.fluidInputs(fluid('butadiene') * 1000) -.fluidInputs(fluid('dry_ethanol') * 1000) -.fluidOutputs(fluid('styrene_butadiene_solution') * 3000) -.EUt(60) -.duration(450) -.buildAndRegister() - -POLYMERIZATION.recipeBuilder() -.fluidInputs(fluid('styrene_butadiene_solution') * 3000) -.notConsumable(fluid('butyllithium') * 100) -.fluidOutputs(fluid('polymerized_styrene_butadiene_solution') * 3000) -.EUt(120) -.duration(1200) -.buildAndRegister() - -DRYER.recipeBuilder() -.fluidInputs(fluid('polymerized_styrene_butadiene_solution') * 3000) -.fluidOutputs(fluid('ethanol') * 1000) -.outputs(metaitem('dustRawStyreneButadieneRubber') * 16) -.EUt(120) -.duration(600) -.buildAndRegister() - //acetylene for (carbon in COAL_SOURCES) { diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy index c0fe7f09f..4a385426c 100644 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy @@ -350,7 +350,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .fluidInputs(fluid('isobutylene') * 4000) .fluidInputs(fluid('olefin_polymerization_initiator') * 500) .fluidOutputs(fluid('polyisobutene_mixture') * 4125) - .duration(80) + .duration(200) .EUt(Globals.voltAmps[2]) .buildAndRegister() @@ -381,7 +381,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .fluidInputs(fluid('water') * 1000) .fluidOutputs(fluid('methacrylic_acid') * 1000) .outputs(metaitem('dustAmmoniumBisulfate') * 11) - .duration(300) + .duration(200) .EUt(30) .buildAndRegister() @@ -391,7 +391,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .fluidInputs(fluid('sulfuric_acid') * 50) .fluidOutputs(fluid('alkyl_methacrylate') * 50) .fluidOutputs(fluid('diluted_sulfuric_acid') * 100) - .duration(15) + .duration(10) .EUt(30) .buildAndRegister() @@ -400,7 +400,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .fluidInputs(fluid('water') * 1000) .fluidInputs(fluid('gtfo_sodium_stearate') * 100) .fluidOutputs(fluid('alkyl_methacrylate_emulsion') * 2000) - .duration(300) + .duration(200) .EUt(30) .buildAndRegister() @@ -408,81 +408,456 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .fluidInputs(fluid('alkyl_methacrylate_emulsion') * 2000) .inputs(ore('dustTinyPotassiumPersulfate')) .fluidOutputs(fluid('polyalkyl_methacrylate_solution') * 2000) - .duration(300) + .duration(200) .EUt(30) .buildAndRegister() DRYER.recipeBuilder() .fluidInputs(fluid('polyalkyl_methacrylate_solution') * 2000) .outputs(metaitem('dustPama') * 7) - .duration(300) + .duration(200) .EUt(30) .buildAndRegister() // Hydrogenated styrene-butadiene rubber + BR.recipeBuilder() + .inputs(ore('dustRawStyreneIsopreneRubber') * 16) + .fluidInputs(fluid('hydrogen') * 2000) + .notConsumable(metaitem('catalystBedSupportedPalladium')) + .outputs(metaitem('dustHydrogenatedStyreneIsopreneRubber') * 18) + .fluidOutputs(fluid('water') * 1000) + .duration(20) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + // Hydrogenated styrene-isoprene rubber + BR.recipeBuilder() + .inputs(ore('dustRawStyreneButadieneRubber') * 16) + .fluidInputs(fluid('hydrogen') * 2000) + .notConsumable(metaitem('catalystBedSupportedPalladium')) + .outputs(metaitem('dustHydrogenatedStyreneButadieneRubber') * 18) + .fluidOutputs(fluid('water') * 1000) + .duration(20) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + // Detergents/dispersants // Calcium phenate + BR.recipeBuilder() + .fluidInputs(fluid('phenol') * 1000) + .fluidInputs(fluid('one_dodecene') * 1000) + .notConsumable(fluid('hydrofluoric_acid') * 100) + .outputs(metaitem('dustDodecylphenol')) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustDodecylphenol') * 3) + .inputs(ore('dustCalcite')) + .fluidInputs(fluid('sulfur_dichloride') * 2000) + .fluidOutputs(fluid('calcium_phenate') * 1000) + .fluidOutputs(fluid('hydrogen_chloride') * 4000) + .duration(200) + .EUt(30) + .buildAndRegister() + // Calcium dodecylsulfonate - // Calcium dodecylbenzylsulfonate + BR.recipeBuilder() + .inputs(ore('dustDodecanesulfonicAcid') * 2) + .fluidInputs(fluid('calcium_hydroxide_solution') * 1000) + .outputs(metaitem('dustCalciumDodecylSulfate')) + .fluidOutputs(fluid('water') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + + // Calcium dodecylbenzene sulfonate + + BR.recipeBuilder() + .fluidInputs(fluid('benzene') * 1000) + .fluidInputs(fluid('one_dodecene') * 1000) + .notConsumable(fluid('hydrofluoric_acid') * 100) + .outputs(metaitem('dustDodecylbenzene')) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustDodecylbenzene')) + .fluidInputs(fluid('oleum') * 11000) + .outputs(metaitem('dustDodecylbenzenesulfonicAcid')) + .fluidOutputs(fluid('sulfuric_acid') * 10000) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + BR.recipeBuilder() + .notConsumable(ore('platePolytetrafluoroethylene') * 6) + .inputs(ore('dustDodecylbenzene')) + .fluidInputs(fluid('chlorosulfuric_acid') * 1000) + .outputs(metaitem('dustDodecylbenzenesulfonicAcid')) + .fluidOutputs(fluid('hydrogen_chloride') * 1000) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() // Calcium salicylate - BR.recipeBuilder() - .inputs(ore('dustCalciumHydroxide') * 5) - .inputs(ore('dustCalciumCarbonate') * 5) - .fluidInputs(fluid('phenol') * 2000) - .fluidInputs(fluid('carbon_dioxide') * 2000) - .fluidInputs(fluid('diethylene_glycol') * 1000) - .notConsumable(fluid('hp_nitrogen') * 6400) - .fluidOutputs(fluid('calcium_salicylate_solution') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() + BR.recipeBuilder() + .inputs(ore('dustCalciumHydroxide') * 5) + .inputs(ore('dustCalcite')) + .fluidInputs(fluid('phenol') * 2000) + .fluidInputs(fluid('carbon_dioxide') * 2000) + .fluidInputs(fluid('diethylene_glycol') * 1000) + .notConsumable(fluid('hp_nitrogen') * 6400) + .fluidOutputs(fluid('calcium_salicylate_solution') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() - DISTILLERY.recipeBuilder() - .fluidInputs(fluid('calcium_salicylate_solution') * 1000) - .outputs(metaitem('dustCalciumSalicylate')) - .fluidOutputs(fluid('diethylene_glycol') * 1000) - .duration(20) - .EUt(30) - .buildAndRegister() + DISTILLERY.recipeBuilder() + .fluidInputs(fluid('calcium_salicylate_solution') * 1000) + .outputs(metaitem('dustCalciumSalicylate')) + .fluidOutputs(fluid('diethylene_glycol') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() // Polyisobutene succinic anhydride + FLUIDIZEDBR.recipeBuilder() + .fluidInputs(fluid('butane') * 1000) + .fluidInputs(fluid('oxygen') * 7000) + .notConsumable(ore('dustVanadiumPentoxide')) + .fluidOutputs(fluid('steam') * 4000) + .outputs(metaitem('dustMaleicAnhydride') * 9) + .duration(200) + .EUt(240) + .buildAndRegister() + + REACTION_FURNACE.recipeBuilder() + .inputs(ore('dustMaleicAnhydride') * 9) + .fluidInputs(fluid('polyisobutene') * 1000) + .outputs(metaitem('dustPolyisobuteneSuccinicAnhydride')) + .duration(200) + .EUt(240) + .buildAndRegister() + // Demulsifiers // Calcium dinonylnaphthalene sulfonate + BR.recipeBuilder() + .inputs(ore('dustDinonylnaphthaleneSulfonicAcid') * 2) + .fluidInputs(fluid('calcium_hydroxide_solution') * 1000) + .outputs(metaitem('dustCalciumDinonylnaphthaleneSulfonate')) + .fluidOutputs(fluid('water') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + // Polyethylene glycol + POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('ethylene_oxide') * 1000) + .fluidInputs(fluid('boron_trifluoride') * 50) + .fluidOutputs(fluid('polyethylene_glycol') * 1000) + .duration(200) + .EUt(240) + .buildAndRegister() + // Antiwear // Tri-(m/p)-cresylphosphate + DISTILLATION_TOWER.recipeBuilder() + .fluidInputs(fluid('cresol') * 1000) + .fluidOutputs(fluid('meta_para_cresol_mixture') * 700) // needs to be slightly higher than SATP + .fluidOutputs(fluid('ortho_cresol') * 300) + .duration(200) + .EUt(240) + .buildAndRegister() + + DUMPER.recipeBuilder() + .fluidInputs(fluid('ortho_cresol')) + .duration(50) + .buildAndRegister() + + CSTR.recipeBuilder() + .fluidInputs(fluid('meta_para_cresol_mixture') * 150) + .fluidInputs(fluid('phosphoryl_chloride') * 50) + .fluidOutputs(fluid('acidic_tricresyl_phosphate') * 200) + .duration(10) + .EUt(120) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustSodiumHydroxide') * 9) + .fluidInputs(fluid('acidic_triethyl_phosphate') * 4000) + .fluidOutputs(fluid('tricresyl_phosphate') * 1000) + .fluidOutputs(fluid('salt_water') * 3000) + .duration(200) + .EUt(120) + .buildAndRegister() + // Zinc/Molybdenum dialkyldithiophosphate + BR.recipeBuilder() + .inputs(ore('dustPhosphorusPentasulfide') * 7) + .fluidInputs(fluid('isopropyl_alcohol') * 4000) + .fluidOutputs(fluid('diisopropyldithiophosphoric_acid') * 2000) + .fluidOutputs(fluid('hydrogen_sulfide') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustPhosphorusPentasulfide') * 7) + .fluidInputs(fluid('butanolol') * 4000) + .fluidOutputs(fluid('dibutyldithiophosphoric_acid') * 2000) + .fluidOutputs(fluid('hydrogen_sulfide') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustZincOxide') * 2) + .fluidInputs(fluid('diisopropyldithiophosphoric_acid') * 2000) + .fluidOutputs(fluid('zinc_dialkyldithiophosphate') * 1000) + .fluidOutputs(fluid('water') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustZincOxide') * 2) + .fluidInputs(fluid('dibutyldithiophosphoric_acid') * 2000) + .fluidOutputs(fluid('zinc_dialkyldithiophosphate') * 1000) + .fluidOutputs(fluid('water') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustAmmoniumDimolybdate') * 19) + .fluidInputs(fluid('diisopropyldithiophosphoric_acid') * 4000) + .outputs(metaitem('dustMolybdenumDialkyldithiophosphate')) + .fluidOutputs(fluid('diluted_ammonia_solution') * 4000) + .duration(200) + .EUt(120) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustAmmoniumDimolybdate') * 19) + .fluidInputs(fluid('dibutyldithiophosphoric_acid') * 4000) + .outputs(metaitem('dustMolybdenumDialkyldithiophosphate')) + .fluidOutputs(fluid('diluted_ammonia_solution') * 4000) + .duration(200) + .EUt(120) + .buildAndRegister() + // Zinc-bis(diethyldithiocarbamate) + FBR.recipeBuilder() + .notConsumable(metaitem('catalystBedAlumina')) + .fluidInputs(fluid('n_pentanol') * 100) + .fluidInputs(fluid('ammonia') * 50) + .fluidOutputs(fluid('diamylamine') * 50) + .duration(5) + .EUt(120) + .buildAndRegister(); + + BR.recipeBuilder() + .inputs(ore('dustSodiumHydroxide') * 3) + .fluidInputs(fluid('carbon_disulfide') * 1000) + .fluidInputs(fluid('diamylamine') * 1000) + .fluidOutputs(fluid('sodium_diamyldithiocarbamate_solution') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustZincChloride') * 3) + .fluidInputs(fluid('sodium_diamyldithiocarbamate_solution') * 2000) + .outputs(metaitem('dustZincBisdiethyldithiocarbamate')) + .fluidOutputs(fluid('salt_water') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + // Antirust // Calcium didodecylbenzene sulfonate - // Alkylsuccinic acid + BR.recipeBuilder() + .circuitMeta(1) + .fluidInputs(fluid('benzene') * 1000) + .fluidInputs(fluid('one_dodecene') * 2000) + .notConsumable(fluid('hydrofluoric_acid') * 100) + .outputs(metaitem('dustDidodecylbenzene')) + .duration(100) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + BR.recipeBuilder() + .circuitMeta(2) + .inputs(ore('dustDodecylbenzene')) + .fluidInputs(fluid('one_dodecene') * 1000) + .notConsumable(fluid('hydrofluoric_acid') * 100) + .outputs(metaitem('dustDidodecylbenzene')) + .duration(100) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + BR.recipeBuilder() + .inputs(ore('dustDidodecylbenzene')) + .fluidInputs(fluid('oleum') * 11000) + .outputs(metaitem('dustDidodecylbenzeneSulfonicAcid')) + .fluidOutputs(fluid('sulfuric_acid') * 10000) + .duration(100) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + BR.recipeBuilder() + .notConsumable(ore('platePolytetrafluoroethylene') * 6) + .inputs(ore('dustDidodecylbenzene')) + .fluidInputs(fluid('chlorosulfuric_acid') * 1000) + .outputs(metaitem('dustDidodecylbenzeneSulfonicAcid')) + .fluidOutputs(fluid('hydrogen_chloride') * 1000) + .duration(100) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustDidodecylbenzeneSulfonicAcid') * 2) + .fluidInputs(fluid('calcium_hydroxide_solution') * 1000) + .outputs(metaitem('dustCalciumDidodecylbenzeneSulfate')) + .fluidOutputs(fluid('water') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + + // 4-nonylphenoxyacetic acid + + BR.recipeBuilder() + .fluidInputs(fluid('phenol') * 1000) + .fluidInputs(fluid('triproplyene') * 1000) + .notConsumable(fluid('hydrofluoric_acid') * 100) + .fluidOutputs(fluid('nonylphenol')) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + CSTR.recipeBuilder() + .notConsumable(ore('springKanthal')) + .fluidInputs(fluid('dichloroethane') * 50) + .fluidInputs(fluid('chlorine') * 200) + .fluidOutputs(fluid('trichloroethylene') * 50) + .fluidOutputs(fluid('hydrogen_chloride') * 150) + .duration(10) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + CSTR.recipeBuilder() + .fluidInputs(fluid('trichloroethylene') * 50) + .fluidInputs(fluid('diluted_sulfuric_acid') * 200) + .fluidOutputs(fluid('chloroacetic_acid_solution') * 150) + .fluidOutputs(fluid('hydrogen_chloride') * 100) + .duration(10) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + VACUUM_DT.recipeBuilder() + .fluidInputs(fluid('chloroacetic_acid_solution') * 3000) + .fluidOutputs(fluid('sulfuric_acid') * 2000) + .fluidOutputs(fluid('chloroacetic_acid') * 1000) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + CSTR.recipeBuilder() + .fluidInputs(fluid('nonylphenol') * 50) + .fluidInputs(fluid('sodium_hydroxide_solution') * 50) + .fluidInputs(fluid('chloroacetic_acid') * 50) + .fluidOutputs(fluid('four_nonylphenoxyacetic_acid') * 50) + .fluidOutputs(fluid('diluted_saltwater') * 100) + .duration(10) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + // Corrosion inhibitors - // Benzo/tolyltriazole + // Benzotriazole + + BR.recipeBuilder() + .inputs(ore('dustTwoNitrochlorobenzene')) + .fluidInputs(fluid('toluene') * 1000) + .fluidInputs(fluid('ammonia') * 2000) + .outputs(metaitem('dustAmmoniumChloride') * 6) + .fluidOutputs(fluid('two_nitroaniline_solution') * 1000) + .duration(600) + .EUt(120) + .buildAndRegister() + + BCR.recipeBuilder() + .notConsumable(ore('catalystBedPalladium')) + .fluidInputs(fluid('two_nitroaniline_solution') * 50) + .fluidInputs(fluid('hydrogen') * 300) + .fluidOutputs(fluid('ortho_phenylenediamine_solution') * 150) + .duration(200) + .EUt(30) + .buildAndRegister() + + DISTILLATION_TOWER.recipeBuilder() + .fluidInputs(fluid('ortho_phenylenediamine_solution') * 3000) + .fluidOutputs(fluid('toluene') * 1000) + .fluidOutputs(fluid('steam') * 2000) + .outputs(metaitem('dustOrthoPhenylenediamine') * 16) + .duration(200) + .EUt(30) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustOrthoPhenylenediamine') * 16) + .inputs(ore('dustSodiumNitrite') * 4) + .fluidInputs(fluid('hydrogen_chloride') * 1000) + .outputs(metaitem('dustBenzotriazole')) + .fluidOutputs(fluid('diluted_saltwater') * 2000) + .duration(200) + .EUt(30) + .buildAndRegister() // Mercaptobenzothiazole + BR.recipeBuilder() + .inputs(ore('dustSulfur')) + .fluidInputs(fluid('aniline') * 1000) + .fluidInputs(fluid('carbon_disulfide') * 1000) + .outputs(metaitem('dustMecaptobenzothiazole')) + .fluidOutputs(fluid('hydrogen_sulfide') * 1000) + .duration(200) + .EUt(30) + .buildAndRegister() + // SALEN + BR.recipeBuilder() + .inputs(ore('ethylenediamine') * 1000) + .inputs(ore('dustSodiumCyanoborohydride') * 14) + .fluidInputs(fluid('hydrochloric_acid') * 2000) + .fluidInputs(fluid('salicylaldehyde') * 2000) + .outputs(metaitem('dustSalicylideneOneTwoEthylenediamine')) + .fluidOutputs(fluid('wastewater') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + // Final blending def frictionModifiersMap = [ diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/OilOverhaul.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/OilOverhaul.groovy index 409407673..b34da7fd8 100644 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/OilOverhaul.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/OilOverhaul.groovy @@ -1111,36 +1111,4 @@ REFORMER.recipeBuilder() .fluidOutputs(fluid('para_xylene') * 1000) .duration(60) .EUt(Globals.voltAmps[1] * 2) -.buildAndRegister() - -POLYMERIZATION_TANK.recipeBuilder() - .fluidInputs(fluid('isoprene') * 1000) - .outputs(metaitem('dustPolyisoprene') * 4) - .notConsumable(metaitem('dustZieglerNattaCatalyst')) - .duration(200) - .EUt(120) - .buildAndRegister() - -POLYMERIZATION_TANK.recipeBuilder() - .fluidInputs(fluid('isoprene') * 1000) - .outputs(metaitem('dustPolyisoprene') * 6) - .notConsumable(fluid('butyllithium') * 100) - .duration(200) - .EUt(120) - .buildAndRegister() - -POLYMERIZATION_TANK.recipeBuilder() - .fluidInputs(fluid('purified_isoprene') * 1000) - .outputs(metaitem('dustPolyisoprene') * 6) - .notConsumable(metaitem('dustZieglerNattaCatalyst')) - .duration(200) - .EUt(120) - .buildAndRegister() - -POLYMERIZATION_TANK.recipeBuilder() - .fluidInputs(fluid('purified_isoprene') * 1000) - .outputs(metaitem('dustPolyisoprene') * 8) - .notConsumable(fluid('butyllithium') * 100) - .duration(200) - .EUt(120) - .buildAndRegister() \ No newline at end of file +.buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy index 725b3fbae..91c8ee3f8 100644 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy @@ -36,6 +36,15 @@ BR.recipeBuilder() .EUt(Globals.voltAmps[2]) .buildAndRegister() +BR.recipeBuilder() + .fluidInputs(fluid('n_dodecanol') * 1000) + .fluidInputs(fluid('oleum') * 11000) + .outputs(metaitem('dustDodecanesulfonicAcid')) + .fluidOutputs(fluid('sulfuric_acid') * 10000) + .duration(100) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + BR.recipeBuilder() .inputs(metaitem('dustDodecanesulfonicAcid')) .fluidInputs(fluid('sodium_hydroxide_solution') * 1000) @@ -77,6 +86,16 @@ BR.recipeBuilder() .fluidInputs(fluid('oleum') * 11000) .outputs(metaitem('dustDinonylnaphthaleneSulfonicAcid')) .fluidOutputs(fluid('sulfuric_acid') * 10000) - .duration(5) + .duration(100) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + +BR.recipeBuilder() + .notConsumable(ore('platePolytetrafluoroethylene') * 6) + .inputs(ore('dustDinonylnaphthalene')) + .fluidInputs(fluid('chlorosulfuric_acid') * 1000) + .outputs(metaitem('dustDinonylnaphthaleneSulfonicAcid')) + .fluidOutputs(fluid('hydrogen_chloride') * 1000) + .duration(100) .EUt(Globals.voltAmps[2]) .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy index ca06e8d4e..1d7d0b400 100644 --- a/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy @@ -5,6 +5,11 @@ import gregtech.api.unification.material.Materials; import gregtech.api.unification.ore.OrePrefix; import gregtech.api.unification.stack.UnificationEntry; +POLYMERIZATION_TANK = recipemap('polymerization_tank') +MIXER = recipemap('mixer') +SIFTER = recipemap('sifter') +DRYER = recipemap('dryer') + //REMOVALS // Raw Rubber Pulp * 2 mods.gregtech.extractor.removeByInput(2, [item('minecraft:slime_ball')], null) @@ -209,3 +214,99 @@ for (coagulant in coagulants) { CoagulationRecipe(coagulant, 4, 1000, 4) CoagulationRecipe(coagulant, 16, 2500, 5) } + +// Polyisoprene +POLYMERIZATION_TANK.recipeBuilder() + .fluidInputs(fluid('isoprene') * 1000) + .outputs(metaitem('dustPolyisoprene') * 4) + .notConsumable(metaitem('dustZieglerNattaCatalyst')) + .duration(200) + .EUt(120) + .buildAndRegister() + +POLYMERIZATION_TANK.recipeBuilder() + .fluidInputs(fluid('isoprene') * 1000) + .outputs(metaitem('dustPolyisoprene') * 6) + .notConsumable(fluid('butyllithium') * 100) + .duration(200) + .EUt(120) + .buildAndRegister() + +POLYMERIZATION_TANK.recipeBuilder() + .fluidInputs(fluid('purified_isoprene') * 1000) + .outputs(metaitem('dustPolyisoprene') * 6) + .notConsumable(metaitem('dustZieglerNattaCatalyst')) + .duration(200) + .EUt(120) + .buildAndRegister() + +POLYMERIZATION_TANK.recipeBuilder() + .fluidInputs(fluid('purified_isoprene') * 1000) + .outputs(metaitem('dustPolyisoprene') * 8) + .notConsumable(fluid('butyllithium') * 100) + .duration(200) + .EUt(120) + .buildAndRegister() + +// Styrene - Isoprene rubber + +MIXER.recipeBuilder() +.fluidInputs(fluid('styrene') * 1000) +.fluidInputs(fluid('isoprene') * 1000) +.fluidInputs(fluid('ethanol') * 1000) +.fluidOutputs(fluid('styrene_isoprene_solution') * 3000) +.EUt(60) +.duration(200) +.buildAndRegister() + +POLYMERIZATION.recipeBuilder() +.fluidInputs(fluid('styrene_isoprene_solution') * 3000) +.notConsumable(fluid('butyllithium') * 100) +.fluidOutputs(fluid('polymerized_styrene_butadiene_solution') * 3000) +.EUt(120) +.duration(533) +.buildAndRegister() + +DRYER.recipeBuilder() +.fluidInputs(fluid('polymerized_styrene_isoprene_solution') * 3000) +.fluidOutputs(fluid('ethanol') * 1000) +.outputs(metaitem('dustRawStyreneIsopreneRubber') * 16) +.EUt(120) +.duration(533) +.buildAndRegister() + +// Styrene - Butadiene rubber + +SIFTER.recipeBuilder() +.fluidInputs(fluid('ethanol_water_azeotrope') * 1000) +.inputs(ore('dustMolecularSieve')* 4) +.fluidOutputs(fluid('ethanol') * 900) +.outputs(metaitem('dustWetMolecularSieve') * 4) +.EUt(30) +.duration(200) +.buildAndRegister() + +MIXER.recipeBuilder() +.fluidInputs(fluid('styrene') * 1000) +.fluidInputs(fluid('butadiene') * 1000) +.fluidInputs(fluid('ethanol') * 1000) +.fluidOutputs(fluid('styrene_butadiene_solution') * 3000) +.EUt(60) +.duration(200) +.buildAndRegister() + +POLYMERIZATION.recipeBuilder() +.fluidInputs(fluid('styrene_butadiene_solution') * 3000) +.notConsumable(fluid('butyllithium') * 100) +.fluidOutputs(fluid('polymerized_styrene_butadiene_solution') * 3000) +.EUt(120) +.duration(533) +.buildAndRegister() + +DRYER.recipeBuilder() +.fluidInputs(fluid('polymerized_styrene_butadiene_solution') * 3000) +.fluidOutputs(fluid('ethanol') * 1000) +.outputs(metaitem('dustRawStyreneButadieneRubber') * 16) +.EUt(120) +.duration(533) +.buildAndRegister() \ No newline at end of file diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index f16460dec..a71fafa96 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -78,7 +78,6 @@ susy.material.bleach=Bleach susy.material.impure_bleach=Impure Bleach susy.material.one_four_dichlorobenzene_solution=1,4-Dichlorobenzene Solution susy.material.one_two_dichlorobenzene_solution=1,2-Dichlorobenzene Solution -susy.material.dry_ethanol=Dry Ethanol susy.material.styrene_butadiene_solution=Styrene Butadiene Solution susy.material.diethyl_ether=Diethyl Ether susy.material.diethyl_ether_solution=Diethyl Ether Solution diff --git a/resources/langfiles/lang/zh_cn.lang b/resources/langfiles/lang/zh_cn.lang index 102b327a0..5ca40463c 100644 --- a/resources/langfiles/lang/zh_cn.lang +++ b/resources/langfiles/lang/zh_cn.lang @@ -78,7 +78,6 @@ susy.material.bleach=漂白剂 susy.material.impure_bleach=含杂漂白剂 susy.material.one_four_dichlorobenzene_solution=对二氯苯溶液 susy.material.one_two_dichlorobenzene_solution=邻二氯苯溶液 -susy.material.dry_ethanol=无水乙醇 susy.material.styrene_butadiene_solution=苯乙烯-丁二烯溶液 susy.material.diethyl_ether=乙醚 susy.material.diethyl_ether_solution=乙醚溶液 From e15db49cf66a3bb348ad2edfba7be462d9d64468 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Thu, 7 Dec 2023 00:14:40 -0600 Subject: [PATCH 15/19] tabulated all additives --- .../organic_chemistry/Extractants.groovy | 4 +- .../petrochemistry/Lubricants.groovy | 206 ++++++++++++++++-- 2 files changed, 193 insertions(+), 17 deletions(-) diff --git a/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy index c10e5aee7..5379a3624 100644 --- a/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy @@ -108,8 +108,8 @@ DISTILLERY.recipeBuilder() //FLOTATION AGENTS //FATTY ACIDS -ROASTER.recipeBuilder() - .fluidInputs(fluid('steam') * 3000) +AUTOCLAVE.recipeBuilder() + .fluidInputs(fluid('distilled_water') * 3000) .fluidInputs(fluid('seed_oil') * 1000) .fluidOutputs(fluid('glycerol') * 1000) .fluidOutputs(fluid('fatty_acid_solution') * 3000) diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy index 4a385426c..b32b551db 100644 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy @@ -258,8 +258,14 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .EUt(Globals.voltAmps[2]) .buildAndRegister() - // Simple esters + // Esters + def alcoholTab = [ + 'n_octanol', + 'n_decanol', + 'n_dodecanol' + ] + LCR.recipeBuilder() .fluidInputs(fluid('pseudocumene') * 1000) .fluidInputs(fluid('hot_hp_air') * 12000) @@ -286,22 +292,126 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .duration(100) .buildAndRegister() + for (alcohol in alcoholTab) { + BR.recipeBuilder() + .inputs(ore('dustPhthalicAnhydride') * 15) + .fluidInputs(fluid(alcohol) * 1000) + .fluidOutputs(fluid('ester_base_oil') * 1000) + .EUt(120) + .duration(100) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustTrimelliticAnhydride') * 18) + .fluidInputs(fluid(alcohol) * 1000) + .fluidOutputs(fluid('ester_base_oil') * 1500) + .EUt(120) + .duration(100) + .buildAndRegister() + + BR.recipeBuilder() + .inputs(ore('dustPyromelliticDianhydride') * 18) + .fluidInputs(fluid(alcohol) * 2000) + .fluidOutputs(fluid('ester_base_oil') * 3000) + .EUt(120) + .duration(100) + .buildAndRegister() + } + // Friction Modifiers /*Mechanically working FMs: molybdenum disulfide, - graphite, PTFE, polyamide, polyimide, fluorinated - graphite + graphite, PTFE, polyamide, fluorinated + graphite*/ + + // Molybdenum disulfide + + CENTRIFUGE.recipeBuilder() + .inputs(ore('dustFlotatedMolybdenite')) + .outputs(metaitem('dustMolybdenumDisulfide')) + .duration(200) + .EUt(120) + .buildAndRegister() + + ROASTER.recipeBuilder() + .notConsumable(fluid('nitrogen') * 8000) + .inputs(ore('dustMolybdenumTrisulfide')) + .outputs(metaitem('dustMolybdenumDisulfide')) + .outputs(metaitem('dustSulfur')) + .duration(200) + .EUt(120) + .buildAndRegister() + + // Fluorinated graphite + + REACTION_FURNACE.recipeBuilder() + .inputs(ore('dustGraphite')) + .fluidInputs(fluid('fluorine') * 1000) + .outputs(metaitem('dustFluorinatedGraphite')) + .duration(200) + .EUt(240) + .buildAndRegister() - Adsoprtion layer FMs: + /*Adsoprtion layer FMs: long-chain carboxylic acids, fatty acid esters, - ethers, alcohols, amines, amides, imides + ethers, alcohols, amides*/ - Tribochemical FMs: + // Oleomide + + CSTR.recipeBuilder() + .notConsumable(ore('springKanthal')) + .fluidInputs(fluid('oleic_acid') * 50) + .fluidInputs(fluid('ammonia') * 50) + .fluidOutputs(fluid('oleylamide') * 50) + .fluidOutputs(fluid('water') * 50) + .duration(10) + .EUt(240) + .buildAndRegister() + + // Monoglycerides + + CSTR.recipeBuilder() + .notConsumable(ore('springKanthal')) + .fluidInputs(fluid('seed_oil') * 50) + .fluidInputs(fluid('glycerol') * 100) + .fluidOutputs(fluid('monoglycerides') * 150) + .duration(10) + .EUt(240) + .buildAndRegister() + + /*Tribochemical FMs: saturated fatty acids, phosphoric and thiophosphoric acid esters, xanthates, sulfurized fatty - acids + acids*/ + + // Stearic acid + + AUTOCLAVE.recipeBuilder() + .fluidInputs(fluid('distilled_water') * 3000) + .fluidInputs(fluid('gtfo_stearin') * 1000) + .fluidOutputs(fluid('glycerol') * 1000) + .fluidOutputs(fluid('stearic_acid') * 3000) + .EUt(30) + .duration(200) + .buildAndRegister() - Friction polymer FMs: + // Palmitic acid + + // ADD PALM OIL WHEN READY + + LCR.recipeBuilder() + .inputs(ore('dustChromiumTrioxide') * 16) + .fluidInputs(fluid('sulfuric_acid') * 6000) + .fluidInputs(fluid('distilled_water') * 15000) + .fluidInputs(fluid('acetone') * 1000) + .fluidInputs(fluid('n_hexadecanol') * 3000) + .fluidOutputs(fluid('chromium_sulfate_solution') * 1000) + .fluidOutputs(fluid('palmitic_acid') * 3000) + .duration(200) + .EUt(200) + .buildAndRegister() + + /*Friction polymer FMs: ethoxylated dicarboxylic acid monoesters, dialkyl phthalates, methacrylates, unsaturated fatty acids, sulfurized olefins*/ @@ -845,9 +955,9 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .EUt(30) .buildAndRegister() - // SALEN +// Chelates: SALEN - BR.recipeBuilder() +BR.recipeBuilder() .inputs(ore('ethylenediamine') * 1000) .inputs(ore('dustSodiumCyanoborohydride') * 14) .fluidInputs(fluid('hydrochloric_acid') * 2000) @@ -860,11 +970,77 @@ UV_LIGHT_BOX = recipemap('uv_light_box') // Final blending -def frictionModifiersMap = [ - 'dustTalc': 0.5 - 'dustSoapstone': 0.5 +def baseOilMap = [ + 'seed_oil': 0.5, + 'lubricating_oil': 1, + 'polybutene': 1.5, + 'polyalphaolefin': 2.5, + 'ester_base_oil': 3 +] + +def solidFrictionModifierMap = [ + 'dustTalc': 0.5, + 'dustSoapstone': 0.5, + 'dustGraphite': 1, + 'dustFluorinatedGraphite': 2, + 'dustPolycaprolactam': 3, + 'dustPolytetrafluoroethylene': 4, + 'dustMolybdenumDisulfide': 4 ] -def baseOils = [ +def liquidFrictionModifierMap = [ + 'seed_oil': 0.5, + 'oleic_acid': 1, + 'stearic_acid': 1, + 'linoleic_acid': 1, + 'palmitic_acid': 1, + 'oleylamine': 2, + 'monoglycerides': 2 +] + +def solidAntiwearMap = [ + 'tricresyl_phosphate': 1, + 'zinc_dialkyldithiophosphate': 1.5 +] + +def liquidAntiwearMap = [ + 'dustMolybdenumDialkyldithiophosphate': 4, + 'dustZincBisdiethyldithiocarbamate': 2 +] + +// polyisobutene: 2 + +def pourPointDepressantMap = [ + 'dustEthylenePropyleneCopolymer': 1 + 'dustHydrogenatedStyreneIsopreneRubber': 2 + 'dustHydrogenatedStyreneButadieneRubber': 2 + 'dustPama': 4 +] + +// calcium_phenate: 3 + +def detergentMap = [ + 'dustCalciumDodecylSulfate': 1, + 'dustDodecylbenzenesulfonicAcid': 2, + 'dustCalciumSalicylate': 2, + 'dustPolyisobuteneSuccinicAnhydride': 4 +] + +def chelates = [ + 'dustSalicylideneOneTwoEthylenediamine', + 'dustSalicylideneOneTwoPropanediamine' +] + +def corrosionInhibitors = [ + 'dustBenzotriazole', + 'dustMecaptobenzothiazole' +] + +// dustNPhenylOneNaphthylamine: 2 + +def antioxidantMap = [ + 'butylated_hydroxytoluene': 1.5, + 'dimethyl_tert_butylphenol': 1, + 'di_tert_butylphenol': 1 +] -] \ No newline at end of file From a849dfa84a4f0074cd37271baf55660f76ae9cc8 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Thu, 7 Dec 2023 22:04:27 -0600 Subject: [PATCH 16/19] lubricant tiers (supreme lube is real) --- .../petrochemistry/Lubricants.groovy | 150 +++++++++++++++++- 1 file changed, 144 insertions(+), 6 deletions(-) diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy index b32b551db..4e9765ed9 100644 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy @@ -464,12 +464,12 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .EUt(Globals.voltAmps[2]) .buildAndRegister() - CSTR.recipeBuilder() + BR.recipeBuilder() .fluidInputs(fluid('polyisobutene_mixture') * 4125) .fluidInputs(fluid('water') * 500) - .fluidOutputs(fluid('polyisobutene') * 4000) + .outputs(metaitem('dustPolyisobutene')) .fluidOutputs(fluid('boron_trifluoride_mixture') * 625) - .duration(4) + .duration(200) .EUt(Globals.voltAmps[2]) .buildAndRegister() @@ -989,7 +989,6 @@ def solidFrictionModifierMap = [ ] def liquidFrictionModifierMap = [ - 'seed_oil': 0.5, 'oleic_acid': 1, 'stearic_acid': 1, 'linoleic_acid': 1, @@ -1008,12 +1007,11 @@ def liquidAntiwearMap = [ 'dustZincBisdiethyldithiocarbamate': 2 ] -// polyisobutene: 2 - def pourPointDepressantMap = [ 'dustEthylenePropyleneCopolymer': 1 'dustHydrogenatedStyreneIsopreneRubber': 2 'dustHydrogenatedStyreneButadieneRubber': 2 + 'dustPolyisobutene': 2 'dustPama': 4 ] @@ -1044,3 +1042,143 @@ def antioxidantMap = [ 'di_tert_butylphenol': 1 ] +// Base +baseOilMap.each { oil, multiplier1 -> + solidFrictionModifierMap.each { sfm, multiplier2 -> + MIXER.recipeBuilder() + .inputs(ore(sfm)) + .fluidInputs(fluid(oil) * (1000 * multiplier2 * 4)) + .fluidOutputs(fluid('lubricant') * (1000 * multiplier1 * multiplier2 * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() + } + + liquidFrictionModifierMap.each { lfm, multiplier3 -> + MIXER.recipeBuilder() + .fluidInputs(fluid(oil) * (1000 * multiplier3)) + .fluidInputs(fluid(lfm) * 250) + .fluidOutputs(fluid('lubricant') * (1000 * multiplier1 * multiplier3)) + .duration(200) + .EUt(120) + .buildAndRegister() + } +} + +// Midgrade +solidAntiwearMap.each { saw, multiplier -> + MIXER.recipeBuilder() + .inputs(ore(saw)) + .fluidInputs(fluid('lubricant') * (1000 * multiplier * 4)) + .fluidInputs(fluid('polyethylene_glycol') * 1000) + .fluidInputs(fluid('antifoaming_additive') * 1000) + .fluidOutputs(fluid('midgrade_lubricant') * (1000 * multiplier * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() + + MIXER.recipeBuilder() + .inputs(ore(saw)) + .inputs(ore('dustCalciumDinonylnaphthaleneSulfonate')) + .fluidInputs(fluid('lubricant') * (1000 * multiplier * 4)) + .fluidInputs(fluid('antifoaming_additive') * 1000) + .fluidOutputs(fluid('midgrade_lubricant') * (1000 * multiplier * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() +} + +liquidAntiwearMap.each { law, multiplier -> + MIXER.recipeBuilder() + .fluidInputs(fluid('lubricant') * (1000 * multiplier)) + .fluidInputs(fluid('polyethylene_glycol') * 250) + .fluidInputs(fluid('antifoaming_additive') * 250) + .fluidInputs(fluid(law) * 250) + .fluidOutputs(fluid('midgrade_lubricant') * (1000 * multiplier)) + .duration(200) + .EUt(120) + .buildAndRegister() + + MIXER.recipeBuilder() + .inputs(ore('dustCalciumDinonylnaphthaleneSulfonate')) + .fluidInputs(fluid('lubricant') * (1000 * multiplier * 4)) + .fluidInputs(fluid('antifoaming_additive') * 1000) + .fluidInputs(fluid(law) * 1000) + .fluidOutputs(fluid('midgrade_lubricant') * (1000 * multiplier * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() +} + +// Premium +pourPointDepressantMap.each { ppd, multiplier1 -> + MIXER.recipeBuilder() + .inputs(ore(ppd)) + .fluidInputs(fluid('calcium_phenate') * 1000) + .inputs(ore('dustCalciumDidodecylbenzeneSulfate')) + .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) + .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() + + MIXER.recipeBuilder() + .inputs(ore(ppd)) + .fluidInputs(fluid('calcium_phenate') * 1000) + .fluidInputs(fluid('four_nonylphenoxyacetic_acid') * 1000) + .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * 3 * 4)) + .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * 3 * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() + + detergentMap.each { det, multiplier2 -> + MIXER.recipeBuilder() + .inputs(ore(det)) + .inputs(ore(ppd)) + .inputs(ore('dustCalciumDidodecylbenzeneSulfate')) + .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) + .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() + + MIXER.recipeBuilder() + .inputs(ore(det)) + .inputs(ore(ppd)) + .fluidInputs(fluid('four_nonylphenoxyacetic_acid') * 1000) + .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) + .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() + } +} + +// Supreme + +for (chelate in chelates) { + for (ci in corrosionInhibitors) { + MIXER.recipeBuilder() + .inputs(ore(chelate)) + .inputs(ore(ci)) + .inputs(ore('dustNPhenylOneNaphthylamine')) + .fluidInputs(fluid('premium_lubricant') * 4000) + .fluidOutputs(fluid('supreme_lubricant') * 4000) + .duration(200) + .EUt(120) + .buildAndRegister() + + antioxidantMap.each { ant, multiplier + MIXER.recipeBuilder() + .inputs(ore(chelate)) + .inputs(ore(ci)) + .fluidInputs(fluid(ant) * 1000) + .fluidInputs(fluid('premium_lubricant') * (1000 * multiplier * 4)) + .fluidOutputs(fluid('supreme_lubricant') * (1000 * multiplier * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() + } + } +} From 99d3c54c98010940285ac087fde4a2e4d5247af7 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Sun, 10 Dec 2023 21:37:08 -0600 Subject: [PATCH 17/19] register 5.91837147150e13 materials --- groovy/material/FirstDegreeMaterials.groovy | 18 +- .../material/OrganicChemistryMaterials.groovy | 385 +++++++++++++++++- .../material/PetrochemistryMaterials.groovy | 10 +- groovy/material/SecondDegreeMaterials.groovy | 20 +- groovy/material/SuSyMaterials.groovy | 94 ++++- groovy/material/ThirdDegreeMaterials.groovy | 40 +- .../UnknownCompositionMaterials.groovy | 130 +++++- .../postInit/chemistry/AirDistillation.groovy | 8 +- .../chemistry/ChemistryOverhaul.groovy | 18 +- .../chemistry/elements/ManganeseChain.groovy | 4 +- .../petrochemistry/Lubricants.groovy | 100 +++-- .../petrochemistry/Surfactants.groovy | 6 +- .../polymers/RubberChain.groovy | 23 +- resources/langfiles/lang/en_us.lang | 124 ++++-- resources/langfiles/lang/zh_cn.lang | 2 - 15 files changed, 834 insertions(+), 148 deletions(-) diff --git a/groovy/material/FirstDegreeMaterials.groovy b/groovy/material/FirstDegreeMaterials.groovy index 9d3ea01a3..82c10077d 100644 --- a/groovy/material/FirstDegreeMaterials.groovy +++ b/groovy/material/FirstDegreeMaterials.groovy @@ -3292,6 +3292,22 @@ public class FirstDegreeMaterials{ .colorAverage() .build(); - ChloroplatinicAcidSolution + ChloroplatinicAcidSolution = new Material.Builder(8580, SuSyUtility.susyId("chloroplatinic_acid_solution")) + .fluid(FluidTypes.ACID) + .components(Hydrogen, 2, Platinum, 1, Chlorine, 6, Water, 4) + .colorAverage() + .build(); + + MolybdenumDisulfide = new Material.Builder(8581, SuSyUtility.susyId("molybdenum_disulfide")) + .dust() + .components(Molybdenum, 1, Sulfur, 2) + .colorAverage() + .build(); + + FluorinatedGraphite = new Material.Builder(8582, SuSyUtility.susyId("fluorinated_graphite")) + .dust() + .components(Carbon, 1, Fluorine, 1) + .colorAverage() + .build(); } } \ No newline at end of file diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index 33fa62a2b..e1c181a4c 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -482,7 +482,7 @@ public class OrganicChemistryMaterials { StyreneButadieneSolution = new Material.Builder(15078, SuSyUtility.susyId('styrene_butadiene_solution')) .fluid() - .components(Styrene, 1, Butadiene, 1, Ethanol, 1) + .components(Styrene, 1, Butadiene, 3, Ethanol, 1) .colorAverage() .build(); @@ -513,7 +513,6 @@ public class OrganicChemistryMaterials { PolymerizedStyreneButadieneSolution = new Material.Builder(15083, SuSyUtility.susyId('polymerized_styrene_butadiene_solution')) .fluid() .color(0x332e2c) - .color(0x3d2509) .build(); MethylFormate = new Material.Builder(15084, SuSyUtility.susyId('methyl_formate')) @@ -1855,7 +1854,7 @@ public class OrganicChemistryMaterials { .iconSet(DULL) .build(); - DodecanesulfonicAcid = new Material.Builder(15297, SuSyUtility.susyId('dodecanesulfonic_acid')) + HydrogenDodecylSulfate = new Material.Builder(15297, SuSyUtility.susyId('hydrogen_dodecyl_sulfate')) .dust() .components(Carbon, 12, Hydrogen, 26, Sulfur, 1, Oxygen, 4) .iconSet(SAND) @@ -1864,7 +1863,7 @@ public class OrganicChemistryMaterials { SodiumDodecylSulfate = new Material.Builder(15298, SuSyUtility.susyId('sodium_dodecyl_sulfate')) .dust() - .components(Carbon, 12, Hydrogen, 25 Sulfur, 1, Oxygen, 4, Sodium, 1) + .components(Carbon, 12, Hydrogen, 25, Sulfur, 1, Oxygen, 4, Sodium, 1) .iconSet(SAND) .color(0xe6e4cf) .build(); @@ -1937,7 +1936,7 @@ public class OrganicChemistryMaterials { .color(0x22b55d) .build(); - Salicylaldehyde = new Material.Builder(1530, SuSyUtility.susyId('salicylaldehyde')) + Salicylaldehyde = new Material.Builder(15309, SuSyUtility.susyId('salicylaldehyde')) .fluid() .components(Carbon, 7, Hydrogen, 6, Oxygen, 2) .color(0x3f44a6) @@ -1982,16 +1981,370 @@ public class OrganicChemistryMaterials { .color(0xae21b0) .build(); - TetraethylOrthosilicate - Methylphenyldichlorosilane - OneOctene - OneDecene - OneDodecene - OneTetradecene - OneHexadecene - OneOctadecene - OneIcosene - OneDocosene - OneTetracosene + TetraethylOrthosilicate = new Material.Builder(15316, SuSyUtility.susyId('tetraethyl_orthosilicate')) + .fluid() + .components(Silicon, 1, Carbon, 8, Hydrogen, 20, Oxygen, 4) + .color(0x96a894) + .build(); + + TetraethylOrthosilicate.setFormula("Si(C2H5)4", true) + + Methylphenyldichlorosilane = new Material.Builder(15317, SuSyUtility.susyId('methylphenyldichlorosilane')) + .fluid() + .components(Silicon, 1, Carbon, 7, Hydrogen, 8, Chlorine, 2) + .color(0x9ba178) + .build(); + + Methylphenyldichlorosilane.setFormula("C6H5Si(CH3)Cl2", true) + + OneOctene = new Material.Builder(15318, SuSyUtility.susyId('one_octene')) + .fluid() + .components(Carbon, 8, Hydrogen, 16) + .color(0xd68b9d) + .build(); + + OneDecene = new Material.Builder(15319, SuSyUtility.susyId('one_decene')) + .fluid() + .components(Carbon, 10, Hydrogen, 20) + .color(0xbf7184) + .build(); + + OneDodecene = new Material.Builder(15320, SuSyUtility.susyId('one_dodecene')) + .fluid() + .components(Carbon, 12, Hydrogen, 24) + .color(0xb0566c) + .build(); + + OneTetradecene = new Material.Builder(15321, SuSyUtility.susyId('one_tetradecene')) + .fluid() + .components(Carbon, 14, Hydrogen, 28) + .color(0xb54a64) + .build(); + + OneHexadecene = new Material.Builder(15322, SuSyUtility.susyId('one_hexadecene')) + .fluid() + .components(Carbon, 16, Hydrogen, 32) + .color(0xcc4969) + .build(); + + OneOctadecene = new Material.Builder(15323, SuSyUtility.susyId('one_octadecene')) + .fluid() + .components(Carbon, 18, Hydrogen, 36) + .color(0xd94368) + .build(); + + OneIcosene = new Material.Builder(15324, SuSyUtility.susyId('one_icosene')) + .fluid() + .fluidTemp(308) + .components(Carbon, 20, Hydrogen, 40) + .color(0xe63560) + .build(); + + OneDocosene = new Material.Builder(15325, SuSyUtility.susyId('one_docosene')) + .fluid() + .fluidTemp(310) + .components(Carbon, 22, Hydrogen, 44) + .color(0xcf2750) + .build(); + + OneTetracosene = new Material.Builder(15326, SuSyUtility.susyId('one_tetracosene')) + .fluid() + .fluidTemp(318) + .components(Carbon, 24, Hydrogen, 48) + .color(0xb51b41) + .build(); + + Polybutene = new Material.Builder(15327, SuSyUtility.susyId('polybutene')) + .fluid() + .components(Carbon, 4, Hydrogen, 8) + .color(0xb5471b) + .build(); + + Polybutene.setFormula('[C4H8]n', true) + + TrimelliticAcid = new Material.Builder(15328, SuSyUtility.susyId('trimellitic_acid')) + .dust() + .components(Carbon, 9, Hydrogen, 6, Oxygen, 6) + .color(0xcb6fde) + .build(); + + TrimelliticAnhydride = new Material.Builder(15329, SuSyUtility.susyId('trimellitic_anhydride')) + .dust() + .components(Carbon, 9, Hydrogen, 4, Oxygen, 5) + .color(0xac59bd) + .build(); + + Oleylamide = new Material.Builder(15330, SuSyUtility.susyId('oleylamide')) + .fluid() + .components(Carbon, 18, Hydrogen, 35, Nitrogen, 1, Oxygen, 1) + .color(0x59bbbd) + .build(); + + StearicAcid = new Material.Builder(15331, SuSyUtility.susyId('stearic_acid')) + .fluid() + .fluidTemp(342) + .components(Carbon, 18, Hydrogen, 36, Oxygen, 2) + .color(0xd3d4ae) + .build(); + + //FREE ID: 15332 + + OneNitronaphthalene = new Material.Builder(15333, SuSyUtility.susyId('one_nitronaphthalene')) + .dust() + .components(Carbon, 10, Hydrogen, 7, Nitrogen, 1, Oxygen, 2) + .color(0x82bd8a) + .build(); + + OneNaphthylamine = new Material.Builder(15334, SuSyUtility.susyId('one_naphthylamine')) + .dust() + .components(Carbon, 10, Hydrogen, 9, Nitrogen, 1) + .color(0x82bd9c) + .build(); + + NPhenylOneNaphthylamine = new Material.Builder(15335, SuSyUtility.susyId('n_phenyl_one_naphthylamine')) + .dust() + .components(Carbon, 16, Hydrogen, 13, Nitrogen, 1) + .color(0x62a37f) + .build(); + + Polyisobutene = new Material.Builder(15336, SuSyUtility.susyId('polyisobutene')) + .dust() + .components(Carbon, 4, Hydrogen, 8) + .color(0x944234) + .build(); + + Polyisobutene.setFormula('[C4H8]n', true) + + EthylenePropyleneCopolymer = new Material.Builder(15337, SuSyUtility.susyId('ethylene_propylene_copolymer')) + .dust() + .components(Carbon, 5, Hydrogen, 10) + .color(0xbab18a) + .build(); + + EthylenePropyleneCopolymer.setFormula('[(C2H4)(C3H6)]n', true) + + MethacrylicAcid = new Material.Builder(15338, SuSyUtility.susyId('methacrylic_acid')) + .fluid(FluidTypes.ACID) + .components(Carbon, 4, Hydrogen, 6, Oxygen, 2) + .color(0x5590ad) + .build(); + + StyreneIsopreneSolution = new Material.Builder(15339, SuSyUtility.susyId('styrene_isoprene_solution')) + .fluid() + .components(Isoprene, 3, Styrene, 1, Ethanol, 1) + .color(0x520734) + .build(); + + RawStyreneIsopreneRubber = new Material.Builder(15340, SuSyUtility.susyId('raw_styrene_isoprene_rubber')) + .dust() + .components(Isoprene, 3, Styrene, 1) + .color(0x3d0727) + .build(); + + StyreneIsopreneRubber = new Material.Builder(15341, SuSyUtility.susyId('styrene_isoprene_rubber')) + .dust() + .components(Isoprene, 3, Styrene, 1) + .color(0x57103a) + .build(); + + HydrogenatedStyreneIsopreneRubber = new Material.Builder(15342, SuSyUtility.susyId('hydrogenated_styrene_isoprene_rubber')) + .dust() + .components(Carbon, 23, Hydrogen, 38) + .color(0x70186c) + .build(); + + HydrogenatedStyreneIsopreneRubber.setFormula('(C5H10)3C8H8', true) + + HydrogenatedStyreneButadieneRubber = new Material.Builder(15343, SuSyUtility.susyId('hydrogenated_styrene_butadiene_rubber')) + .dust() + .components(Carbon, 20, Hydrogen, 32) + .color(0x701818) + .build(); + + HydrogenatedStyreneButadieneRubber.setFormula('(C4H8)3C8H8', true) + + Dodecylphenol = new Material.Builder(15344, SuSyUtility.susyId('dodecylphenol')) + .dust() + .components(Carbon, 18, Hydrogen, 30, Oxygen, 1) + .color(0x4c3c63) + .build(); + + CalciumPhenate = new Material.Builder(15345, SuSyUtility.susyId('calcium_phenate')) + .fluid() + .components(Calcite, 1, Carbon, 18, Hydrogen, 29, Oxygen, 1, Sulfur, 1) + .color(0x4a3f0a) + .build(); + + CalciumPhenate.setFormula("[C18H29SOCa(CO2)(CaOH)]n", true) + + Dodecylbenzene = new Material.Builder(15347, SuSyUtility.susyId('dodecylbenzene')) + .dust() + .components(Carbon, 18, Hydrogen, 30) + .color(0x604882) + .build(); + + DodecylbenzenesulfonicAcid = new Material.Builder(15348, SuSyUtility.susyId('dodecylbenzene_sulfonic_acid')) + .dust() + .components(Carbon, 18, Hydrogen, 30, Sulfur, 1, Oxygen, 3) + .color(0x7c4882) + .build(); + + CalciumDodecylbenzeneSulfonate = new Material.Builder(15349, SuSyUtility.susyId('calcium_dodecylbenzene_sulfonate')) + .dust() + .components(Calcium, 1, Carbon, 36, Hydrogen, 60, Sulfur, 2, Oxygen, 6) + .color(0x944a7c) + .build(); + + CalciumDodecylbenzeneSulfonate.setFormula("Ca(C18H30SO3)2", true) + + CalciumSalicylate = new Material.Builder(15350, SuSyUtility.susyId('calcium_salicylate')) + .dust() + .components(Calcium, 1, Carbon, 14, Hydrogen, 10, Oxygen, 6) + .color(0x64bd90) + .build(); + + CalciumSalicylate.setFormula("Ca(C7H5O3)2", true) + + MaleicAnhydride = new Material.Builder(15351, SuSyUtility.susyId('maleic_anhydride')) + .dust() + .components(Carbon, 4, Hydrogen, 2, Oxygen, 3) + .color(0xdb42ba) + .build(); + + CalciumDinonylnaphthaleneSulfonate = new Material.Builder(15352, SuSyUtility.susyId('calcium_dinonylnaphthalene_sulfonate')) + .dust() + .components(Calcium, 1, Carbon, 56, Hydrogen, 86, Sulfur, 2, Oxygen, 6) + .color(0x42a3db) + .build(); + + CalciumDinonylnaphthaleneSulfonate.setFormula("Ca(C28H43SO3)", true) + + MetaParaCresolMixture = new Material.Builder(15353, SuSyUtility.susyId('meta_para_cresol_mixture')) + .fluid() + .components(Carbon, 7, Hydrogen, 8, Oxygen, 1) + .color(0x73674e) + .build(); + + OrthoCresol = new Material.Builder(15354, SuSyUtility.susyId('ortho_cresol')) + .fluid() + .components(Carbon, 7, Hydrogen, 8, Oxygen, 1) + .color(0xb5a991) + .build(); + + TricresylPhosphate = new Material.Builder(15355, SuSyUtility.susyId('tricresyl_phosphate')) + .fluid() + .components(Carbon, 21, Hydrogen, 21, Oxygen, 4, Phosphorus, 1) + .color(0x9c924b) + .build(); + + DiisopropyldithiophosphoricAcid = new Material.Builder(15356, SuSyUtility.susyId('diisopropyldithiophosphoric_acid')) + .fluid(FluidTypes.ACID) + .components(Carbon, 6, Hydrogen, 15, Oxygen, 2, Phosphorus, 1, Sulfur, 2) + .color(0x857714) + .build(); + + DibutyldithiophosphoricAcid = new Material.Builder(15357, SuSyUtility.susyId('dibutyldithiophosphoric_acid')) + .fluid(FluidTypes.ACID) + .components(Carbon, 8, Hydrogen, 34, Oxygen, 2, Phosphorus, 1, Sulfur, 2) + .color(0x856914) + .build(); + + //FREE ID: 15358-15359 + + Diamylamine = new Material.Builder(15360, SuSyUtility.susyId('diamylamine')) + .fluid() + .components(Carbon, 10, Hydrogen, 23, Nitrogen, 1) + .color(0x2b7842) + .build(); + + SodiumDiamylthiocarbamateSolution = new Material.Builder(15361, SuSyUtility.susyId('sodium_diamyldithiocarbamate_solution')) + .fluid() + .components(Carbon, 11, Hydrogen, 22, Nitrogen, 1, Sulfur, 2, Sodium, 1, Water, 1) + .color(0x2b7865) + .build(); + + SodiumDiamylthiocarbamateSolution.setFormula("(C11H22NS2Na)(H2O)", true) + + ZincBisdiamyldithiocarbamate = new Material.Builder(15362, SuSyUtility.susyId('zinc_bisdiamyldithiocarbamate')) + .dust() + .components(Zinc, 1, Carbon, 22, Hydrogen, 44, Nitrogen, 2, Sulfur, 4) + .color(0x69782b) + .build(); + + ZincBisdiamyldithiocarbamate.setFormula("Zn(C11H22NS2)2", true) + + Didodecylbenzene = new Material.Builder(15363, SuSyUtility.susyId('didodecylbenzene')) + .dust() + .components(Carbon, 30, Hydrogen, 54) + .color(0x327894) + .build(); + + DidodecylbenzeneSulfonicAcid = new Material.Builder(15364, SuSyUtility.susyId('didodecylbenzene_sulfonic_acid')) + .dust() + .components(Carbon, 30, Hydrogen, 54, Sulfur, 1, Oxygen, 3) + .color(0x32947c) + .build(); + + CalciumDidodecylbenzeneSulfonate = new Material.Builder(15365, SuSyUtility.susyId('calcium_didodecylbenzene_sulfonate')) + .dust() + .components(Calcium, 1, Carbon, 60, Hydrogen, 106, Sulfur, 2, Oxygen, 6) + .color(0x325994) + .build(); + + CalciumDidodecylbenzeneSulfonate.setFormula("Ca(C30H53SO3)2", true) + + Nonylphenol = new Material.Builder(15366, SuSyUtility.susyId('nonylphenol')) + .fluid() + .components(Carbon, 15, Hydrogen, 24, Oxygen, 1) + .color(0x4070b8) + .build(); + + Trichloroethylene = new Material.Builder(15367, SuSyUtility.susyId('trichloroethylene')) + .fluid() + .components(Carbon, 2, Hydrogen, 1, Chlorine, 3) + .color(0x55a663) + .build(); + + ChloroaceticAcid = new Material.Builder(15368, SuSyUtility.susyId('chloroacetic_acid')) + .fluid(FluidTypes.ACID) + .components(Carbon, 2, Hydrogen, 3, Chlorine, 1, Oxygen, 2) + .color(0x58a33b) + .build(); + + FourNonylphenoxyaceticAcid = new Material.Builder(15369, SuSyUtility.susyId('four_nonylphenoxyacetic_acid')) + .fluid() + .components(Carbon, 17, Hydrogen, 26, Oxygen, 3) + .color(0x953ba3) + .build(); + + TwoNitroanilineSolution = new Material.Builder(15370, SuSyUtility.susyId('two_nitroaniline_solution')) + .fluid() + .components(Carbon, 6, Hydrogen, 6, Nitrogen, 2, Oxygen, 2) + .color(0x7653bd) + .build(); + + OrthoPhenylenediamine = new Material.Builder(15371, SuSyUtility.susyId('ortho_phenylenediamine')) + .dust() + .components(Carbon, 6, Hydrogen, 8, Nitrogen, 2) + .color(0x252a80) + .build(); + + Benzotriazole = new Material.Builder(15372, SuSyUtility.susyId('benzotriazole')) + .dust() + .components(Carbon, 6, Hydrogen, 5, Nitrogen, 3) + .color(0x4971ad) + .build(); + + Mercaptobenzothiazole = new Material.Builder(15373, SuSyUtility.susyId('mercaptobenzothiazole')) + .dust() + .components(Carbon, 7, Hydrogen, 5, Nitrogen, 1, Sulfur, 2) + .color(0x878000) + .build(); + + SalicylideneEthylenediamine = new Material.Builder(15374, SuSyUtility.susyId('salicylidene_one_two_ethylenediamine')) + .dust() + .components(Carbon, 16, Hydrogen, 16, Nitrogen, 2, Oxygen, 2) + .color(0x5c84c4) + .build(); } } diff --git a/groovy/material/PetrochemistryMaterials.groovy b/groovy/material/PetrochemistryMaterials.groovy index 6baf11b19..ec5744c7b 100644 --- a/groovy/material/PetrochemistryMaterials.groovy +++ b/groovy/material/PetrochemistryMaterials.groovy @@ -308,27 +308,27 @@ public class PetrochemistryMaterials { .color(0x1e2021) .build(); - CrudeLubricatingOil = new Material.Builder(2007, SuSyUtility.susyId('lubrica')) + CrudeLubricatingOil = new Material.Builder(20070, SuSyUtility.susyId('crude_lubricating_oil')) .fluid() .color(0x80743c) .build(); - SolventLubricantMixture = new Material.Builder(2007, SuSyUtility.susyId('lubrica')) + SolventLubricantMixture = new Material.Builder(20071, SuSyUtility.susyId('solvent_lubricant_mixture')) .fluid() .color(0x6e803c) .build(); - ColdSolventLubricantMixture = new Material.Builder(2007, SuSyUtility.susyId('lubrica')) + ColdSolventLubricantMixture = new Material.Builder(20072, SuSyUtility.susyId('cold_solvent_lubricant_mixture')) .fluid() .color(0x5e8064) .build(); - DewaxedLubricantMixture = new Material.Builder(2007, SuSyUtility.susyId('lubrica')) + DewaxedLubricantMixture = new Material.Builder(20073, SuSyUtility.susyId('dewaxed_lubricant_mixture')) .fluid() .color(0x7d782e) .build(); - SulfuricLubricatingOil = new Material.Builder(2007, SuSyUtility.susyId('lubrica')) + SulfuricLubricatingOil = new Material.Builder(20074, SuSyUtility.susyId('sulfuric_lubricating_oil')) .fluid() .color(0x7d782e) .build(); diff --git a/groovy/material/SecondDegreeMaterials.groovy b/groovy/material/SecondDegreeMaterials.groovy index f6b41c3ff..6765dbbe3 100644 --- a/groovy/material/SecondDegreeMaterials.groovy +++ b/groovy/material/SecondDegreeMaterials.groovy @@ -573,13 +573,13 @@ public class SecondDegreeMaterials { DivalentPalladiumSolution.setFormula('(?)(NH4Cl)(HCl)6(H2O)8', true) - DeoxygenationCatalystPrecursorSolution = new Material.Builder(13091, SuSyUtility.susyId('deoxygenation_catalyst_precursor_solution')) + PlatinumPrecursorSolution = new Material.Builder(13091, SuSyUtility.susyId('platinum_precursor_solution')) .fluid() .components(AmmoniumHexachloroplatinate, 1, PhosphoricAcid, 1) .colorAverage() .build(); - DeoxygenationCatalyst = new Material.Builder(13092, SuSyUtility.susyId('deoxygenation_catalyst')) + SupportedPlatinum = new Material.Builder(13092, SuSyUtility.susyId('supported_platinum')) .dust() .components(Alumina, 1, Platinum, 1, Chlorine, 4) .flags(GENERATE_CATALYST_BED) @@ -635,16 +635,28 @@ public class SecondDegreeMaterials { .colorAverage() .build(); - ManganeseIIChlorideSolution = new Material.Builder(8578, SuSyUtility.susyId("manganese_ii_chloride_solution")) + ManganeseIIChlorideSolution = new Material.Builder(13101, SuSyUtility.susyId("manganese_ii_chloride_solution")) .fluid() .components(ManganeseIIChloride, 1, Water, 3) .colorAverage() .build(); - DilutedManganeseIIChlorideSolution = new Material.Builder(8578, SuSyUtility.susyId("diluted_manganese_ii_chloride_solution")) + DilutedManganeseIIChlorideSolution = new Material.Builder(13102, SuSyUtility.susyId("diluted_manganese_ii_chloride_solution")) .fluid() .components(ManganeseIIChloride, 1, Water, 6) .colorAverage() .build(); + + PalladiumPrecursorSolution = new Material.Builder(13103, SuSyUtility.susyId("palladium")) + .fluid(FluidTypes.ACID) + .components(PalladiumChloride, 1, PhosphoricAcid, 1) + .colorAverage() + .build(); + + SupportedPalladium = new Material.Builder(13104, SuSyUtility.susyId("palladium")) + .dust() + .components(PalladiumChloride, 1, Alumina, 1) + .colorAverage() + .build(); } } diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 5ff0f9b1b..4b30cb8a4 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -480,8 +480,8 @@ class SuSyMaterials { public static Material OrganosiliconMixture; public static Material ImpurePolydimethylsiloxaneMixture; public static Material RawPolydimethylsiloxaneMixture; - public static Mateiral LubricityAdditive; - public static Mateiral AntistaticAdditive; + public static Material LubricityAdditive; + public static Material AntistaticAdditive; public static Material AntifoamingAdditive; public static Material DiisopropylParaPhenylenediamineSolution; public static Material PropanolamineMix; @@ -499,6 +499,27 @@ class SuSyMaterials { public static Material PlatinumSAPOEleven; public static Material SiliconeOilMixture; public static Material SiliconeOil; + public static Material CrudePolyalphaolefinMixture; + public static Material BoronTrifluorideMixture; + public static Material UnsaturatedPolyalphaolefin; + public static Material NButanolWaste; + public static Material Polyalphaolefin; + public static Material PolybuteneMixture; + public static Material EsterBaseOil; + public static Material Monoglycerides; + public static Material CrudeOneNitronaphthalene; + public static Material PolyisobuteneMixture; + public static Material AlkylMethacrylate; + public static Material PolyalkylMethacrylateSolution; + public static Material AlkylMethacrylateEmulsion; + public static Material Pama; + public static Material PolymerizedStyreneIsopreneSolution; + public static Material PolyisobuteneSuccinicAnhydride; + public static Material MidgradeLubricant; + public static Material PremiumLubricant; + public static Material SupremeLubricant; + public static Material ZincDialkyldithiophospate; + public static Material MolybdenumDialkyldithiophosphate; // Petrochem Materials @@ -573,7 +594,7 @@ class SuSyMaterials { public static Material BTEX; public static Material Syngas; public static Material ReformedSyngas; - public static Material SulfuricCrudeLubricatingOil; + public static Material CrudeLubricatingOil; public static Material SolventLubricantMixture; public static Material ColdSolventLubricantMixture; public static Material SulfuricLubricatingOil; @@ -1035,12 +1056,15 @@ class SuSyMaterials { public static Material DilutedAceticAcid; public static Material CobaltIIAcetate; public static Material ManganeseIIChloride; - ChloroplatinicAcidSolution + public static Material ChloroplatinicAcidSolution; + public static Material MolybdenumDisulfide; + public static Material FluorinatedGraphite; // Second Degree Materials - public static Material DeoxygenationCatalystPrecursorSolution; - public static Material DeoxygenationCatalyst; + public static Material PlatinumPrecursorSolution; + public static Material PalladiumPrecursorSolution; + public static Material SupportedPlatinum; public static Material NitrateSaltMix; public static Material AmmoniumChlorideSolution; public static Material PotassiumChlorideSolution; @@ -1139,6 +1163,7 @@ class SuSyMaterials { public static Material PalladiumOnCarbon; public static Material ManganeseIIChlorideSolution; public static Material DilutedManganeseIIChlorideSolution; + public static Material SupportedPalladium; // Organic Chemistry Materials @@ -1442,10 +1467,10 @@ class SuSyMaterials { public static Material EthyleneVinylAcetate; public static Material EthyleneIsobutyleneVinylAcetate; public static Material ChlorosulfuricAcid; - public static Material DodecanesulfonicAcid; + public static Material HydrogenDodecylSulfate; public static Material SodiumDodecylSulfate; public static Material Dinonylnaphthalene; - public static Material DinonylnaphthaleneSulfonate; + public static Material DinonylnaphthaleneSulfonicAcid; public static Material Psuedocumene; public static Material Methylcyclopentadiene; public static Material Diglyme; @@ -1470,6 +1495,51 @@ class SuSyMaterials { public static Material OneIcosene; public static Material OneDocosene; public static Material OneTetracosene; + public static Material Polybutene; + public static Material TrimelliticAcid; + public static Material TrimelliticAnhydride; + public static Material Oleylamide; + public static Material StearicAcid; + public static Material OneNitronaphthalene; + public static Material OneNaphthylamine; + public static Material NPhenylOneNaphthylamine; + public static Material Polyisobutene; + public static Material EthylenePropyleneCopolymer; + public static Material MethacrylicAcid; + public static Material StyreneIsopreneSolution; + public static Material RawStyreneIsopreneRubber; + public static Material StyreneIsopreneRubber; + public static Material HydrogenatedStyreneIsopreneRubber; + public static Material HydrogenatedStyreneButadieneRubber; + public static Material Dodecylphenol; + public static Material CalciumPhenate; + public static Material Dodecylbenzene; + public static Material DodecylbenzenesulfonicAcid; + public static Material CalciumDodecylbenzeneSulfonate; + public static Material CalciumSalicylate; + public static Material MaleicAnhydride; + public static Material CalciumDinonylnaphthaleneSulfonate; + public static Material MetaParaCresolMixture; + public static Material OrthoCresol; + public static Material TricresylPhosphate; + public static Material DiisopropyldithiophosphoricAcid; + public static Material DibutyldithiophosphoricAcid; + public static Material Diamylamine; + public static Material SodiumDiamylthiocarbamateSolution; + public static Material ZincBisdiamyldithiocarbamate; + public static Material Didodecylbenzene; + public static Material DidodecylbenzeneSulfonicAcid; + public static Material CalciumDidodecylbenzeneSulfonate; + public static Material Nonylphenol; + public static Material Trichloroethylene; + public static Material ChloroaceticAcid; + public static Material FourNonylphenoxyaceticAcid; + public static Material TwoNitroanilineSolution; + public static Material OrthoPhenylenediamine; + public static Material Benzotriazole; + public static Material Mercaptobenzothiazole; + public static Material SalicylideneEthylenediamine; + public static Material Pseudocumene; // Third Degree Materials @@ -1547,10 +1617,16 @@ class SuSyMaterials { public static Material EthyleneVinylAcetateMixture; public static Material EthyleneIsobutyleneVinylAcetateMixture; public static Material SodiumDodecylSulfateSolution; - public static Material SodiumCyclopentadienide; + public static Material SodiumCyclopentadienideSolution; public static Material MethylcyclopentadieneSolution; public static Material BismethylcyclopentadienylmanganeseSolution; public static Material DewaxingSolvent; + public static Material OlefinPolymerizationInitiator; + public static Material TrimelliticAcidSlurry; + public static Material CalciumSalicylateSolution; + public static Material AcidicTricresylPhosphate; + public static Material ChloroaceticAcidSolution; + public static Material OrthoPhenylenediamineSolution; // Thermodynamics/Greenhouse Materials diff --git a/groovy/material/ThirdDegreeMaterials.groovy b/groovy/material/ThirdDegreeMaterials.groovy index 212a138f6..08266017a 100644 --- a/groovy/material/ThirdDegreeMaterials.groovy +++ b/groovy/material/ThirdDegreeMaterials.groovy @@ -490,9 +490,45 @@ public class ThirdDegreeMaterials { .colorAverage() .build(); - DewaxingSolvent = new Material.BUilder(24077, SuSyUtility.susyId('dewaxing_solvent')) + DewaxingSolvent = new Material.Builder(24077, SuSyUtility.susyId('dewaxing_solvent')) .fluid() - .components(Dichloroethane, 1, Dicloromethane, 1) + .components(Dichloroethane, 1, Dichloromethane, 1) + .colorAverage() + .build(); + + OlefinPolymerizationInitiator = new Material.Builder(24078, SuSyUtility.susyId('olefin_polymerization_initiator')) + .fluid() + .components(NButanol, 1, BoronTrifluoride, 3) + .colorAverage() + .build(); + + TrimelliticAcidSlurry = new Material.Builder(24079, SuSyUtility.susyId('trimellitic_acid_slurry')) + .fluid(FluidTypes.ACID) + .components(TrimelliticAcid, 1, AceticAcid, 1, Water, 1) + .colorAverage() + .build(); + + CalciumSalicylateSolution = new Material.Builder(24080, SuSyUtility.susyId('calcium_salicylate_solution')) + .fluid() + .components(CalciumSalicylate, 1, DiethyleneGlycol, 1) + .colorAverage() + .build(); + + AcidicTricresylPhosphate = new Material.Builder(24081, SuSyUtility.susyId('acidic_tricresyl_phoshpate')) + .fluid(FluidTypes.ACID) + .components(TricresylPhosphate, 1, HydrogenChloride, 3) + .colorAverage() + .build(); + + ChloroaceticAcidSolution = new Material.Builder(24082, SuSyUtility.susyId('chloroacetic_acid_solution')) + .fluid(FluidTypes.ACID) + .components(ChloroaceticAcid, 1, SulfuricAcid, 2) + .colorAverage() + .build(); + + OrthoPhenylenediamineSolution = new Material.Builder(24083, SuSyUtility.susyId('ortho_phenylenediamine_solution')) + .fluid() + .components(OrthoPhenylenediamine, 1, Toluene, 1, Water, 2) .colorAverage() .build(); } diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index cd3d24bae..aeb510607 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1874,7 +1874,7 @@ public class UnknownCompositionMaterials { .color(0x8ede6f) .build(); - ColdFlowImprover = new Material.BUilder(4359, SuSyUtility.susyId('cold_flow_improver')) + ColdFlowImprover = new Material.Builder(4359, SuSyUtility.susyId('cold_flow_improver')) .fluid() .color(0x1c32a3) .build(); @@ -1914,9 +1914,129 @@ public class UnknownCompositionMaterials { .color(0xd9c148) .build(); - SAPOEleven - PlatinumSAPOEleven - SiliconeOilMixture - SiliconeOil + SAPOEleven = new Material.Builder(4367, SuSyUtility.susyId('sapo_eleven')) + .dust() + .color(0x91834e) + .build(); + + PlatinumSAPOEleven = new Material.Builder(4368, SuSyUtility.susyId('platinum_sapo_eleven')) + .dust() + .color(0x969444) + .build(); + + SiliconeOilMixture = new Material.Builder(4369, SuSyUtility.susyId('silicone_oil_mixture')) + .fluid() + .color(0x9aa38c) + .build(); + + SiliconeOil = new Material.Builder(4370, SuSyUtility.susyId('silicone_oil')) + .fluid() + .color(0xbec7b1) + .build(); + + CrudePolyalphaolefinMixture = new Material.Builder(4371, SuSyUtility.susyId('crude_polyalphaolefin_mixture')) + .fluid() + .color(0xc77db2) + .build(); + + BoronTrifluorideMixture = new Material.Builder(4372, SuSyUtility.susyId('boron_trifluoride_mixture')) + .fluid(FluidTypes.ACID) + .color(0xbd3a6b) + .build(); + + UnsaturatedPolyalphaolefin = new Material.Builder(4373, SuSyUtility.susyId('unsaturated_polyalphaolefin')) + .fluid() + .color(0xb393ba) + .build(); + + NButanolWaste = new Material.Builder(4374, SuSyUtility.susyId('n_butanol_waste')) + .fluid() + .color(0xba6685) + .build(); + + Polyalphaolefin = new Material.Builder(4375, SuSyUtility.susyId('polyalphaolefin')) + .fluid() + .color(0xcbaed1) + .build(); + + PolybuteneMixture = new Material.Builder(4376, SuSyUtility.susyId('polybutene_mixture')) + .fluid() + .color(0xb08d63) + .build(); + + EsterBaseOil = new Material.Builder(4377, SuSyUtility.susyId('ester_base_oil')) + .fluid() + .color(0xa098d4) + .build(); + + Monoglycerides = new Material.Builder(4378, SuSyUtility.susyId('monoglycerides')) + .fluid() + .color(0xb39147) + .build(); + + CrudeOneNitronaphthalene = new Material.Builder(4379, SuSyUtility.susyId('crude_one_nitronaphthalene')) + .dust() + .color(0x918a41) + .build(); + + PolyisobuteneMixture = new Material.Builder(4380, SuSyUtility.susyId('polyisobutene_mixture')) + .fluid() + .color(0xad6d34) + .build(); + + AlkylMethacrylate = new Material.Builder(4381, SuSyUtility.susyId('alkyl_methacrylate')) + .fluid() + .color(0x72ba6e) + .build(); + + PolyalkylMethacrylateSolution = new Material.Builder(4382, SuSyUtility.susyId('polyalkyl_methacrylate_solution')) + .fluid() + .color(0x8db08b) + .build(); + + AlkylMethacrylateEmulsion = new Material.Builder(4383, SuSyUtility.susyId('alkyl_methacrylate_emulsion')) + .fluid() + .color(0xa4d4a1) + .build(); + + Pama = new Material.Builder(4384, SuSyUtility.susyId('pama')) + .dust() + .color(0xc9edc7) + .build(); + + PolymerizedStyreneIsopreneSolution = new Material.Builder(4385, SuSyUtility.susyId('polymerized_styrene_isoprene_solution')) + .fluid() + .color(0x361940) + .build(); + + PolyisobuteneSuccinicAnhydride = new Material.Builder(4386, SuSyUtility.susyId('polyisobutene_succinic_anhydride')) + .dust() + .color(0x6b142b) + .build(); + + ZincDialkyldithiophospate = new Material.Builder(4387, SuSyUtility.susyId('zinc_dialkyldithiophosphate')) + .fluid() + .color(0x423900) + .build(); + + MolybdenumDialkyldithiophosphate = new Material.Builder(4388, SuSyUtility.susyId('molybdenum_dialkyldithiophosphate')) + .dust() + .color(0x244200) + .build(); + + MidgradeLubricant = new Material.Builder(4389, SuSyUtility.susyId('midgrade_lubricant')) + .fluid() + .color(0xc7aa2a) + .build(); + + PremiumLubricant = new Material.Builder(4390, SuSyUtility.susyId('premium_lubricant')) + .fluid() + .color(0xba831c) + .build(); + + SupremeLubricant = new Material.Builder(4391, SuSyUtility.susyId('supreme_lubricant')) + .fluid() + .color(0xad5f10) + .build(); } } diff --git a/groovy/postInit/chemistry/AirDistillation.groovy b/groovy/postInit/chemistry/AirDistillation.groovy index d2630523d..80e78bfb5 100755 --- a/groovy/postInit/chemistry/AirDistillation.groovy +++ b/groovy/postInit/chemistry/AirDistillation.groovy @@ -307,15 +307,15 @@ BATH_CONDENSER.recipeBuilder() MIXER.recipeBuilder() .inputs(ore('dustAmmoniumHexachloroplatinate') * 17) .fluidInputs(fluid('phosphoric_acid') * 1000) - .fluidOutputs(fluid('deoxygenation_catalyst_precursor_solution') * 1000) + .fluidOutputs(fluid('platinum_precursor_solution') * 1000) .duration(100) .EUt(Globals.voltAmps[3]) .buildAndRegister() SINTERING_OVEN.recipeBuilder() .inputs(ore('dustAlumina') * 5) - .fluidInputs(fluid('deoxygenation_catalyst_precursor_solution') * 1000) - .outputs(metaitem('dustDeoxygenationCatalyst')) + .fluidInputs(fluid('platinum_precursor_solution') * 1000) + .outputs(metaitem('dustSupportedPlatinum')) .fluidOutputs(fluid('phosphoric_acid') * 1000) .duration(100) .EUt(Globals.voltAmps[3]) @@ -324,7 +324,7 @@ SINTERING_OVEN.recipeBuilder() FBR.recipeBuilder() .fluidInputs(fluid('liquid_crude_argon') * 50) .fluidInputs(fluid('hydrogen') * 24) - .notConsumable(metaitem('catalystBedDeoxygenationCatalyst')) + .notConsumable(metaitem('catalystBedSupportedPlatinum')) .chancedOutput(metaitem('dustIce'), 120, 0) .fluidOutputs(fluid('liquid_deoxygenated_argon') * 50) .duration(20) diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index da8868dd0..de5417a69 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -4289,13 +4289,13 @@ DISTILLATION_TOWER.recipeBuilder() // SCHULZ-FLORY, p = 0.82, ROUNDED TO NEAREST .buildAndRegister() LCR.recipeBuilder() - .fluidOutputs(fluid('one_icosene') * 35) - .fluidOutputs(fluid('one_octadecene') * 40) - .fluidOutputs(fluid('one_hexadecene') * 50) - .fluidOutputs(fluid('one_tetradecene') * 60) - .fluidOutputs(fluid('one_dodecene') * 75) - .fluidOutputs(fluid('one_decene') * 90) - .fluidOutputs(fluid('one_octene') * 130) + .fluidInputs(fluid('one_icosene') * 35) + .fluidInputs(fluid('one_octadecene') * 40) + .fluidInputs(fluid('one_hexadecene') * 50) + .fluidInputs(fluid('one_tetradecene') * 60) + .fluidInputs(fluid('one_dodecene') * 75) + .fluidInputs(fluid('one_decene') * 90) + .fluidInputs(fluid('one_octene') * 130) .fluidOutputs(fluid('eight_twenty_olefin_mixture') * 485) // FOR 1-AMINOETHYL-2-ALKYLIMIDAZOLINE COLLECTOR .duration(125) .EUt(Globals.voltAmps[3]) @@ -4402,7 +4402,7 @@ CSTR.recipeBuilder() .EUt(120) .buildAndRegister() -DT.recipeBuilder() +DISTILLATION_TOWER.recipeBuilder() .fluidInputs(fluid('diluted_nitromethane') * 4000) .fluidOutputs(fluid('water') * 3000) .fluidOutputs(fluid('nitromethane') * 1000) @@ -4429,7 +4429,7 @@ TBR.recipeBuilder() .EUt(120) .buildAndRegister() -DT.recipeBuilder() +DISTILLATION_TOWER.recipeBuilder() .fluidInputs(fluid('diluted_di_tert_butyl_peroxide') * 2000) .fluidOutputs(fluid('water') * 1000) .fluidOutputs(fluid('di_tert_butyl_peroxide') * 1000) diff --git a/groovy/postInit/chemistry/elements/ManganeseChain.groovy b/groovy/postInit/chemistry/elements/ManganeseChain.groovy index 40d276b29..3b001570f 100644 --- a/groovy/postInit/chemistry/elements/ManganeseChain.groovy +++ b/groovy/postInit/chemistry/elements/ManganeseChain.groovy @@ -158,14 +158,14 @@ DISTILLERY.recipeBuilder() BR.recipeBuilder() .inputs(ore('dustManganeseDioxide') * 3) .fluidInputs(fluid('hydrochloric_acid') * 4000) - .fluidOutputs(fluid('dilute_manganese_ii_chloride_solution') * 6000) + .fluidOutputs(fluid('diluted_manganese_ii_chloride_solution') * 6000) .fluidOutputs(fluid('chlorine') * 2000) .duration(100) .EUt(120) .buildAndRegister() DISTILLERY.recipeBuilder() - .fluidInputs(fluid('dilute_manganese_ii_chloride_solution') * 3000) + .fluidInputs(fluid('diluted_manganese_ii_chloride_solution') * 3000) .outputs(metaitem('dustManganeseIiChloride') * 3) .fluidOutputs(fluid('water') * 6000) .duration(20) diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy index 4e9765ed9..581e0ec0c 100644 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy @@ -212,7 +212,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .buildAndRegister() MIXER.recipeBuilder() - .inputs(ore('dustDiamminedichloropalladium') * 11) + .inputs(ore('dustPalladiumChloride') * 3) .fluidInputs(fluid('phosphoric_acid') * 1000) .fluidOutputs(fluid('palladium_precursor_solution') * 1000) .duration(100) @@ -224,7 +224,6 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .fluidInputs(fluid('palladium_precursor_solution') * 1000) .outputs(metaitem('dustSupportedPalladium')) .fluidOutputs(fluid('phosphoric_acid') * 1000) - .fluidOutputs(fluid('ammonia') * 2000) .duration(100) .EUt(Globals.voltAmps[3]) .buildAndRegister() @@ -271,7 +270,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .fluidInputs(fluid('hot_hp_air') * 12000) .fluidInputs(fluid('acetic_acid') * 1000) .notConsumable(metaitem('dustAmocoProcessCatalyst')) - .fluidOutputs(fluid('trimellitic_anhydride_slurry') * 2000) + .fluidOutputs(fluid('trimellitic_acid_slurry') * 2000) .EUt(1920) .duration(200) .buildAndRegister() @@ -533,10 +532,10 @@ UV_LIGHT_BOX = recipemap('uv_light_box') BR.recipeBuilder() .inputs(ore('dustRawStyreneIsopreneRubber') * 16) - .fluidInputs(fluid('hydrogen') * 2000) + .fluidInputs(fluid('hydrogen') * 6000) .notConsumable(metaitem('catalystBedSupportedPalladium')) - .outputs(metaitem('dustHydrogenatedStyreneIsopreneRubber') * 18) - .fluidOutputs(fluid('water') * 1000) + .outputs(metaitem('dustHydrogenatedStyreneIsopreneRubber') * 16) + .fluidOutputs(fluid('water') * 3000) .duration(20) .EUt(Globals.voltAmps[3]) .buildAndRegister() @@ -545,10 +544,10 @@ UV_LIGHT_BOX = recipemap('uv_light_box') BR.recipeBuilder() .inputs(ore('dustRawStyreneButadieneRubber') * 16) - .fluidInputs(fluid('hydrogen') * 2000) + .fluidInputs(fluid('hydrogen') * 6000) .notConsumable(metaitem('catalystBedSupportedPalladium')) - .outputs(metaitem('dustHydrogenatedStyreneButadieneRubber') * 18) - .fluidOutputs(fluid('water') * 1000) + .outputs(metaitem('dustHydrogenatedStyreneButadieneRubber') * 16) + .fluidOutputs(fluid('water') * 3000) .duration(20) .EUt(Globals.voltAmps[3]) .buildAndRegister() @@ -567,26 +566,15 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .buildAndRegister() BR.recipeBuilder() - .inputs(ore('dustDodecylphenol') * 3) - .inputs(ore('dustCalcite')) - .fluidInputs(fluid('sulfur_dichloride') * 2000) + .inputs(ore('dustDodecylphenol')) + .inputs(ore('dustCalcite') * 5) + .fluidInputs(fluid('sulfur_dichloride') * 1000) .fluidOutputs(fluid('calcium_phenate') * 1000) - .fluidOutputs(fluid('hydrogen_chloride') * 4000) + .fluidOutputs(fluid('hydrogen_chloride') * 2000) .duration(200) .EUt(30) .buildAndRegister() - // Calcium dodecylsulfonate - - BR.recipeBuilder() - .inputs(ore('dustDodecanesulfonicAcid') * 2) - .fluidInputs(fluid('calcium_hydroxide_solution') * 1000) - .outputs(metaitem('dustCalciumDodecylSulfate')) - .fluidOutputs(fluid('water') * 1000) - .duration(200) - .EUt(120) - .buildAndRegister() - // Calcium dodecylbenzene sulfonate BR.recipeBuilder() @@ -617,6 +605,15 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .EUt(Globals.voltAmps[2]) .buildAndRegister() + BR.recipeBuilder() + .inputs(ore('dustDodecylbenzenesulfonicAcid') * 2) + .fluidInputs(fluid('calcium_hydroxide_solution') * 1000) + .outputs(metaitem('dustCalciumDodecylbenzeneSulfonate')) + .fluidOutputs(fluid('water') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + // Calcium salicylate BR.recipeBuilder() @@ -795,7 +792,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') BR.recipeBuilder() .inputs(ore('dustZincChloride') * 3) .fluidInputs(fluid('sodium_diamyldithiocarbamate_solution') * 2000) - .outputs(metaitem('dustZincBisdiethyldithiocarbamate')) + .outputs(metaitem('dustZincBisdiamyldithiocarbamate')) .fluidOutputs(fluid('salt_water') * 2000) .duration(200) .EUt(120) @@ -847,7 +844,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') BR.recipeBuilder() .inputs(ore('dustDidodecylbenzeneSulfonicAcid') * 2) .fluidInputs(fluid('calcium_hydroxide_solution') * 1000) - .outputs(metaitem('dustCalciumDidodecylbenzeneSulfate')) + .outputs(metaitem('dustCalciumDidodecylbenzeneSulfonate')) .fluidOutputs(fluid('water') * 1000) .duration(200) .EUt(120) @@ -962,7 +959,7 @@ BR.recipeBuilder() .inputs(ore('dustSodiumCyanoborohydride') * 14) .fluidInputs(fluid('hydrochloric_acid') * 2000) .fluidInputs(fluid('salicylaldehyde') * 2000) - .outputs(metaitem('dustSalicylideneOneTwoEthylenediamine')) + .outputs(metaitem('dustSalicylideneEthylenediamine')) .fluidOutputs(fluid('wastewater') * 2000) .duration(200) .EUt(120) @@ -1008,24 +1005,23 @@ def liquidAntiwearMap = [ ] def pourPointDepressantMap = [ - 'dustEthylenePropyleneCopolymer': 1 - 'dustHydrogenatedStyreneIsopreneRubber': 2 - 'dustHydrogenatedStyreneButadieneRubber': 2 - 'dustPolyisobutene': 2 + 'dustEthylenePropyleneCopolymer': 1, + 'dustHydrogenatedStyreneIsopreneRubber': 2, + 'dustHydrogenatedStyreneButadieneRubber': 2, + 'dustPolyisobutene': 2, 'dustPama': 4 ] // calcium_phenate: 3 def detergentMap = [ - 'dustCalciumDodecylSulfate': 1, - 'dustDodecylbenzenesulfonicAcid': 2, + 'dustCalciumDodecylbenzeneSulfonate': 1, 'dustCalciumSalicylate': 2, 'dustPolyisobuteneSuccinicAnhydride': 4 ] def chelates = [ - 'dustSalicylideneOneTwoEthylenediamine', + 'dustSalicylideneEthylenediamine', 'dustSalicylideneOneTwoPropanediamine' ] @@ -1113,30 +1109,30 @@ liquidAntiwearMap.each { law, multiplier -> // Premium pourPointDepressantMap.each { ppd, multiplier1 -> MIXER.recipeBuilder() - .inputs(ore(ppd)) - .fluidInputs(fluid('calcium_phenate') * 1000) - .inputs(ore('dustCalciumDidodecylbenzeneSulfate')) - .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) - .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) - .duration(200) - .EUt(120) - .buildAndRegister() + .inputs(ore(ppd)) + .fluidInputs(fluid('calcium_phenate') * 1000) + .inputs(ore('dustCalciumDidodecylbenzeneSulfonate')) + .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) + .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() - MIXER.recipeBuilder() - .inputs(ore(ppd)) - .fluidInputs(fluid('calcium_phenate') * 1000) - .fluidInputs(fluid('four_nonylphenoxyacetic_acid') * 1000) - .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * 3 * 4)) - .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * 3 * 4)) - .duration(200) - .EUt(120) - .buildAndRegister() + MIXER.recipeBuilder() + .inputs(ore(ppd)) + .fluidInputs(fluid('calcium_phenate') * 1000) + .fluidInputs(fluid('four_nonylphenoxyacetic_acid') * 1000) + .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * 3 * 4)) + .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * 3 * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() detergentMap.each { det, multiplier2 -> MIXER.recipeBuilder() .inputs(ore(det)) .inputs(ore(ppd)) - .inputs(ore('dustCalciumDidodecylbenzeneSulfate')) + .inputs(ore('dustCalciumDidodecylbenzeneSulfonate')) .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) .duration(200) diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy index 91c8ee3f8..3523aebbe 100644 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy @@ -30,7 +30,7 @@ BR.recipeBuilder() .notConsumable(ore('platePolytetrafluoroethylene') * 6) .fluidInputs(fluid('chlorosulfuric_acid') * 1000) .fluidInputs(fluid('n_dodecanol') * 1000) - .outputs(metaitem('dustDodecanesulfonicAcid')) + .outputs(metaitem('dustHydrogenDodecylSulfate')) .fluidOutputs(fluid('hydrogen_chloride') * 1000) .duration(100) .EUt(Globals.voltAmps[2]) @@ -39,14 +39,14 @@ BR.recipeBuilder() BR.recipeBuilder() .fluidInputs(fluid('n_dodecanol') * 1000) .fluidInputs(fluid('oleum') * 11000) - .outputs(metaitem('dustDodecanesulfonicAcid')) + .outputs(metaitem('dustHydrogenDodecylSulfate')) .fluidOutputs(fluid('sulfuric_acid') * 10000) .duration(100) .EUt(Globals.voltAmps[2]) .buildAndRegister() BR.recipeBuilder() - .inputs(metaitem('dustDodecanesulfonicAcid')) + .inputs(metaitem('dustHydrogenDodecylSulfate')) .fluidInputs(fluid('sodium_hydroxide_solution') * 1000) .fluidOutputs(fluid('sodium_dodecyl_sulfate_solution') * 1000) .duration(100) diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy index 1d7d0b400..2873fbe55 100644 --- a/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy @@ -126,8 +126,11 @@ def rubbers = [ new Rubber('dustLatex', 'Rubber', 16, 10 * 20, 4, false), new Rubber('latex', 'Rubber', 32, 20 * 20, 1, true), new Rubber('dustPolyisoprene', 'Rubber', 8, 225, 8, false), + new Rubber('dustRawStyreneIsopreneRubber', 'StyreneIsopreneRubber', 4, 30 * 20, 4, false) new Rubber('dustRawStyreneButadieneRubber', 'StyreneButadieneRubber', 4, 30 * 20, 4, false) ] +name, output, amount_required, duration, yield, isFluid + def sulfurSources = [ new SulfurSource('dustSulfur', 1) ] @@ -252,23 +255,23 @@ POLYMERIZATION_TANK.recipeBuilder() MIXER.recipeBuilder() .fluidInputs(fluid('styrene') * 1000) -.fluidInputs(fluid('isoprene') * 1000) +.fluidInputs(fluid('isoprene') * 3000) .fluidInputs(fluid('ethanol') * 1000) -.fluidOutputs(fluid('styrene_isoprene_solution') * 3000) +.fluidOutputs(fluid('styrene_isoprene_solution') * 5000) .EUt(60) .duration(200) .buildAndRegister() POLYMERIZATION.recipeBuilder() -.fluidInputs(fluid('styrene_isoprene_solution') * 3000) +.fluidInputs(fluid('styrene_isoprene_solution') * 5000) .notConsumable(fluid('butyllithium') * 100) -.fluidOutputs(fluid('polymerized_styrene_butadiene_solution') * 3000) +.fluidOutputs(fluid('polymerized_styrene_isoprene_solution') * 5000) .EUt(120) .duration(533) .buildAndRegister() DRYER.recipeBuilder() -.fluidInputs(fluid('polymerized_styrene_isoprene_solution') * 3000) +.fluidInputs(fluid('polymerized_styrene_isoprene_solution') * 5000) .fluidOutputs(fluid('ethanol') * 1000) .outputs(metaitem('dustRawStyreneIsopreneRubber') * 16) .EUt(120) @@ -288,23 +291,23 @@ SIFTER.recipeBuilder() MIXER.recipeBuilder() .fluidInputs(fluid('styrene') * 1000) -.fluidInputs(fluid('butadiene') * 1000) +.fluidInputs(fluid('butadiene') * 3000) .fluidInputs(fluid('ethanol') * 1000) -.fluidOutputs(fluid('styrene_butadiene_solution') * 3000) +.fluidOutputs(fluid('styrene_butadiene_solution') * 5000) .EUt(60) .duration(200) .buildAndRegister() POLYMERIZATION.recipeBuilder() -.fluidInputs(fluid('styrene_butadiene_solution') * 3000) +.fluidInputs(fluid('styrene_butadiene_solution') * 5000) .notConsumable(fluid('butyllithium') * 100) -.fluidOutputs(fluid('polymerized_styrene_butadiene_solution') * 3000) +.fluidOutputs(fluid('polymerized_styrene_butadiene_solution') * 5000) .EUt(120) .duration(533) .buildAndRegister() DRYER.recipeBuilder() -.fluidInputs(fluid('polymerized_styrene_butadiene_solution') * 3000) +.fluidInputs(fluid('polymerized_styrene_butadiene_solution') * 5000) .fluidOutputs(fluid('ethanol') * 1000) .outputs(metaitem('dustRawStyreneButadieneRubber') * 16) .EUt(120) diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index a71fafa96..d15a1953a 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -776,7 +776,6 @@ susy.material.aluminium_silicate_leach=Aluminium Silicate Leach susy.material.alkali_alum_mix=Alkali Alum Mix susy.material.oleic_acid=Oleic Acid susy.material.linoleic_acid=Linoleic Acid -susy.material.palmitic_acid=Palmitic Acid susy.material.amblygonite_leach=Amblygonite Leach susy.material.roasted_lepidolite=Roasted Lepidolite susy.material.lepidolite_leach=Lepidolite Leach @@ -1727,8 +1726,8 @@ susy.material.su_eight=SU-8 Photoresist susy.material.hydrodealkylated_toluene_mixture=Hydrodealkylated Toluene Mixture susy.material.ortho_para_xylene_mixture=o/p-Xylene Mixture susy.material.partially_liquefied_argon=Partially Liquefied Argon -susy.material.deoxygenation_catalyst=Deoxygenation Catalyst -susy.material.deoxygenation_catalyst_precursor_solution=Deoxygenation Catalyst Precursor Solution +susy.material.supported_platinum=Supported Platinum +susy.material.platinum_precursor_solution=Platinum Precursor Solution susy.material.diluted_zinc_chloride_solution=Diluted Zinc Chloride Solution susy.material.acidic_hydrogen_silsesquioxane_solution=Acidic Hydrogen Silsesquioxane (HSQ) Solution susy.material.hydrogen_silsesquioxane_solution=Hydrogen Silsesquioxane (HSQ) Solution @@ -1772,7 +1771,7 @@ susy.material.ethylene_isobutylene_vinyl_acetate=Ethylene-Isobutylene-Vinyl Acet susy.material.ethylene_isobutylene_vinyl_acetate_mixture=Ethylene-Isobutylene-Vinyl Acetate Mixture susy.material.chlorosulfuric_acid=Chlorosulfuric Acid susy.material.sodium_dodecyl_sulfate_solution=Sodium Dodecyl Sulfate Solution -susy.material.dodecanesulfonic_acid=Dodecanesulfonic Acid +susy.material.hydrogen_dodecyl_sulfate=Hydrogen Dodecyl Sulfate susy.material.sodium_dodecyl_sulfate=Sodium Dodecyl Sulfate susy.material.lubricity_additive=Lubricity Additive susy.material.dinonylnaphthalene=Dinonylnaphthalene @@ -1785,18 +1784,18 @@ susy.material.manganese_ii_chloride_solution=Manganese II Chloride Solution susy.material.diluted_manganese_ii_chloride_solution=Diluted Manganese II Chloride Solution susy.material.methylcyclopentadiene=Methylcyclopentadiene susy.material.diglyme=Diglyme -susy.material.bismethylcyclopentadienylmanganese=Bismethylcyclopentadienylmanganese +susy.material.bismethylcyclopentadienylmanganese=Bis(methylcyclopentadienyl)manganese susy.material.methylcyclopentadienylmanganese_tricarbonyl=Methylcyclopentadienylmanganese Tricarbonyl susy.material.methyl_carbitol=Methyl Carbitol susy.material.methylcyclopentadiene_solution=Methylcyclopentadiene Solution -susy.material.bismethylcyclopentadienylmanganese_solution=Bismethylcyclopentadienylmanganese Solution +susy.material.bismethylcyclopentadienylmanganese_solution=Bis(methylcyclopentadienyl)manganese Solution susy.material.diisopropyl_para_phenylenediamine=N,N'-Diisopropyl-p-Phenylenediamine susy.material.diisopropyl_para_phenylenediamine_solution=N,N'-Diisopropyl-p-Phenylenediamine Solution susy.material.propanolamine_mix=Propanolamine Mix susy.material.metal_deactivator=Metal Deactivator susy.material.one_two_diaminopropane_solution=1,2-Diaminopropane Solution susy.material.salicylaldehyde=Salicylaldehyde -susy.material.salicylidene_one_two_propanediamine=N,N'-bis(salicylidene)-1,2-propanediamine +susy.material.salicylidene_one_two_propanediamine=N,N'-bis(salicylidene)-1,2-propanediamine (SALPN) susy.material.ignition_improver=Ignition Improver susy.material.cold_flow_improver=Cold Flow Improver susy.material.dihexadecylamine=Dihexadecylamine @@ -1814,23 +1813,100 @@ susy.material.solvent_lubricant_mixture=Solvent-Lubricant Mixture susy.material.cold_solvent_lubricant_mixture=Cold Solvent-Lubricant Mixture susy.material.sulfuric_lubricating_oil=Sulfuric Lubricating Oil susy.material.dewaxing_solvent=Dewaxing Solvent -DewaxedLubricantMixture -SAPOEleven -PlatinumSAPOEleven -SiliconeOilMixture -SiliconeOil -ChloroplatinicAcidSolution -TetraethylOrthosilicate -Methylphenyldichlorosilane -OneOctene -OneDecene -OneDodecene -OneTetradecene -OneHexadecene -OneOctadecene -OneIcosene -OneDocosene -OneTetracosene +susy.material.dewaxed_lubricant_mixture=Dewaxed Lubricant Mixture +susy.material.sapo_eleven=SAPO-11 +susy.material.platinum_sapo_eleven=Platinum SAPO-11 +susy.material.silicone_oil_mixture=Silicone Oil Mixture +susy.material.silicone_oil=Silicone Oil +susy.material.chloroplatinic_acid_solution=Chloroplatinic Acid Solution +susy.material.tetraethyl_orthosilicate=Tetraethyl Orthosilicate (TEOS) +susy.material.methylphenyldichlorosilane=Methylphenyldichlorosilane +susy.material.one_octene=1-Octene +susy.material.one_decene=1-Decene +susy.material.one_dodecene=1-Dodecene +susy.material.one_tetradecene=1-Tetradecene +susy.material.one_hexadecene=1-Hexadecene +susy.material.one_octadecene=1-Octadecene +susy.material.one_icosene=1-Icosene +susy.material.one_docosene=1-Docosene +susy.material.one_tetracosene=1-Tetracosene +susy.material.olefin_polymerization_initiator=Olefin Polymerization Initiator +susy.material.crude_polyalphaolefin_mixture=Crude Polyalphaolefin Mixture +susy.material.boron_trifluoride_mixture=Boron Trifluoride Mixture +susy.material.unsaturated_polyalphaolefin=Unsaturated Polyalphaolefin +susy.material.n_butanol_waste=n-Butanol Waste +susy.material.palladium_precursor_solution=Palladium Precursor Solution +susy.material.supported_palladium=Supported Palladium +susy.material.polyalphaolefin=Polyalphaolefin (PAO) +susy.material.polybutene_mixture=Polybutene Mixture +susy.material.polybutene=Polybutene +susy.material.trimellitic_acid_slurry=Trimellitic Acid Slurry +susy.material.trimellitic_acid=Trimellitic Acid +susy.material.trimellitic_anhydride=Trimellitic Anhydride +susy.material.ester_base_oil=Ester Base Oil +susy.material.molybdenum_disulfide=Molybdenum Disulfide +susy.material.fluorinated_graphite=Fluorinated Graphite +susy.material.oleylamide=Oleylamide +susy.material.monoglycerides=Monoglycerides +susy.material.stearic_acid=Stearic Acid +susy.material.palmitic_acid=Palmitic Acid +susy.material.crude_one_nitronaphthalene=Crude-1-Nitronaphthalene +susy.material.one_nitronaphthalene=1-Nitronaphthalene +susy.material.one_naphthylamine=1-Naphthylamine +susy.material.n_phenyl_one_naphthylamine=N-Phenyl-1-Naphthylamine +susy.material.polyisobutene_mixture=Polyisobutene Mixture +susy.material.polyisobutene=Polyisobutene +susy.material.ethylene_propylene_copolymer=Ethylene Propylene Copolymer +susy.material.methacrylic_acid=Methacrylic Acid +susy.material.alkyl_methacrylate=Alkyl Methacrylate +susy.material.polyalkyl_methacrylate_solution=Polyalkyl Methacrylate Solution +susy.material.alkyl_methacrylate_emulsion=Alkyl Methacrylate Emulsion +susy.material.pama=Polyalkyl Methacrylate (PAMA) +susy.material.styrene_isoprene_solution=Styrene-Isoprene Solution +susy.material.polymerized_styrene_isoprene_solution=Polymerized Styrene-Isoprene Solution +susy.material.raw_styrene_isoprene_rubber=Raw Styrene-Isoprene Rubber +susy.material.styrene_isoprene_rubber=Styrene-Isoprene Rubber +susy.material.hydrogenated_styrene_isoprene_rubber=Hydrogenated Styrene-Isoprene Rubber +susy.material.hydrogenated_styrene_butadiene_rubber=Hydrogenated Styrene-Butadiene Rubber +susy.material.dodecylphenol=Dodecylphenol +susy.material.calcium_phenate=Calcium Phenate +susy.material.calcium_dodecyl_sulfate=Calcium Dodecyl Sulfate +susy.material.dodecylbenzene=Dodecylbenzene +susy.material.dodecylbenzene_sulfonic_acid=Dodecylbenzenesulfonic Acid +susy.material.calcium_dodecylbenzene_sulfate=Calcium Dodecylbenzene Sulfate +susy.material.calcium_salicylate_solution=Calcium Salicylate Solution +susy.material.calcium_salicylate=Calcium Salicylate +susy.material.maleic_anhydride=Maleic Anhydride +susy.material.polyisobutene_succinic_anhydride=Polyisobutene Succinic Anhydride (PIBSA) +susy.material.calcium_dinonylnaphthalene_sulfonate=Calcium Dinonylnaphthalene Sulfonate +susy.material.meta_para_cresol_mixture=m/p-Cresol Mixture +susy.material.ortho_cresol=o-Cresol +susy.material.acidic_tricresyl_phosphate=Acidic Tricresyl Phosphate +susy.material.tricresyl_phosphate=Tricresyl Phosphate +susy.material.diisopropyldithiophosphoric_acid=Diisopropyldithiophosphoric Acid +susy.material.dibutyldithiophosphoric_acid=Dibutyldithiophosphoric Acid +susy.material.zinc_dialkyldithiophosphate=Zinc Dialkyldithiophospate +susy.material.molybdenum_dialkyldithiophosphate=Molybdenum Dialkyldithiophosphate +susy.material.diamylamine=Diamylamine +susy.material.sodium_diamyldithiocarbamate_solution=Sodium Diamylthiocarbamate Solution +susy.material.zinc_bisdiamyldithiocarbamate=Zinc Bis(diamyldithiocarbamate) +susy.material.didodecylbenzene=Didodecylbenzene +susy.material.didodecylbenzene_sulfonic_acid=Didodecylbenzene Sulfonic Acid +susy.material.calcium_didodecylbenzene_sulfate=Calcium Didodecylbenzene Sulfate +susy.material.nonylphenol=Nonylphenol +susy.material.trichloroethylene=Trichloroethylene +susy.material.chloroacetic_acid_solution=Chloroacetic Acid Solution +susy.material.chloroacetic_acid=Chloroacetic Acid +susy.material.four_nonylphenoxyacetic_acid=4-Nonylphenoxyacetic Acid +susy.material.two_nitroaniline_solution=2-Nitroaniline Solution +susy.material.ortho_phenylenediamine_solution=o-Phenylenediamine Solution +susy.material.ortho_phenylenediamine=o-Phenylenediamine +susy.material.benzotriazole=Benzotriazole +susy.material.mercaptobenzothiazole=Mercaptobenzothiazole +susy.material.salicylidene_one_two_ethylenediamine=N,N'-bis(salicylidene)ethylenediamine (SALEN) +susy.material.midgrade_lubricant=Midgrade Lubricant +susy.material.premium_lubricant=Premium Lubricant +susy.material.supreme_lubricant=Supreme Lubricant # Isotopes diff --git a/resources/langfiles/lang/zh_cn.lang b/resources/langfiles/lang/zh_cn.lang index 5ca40463c..33b261562 100644 --- a/resources/langfiles/lang/zh_cn.lang +++ b/resources/langfiles/lang/zh_cn.lang @@ -1719,8 +1719,6 @@ susy.material.su_eight=SU-8光刻胶 susy.material.hydrodealkylated_toluene_mixture=加氢脱烷基化甲苯混合物 susy.material.ortho_para_xylene_mixture=邻-对二甲苯混合物 susy.material.partially_liquefied_argon=部分液化氩 -susy.material.deoxygenation_catalyst=脱氧催化剂 -susy.material.deoxygenation_catalyst_precursor_solution=脱氧催化剂前体溶液 susy.material.diluted_zinc_chloride_solution=稀氯化锌溶液 susy.material.acidic_hydrogen_silsesquioxane_solution=酸性氢倍半硅氧烷(HSQ)溶液 susy.material.hydrogen_silsesquioxane_solution=氢倍半硅氧烷(HSQ)溶液 From ea49dfd458dd9980607ab7061ecd51a85441baa3 Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Fri, 15 Dec 2023 22:14:11 -0600 Subject: [PATCH 18/19] debug --- .../material/OrganicChemistryMaterials.groovy | 29 +++- groovy/material/SecondDegreeMaterials.groovy | 5 +- groovy/material/SuSyMaterials.groovy | 7 +- groovy/material/ThirdDegreeMaterials.groovy | 2 +- .../UnknownCompositionMaterials.groovy | 16 +- .../chemistry/ChemistryOverhaul.groovy | 13 -- .../organic_chemistry/Extractants.groovy | 33 +++-- .../petrochemistry/Fuels.groovy | 140 +++++++++--------- .../petrochemistry/Lubricants.groovy | 80 +++++----- .../petrochemistry/Surfactants.groovy | 4 +- .../polymers/RubberChain.groovy | 3 +- ...ipeMaps.groovy => ModifyRecipeMaps.groovy} | 18 +++ resources/langfiles/lang/en_us.lang | 28 ++-- resources/langfiles/lang/zh_cn.lang | 10 +- 14 files changed, 203 insertions(+), 185 deletions(-) rename groovy/prePostInit/{WipeRecipeMaps.groovy => ModifyRecipeMaps.groovy} (94%) diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index e1c181a4c..a9ea4487b 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -1957,7 +1957,7 @@ public class OrganicChemistryMaterials { .build(); EthyleneIsobutyleneVinylAcetate = new Material.Builder(15312, SuSyUtility.susyId('ethylene_isobutylene_vinyl_acetate')) - .polymer() + .dust() .components(Ethylene, 1, Isobutylene, 1, VinylAcetate, 1) .color(0x8768d4) .iconSet(DULL) @@ -2096,7 +2096,8 @@ public class OrganicChemistryMaterials { .build(); OneNaphthylamine = new Material.Builder(15334, SuSyUtility.susyId('one_naphthylamine')) - .dust() + .dust().fluid() + .fluidTemp(322) .components(Carbon, 10, Hydrogen, 9, Nitrogen, 1) .color(0x82bd9c) .build(); @@ -2142,7 +2143,9 @@ public class OrganicChemistryMaterials { .build(); StyreneIsopreneRubber = new Material.Builder(15341, SuSyUtility.susyId('styrene_isoprene_rubber')) - .dust() + .polymer() + .iconSet(SHINY) + .flags(GENERATE_FOIL, GENERATE_RING) .components(Isoprene, 3, Styrene, 1) .color(0x57103a) .build(); @@ -2183,7 +2186,7 @@ public class OrganicChemistryMaterials { .color(0x604882) .build(); - DodecylbenzenesulfonicAcid = new Material.Builder(15348, SuSyUtility.susyId('dodecylbenzene_sulfonic_acid')) + DodecylbenzenesulfonicAcid = new Material.Builder(15348, SuSyUtility.susyId('dodecylbenzenesulfonic_acid')) .dust() .components(Carbon, 18, Hydrogen, 30, Sulfur, 1, Oxygen, 3) .color(0x7c4882) @@ -2249,7 +2252,13 @@ public class OrganicChemistryMaterials { .color(0x856914) .build(); - //FREE ID: 15358-15359 + TwoButoxyethanol = new Material.Builder(15358, SuSyUtility.susyId('two_butoxyethanol')) + .fluid() + .components(Carbon, 6, Hydrogen, 14, Oxygen, 2) + .color(0xa0c9db) + .build(); + + //FREE ID: 15359 Diamylamine = new Material.Builder(15360, SuSyUtility.susyId('diamylamine')) .fluid() @@ -2279,7 +2288,7 @@ public class OrganicChemistryMaterials { .color(0x327894) .build(); - DidodecylbenzeneSulfonicAcid = new Material.Builder(15364, SuSyUtility.susyId('didodecylbenzene_sulfonic_acid')) + DidodecylbenzenesulfonicAcid = new Material.Builder(15364, SuSyUtility.susyId('didodecylbenzenesulfonic_acid')) .dust() .components(Carbon, 30, Hydrogen, 54, Sulfur, 1, Oxygen, 3) .color(0x32947c) @@ -2341,10 +2350,16 @@ public class OrganicChemistryMaterials { .color(0x878000) .build(); - SalicylideneEthylenediamine = new Material.Builder(15374, SuSyUtility.susyId('salicylidene_one_two_ethylenediamine')) + SalicylideneEthylenediamine = new Material.Builder(15374, SuSyUtility.susyId('salicylidene_ethylenediamine')) .dust() .components(Carbon, 16, Hydrogen, 16, Nitrogen, 2, Oxygen, 2) .color(0x5c84c4) .build(); + + PolyethyleneGlycol = new Material.Builder(15375, SuSyUtility.susyId('polyethylene_glycol')) + .fluid() + .components(Carbon, 2, Hydrogen, 4, Oxygen, 1) + .color(0x599c8e) + .build(); } } diff --git a/groovy/material/SecondDegreeMaterials.groovy b/groovy/material/SecondDegreeMaterials.groovy index 6765dbbe3..fe4343f45 100644 --- a/groovy/material/SecondDegreeMaterials.groovy +++ b/groovy/material/SecondDegreeMaterials.groovy @@ -647,15 +647,16 @@ public class SecondDegreeMaterials { .colorAverage() .build(); - PalladiumPrecursorSolution = new Material.Builder(13103, SuSyUtility.susyId("palladium")) + PalladiumPrecursorSolution = new Material.Builder(13103, SuSyUtility.susyId("palladium_precursor_solution")) .fluid(FluidTypes.ACID) .components(PalladiumChloride, 1, PhosphoricAcid, 1) .colorAverage() .build(); - SupportedPalladium = new Material.Builder(13104, SuSyUtility.susyId("palladium")) + SupportedPalladium = new Material.Builder(13104, SuSyUtility.susyId("supported_palladium")) .dust() .components(PalladiumChloride, 1, Alumina, 1) + .flags(GENERATE_CATALYST_BED) .colorAverage() .build(); } diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 4b30cb8a4..a4d39a295 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -440,9 +440,6 @@ class SuSyMaterials { public static Material RheniumRichFlue; public static Material ScrubbedPerrhenateSolution; public static Material AlphaOlefinMixture; - public static Material EightTwentyOlefinMixture; - public static Material NineTwentyOneAldehydeMixture; - public static Material NineTwentyOneFattyAcidMixture; public static Material SiftedScheelite; public static Material ImpureScheeliteSlurry; public static Material ScheeliteSlurry; @@ -1528,7 +1525,7 @@ class SuSyMaterials { public static Material SodiumDiamylthiocarbamateSolution; public static Material ZincBisdiamyldithiocarbamate; public static Material Didodecylbenzene; - public static Material DidodecylbenzeneSulfonicAcid; + public static Material DidodecylbenzenesulfonicAcid; public static Material CalciumDidodecylbenzeneSulfonate; public static Material Nonylphenol; public static Material Trichloroethylene; @@ -1540,6 +1537,8 @@ class SuSyMaterials { public static Material Mercaptobenzothiazole; public static Material SalicylideneEthylenediamine; public static Material Pseudocumene; + public static Material TwoButoxyethanol; + public static Material PolyethyleneGlycol; // Third Degree Materials diff --git a/groovy/material/ThirdDegreeMaterials.groovy b/groovy/material/ThirdDegreeMaterials.groovy index 08266017a..4368e01dd 100644 --- a/groovy/material/ThirdDegreeMaterials.groovy +++ b/groovy/material/ThirdDegreeMaterials.groovy @@ -514,7 +514,7 @@ public class ThirdDegreeMaterials { .colorAverage() .build(); - AcidicTricresylPhosphate = new Material.Builder(24081, SuSyUtility.susyId('acidic_tricresyl_phoshpate')) + AcidicTricresylPhosphate = new Material.Builder(24081, SuSyUtility.susyId('acidic_tricresyl_phosphate')) .fluid(FluidTypes.ACID) .components(TricresylPhosphate, 1, HydrogenChloride, 3) .colorAverage() diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index aeb510607..e180229ed 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1730,20 +1730,7 @@ public class UnknownCompositionMaterials { .color(0xd15298) .build(); - EightTwentyOlefinMixture = new Material.Builder(4330, SuSyUtility.susyId('eight_twenty_olefin_mixture')) - .fluid() - .color(0xa31d53) - .build(); - - NineTwentyOneAldehydeMixture = new Material.Builder(4331, SuSyUtility.susyId('nine_twenty_one_aldehyde_mixture')) - .fluid() - .color(0x911da3) - .build(); - - NineTwentyOneFattyAcidMixture = new Material.Builder(4332, SuSyUtility.susyId('nine_twenty_one_fatty_acid_mixture')) - .fluid() - .color(0xa37b1d) - .build(); + //FREE ID: 4330-4332 HZSMFive = new Material.Builder(4333, SuSyUtility.susyId('hzsm_five')) .dust() @@ -1922,6 +1909,7 @@ public class UnknownCompositionMaterials { PlatinumSAPOEleven = new Material.Builder(4368, SuSyUtility.susyId('platinum_sapo_eleven')) .dust() .color(0x969444) + .flags(GENERATE_CATALYST_BED) .build(); SiliconeOilMixture = new Material.Builder(4369, SuSyUtility.susyId('silicone_oil_mixture')) diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index de5417a69..668d340b9 100755 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -4288,19 +4288,6 @@ DISTILLATION_TOWER.recipeBuilder() // SCHULZ-FLORY, p = 0.82, ROUNDED TO NEAREST .EUt(Globals.voltAmps[3]) .buildAndRegister() -LCR.recipeBuilder() - .fluidInputs(fluid('one_icosene') * 35) - .fluidInputs(fluid('one_octadecene') * 40) - .fluidInputs(fluid('one_hexadecene') * 50) - .fluidInputs(fluid('one_tetradecene') * 60) - .fluidInputs(fluid('one_dodecene') * 75) - .fluidInputs(fluid('one_decene') * 90) - .fluidInputs(fluid('one_octene') * 130) - .fluidOutputs(fluid('eight_twenty_olefin_mixture') * 485) // FOR 1-AMINOETHYL-2-ALKYLIMIDAZOLINE COLLECTOR - .duration(125) - .EUt(Globals.voltAmps[3]) - .buildAndRegister() - //OXALIC ACID LCR.recipeBuilder() .fluidInputs(fluid('ethylene_glycol') * 1000) diff --git a/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy index 5379a3624..4d800d61f 100644 --- a/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy @@ -347,26 +347,35 @@ BR.recipeBuilder() //1-AMIDOETHYL-2-ALKYL-2-IMIDAZOLINE REACTION_FURNACE.recipeBuilder() - .inputs(ore('dustDicobaltOctacarbonyl') * 18) - .fluidInputs(fluid('hydrogen') * 2000) - .fluidInputs(fluid('carbon_monoxide') * 1000) - .fluidInputs(fluid('eight_twenty_olefin_mixture') * 1000) - .fluidOutputs(fluid('nine_twenty_one_aldehyde_mixture') * 1000) - .EUt(Globals.voltAmps[3]) + .fluidInputs(fluid('diethylenetriamine') * 1000) + .fluidInputs(fluid('caprylic_acid') * 2000) + .fluidOutputs(fluid('one_amidoethyl_two_alkyl_two_imidazoline') * 1000) + .fluidOutputs(fluid('steam') * 3000) + .EUt(Globals.voltAmps[4]) .duration(80) .buildAndRegister() -BR.recipeBuilder() - .fluidInputs(fluid('nine_twenty_one_aldehyde_mixture') * 1000) - .fluidInputs(fluid('oxygen') * 1000) - .fluidOutputs(fluid('nine_twenty_one_fatty_acid_mixture') * 1000) - .EUt(Globals.voltAmps[3]) +REACTION_FURNACE.recipeBuilder() + .fluidInputs(fluid('diethylenetriamine') * 1000) + .fluidInputs(fluid('lauric_acid') * 2000) + .fluidOutputs(fluid('one_amidoethyl_two_alkyl_two_imidazoline') * 1000) + .fluidOutputs(fluid('steam') * 3000) + .EUt(Globals.voltAmps[4]) + .duration(80) + .buildAndRegister() + +REACTION_FURNACE.recipeBuilder() + .fluidInputs(fluid('diethylenetriamine') * 1000) + .fluidInputs(fluid('palmitic_acid') * 2000) + .fluidOutputs(fluid('one_amidoethyl_two_alkyl_two_imidazoline') * 1000) + .fluidOutputs(fluid('steam') * 3000) + .EUt(Globals.voltAmps[4]) .duration(80) .buildAndRegister() REACTION_FURNACE.recipeBuilder() .fluidInputs(fluid('diethylenetriamine') * 1000) - .fluidInputs(fluid('nine_twenty_one_fatty_acid_mixture') * 2000) + .fluidInputs(fluid('stearic_acid') * 2000) .fluidOutputs(fluid('one_amidoethyl_two_alkyl_two_imidazoline') * 1000) .fluidOutputs(fluid('steam') * 3000) .EUt(Globals.voltAmps[4]) diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Fuels.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Fuels.groovy index 6cc6f1734..df3c1f24c 100644 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Fuels.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Fuels.groovy @@ -31,17 +31,17 @@ REACTION_FURNACE = recipemap('reaction_furnace') ELECTROMAGNETIC_SEPARATOR = recipemap('electromagnetic_separator') PSA = recipemap('pressure_swing_adsorption') SINTERING_OVEN = recipemap('sintering_oven') +BLENDER = recipemap('blender') def major_solvents = [ - 'xylene' - 'naphtha' + 'xylene', + 'naphtha', 'toluene' ] def minor_solvents = [ - 'naphthalene' - 'pseudocumene' - 'isopropyl_alcohol' + 'naphthalene', + 'isopropyl_alcohol', 'ethylbenzene' ] @@ -385,7 +385,7 @@ BR.recipeBuilder() .fluidInputs(fluid('chloroform') * 1000) .fluidInputs(fluid('water') * 1000) .fluidOutputs(fluid('salicylaldehyde') * 1000) - .fluidOutputs(fluid('rock_salt_solution') * 3000) + .fluidOutputs(fluid('potassium_chloride_solution') * 3000) .duration(200) .EUt(120) .buildAndRegister() @@ -426,7 +426,7 @@ BR.recipeBuilder() FBR.recipeBuilder() .notConsumable(metaitem('catalystBedAlumina')) - .fluidInputs(fluid('hexadecanol') * 100) + .fluidInputs(fluid('n_hexadecanol') * 100) .fluidInputs(fluid('ammonia') * 50) .fluidOutputs(fluid('dihexadecylamine') * 50) .fluidOutputs(fluid('water') * 100) @@ -481,20 +481,29 @@ def AntioxidantMap = [ ] def AntiknockMap = [ - 'toluene': 500, 'isooctane': 250, 'tetraethyllead': 100, 'methylcyclopentadienylmanganese_tricarbonyl': 50 ] +// Returns an array of unique material pairs def getUniquePairs(Map materialsMap) { def pairs = [] - materialsMap.each { material1, _ -> - materialsMap.each { material2, __ -> - if (material1 == material2) { return } - def combinationExists = pairs.any { combination -> combination.contains(material1) && combination.contains(material2) } - if (!combinationExists) { pairs << [material1, material2] } + // Convert map entries to a list for easier iteration + def materialList = materialsMap.entrySet().toList() + + for (int i = 0; i < materialList.size() - 1; i++) { + def material1 = materialList[i] + for (int j = i + 1; j < materialList.size(); j++) { + def material2 = materialList[j] + + // Check if the pair is already in the list + def combinationExists = pairs.any { it.contains(material1) && it.contains(material2) } + + if (!combinationExists) { + pairs << [material1, material2] + } } } @@ -508,7 +517,7 @@ mods.gregtech.mixer.removeByInput(480, null, [fluid('diesel') * 1000, fluid('tet for (major_solvent in major_solvents) { for (minor_solvent in minor_solvents) { - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(metaitem('dustSmallSodiumDodecylSulfate')) .fluidInputs(fluid('two_butoxyethanol') * 250) .fluidInputs(fluid(major_solvent) * 1500) @@ -518,16 +527,7 @@ for (major_solvent in major_solvents) { .EUt(Globals.voltAmps[2]) .buildAndRegister() - MIXER.recipeBuilder() - .inputs(ore('dustSmallDinonylnaphthaleneSulfonicAcid')) - .fluidInputs(fluid(major_solvent) * 1500) - .fluidInputs(fluid(minor_solvent) * 500) - .fluidOutputs(fluid('antistatic_additive') * 2000) - .duration(200) - .EUt(Globals.voltAmps[2]) - .buildAndRegister() - - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(ore('dustSmallDinonylnaphthaleneSulfonicAcid')) .fluidInputs(fluid(major_solvent) * 1500) .fluidInputs(fluid(minor_solvent) * 500) @@ -536,7 +536,7 @@ for (major_solvent in major_solvents) { .EUt(Globals.voltAmps[2]) .buildAndRegister() - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(ore('dustSmallSalicylideneOneTwoPropanediamine')) .fluidInputs(fluid(major_solvent) * 1500) .fluidInputs(fluid(minor_solvent) * 500) @@ -545,7 +545,7 @@ for (major_solvent in major_solvents) { .EUt(Globals.voltAmps[2]) .buildAndRegister() - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .fluidInputs(fluid('two_ethylhexyl_nitrate') * 250) .fluidInputs(fluid(major_solvent) * 1500) .fluidInputs(fluid(minor_solvent) * 250) @@ -554,7 +554,8 @@ for (major_solvent in major_solvents) { .EUt(Globals.voltAmps[2]) .buildAndRegister() - MIXER.recipeBuilder() + BLENDER.recipeBuilder() + .circuitMeta(1) .inputs(ore('dustSmallEthyleneIsobutyleneVinylAcetate')) .fluidInputs(fluid(major_solvent) * 1500) .fluidInputs(fluid(minor_solvent) * 500) @@ -563,9 +564,9 @@ for (major_solvent in major_solvents) { .EUt(Globals.voltAmps[2]) .buildAndRegister() - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(ore('dustSmallEthyleneIsobutyleneVinylAcetate')) - .inputs(ore('dustSmalldustDihexadecylaminePhthalateAmide')) + .inputs(ore('dustSmallDihexadecylaminePhthalateAmide')) .fluidInputs(fluid(major_solvent) * 6000) .fluidInputs(fluid(minor_solvent) * 2000) .fluidOutputs(fluid('cold_flow_improver') * 8000) @@ -574,20 +575,22 @@ for (major_solvent in major_solvents) { .buildAndRegister() AntiknockMap.each { key, val -> - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .fluidInputs(fluid(key) * val) .fluidInputs(fluid(major_solvent) * 1500) - .fluidInputs(fluid(minor_solvent) * 500 - val) - .fluidOutputs(fluid('gasoline_antiknock') * 1000) + .fluidInputs(fluid(minor_solvent) * (500 - val)) + .fluidOutputs(fluid('antiknock') * 1000) .duration(200) .EUt(120) .buildAndRegister() } - getUniquePairs(AntioxidantMap).each { key, val -> - MIXER.recipeBuilder() - .fluidInputs(fluid(key) * AntioxidantMap[key]) - .fluidInputs(fluid(val) * AntioxidantMap[val]) + def antioxidantPairs = getUniquePairs(AntioxidantMap) + + for (pair in antioxidantPairs) { + BLENDER.recipeBuilder() + .fluidInputs(fluid(pair[0].getKey()) * pair[0].getValue()) + .fluidInputs(fluid(pair[1].getKey()) * pair[1].getValue()) .fluidInputs(fluid(major_solvent) * 1400) .fluidInputs(fluid(minor_solvent) * 200) .fluidOutputs(fluid('antioxidants') * 2000) @@ -595,11 +598,11 @@ for (major_solvent in major_solvents) { .EUt(120) .buildAndRegister() } - + for (antioxidant in AntioxidantMap) { - MIXER.recipeBuilder() - .inputs(ore('dustDiisopropylParaPhenyleneDiamine') * 4) - .fluidInputs(fluid(antioxidant) * 200) + BLENDER.recipeBuilder() + .inputs(ore('dustDiisopropylParaPhenylenediamine') * 4) + .fluidInputs(fluid(antioxidant.key) * 200) .fluidInputs(fluid(major_solvent) * 3400) .fluidInputs(fluid(minor_solvent) * 400) .fluidOutputs(fluid('antioxidants') * 4000) @@ -607,32 +610,36 @@ for (major_solvent in major_solvents) { .EUt(120) .buildAndRegister() } - - getUniquePairs(OxygenateMap).each { key, val -> - MIXER.recipeBuilder() - .fluidInputs(fluid(key) * OxygenateMap[key]) - .fluidInputs(fluid(val) * OxygenateMap[val]) - .fluidOutputs(fluid('oxygenates') * 2000) - .duration(200) - .EUt(120) - .buildAndRegister() -} } } +def oxygenatePairs = getUniquePairs(OxygenateMap) + +for (pair in oxygenatePairs) { + BLENDER.recipeBuilder() + .fluidInputs(fluid(pair[0].getKey()) * pair[0].getValue()) + .fluidInputs(fluid(pair[1].getKey()) * pair[1].getValue()) + .fluidOutputs(fluid('oxygenates') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() +} + +println("Registered oxygenate pairs") + // Gasoline final blending -MIXER.recipeBuilder() +BLENDER.recipeBuilder() .fluidInputs(fluid('gasoline') * 1000) - .fluidInputs(fluid('gasoline_oxygenates') * 100) + .fluidInputs(fluid('oxygenates') * 100) .fluidInputs(fluid('antiknock') * 100) .fluidOutputs(fluid('midgrade_gasoline') * 1000) .duration(10) .EUt(120) .buildAndRegister() -MIXER.recipeBuilder() - .fluidOutputs(fluid('midgrade_gasoline') * 1000) +BLENDER.recipeBuilder() + .fluidInputs(fluid('midgrade_gasoline') * 1000) .fluidInputs(fluid('methyl_carbitol') * 100) .fluidInputs(fluid('corrosion_inhibitor') * 100) .fluidOutputs(fluid('premium_gasoline') * 1000) @@ -640,8 +647,8 @@ MIXER.recipeBuilder() .EUt(120) .buildAndRegister() -MIXER.recipeBuilder() - .fluidOutputs(fluid('premium_gasoline') * 1000) +BLENDER.recipeBuilder() + .fluidInputs(fluid('premium_gasoline') * 1000) .fluidInputs(fluid('antioxidants') * 100) .fluidInputs(fluid('metal_deactivator') * 100) .fluidOutputs(fluid('supreme_gasoline') * 1000) @@ -651,7 +658,7 @@ MIXER.recipeBuilder() // Diesel final blending -MIXER.recipeBuilder() +BLENDER.recipeBuilder() .fluidInputs(fluid('diesel') * 1000) .fluidInputs(fluid('ignition_improver') * 100) .fluidInputs(fluid('cold_flow_improver') * 100) @@ -660,8 +667,8 @@ MIXER.recipeBuilder() .EUt(120) .buildAndRegister() -MIXER.recipeBuilder() - .fluidOutputs(fluid('midgrade_diesel') * 1000) +BLENDER.recipeBuilder() + .fluidInputs(fluid('midgrade_diesel') * 1000) .fluidInputs(fluid('antistatic_additive') * 100) .fluidInputs(fluid('lubricity_additive') * 100) .fluidOutputs(fluid('premium_diesel') * 1000) @@ -669,8 +676,8 @@ MIXER.recipeBuilder() .EUt(120) .buildAndRegister() -MIXER.recipeBuilder() - .fluidOutputs(fluid('premium_diesel') * 1000) +BLENDER.recipeBuilder() + .fluidInputs(fluid('premium_diesel') * 1000) .fluidInputs(fluid('antioxidants') * 100) .fluidInputs(fluid('antifoaming_additive') * 100) .fluidOutputs(fluid('supreme_diesel') * 1000) @@ -678,10 +685,9 @@ MIXER.recipeBuilder() .EUt(120) .buildAndRegister() - // Kerosene final blending -MIXER.recipeBuilder() +BLENDER.recipeBuilder() .fluidInputs(fluid('kerosene') * 1000) .fluidInputs(fluid('methyl_carbitol') * 100) .fluidInputs(fluid('antistatic_additive') * 100) @@ -690,8 +696,8 @@ MIXER.recipeBuilder() .EUt(120) .buildAndRegister() -MIXER.recipeBuilder() - .fluidOutputs(fluid('midgrade_kerosene') * 1000) +BLENDER.recipeBuilder() + .fluidInputs(fluid('midgrade_kerosene') * 1000) .fluidInputs(fluid('lubricity_additive') * 100) .fluidInputs(fluid('antioxidants') * 100) .fluidOutputs(fluid('premium_kerosene') * 1000) @@ -699,8 +705,8 @@ MIXER.recipeBuilder() .EUt(120) .buildAndRegister() -MIXER.recipeBuilder() - .fluidOutputs(fluid('premium_kerosene') * 1000) +BLENDER.recipeBuilder() + .fluidInputs(fluid('premium_kerosene') * 1000) .fluidInputs(fluid('corrosion_inhibitor') * 100) .fluidInputs(fluid('metal_deactivator') * 100) .fluidOutputs(fluid('supreme_kerosene') * 1000) diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy index 581e0ec0c..20aec092b 100644 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy @@ -31,6 +31,9 @@ LCR = recipemap('large_chemical_reactor') AUTOCLAVE = recipemap('autoclave') HEAT_EXCHANGER = recipemap('heat_exchanger') UV_LIGHT_BOX = recipemap('uv_light_box') +BLENDER = recipemap('blender') +PHASE_SEPARATOR = recipemap('phase_separator') +DUMPER = recipemap('dumping') // Lubricant base oils @@ -60,13 +63,11 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .duration(5) .buildAndRegister() - SIFTER.recipeBuilder() - .notConsumable(metaitem('item_filter')) + PHASE_SEPARATOR.recipeBuilder() .fluidInputs(fluid('cold_solvent_lubricant_mixture') * 2850) .fluidOutputs(fluid('slack_wax') * 350) .fluidOutputs(fluid('dewaxed_lubricant_mixture') * 2500) - .duration(20) - .EUt(30) + .duration(5) .buildAndRegister() DT.recipeBuilder() @@ -276,7 +277,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .buildAndRegister() DISTILLERY.recipeBuilder() - .fluidInputs(fluid('trimellitic_anhydride_slurry') * 2000) + .fluidInputs(fluid('trimellitic_acid_slurry') * 2000) .outputs(metaitem('dustTrimelliticAcid') * 21) .fluidOutputs(fluid('diluted_acetic_acid') * 2000) .EUt(120) @@ -446,7 +447,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') ROASTER.recipeBuilder() .fluidInputs(fluid('one_naphthylamine') * 144) - .fluidInputs(fluid('aniline') * 1000) + .fluidInputs(fluid('gtfo_aniline') * 1000) .outputs(metaitem('dustNPhenylOneNaphthylamine')) .duration(200) .EUt(120) @@ -616,7 +617,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') // Calcium salicylate - BR.recipeBuilder() + LCR.recipeBuilder() .inputs(ore('dustCalciumHydroxide') * 5) .inputs(ore('dustCalcite')) .fluidInputs(fluid('phenol') * 2000) @@ -650,7 +651,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') REACTION_FURNACE.recipeBuilder() .inputs(ore('dustMaleicAnhydride') * 9) - .fluidInputs(fluid('polyisobutene') * 1000) + .inputs(ore('dustPolyisobutene')) .outputs(metaitem('dustPolyisobuteneSuccinicAnhydride')) .duration(200) .EUt(240) @@ -706,7 +707,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') BR.recipeBuilder() .inputs(ore('dustSodiumHydroxide') * 9) - .fluidInputs(fluid('acidic_triethyl_phosphate') * 4000) + .fluidInputs(fluid('acidic_tricresyl_phosphate') * 4000) .fluidOutputs(fluid('tricresyl_phosphate') * 1000) .fluidOutputs(fluid('salt_water') * 3000) .duration(200) @@ -726,7 +727,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') BR.recipeBuilder() .inputs(ore('dustPhosphorusPentasulfide') * 7) - .fluidInputs(fluid('butanolol') * 4000) + .fluidInputs(fluid('n_butanol') * 4000) .fluidOutputs(fluid('dibutyldithiophosphoric_acid') * 2000) .fluidOutputs(fluid('hydrogen_sulfide') * 1000) .duration(200) @@ -825,7 +826,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') BR.recipeBuilder() .inputs(ore('dustDidodecylbenzene')) .fluidInputs(fluid('oleum') * 11000) - .outputs(metaitem('dustDidodecylbenzeneSulfonicAcid')) + .outputs(metaitem('dustDidodecylbenzenesulfonicAcid')) .fluidOutputs(fluid('sulfuric_acid') * 10000) .duration(100) .EUt(Globals.voltAmps[2]) @@ -835,14 +836,14 @@ UV_LIGHT_BOX = recipemap('uv_light_box') .notConsumable(ore('platePolytetrafluoroethylene') * 6) .inputs(ore('dustDidodecylbenzene')) .fluidInputs(fluid('chlorosulfuric_acid') * 1000) - .outputs(metaitem('dustDidodecylbenzeneSulfonicAcid')) + .outputs(metaitem('dustDidodecylbenzenesulfonicAcid')) .fluidOutputs(fluid('hydrogen_chloride') * 1000) .duration(100) .EUt(Globals.voltAmps[2]) .buildAndRegister() BR.recipeBuilder() - .inputs(ore('dustDidodecylbenzeneSulfonicAcid') * 2) + .inputs(ore('dustDidodecylbenzenesulfonicAcid') * 2) .fluidInputs(fluid('calcium_hydroxide_solution') * 1000) .outputs(metaitem('dustCalciumDidodecylbenzeneSulfonate')) .fluidOutputs(fluid('water') * 1000) @@ -854,7 +855,7 @@ UV_LIGHT_BOX = recipemap('uv_light_box') BR.recipeBuilder() .fluidInputs(fluid('phenol') * 1000) - .fluidInputs(fluid('triproplyene') * 1000) + .fluidInputs(fluid('tripropylene') * 1000) .notConsumable(fluid('hydrofluoric_acid') * 100) .fluidOutputs(fluid('nonylphenol')) .duration(200) @@ -944,9 +945,9 @@ UV_LIGHT_BOX = recipemap('uv_light_box') BR.recipeBuilder() .inputs(ore('dustSulfur')) - .fluidInputs(fluid('aniline') * 1000) + .fluidInputs(fluid('gtfo_aniline') * 1000) .fluidInputs(fluid('carbon_disulfide') * 1000) - .outputs(metaitem('dustMecaptobenzothiazole')) + .outputs(metaitem('dustMercaptobenzothiazole')) .fluidOutputs(fluid('hydrogen_sulfide') * 1000) .duration(200) .EUt(30) @@ -990,18 +991,19 @@ def liquidFrictionModifierMap = [ 'stearic_acid': 1, 'linoleic_acid': 1, 'palmitic_acid': 1, - 'oleylamine': 2, + 'oleylamide': 2, 'monoglycerides': 2 ] def solidAntiwearMap = [ - 'tricresyl_phosphate': 1, - 'zinc_dialkyldithiophosphate': 1.5 + 'dustMolybdenumDialkyldithiophosphate': 4, + 'dustZincBisdiethyldithiocarbamate': 2 + ] def liquidAntiwearMap = [ - 'dustMolybdenumDialkyldithiophosphate': 4, - 'dustZincBisdiethyldithiocarbamate': 2 + 'tricresyl_phosphate': 1, + 'zinc_dialkyldithiophosphate': 1.5 ] def pourPointDepressantMap = [ @@ -1027,7 +1029,7 @@ def chelates = [ def corrosionInhibitors = [ 'dustBenzotriazole', - 'dustMecaptobenzothiazole' + 'dustMercaptobenzothiazole' ] // dustNPhenylOneNaphthylamine: 2 @@ -1041,7 +1043,7 @@ def antioxidantMap = [ // Base baseOilMap.each { oil, multiplier1 -> solidFrictionModifierMap.each { sfm, multiplier2 -> - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(ore(sfm)) .fluidInputs(fluid(oil) * (1000 * multiplier2 * 4)) .fluidOutputs(fluid('lubricant') * (1000 * multiplier1 * multiplier2 * 4)) @@ -1051,7 +1053,7 @@ baseOilMap.each { oil, multiplier1 -> } liquidFrictionModifierMap.each { lfm, multiplier3 -> - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .fluidInputs(fluid(oil) * (1000 * multiplier3)) .fluidInputs(fluid(lfm) * 250) .fluidOutputs(fluid('lubricant') * (1000 * multiplier1 * multiplier3)) @@ -1063,7 +1065,7 @@ baseOilMap.each { oil, multiplier1 -> // Midgrade solidAntiwearMap.each { saw, multiplier -> - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(ore(saw)) .fluidInputs(fluid('lubricant') * (1000 * multiplier * 4)) .fluidInputs(fluid('polyethylene_glycol') * 1000) @@ -1073,7 +1075,7 @@ solidAntiwearMap.each { saw, multiplier -> .EUt(120) .buildAndRegister() - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(ore(saw)) .inputs(ore('dustCalciumDinonylnaphthaleneSulfonate')) .fluidInputs(fluid('lubricant') * (1000 * multiplier * 4)) @@ -1085,7 +1087,7 @@ solidAntiwearMap.each { saw, multiplier -> } liquidAntiwearMap.each { law, multiplier -> - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .fluidInputs(fluid('lubricant') * (1000 * multiplier)) .fluidInputs(fluid('polyethylene_glycol') * 250) .fluidInputs(fluid('antifoaming_additive') * 250) @@ -1095,7 +1097,7 @@ liquidAntiwearMap.each { law, multiplier -> .EUt(120) .buildAndRegister() - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(ore('dustCalciumDinonylnaphthaleneSulfonate')) .fluidInputs(fluid('lubricant') * (1000 * multiplier * 4)) .fluidInputs(fluid('antifoaming_additive') * 1000) @@ -1108,28 +1110,28 @@ liquidAntiwearMap.each { law, multiplier -> // Premium pourPointDepressantMap.each { ppd, multiplier1 -> - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(ore(ppd)) .fluidInputs(fluid('calcium_phenate') * 1000) .inputs(ore('dustCalciumDidodecylbenzeneSulfonate')) - .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) - .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) + .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * 3 * 4)) + .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * 3 * 4)) .duration(200) .EUt(120) .buildAndRegister() - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(ore(ppd)) .fluidInputs(fluid('calcium_phenate') * 1000) .fluidInputs(fluid('four_nonylphenoxyacetic_acid') * 1000) - .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * 3 * 4)) - .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * 3 * 4)) + .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * 3 * 4 * 1.5)) + .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * 3 * 4 * 1.5)) .duration(200) .EUt(120) .buildAndRegister() detergentMap.each { det, multiplier2 -> - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(ore(det)) .inputs(ore(ppd)) .inputs(ore('dustCalciumDidodecylbenzeneSulfonate')) @@ -1139,7 +1141,7 @@ pourPointDepressantMap.each { ppd, multiplier1 -> .EUt(120) .buildAndRegister() - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(ore(det)) .inputs(ore(ppd)) .fluidInputs(fluid('four_nonylphenoxyacetic_acid') * 1000) @@ -1155,7 +1157,7 @@ pourPointDepressantMap.each { ppd, multiplier1 -> for (chelate in chelates) { for (ci in corrosionInhibitors) { - MIXER.recipeBuilder() + BLENDER.recipeBuilder() .inputs(ore(chelate)) .inputs(ore(ci)) .inputs(ore('dustNPhenylOneNaphthylamine')) @@ -1165,8 +1167,8 @@ for (chelate in chelates) { .EUt(120) .buildAndRegister() - antioxidantMap.each { ant, multiplier - MIXER.recipeBuilder() + antioxidantMap.each { ant, multiplier -> + BLENDER.recipeBuilder() .inputs(ore(chelate)) .inputs(ore(ci)) .fluidInputs(fluid(ant) * 1000) diff --git a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy index 3523aebbe..4ee654716 100644 --- a/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy @@ -55,7 +55,7 @@ BR.recipeBuilder() DISTILLERY.recipeBuilder() .fluidInputs(fluid('sodium_dodecyl_sulfate_solution') * 1000) - .fluidOutputs(fluid('sodium_dodecyl_sulfate') * 144) + .outputs(metaitem('dustSodiumDodecylSulfate')) .fluidOutputs(fluid('water') * 2000) .duration(100) .EUt(Globals.voltAmps[2]) @@ -73,7 +73,7 @@ BR.recipeBuilder() // Antistatic surfactant (dinonylnaphthalene sulfonate) BR.recipeBuilder() - .fluidInputs(fluid('napthalene') * 1000) + .fluidInputs(fluid('naphthalene') * 1000) .fluidInputs(fluid('tripropylene') * 2000) .notConsumable(fluid('hydrofluoric_acid') * 100) .outputs(metaitem('dustDinonylnaphthalene')) diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy index 2873fbe55..0b9c8e619 100644 --- a/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy @@ -126,10 +126,9 @@ def rubbers = [ new Rubber('dustLatex', 'Rubber', 16, 10 * 20, 4, false), new Rubber('latex', 'Rubber', 32, 20 * 20, 1, true), new Rubber('dustPolyisoprene', 'Rubber', 8, 225, 8, false), - new Rubber('dustRawStyreneIsopreneRubber', 'StyreneIsopreneRubber', 4, 30 * 20, 4, false) + new Rubber('dustRawStyreneIsopreneRubber', 'StyreneIsopreneRubber', 4, 30 * 20, 4, false), new Rubber('dustRawStyreneButadieneRubber', 'StyreneButadieneRubber', 4, 30 * 20, 4, false) ] -name, output, amount_required, duration, yield, isFluid def sulfurSources = [ new SulfurSource('dustSulfur', 1) diff --git a/groovy/prePostInit/WipeRecipeMaps.groovy b/groovy/prePostInit/ModifyRecipeMaps.groovy similarity index 94% rename from groovy/prePostInit/WipeRecipeMaps.groovy rename to groovy/prePostInit/ModifyRecipeMaps.groovy index 05c34edd2..7e3006561 100644 --- a/groovy/prePostInit/WipeRecipeMaps.groovy +++ b/groovy/prePostInit/ModifyRecipeMaps.groovy @@ -1,6 +1,8 @@ import gregtech.api.recipes.RecipeMaps; import gregtech.api.recipes.GTRecipeHandler; +import gregtech.api.recipes.ingredients.GTRecipeInput; import gregtechfoodoption.recipe.GTFORecipeMaps; +import supersymmetry.api.recipes.SuSyRecipeMaps; import static gregtech.api.recipes.RecipeMaps.*; import static gregtech.api.recipes.GTRecipeHandler.*; @@ -19,6 +21,22 @@ removeAllRecipes(GTFORecipeMaps.GREENHOUSE_RECIPES); removeAllRecipes(RecipeMaps.VACUUM_RECIPES); removeAllRecipes(RecipeMaps.ELECTROLYZER_RECIPES); +//Add mixer recipes to blender + +RecipeMaps.MIXER_RECIPES.onRecipeBuild(recipeBuilder -> { + recipeBuilder.invalidateOnBuildAction(); + SuSyRecipeMaps.BLENDER_RECIPES.recipeBuilder() + .inputs(recipeBuilder.getInputs().toArray(new GTRecipeInput[0])) + .fluidInputs(recipeBuilder.getFluidInputs()) + .outputs(recipeBuilder.getOutputs()) + .chancedOutputs(recipeBuilder.getChancedOutputs()) + .fluidOutputs(recipeBuilder.getFluidOutputs()) + .cleanroom(recipeBuilder.getCleanroom()) + .duration((int) (recipeBuilder.duration / 4)) + .EUt(recipeBuilder.EUt) + .buildAndRegister(); +}); + //Removal of certain centrifuging recipes // LPG * 370 diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index d15a1953a..f6b453d13 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -1171,7 +1171,7 @@ susy.material.bismuth_iridate=Bismuth Iridate susy.material.sodium_bismuthate=Sodium Bismuthate susy.material.bismuth_iii_oxide=Bismuth III Oxide susy.material.manganese_ii_nitrate=Manganese II Nitrate -susy.material.purified_manganese_dioxide=Purified Manganese Dioxide +susy.material.manganese_dioxide=Manganese Dioxide susy.material.borax_electrolyte=Borax Electrolyte susy.material.ferroelectric_ceramic_binding=Ferroelectric Ceramic Binding susy.material.barium_titanate=Barium Titanate @@ -1422,10 +1422,9 @@ susy.material.nitromethane=Nitromethane susy.material.diluted_di_tert_butyl_peroxide=Diluted Di-tert-butyl Peroxide susy.material.diluted_two_ethylhexyl_nitrate=Diluted 2-Ethylhexyl Nitrate susy.material.diluted_nitromethane=Diluted Nitromethane -susy.material.gasoline_oxygenates=Gasoline Oxygenates -susy.material.gasoline_antioxidants=Gasoline Antioxidants -susy.material.gasoline_antiknock=Gasoline Antiknock -susy.material.gasoline_general_additives=Gasoline General Additives +susy.material.oxygenates=Oxygenates +susy.material.antioxidants=Antioxidants +susy.material.antiknock=Antiknock susy.material.midgrade_gasoline=Midgrade Gasoline susy.material.premium_gasoline=Premium Gasoline susy.material.supreme_gasoline=Supreme Gasoline @@ -1650,9 +1649,6 @@ susy.material.scrubbed_perrhenate_solution=Scrubbed Perrhenate Solution susy.material.ammonium_perrhenate=Ammonium Perrhenate susy.material.ammonium_perrhenate_solution=Ammonium Perrhenate Solution susy.material.alpha_olefin_mixture=Alpha Olefin Mixture -susy.material.eight_twenty_olefin_mixture=C8-C20 Olefin Mixture -susy.material.nine_twenty_one_aldehyde_mixture=C9-C21 Aldehyde Mixture -susy.material.nine_twenty_one_fatty_acid_mixture=C9-C21 Fatty Acid Mixture susy.material.chlorodiphenylphosphine=Chlorodiphenylphosphine susy.material.diphenylphosphinoacetic_acid=Diphenylphosphinoacetic Acid susy.material.one_hexene=1-Hexene @@ -1850,10 +1846,10 @@ susy.material.oleylamide=Oleylamide susy.material.monoglycerides=Monoglycerides susy.material.stearic_acid=Stearic Acid susy.material.palmitic_acid=Palmitic Acid -susy.material.crude_one_nitronaphthalene=Crude-1-Nitronaphthalene +susy.material.crude_one_nitronaphthalene=Crude 1-Nitronaphthalene susy.material.one_nitronaphthalene=1-Nitronaphthalene susy.material.one_naphthylamine=1-Naphthylamine -susy.material.n_phenyl_one_naphthylamine=N-Phenyl-1-Naphthylamine +susy.material.n_phenyl_one_naphthylamine=N-phenyl-1-naphthylamine susy.material.polyisobutene_mixture=Polyisobutene Mixture susy.material.polyisobutene=Polyisobutene susy.material.ethylene_propylene_copolymer=Ethylene Propylene Copolymer @@ -1872,8 +1868,8 @@ susy.material.dodecylphenol=Dodecylphenol susy.material.calcium_phenate=Calcium Phenate susy.material.calcium_dodecyl_sulfate=Calcium Dodecyl Sulfate susy.material.dodecylbenzene=Dodecylbenzene -susy.material.dodecylbenzene_sulfonic_acid=Dodecylbenzenesulfonic Acid -susy.material.calcium_dodecylbenzene_sulfate=Calcium Dodecylbenzene Sulfate +susy.material.dodecylbenzenesulfonic_acid=Dodecylbenzenesulfonic Acid +susy.material.calcium_dodecylbenzene_sulfonate=Calcium Dodecylbenzene Sulfonate susy.material.calcium_salicylate_solution=Calcium Salicylate Solution susy.material.calcium_salicylate=Calcium Salicylate susy.material.maleic_anhydride=Maleic Anhydride @@ -1892,18 +1888,20 @@ susy.material.sodium_diamyldithiocarbamate_solution=Sodium Diamylthiocarbamate S susy.material.zinc_bisdiamyldithiocarbamate=Zinc Bis(diamyldithiocarbamate) susy.material.didodecylbenzene=Didodecylbenzene susy.material.didodecylbenzene_sulfonic_acid=Didodecylbenzene Sulfonic Acid -susy.material.calcium_didodecylbenzene_sulfate=Calcium Didodecylbenzene Sulfate +susy.material.calcium_didodecylbenzene_sulfonate=Calcium Didodecylbenzene Sulfonate susy.material.nonylphenol=Nonylphenol susy.material.trichloroethylene=Trichloroethylene susy.material.chloroacetic_acid_solution=Chloroacetic Acid Solution susy.material.chloroacetic_acid=Chloroacetic Acid -susy.material.four_nonylphenoxyacetic_acid=4-Nonylphenoxyacetic Acid +susy.material.four_nonylphenoxyacetic_acid=4-Nonylphenoxyacetic acid susy.material.two_nitroaniline_solution=2-Nitroaniline Solution susy.material.ortho_phenylenediamine_solution=o-Phenylenediamine Solution susy.material.ortho_phenylenediamine=o-Phenylenediamine susy.material.benzotriazole=Benzotriazole susy.material.mercaptobenzothiazole=Mercaptobenzothiazole -susy.material.salicylidene_one_two_ethylenediamine=N,N'-bis(salicylidene)ethylenediamine (SALEN) +susy.material.salicylideneethylenediamine=N,N'-bis(salicylidene)ethylenediamine (SALEN) +susy.material.two_butoxyethanol=2-Butoxyethanol +susy.material.polyethylene_glycol=Polyethylene Glycol (PEG) susy.material.midgrade_lubricant=Midgrade Lubricant susy.material.premium_lubricant=Premium Lubricant susy.material.supreme_lubricant=Supreme Lubricant diff --git a/resources/langfiles/lang/zh_cn.lang b/resources/langfiles/lang/zh_cn.lang index 33b261562..22bfa10bc 100644 --- a/resources/langfiles/lang/zh_cn.lang +++ b/resources/langfiles/lang/zh_cn.lang @@ -1415,10 +1415,9 @@ susy.material.nitromethane=硝基甲烷 susy.material.diluted_di_tert_butyl_peroxide=稀过氧叔丁醚 susy.material.diluted_two_ethylhexyl_nitrate=稀2-乙基己醇硝酸酯 susy.material.diluted_nitromethane=稀硝基甲烷 -susy.material.gasoline_oxygenates=汽油供氧剂 -susy.material.gasoline_antioxidants=汽油抗氧化剂 -susy.material.gasoline_antiknock=汽油抗爆剂 -susy.material.gasoline_general_additives=通用汽油添加剂 +susy.material.oxygenates=供氧剂 +susy.material.antioxidants=抗氧化剂 +susy.material.antiknock=抗爆剂 susy.material.midgrade_gasoline=92号汽油 susy.material.premium_gasoline=95号汽油 susy.material.supreme_gasoline=98号汽油 @@ -1643,9 +1642,6 @@ susy.material.scrubbed_perrhenate_solution=漂洗高铼酸盐溶液 susy.material.ammonium_perrhenate=高铼酸铵 susy.material.ammonium_perrhenate_solution=高铼酸铵溶液 susy.material.alpha_olefin_mixture=α-烯烃混合物 -susy.material.eight_twenty_olefin_mixture=C8-C20烯烃混合物 -susy.material.nine_twenty_one_aldehyde_mixture=C9-C21醛混合物 -susy.material.nine_twenty_one_fatty_acid_mixture=C9-C21脂肪酸混合物 susy.material.chlorodiphenylphosphine=二苯基氯化膦 susy.material.diphenylphosphinoacetic_acid=二苯膦基乙酸 susy.material.one_hexene=正己烯 From e3ee62fdcb87787d46e3d77bb0cb811722fde61d Mon Sep 17 00:00:00 2001 From: planetme <87911459+planetme@users.noreply.github.com> Date: Fri, 22 Dec 2023 13:14:02 -0600 Subject: [PATCH 19/19] implement new fuel and lubricants, debuff flue gas flue gas now provides the intended 10% of the gas turbine EU output slightly debuffed biodiesel --- groovy/globals/Globals.groovy | 5 +- groovy/prePostInit/Thermodynamics.groovy | 68 +++++++++++++++++++----- 2 files changed, 59 insertions(+), 14 deletions(-) diff --git a/groovy/globals/Globals.groovy b/groovy/globals/Globals.groovy index d242db780..1e57c0e92 100644 --- a/groovy/globals/Globals.groovy +++ b/groovy/globals/Globals.groovy @@ -92,6 +92,9 @@ class Globals { public static lubricants = [ new Lubricant('lubricating_oil', 1, 1.1), - new Lubricant('lubricant', 2, 1.2) + new Lubricant('lubricant', 2, 1.2), + new Lubricant('midgrade_lubricant', 2, 1.3), + new Lubricant('premium_lubricant', 1, 1.4), + new Lubricant('supreme_lubricant', 1, 1.5) ] } \ No newline at end of file diff --git a/groovy/prePostInit/Thermodynamics.groovy b/groovy/prePostInit/Thermodynamics.groovy index fee38c9f5..6bb9ba915 100644 --- a/groovy/prePostInit/Thermodynamics.groovy +++ b/groovy/prePostInit/Thermodynamics.groovy @@ -539,9 +539,9 @@ FuelOil.setByproductAmount(2000); FuelOil.setIsRefinedFuel(true); def BioDiesel = new IFluidFuel('bio_diesel', 'flue_gas'); -BioDiesel.setDuration(90); +BioDiesel.setDuration(75); BioDiesel.setAmountToBurn(10); -BioDiesel.setByproductAmount(1750); +BioDiesel.setByproductAmount(1500); BioDiesel.setIsRefinedFuel(true); def Diesel = new IFluidFuel('diesel', 'flue_gas'); @@ -550,6 +550,24 @@ Diesel.setAmountToBurn(10); Diesel.setByproductAmount(2000); Diesel.setIsRefinedFuel(true); +def MidgradeDiesel = new IFluidFuel('midgrade_diesel', 'flue_gas'); +MidgradeDiesel.setDuration(150); +MidgradeDiesel.setAmountToBurn(10); +MidgradeDiesel.setByproductAmount(3000); +MidgradeDiesel.setIsRefinedFuel(true); + +def PremiumDiesel = new IFluidFuel('premium_diesel', 'flue_gas'); +PremiumDiesel.setDuration(200); +PremiumDiesel.setAmountToBurn(10); +PremiumDiesel.setByproductAmount(4000); +PremiumDiesel.setIsRefinedFuel(true); + +def SupremeDiesel = new IFluidFuel('supreme_diesel', 'flue_gas'); +SupremeDiesel.setDuration(250); +SupremeDiesel.setAmountToBurn(10); +SupremeDiesel.setByproductAmount(5000); +SupremeDiesel.setIsRefinedFuel(true); + def Gasoline = new IFluidFuel('gasoline', 'flue_gas'); Gasoline.setDuration(100); Gasoline.setAmountToBurn(10); @@ -580,6 +598,24 @@ Kerosene.setAmountToBurn(10); Kerosene.setByproductAmount(1000); Kerosene.setIsRefinedFuel(true); +def MidgradeKerosene = new IFluidFuel('midgrade_kerosene', 'flue_gas'); +MidgradeKerosene.setDuration(150); +MidgradeKerosene.setAmountToBurn(10); +MidgradeKerosene.setByproductAmount(3000); +MidgradeKerosene.setIsRefinedFuel(true); + +def PremiumKerosene = new IFluidFuel('premium_kerosene', 'flue_gas'); +PremiumKerosene.setDuration(200); +PremiumKerosene.setAmountToBurn(10); +PremiumKerosene.setByproductAmount(4000); +PremiumKerosene.setIsRefinedFuel(true); + +def SupremeKerosene = new IFluidFuel('supreme_kerosene', 'flue_gas'); +SupremeKerosene.setDuration(250); +SupremeKerosene.setAmountToBurn(10); +SupremeKerosene.setByproductAmount(5000); +SupremeKerosene.setIsRefinedFuel(true); + def FluidFuels = [ Naphtha, NaturalGas, @@ -606,11 +642,17 @@ def FluidFuels = [ FuelOil, BioDiesel, Diesel, + MidgradeDiesel, + PremiumDiesel, + SupremeDiesel, Gasoline, MidgradeGasoline, PremiumGasoline, SupremeGasoline, - Kerosene + Kerosene, + MidgradeKerosene, + PremiumKerosene, + SupremeKerosene ]; def WaterWF = new IWorkingFluid('water', 'steam', 'exhaust_steam'); @@ -714,19 +756,19 @@ recipemap('flare_stack').recipeBuilder() for (WorkingFluid in WorkingFluids) { recipemap('heat_exchanger').recipeBuilder() - .fluidInputs(liquid(WorkingFluid.normal_fluid) * ((WorkingFluid.amount_to_use) * 10)) - .fluidInputs(liquid('desulfurized_flue_gas') * 250) - .fluidOutputs(liquid(WorkingFluid.heated_fluid) * ((WorkingFluid.amount_to_use * WorkingFluid.conversion_factor) * 10)) - .fluidOutputs(liquid('chilled_flue_gas') * 250) - .duration((int) (WorkingFluid.duration / 2)) + .fluidInputs(liquid(WorkingFluid.normal_fluid) * ((WorkingFluid.amount_to_use))) + .fluidInputs(liquid('desulfurized_flue_gas') * 500) + .fluidOutputs(liquid(WorkingFluid.heated_fluid) * ((WorkingFluid.amount_to_use * WorkingFluid.conversion_factor))) + .fluidOutputs(liquid('chilled_flue_gas') * 500) + .duration((int) (WorkingFluid.duration * 0.75)) .buildAndRegister(); recipemap('heat_exchanger').recipeBuilder() - .fluidInputs(liquid(WorkingFluid.normal_fluid) * ((WorkingFluid.amount_to_use) * 10)) - .fluidInputs(liquid('flue_gas') * 250) - .fluidOutputs(liquid(WorkingFluid.heated_fluid) * ((WorkingFluid.amount_to_use * WorkingFluid.conversion_factor) * 10)) - .fluidOutputs(liquid('chilled_flue_gas') * 250) - .duration((int) (WorkingFluid.duration / 2)) + .fluidInputs(liquid(WorkingFluid.normal_fluid) * ((WorkingFluid.amount_to_use))) + .fluidInputs(liquid('flue_gas') * 500) + .fluidOutputs(liquid(WorkingFluid.heated_fluid) * ((WorkingFluid.amount_to_use * WorkingFluid.conversion_factor))) + .fluidOutputs(liquid('chilled_flue_gas') * 500) + .duration((int) (WorkingFluid.duration)) .buildAndRegister(); recipemap('steam_turbine').recipeBuilder()