diff --git a/groovy/globals/Globals.groovy b/groovy/globals/Globals.groovy index ca37544dc..6897fb007 100644 --- a/groovy/globals/Globals.groovy +++ b/groovy/globals/Globals.groovy @@ -62,6 +62,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/material/FirstDegreeMaterials.groovy b/groovy/material/FirstDegreeMaterials.groovy index 2264a8c2b..95dd7b3eb 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) @@ -3274,13 +3274,43 @@ public class FirstDegreeMaterials{ CobaltIIAcetate.setFormula("Co(C2H3O2)2", true) - AcrylicCatalyst = new Material.Builder(8578, SuSyUtility.susyId("acrylic_catalyst")) + ChlorosulfuricAcid = new Material.Builder(8578, SuSyUtility.susyId("chlorosulfuric_acid")) + .fluid(FluidTypes.ACID) + .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(); + + 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(); + + AcrylicCatalyst = new Material.Builder(8583, SuSyUtility.susyId("acrylic_catalyst")) .dust() .components(Copper, 1, Nickel, 1, Bromine, 4) .colorAverage() .build(); - GelatinSolution = new Material.Builder(8579, SuSyUtility.susyId("gelatin_solution")) + GelatinSolution = new Material.Builder(8584, SuSyUtility.susyId("gelatin_solution")) .fluid() .fluidTemp(323) .components(Gelatin, 1, Water, 1) diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index 3c5933fe8..6e62f918b 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -446,7 +446,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() @@ -476,15 +476,9 @@ 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) + .components(Styrene, 1, Butadiene, 3, Ethanol, 1) .colorAverage() .build(); @@ -515,7 +509,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')) @@ -1477,11 +1470,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() @@ -1863,19 +1852,527 @@ public class OrganicChemistryMaterials { .iconSet(DULL) .build(); - OneThreeDinitrobenzene = new Material.Builder(15297, SuSyUtility.susyId('one_three_dinitrobenzene')) + HydrogenDodecylSulfate = new Material.Builder(15297, SuSyUtility.susyId('hydrogen_dodecyl_sulfate')) + .dust() + .components(Carbon, 12, Hydrogen, 26, Sulfur, 1, Oxygen, 4) + .iconSet(SAND) + .color(0xd8dbb8) + .build(); + + 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(); + + Pseudocumene = new Material.Builder(15301, SuSyUtility.susyId('pseudocumene')) + .fluid() + .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(15309, 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(); + + 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')) + .dust() + .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(); + + 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().fluid() + .fluidTemp(322) + .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')) + .polymer() + .iconSet(SHINY) + .flags(GENERATE_FOIL, GENERATE_RING) + .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('dodecylbenzenesulfonic_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(); + + 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() + .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('didodecylbenzenesulfonic_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_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(); + + OneThreeDinitrobenzene = new Material.Builder(15377, SuSyUtility.susyId('one_three_dinitrobenzene')) .dust() .components(Carbon, 6, Hydrogen, 4, Nitrogen, 2, Oxygen, 4) .color(0x1c718a) .build(); - MetaPhenylenediamine = new Material.Builder(15298, SuSyUtility.susyId('meta_phenylenediamine')) + MetaPhenylenediamine = new Material.Builder(15378, SuSyUtility.susyId('meta_phenylenediamine')) .dust() .components(Carbon, 6, Hydrogen, 8, Nitrogen, 2) .color(0x1e89a8) .build(); - Nomex = new Material.Builder(15299, SuSyUtility.susyId('nomex')) + Nomex = new Material.Builder(15379, SuSyUtility.susyId('nomex')) .components(Carbon, 14, Hydrogen, 10, Nitrogen, 2, Oxygen, 2) .color(0x5d95a3) .build(); @@ -1883,7 +2380,7 @@ public class OrganicChemistryMaterials { Nomex.setFormula('[COC6H4CONHC6H4NH]n', true) Nomex.setProperty(SuSyPropertyKey.FIBER, new FiberProperty(true, false)) - UltraHighMolecularWeightPolyethylene = new Material.Builder(15300, SuSyUtility.susyId('ultra_high_molecular_weight_polyethylene')) + UltraHighMolecularWeightPolyethylene = new Material.Builder(15380, SuSyUtility.susyId('ultra_high_molecular_weight_polyethylene')) .dust().fluid() .flags(GENERATE_PLATE) .components(Carbon, 2, Hydrogen, 4) @@ -1894,37 +2391,37 @@ public class OrganicChemistryMaterials { UltraHighMolecularWeightPolyethylene.setFormula('[C2H4]n', true) UltraHighMolecularWeightPolyethylene.setProperty(SuSyPropertyKey.FIBER, new FiberProperty(false, true)) - AdipicAcid = new Material.Builder(15301, SuSyUtility.susyId('adipic_acid')) + AdipicAcid = new Material.Builder(15381, SuSyUtility.susyId('adipic_acid')) .dust() .components(Carbon, 6, Hydrogen, 10, Oxygen, 4) .color(0xe3ddb6) .build(); - Trimethylolpropane = new Material.Builder(15302, SuSyUtility.susyId('trimethylolpropane')) + Trimethylolpropane = new Material.Builder(15382, SuSyUtility.susyId('trimethylolpropane')) .dust() .components(Carbon, 6, Hydrogen, 14, Oxygen, 3) .color(0x5d8230) .build(); - AcrylicAcid = new Material.Builder(15303, SuSyUtility.susyId('acrylic_acid')) + AcrylicAcid = new Material.Builder(15383, SuSyUtility.susyId('acrylic_acid')) .fluid(FluidTypes.ACID) .components(Carbon, 3, Hydrogen, 4, Oxygen, 2) .color(0x308264) .build(); - TrimethylolpropaneTriacrylate = new Material.Builder(15304, SuSyUtility.susyId('trimethylolpropane_triacrylate')) + TrimethylolpropaneTriacrylate = new Material.Builder(15384, SuSyUtility.susyId('trimethylolpropane_triacrylate')) .fluid() .components(Carbon, 15, Hydrogen, 20, Oxygen, 6) .color(0x279630) .build(); - BenzenediazoniumChloride = new Material.Builder(15305, SuSyUtility.susyId('benzenediazonium_chloride')) + BenzenediazoniumChloride = new Material.Builder(15385, SuSyUtility.susyId('benzenediazonium_chloride')) .dust() .components(Carbon, 6, Hydrogen, 5, Nitrogen, 2, Chlorine, 1) .color(0x18262b) .build(); - Crotonaldehyde = new Material.Builder(15306, SuSyUtility.susyId('crotonaldehyde')) + Crotonaldehyde = new Material.Builder(15386, SuSyUtility.susyId('crotonaldehyde')) .fluid() .components(Carbon, 4, Hydrogen, 6, Oxygen, 1) .color(0xa31a5c) diff --git a/groovy/material/PetrochemistryMaterials.groovy b/groovy/material/PetrochemistryMaterials.groovy index 0559e41a4..ec5744c7b 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(20070, SuSyUtility.susyId('crude_lubricating_oil')) .fluid() - .color(0x3b3a1e) + .color(0x80743c) .build(); - - OilResidue = new Material.Builder(20071, SuSyUtility.susyId('oil_residue')) + + SolventLubricantMixture = new Material.Builder(20071, SuSyUtility.susyId('solvent_lubricant_mixture')) .fluid() - .color(0x242313) + .color(0x6e803c) + .build(); + + ColdSolventLubricantMixture = new Material.Builder(20072, SuSyUtility.susyId('cold_solvent_lubricant_mixture')) + .fluid() + .color(0x5e8064) .build(); - } + DewaxedLubricantMixture = new Material.Builder(20073, SuSyUtility.susyId('dewaxed_lubricant_mixture')) + .fluid() + .color(0x7d782e) + .build(); + + SulfuricLubricatingOil = new Material.Builder(20074, SuSyUtility.susyId('sulfuric_lubricating_oil')) + .fluid() + .color(0x7d782e) + .build(); + } } \ No newline at end of file diff --git a/groovy/material/SecondDegreeMaterials.groovy b/groovy/material/SecondDegreeMaterials.groovy index d3c43fcec..fe4343f45 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) @@ -634,5 +634,30 @@ public class SecondDegreeMaterials { .components(Palladium, 1, ActivatedCarbon, 4) .colorAverage() .build(); + + ManganeseIIChlorideSolution = new Material.Builder(13101, SuSyUtility.susyId("manganese_ii_chloride_solution")) + .fluid() + .components(ManganeseIIChloride, 1, Water, 3) + .colorAverage() + .build(); + + 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_precursor_solution")) + .fluid(FluidTypes.ACID) + .components(PalladiumChloride, 1, PhosphoricAcid, 1) + .colorAverage() + .build(); + + 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 9b6e6fe17..a31bc4058 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -347,10 +347,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; @@ -451,9 +450,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; @@ -488,6 +484,49 @@ 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 Material LubricityAdditive; + public static Material AntistaticAdditive; + public static Material AntifoamingAdditive; + public static Material DiisopropylParaPhenylenediamineSolution; + public static Material PropanolamineMix; + public static Material MetalDeactivator; + 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; + public static Material SAPOEleven; + 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; public static Material OrganosiliconMixture; public static Material ImpurePolydimethylsiloxaneMixture; public static Material RawPolydimethylsiloxaneMixture; @@ -574,6 +613,11 @@ class SuSyMaterials { public static Material BTEX; public static Material Syngas; public static Material ReformedSyngas; + public static Material CrudeLubricatingOil; + public static Material SolventLubricantMixture; + public static Material ColdSolventLubricantMixture; + public static Material SulfuricLubricatingOil; + public static Material DewaxedLubricantMixture; // First Degree Materials @@ -861,7 +905,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; @@ -1029,14 +1073,19 @@ class SuSyMaterials { public static Material ImpureStrontiumSulfide; public static Material DilutedAceticAcid; public static Material CobaltIIAcetate; + public static Material ManganeseIIChloride; + public static Material ChloroplatinicAcidSolution; + public static Material MolybdenumDisulfide; + public static Material FluorinatedGraphite; public static Material HydrogenIodide; public static Material AcrylicCatalyst; public static Material GelatinSolution; // 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; @@ -1133,6 +1182,9 @@ class SuSyMaterials { public static Material ImpureBariumSulfideSolution; public static Material ImpureStrontiumSulfideSlurry; public static Material PalladiumOnCarbon; + public static Material ManganeseIIChlorideSolution; + public static Material DilutedManganeseIIChlorideSolution; + public static Material SupportedPalladium; // Organic Chemistry Materials @@ -1192,12 +1244,11 @@ 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; public static Material OneTwoDichlorobenzeneSolution; - public static Material DryEthanol; public static Material StyreneButadieneSolution; public static Material DiethylEther; public static Material OneBromobutane; @@ -1368,7 +1419,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; @@ -1434,6 +1484,84 @@ class SuSyMaterials { public static Material CrudeDimethylTerephthalate; public static Material WetTerephthalicAcid; public static Material WetIsophthalicAcid; + public static Material EthyleneVinylAcetate; + public static Material EthyleneIsobutyleneVinylAcetate; + public static Material ChlorosulfuricAcid; + public static Material HydrogenDodecylSulfate; + public static Material SodiumDodecylSulfate; + public static Material Dinonylnaphthalene; + public static Material DinonylnaphthaleneSulfonicAcid; + 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; + 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; + 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; + public static Material TwoButoxyethanol; + public static Material PolyethyleneGlycol; public static Material OneThreeDinitrobenzene; public static Material MetaPhenylenediamine; public static Material Nomex; @@ -1518,6 +1646,19 @@ class SuSyMaterials { public static Material CrudeDimethylTerephthalateSolution; public static Material TerephthalateMotherLiquor; public static Material MethylParaToluateMixture; + public static Material EthyleneVinylAcetateMixture; + public static Material EthyleneIsobutyleneVinylAcetateMixture; + public static Material SodiumDodecylSulfateSolution; + 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; public static Material NomexPolymerizationMix; public static Material KevlarPolymerizationMix; public static Material SpentDimethylacetamide; diff --git a/groovy/material/ThirdDegreeMaterials.groovy b/groovy/material/ThirdDegreeMaterials.groovy index 8e7710374..43410beed 100644 --- a/groovy/material/ThirdDegreeMaterials.groovy +++ b/groovy/material/ThirdDegreeMaterials.groovy @@ -451,31 +451,112 @@ public class ThirdDegreeMaterials { .colorAverage() .build(); - NomexPolymerizationMix = new Material.Builder(24070, SuSyUtility.susyId('nomex_polymerization_mix')) + SodiumDodecylSulfateSolution = new Material.Builder(24070, SuSyUtility.susyId('sodium_dodecyl_sulfate_solution')) + .fluid() + .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(); + + //FREE ID: 24074 + + EthyleneVinylAcetateMixture = new Material.Builder(24075, SuSyUtility.susyId('ethylene_vinyl_acetate_mixture')) + .fluid() + .components(EthyleneVinylAcetate, 1, Methanol, 1) + .colorAverage() + .build(); + + EthyleneIsobutyleneVinylAcetateMixture = new Material.Builder(24076, SuSyUtility.susyId('ethylene_isobutylene_vinyl_acetate_mixture')) + .fluid() + .components(EthyleneIsobutyleneVinylAcetate, 1, Methanol, 1) + .colorAverage() + .build(); + + DewaxingSolvent = new Material.Builder(24077, SuSyUtility.susyId('dewaxing_solvent')) + .fluid() + .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_phosphate')) + .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(); + + NomexPolymerizationMix = new Material.Builder(24085, SuSyUtility.susyId('nomex_polymerization_mix')) .fluid() .components(Nomex, 1, CalciumChloride, 1, Dimethylacetamide, 4) .colorAverage() .build(); - KevlarPolymerizationMix = new Material.Builder(24071, SuSyUtility.susyId('kevlar_polymerization_mix')) + KevlarPolymerizationMix = new Material.Builder(24086, SuSyUtility.susyId('kevlar_polymerization_mix')) .fluid() .components(Kevlar, 1, CalciumChloride, 1, Dimethylacetamide, 4) .colorAverage() .build(); - SpentDimethylacetamide = new Material.Builder(24072, SuSyUtility.susyId('spent_dimethylacetamide')) + SpentDimethylacetamide = new Material.Builder(24087, SuSyUtility.susyId('spent_dimethylacetamide')) .fluid() .components(CalciumChloride, 1, Dimethylacetamide, 4) .colorAverage() .build(); - SodiumCelluloseXanthateSolution = new Material.Builder(24073, SuSyUtility.susyId('sodium_cellulose_xanthate_solution')) + SodiumCelluloseXanthateSolution = new Material.Builder(24088, SuSyUtility.susyId('sodium_cellulose_xanthate_solution')) .fluid() .components(SodiumCelluloseXanthate, 1, SodiumHydroxide, 1, Water, 1) .colorAverage() .build(); - CrotonaldehydeMixture = new Material.Builder(24074, SuSyUtility.susyId('crotonaldehyde_mixture')) + CrotonaldehydeMixture = new Material.Builder(24089, SuSyUtility.susyId('crotonaldehyde_mixture')) .fluid() .components(SodiumHydroxide, 1, Crotonaldehyde, 1) .colorAverage() diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index ffc892f28..dbc9da72a 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1140,25 +1140,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() @@ -1735,20 +1732,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() @@ -1848,45 +1832,248 @@ public class UnknownCompositionMaterials { .color(0x255563) .build(); - DinitrobenzeneMixture = new Material.Builder(4352, SuSyUtility.susyId("dinitrobenzene_mixture")) + LubricityAdditive = new Material.Builder(4351, SuSyUtility.susyId("lubricity_additive")) + .fluid() + .color(0xab8f61) + .build(); + + AntistaticAdditive = new Material.Builder(4352, SuSyUtility.susyId("antistatic_additive")) + .fluid() + .color(0xd1cc8e) + .build(); + + AntifoamingAdditive = new Material.Builder(4353, SuSyUtility.susyId("antifoaming_additive")) + .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(); + + //FREE ID: 4356 + + MetalDeactivator = new Material.Builder(4357, SuSyUtility.susyId('metal_deactivator')) + .fluid() + .color(0x9b34a8) + .build(); + + IgnitionImprover = new Material.Builder(4358, SuSyUtility.susyId('ignition_improver')) + .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(); + + 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(); + + 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) + .flags(GENERATE_CATALYST_BED) + .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(); + + DinitrobenzeneMixture = new Material.Builder(4392, SuSyUtility.susyId("dinitrobenzene_mixture")) .dust() .color(0x1f6478) .build(); - Cotton = new Material.Builder(4353, SuSyUtility.susyId("cotton")) + Cotton = new Material.Builder(4393, SuSyUtility.susyId("cotton")) .color(0xf0edd8) .build(); Cotton.setFormula('C6H5(OH)4OH', true) Cotton.setProperty(SuSyPropertyKey.FIBER, new FiberProperty(false, false)) - Spandex = new Material.Builder(4354, SuSyUtility.susyId("spandex")) + Spandex = new Material.Builder(4394, SuSyUtility.susyId("spandex")) .color(0x625f8a) .build(); Spandex.setProperty(SuSyPropertyKey.FIBER, new FiberProperty(false, false)) - PolyurethanePolymerizationMix = new Material.Builder(4355, SuSyUtility.susyId("polyurethane_polymerization_mix")) + PolyurethanePolymerizationMix = new Material.Builder(4395, SuSyUtility.susyId("polyurethane_polymerization_mix")) .fluid() .color(0x9c9c9c) .build(); - SpandexPrepolymer = new Material.Builder(4356, SuSyUtility.susyId("spandex_prepolymer")) + SpandexPrepolymer = new Material.Builder(4396, SuSyUtility.susyId("spandex_prepolymer")) .fluid() .color(0x393563) .build(); - SpandexPolymerizationMix = new Material.Builder(4357, SuSyUtility.susyId("spandex_polymerization_mix")) + SpandexPolymerizationMix = new Material.Builder(4397, SuSyUtility.susyId("spandex_polymerization_mix")) .fluid() .color(0x494575) .build(); - AcrylicPhotoemulsion = new Material.Builder(4358, SuSyUtility.susyId("acrylic_photoemulsion")) + AcrylicPhotoemulsion = new Material.Builder(4398, SuSyUtility.susyId("acrylic_photoemulsion")) .fluid() .color(0x8a2531) .build(); - TreatedCollagen = new Material.Builder(4359, SuSyUtility.susyId("treated_collagen")) + TreatedCollagen = new Material.Builder(4399, SuSyUtility.susyId("treated_collagen")) .dust() .color(0xa6a490) .iconSet(ROUGH) 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 745466197..954fdca43 100644 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -73,7 +73,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) @@ -100,7 +100,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) @@ -127,7 +127,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) @@ -1079,7 +1079,7 @@ FBR.recipeBuilder() .EUt(30) .buildAndRegister() -// Hypochloric Acid +// Hypochlorous Acid BCR.recipeBuilder() .fluidInputs(fluid('water') * 50) @@ -1101,33 +1101,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() @@ -1634,115 +1607,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() @@ -1819,42 +1683,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 CarbonGlobals.sources) { @@ -3051,8 +2879,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() @@ -3275,34 +3104,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) @@ -3312,40 +3113,14 @@ 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 -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() @@ -3449,6 +3224,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) @@ -3840,7 +3624,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() @@ -3855,10 +3641,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() @@ -4302,10 +4088,18 @@ BR.recipeBuilder() DISTILLATION_TOWER.recipeBuilder() // SCHULZ-FLORY, p = 0.82, ROUNDED TO NEAREST 5 .fluidInputs(fluid('alpha_olefin_mixture') * 1000) - .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) + .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() @@ -4387,6 +4181,61 @@ BR.recipeBuilder() .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() + +DISTILLATION_TOWER.recipeBuilder() +.fluidInputs(fluid('diluted_nitromethane') * 4000) +.fluidOutputs(fluid('water') * 3000) +.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() + +DISTILLATION_TOWER.recipeBuilder() +.fluidInputs(fluid('diluted_di_tert_butyl_peroxide') * 2000) +.fluidOutputs(fluid('water') * 1000) +.fluidOutputs(fluid('di_tert_butyl_peroxide') * 1000) +.duration(200) +.EUt(120) // Dimethylacetamide CSTR.recipeBuilder() diff --git a/groovy/postInit/chemistry/elements/ManganeseChain.groovy b/groovy/postInit/chemistry/elements/ManganeseChain.groovy index a62c25f3c..ff528913b 100644 --- a/groovy/postInit/chemistry/elements/ManganeseChain.groovy +++ b/groovy/postInit/chemistry/elements/ManganeseChain.groovy @@ -130,10 +130,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('diluted_manganese_ii_chloride_solution') * 6000) + .fluidOutputs(fluid('chlorine') * 2000) + .duration(100) + .EUt(120) + .buildAndRegister() +DISTILLERY.recipeBuilder() + .fluidInputs(fluid('diluted_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/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/Extractants.groovy b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy index 67a74e5b9..4d800d61f 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) @@ -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('nine_twenty_one_fatty_acid_mixture') * 2000) + .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('stearic_acid') * 2000) .fluidOutputs(fluid('one_amidoethyl_two_alkyl_two_imidazoline') * 1000) .fluidOutputs(fluid('steam') * 3000) .EUt(Globals.voltAmps[4]) @@ -569,7 +578,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 +637,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 +698,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() @@ -721,7 +730,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 +770,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/petrochemistry/Fuels.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Fuels.groovy new file mode 100644 index 000000000..df3c1f24c --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Fuels.groovy @@ -0,0 +1,715 @@ +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') +BLENDER = recipemap('blender') + +def major_solvents = [ + 'xylene', + 'naphtha', + 'toluene' +] + +def minor_solvents = [ + 'naphthalene', + 'isopropyl_alcohol', + '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 + + 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 (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) + .fluidInputs(fluid('water') * 1000) + .fluidOutputs(fluid('salicylaldehyde') * 1000) + .fluidOutputs(fluid('potassium_chloride_solution') * 3000) + .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) + .outputs(metaitem('dustSalicylideneOneTwoPropanediamine')) + .fluidOutputs(fluid('wastewater') * 3000) + .duration(200) + .EUt(120) + .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('n_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': 1000, + 'ethanol': 1000, + 'n_propanol': 750, + 'isopropyl_alcohol': 750, + 'n_butanol': 500, + 'isobutyl_alcohol': 500, + 'tert_butyl_alcohol': 250, + 'methyl_tert_butyl_ether': 125 +] + +def AntioxidantMap = [ + 'butylated_hydroxytoluene': 200, + 'dimethyl_tert_butylphenol': 200, + 'di_tert_butylphenol': 200 +] + +def AntiknockMap = [ + 'isooctane': 250, + 'tetraethyllead': 100, + 'methylcyclopentadienylmanganese_tricarbonyl': 50 +] + +// Returns an array of unique material pairs +def getUniquePairs(Map materialsMap) { + def pairs = [] + + // 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] + } + } + } + + return pairs +} + +// 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) { + BLENDER.recipeBuilder() + .inputs(metaitem('dustSmallSodiumDodecylSulfate')) + .fluidInputs(fluid('two_butoxyethanol') * 250) + .fluidInputs(fluid(major_solvent) * 1500) + .fluidInputs(fluid(minor_solvent) * 250) + .fluidOutputs(fluid('lubricity_additive') * 2000) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + BLENDER.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() + + BLENDER.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() + + BLENDER.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() + + BLENDER.recipeBuilder() + .circuitMeta(1) + .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() + + BLENDER.recipeBuilder() + .inputs(ore('dustSmallEthyleneIsobutyleneVinylAcetate')) + .inputs(ore('dustSmallDihexadecylaminePhthalateAmide')) + .fluidInputs(fluid(major_solvent) * 6000) + .fluidInputs(fluid(minor_solvent) * 2000) + .fluidOutputs(fluid('cold_flow_improver') * 8000) + .duration(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + AntiknockMap.each { key, val -> + BLENDER.recipeBuilder() + .fluidInputs(fluid(key) * val) + .fluidInputs(fluid(major_solvent) * 1500) + .fluidInputs(fluid(minor_solvent) * (500 - val)) + .fluidOutputs(fluid('antiknock') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + } + + 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) + .duration(200) + .EUt(120) + .buildAndRegister() + } + + for (antioxidant in AntioxidantMap) { + 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) + .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 + +BLENDER.recipeBuilder() + .fluidInputs(fluid('gasoline') * 1000) + .fluidInputs(fluid('oxygenates') * 100) + .fluidInputs(fluid('antiknock') * 100) + .fluidOutputs(fluid('midgrade_gasoline') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +BLENDER.recipeBuilder() + .fluidInputs(fluid('midgrade_gasoline') * 1000) + .fluidInputs(fluid('methyl_carbitol') * 100) + .fluidInputs(fluid('corrosion_inhibitor') * 100) + .fluidOutputs(fluid('premium_gasoline') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +BLENDER.recipeBuilder() + .fluidInputs(fluid('premium_gasoline') * 1000) + .fluidInputs(fluid('antioxidants') * 100) + .fluidInputs(fluid('metal_deactivator') * 100) + .fluidOutputs(fluid('supreme_gasoline') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +// Diesel final blending + +BLENDER.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() + +BLENDER.recipeBuilder() + .fluidInputs(fluid('midgrade_diesel') * 1000) + .fluidInputs(fluid('antistatic_additive') * 100) + .fluidInputs(fluid('lubricity_additive') * 100) + .fluidOutputs(fluid('premium_diesel') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +BLENDER.recipeBuilder() + .fluidInputs(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 + +BLENDER.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() + +BLENDER.recipeBuilder() + .fluidInputs(fluid('midgrade_kerosene') * 1000) + .fluidInputs(fluid('lubricity_additive') * 100) + .fluidInputs(fluid('antioxidants') * 100) + .fluidOutputs(fluid('premium_kerosene') * 1000) + .duration(10) + .EUt(120) + .buildAndRegister() + +BLENDER.recipeBuilder() + .fluidInputs(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/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy new file mode 100644 index 000000000..20aec092b --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Lubricants.groovy @@ -0,0 +1,1182 @@ +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') +BLENDER = recipemap('blender') +PHASE_SEPARATOR = recipemap('phase_separator') +DUMPER = recipemap('dumping') + +// 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() + + PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('cold_solvent_lubricant_mixture') * 2850) + .fluidOutputs(fluid('slack_wax') * 350) + .fluidOutputs(fluid('dewaxed_lubricant_mixture') * 2500) + .duration(5) + .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('dustPalladiumChloride') * 3) + .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) + .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() + + // Esters + + def alcoholTab = [ + 'n_octanol', + 'n_decanol', + 'n_dodecanol' + ] + + LCR.recipeBuilder() + .fluidInputs(fluid('pseudocumene') * 1000) + .fluidInputs(fluid('hot_hp_air') * 12000) + .fluidInputs(fluid('acetic_acid') * 1000) + .notConsumable(metaitem('dustAmocoProcessCatalyst')) + .fluidOutputs(fluid('trimellitic_acid_slurry') * 2000) + .EUt(1920) + .duration(200) + .buildAndRegister() + + DISTILLERY.recipeBuilder() + .fluidInputs(fluid('trimellitic_acid_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() + + 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, 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: + long-chain carboxylic acids, fatty acid esters, + ethers, alcohols, amides*/ + + // 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*/ + + // 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() + + // 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*/ + +// 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('gtfo_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(200) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + + BR.recipeBuilder() + .fluidInputs(fluid('polyisobutene_mixture') * 4125) + .fluidInputs(fluid('water') * 500) + .outputs(metaitem('dustPolyisobutene')) + .fluidOutputs(fluid('boron_trifluoride_mixture') * 625) + .duration(200) + .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(200) + .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(10) + .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(200) + .EUt(30) + .buildAndRegister() + + POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('alkyl_methacrylate_emulsion') * 2000) + .inputs(ore('dustTinyPotassiumPersulfate')) + .fluidOutputs(fluid('polyalkyl_methacrylate_solution') * 2000) + .duration(200) + .EUt(30) + .buildAndRegister() + + DRYER.recipeBuilder() + .fluidInputs(fluid('polyalkyl_methacrylate_solution') * 2000) + .outputs(metaitem('dustPama') * 7) + .duration(200) + .EUt(30) + .buildAndRegister() + + // Hydrogenated styrene-butadiene rubber + + BR.recipeBuilder() + .inputs(ore('dustRawStyreneIsopreneRubber') * 16) + .fluidInputs(fluid('hydrogen') * 6000) + .notConsumable(metaitem('catalystBedSupportedPalladium')) + .outputs(metaitem('dustHydrogenatedStyreneIsopreneRubber') * 16) + .fluidOutputs(fluid('water') * 3000) + .duration(20) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + + // Hydrogenated styrene-isoprene rubber + + BR.recipeBuilder() + .inputs(ore('dustRawStyreneButadieneRubber') * 16) + .fluidInputs(fluid('hydrogen') * 6000) + .notConsumable(metaitem('catalystBedSupportedPalladium')) + .outputs(metaitem('dustHydrogenatedStyreneButadieneRubber') * 16) + .fluidOutputs(fluid('water') * 3000) + .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')) + .inputs(ore('dustCalcite') * 5) + .fluidInputs(fluid('sulfur_dichloride') * 1000) + .fluidOutputs(fluid('calcium_phenate') * 1000) + .fluidOutputs(fluid('hydrogen_chloride') * 2000) + .duration(200) + .EUt(30) + .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() + + 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 + + LCR.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() + + // 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) + .inputs(ore('dustPolyisobutene')) + .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_tricresyl_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('n_butanol') * 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('dustZincBisdiamyldithiocarbamate')) + .fluidOutputs(fluid('salt_water') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + +// Antirust + + // Calcium didodecylbenzene sulfonate + + 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('dustCalciumDidodecylbenzeneSulfonate')) + .fluidOutputs(fluid('water') * 1000) + .duration(200) + .EUt(120) + .buildAndRegister() + + // 4-nonylphenoxyacetic acid + + BR.recipeBuilder() + .fluidInputs(fluid('phenol') * 1000) + .fluidInputs(fluid('tripropylene') * 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 + + // 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('gtfo_aniline') * 1000) + .fluidInputs(fluid('carbon_disulfide') * 1000) + .outputs(metaitem('dustMercaptobenzothiazole')) + .fluidOutputs(fluid('hydrogen_sulfide') * 1000) + .duration(200) + .EUt(30) + .buildAndRegister() + +// Chelates: SALEN + +BR.recipeBuilder() + .inputs(ore('ethylenediamine') * 1000) + .inputs(ore('dustSodiumCyanoborohydride') * 14) + .fluidInputs(fluid('hydrochloric_acid') * 2000) + .fluidInputs(fluid('salicylaldehyde') * 2000) + .outputs(metaitem('dustSalicylideneEthylenediamine')) + .fluidOutputs(fluid('wastewater') * 2000) + .duration(200) + .EUt(120) + .buildAndRegister() + +// Final blending + +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 liquidFrictionModifierMap = [ + 'oleic_acid': 1, + 'stearic_acid': 1, + 'linoleic_acid': 1, + 'palmitic_acid': 1, + 'oleylamide': 2, + 'monoglycerides': 2 +] + +def solidAntiwearMap = [ + 'dustMolybdenumDialkyldithiophosphate': 4, + 'dustZincBisdiethyldithiocarbamate': 2 + +] + +def liquidAntiwearMap = [ + 'tricresyl_phosphate': 1, + 'zinc_dialkyldithiophosphate': 1.5 +] + +def pourPointDepressantMap = [ + 'dustEthylenePropyleneCopolymer': 1, + 'dustHydrogenatedStyreneIsopreneRubber': 2, + 'dustHydrogenatedStyreneButadieneRubber': 2, + 'dustPolyisobutene': 2, + 'dustPama': 4 +] + +// calcium_phenate: 3 + +def detergentMap = [ + 'dustCalciumDodecylbenzeneSulfonate': 1, + 'dustCalciumSalicylate': 2, + 'dustPolyisobuteneSuccinicAnhydride': 4 +] + +def chelates = [ + 'dustSalicylideneEthylenediamine', + 'dustSalicylideneOneTwoPropanediamine' +] + +def corrosionInhibitors = [ + 'dustBenzotriazole', + 'dustMercaptobenzothiazole' +] + +// dustNPhenylOneNaphthylamine: 2 + +def antioxidantMap = [ + 'butylated_hydroxytoluene': 1.5, + 'dimethyl_tert_butylphenol': 1, + 'di_tert_butylphenol': 1 +] + +// Base +baseOilMap.each { oil, multiplier1 -> + solidFrictionModifierMap.each { sfm, multiplier2 -> + BLENDER.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 -> + BLENDER.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 -> + BLENDER.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() + + BLENDER.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 -> + BLENDER.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() + + BLENDER.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 -> + BLENDER.recipeBuilder() + .inputs(ore(ppd)) + .fluidInputs(fluid('calcium_phenate') * 1000) + .inputs(ore('dustCalciumDidodecylbenzeneSulfonate')) + .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * 3 * 4)) + .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * 3 * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() + + BLENDER.recipeBuilder() + .inputs(ore(ppd)) + .fluidInputs(fluid('calcium_phenate') * 1000) + .fluidInputs(fluid('four_nonylphenoxyacetic_acid') * 1000) + .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 -> + BLENDER.recipeBuilder() + .inputs(ore(det)) + .inputs(ore(ppd)) + .inputs(ore('dustCalciumDidodecylbenzeneSulfonate')) + .fluidInputs(fluid('midgrade_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) + .fluidOutputs(fluid('premium_lubricant') * (1000 * multiplier1 * multiplier2 * 4)) + .duration(200) + .EUt(120) + .buildAndRegister() + + BLENDER.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) { + BLENDER.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 -> + BLENDER.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() + } + } +} diff --git a/groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/OilOverhaul.groovy similarity index 62% rename from groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy rename to groovy/postInit/chemistry/organic_chemistry/petrochemistry/OilOverhaul.groovy index 34b51bbbb..b34da7fd8 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() @@ -1214,530 +1111,4 @@ REFORMER.recipeBuilder() .fluidOutputs(fluid('para_xylene') * 1000) .duration(60) .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() - -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() - -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 +.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 new file mode 100644 index 000000000..4ee654716 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/petrochemistry/Surfactants.groovy @@ -0,0 +1,101 @@ +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') + +// Lubricity Surfactants (SDS, Narrow-chain ethoxylates) + +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[2]) + .buildAndRegister() + +BR.recipeBuilder() + .notConsumable(ore('platePolytetrafluoroethylene') * 6) + .fluidInputs(fluid('chlorosulfuric_acid') * 1000) + .fluidInputs(fluid('n_dodecanol') * 1000) + .outputs(metaitem('dustHydrogenDodecylSulfate')) + .fluidOutputs(fluid('hydrogen_chloride') * 1000) + .duration(100) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + +BR.recipeBuilder() + .fluidInputs(fluid('n_dodecanol') * 1000) + .fluidInputs(fluid('oleum') * 11000) + .outputs(metaitem('dustHydrogenDodecylSulfate')) + .fluidOutputs(fluid('sulfuric_acid') * 10000) + .duration(100) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(metaitem('dustHydrogenDodecylSulfate')) + .fluidInputs(fluid('sodium_hydroxide_solution') * 1000) + .fluidOutputs(fluid('sodium_dodecyl_sulfate_solution') * 1000) + .duration(100) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + +DISTILLERY.recipeBuilder() + .fluidInputs(fluid('sodium_dodecyl_sulfate_solution') * 1000) + .outputs(metaitem('dustSodiumDodecylSulfate')) + .fluidOutputs(fluid('water') * 2000) + .duration(100) + .EUt(Globals.voltAmps[2]) + .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[2]) + .buildAndRegister() + +// Antistatic surfactant (dinonylnaphthalene sulfonate) + +BR.recipeBuilder() + .fluidInputs(fluid('naphthalene') * 1000) + .fluidInputs(fluid('tripropylene') * 2000) + .notConsumable(fluid('hydrofluoric_acid') * 100) + .outputs(metaitem('dustDinonylnaphthalene')) + .duration(100) + .EUt(Globals.voltAmps[2]) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustDinonylnaphthalene')) + .fluidInputs(fluid('oleum') * 11000) + .outputs(metaitem('dustDinonylnaphthaleneSulfonicAcid')) + .fluidOutputs(fluid('sulfuric_acid') * 10000) + .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/EpoxyChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/EpoxyChain.groovy index df5a77020..cfec513df 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/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/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy new file mode 100644 index 000000000..34369bd83 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/PolyvinylChain.groovy @@ -0,0 +1,134 @@ +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')) + .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')) + .fluidOutputs(fluid('methanol') * 1000) + .duration(50) + .buildAndRegister() + +// Ethylene-vinyl acetate) + +POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('ethylene') * 1000) + .fluidInputs(fluid('vinyl_acetate_solution') * 1000) + .inputs(ore('dustTinyPotassiumPersulfate')) + .fluidOutputs(fluid('ethylene_vinyl_acetate_mixture') * 2000) + .duration(150) + .EUt(60) + .buildAndRegister() + +PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('ethylene_vinyl_acetate_mixture') * 2000) + .outputs(metaitem('dustEthyleneVinylAcetate')) + .fluidOutputs(fluid('methanol') * 1000) + .duration(50) + .buildAndRegister() diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/RubberChain.groovy index ca06e8d4e..0b9c8e619 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) @@ -121,8 +126,10 @@ 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) ] + def sulfurSources = [ new SulfurSource('dustSulfur', 1) ] @@ -209,3 +216,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') * 3000) +.fluidInputs(fluid('ethanol') * 1000) +.fluidOutputs(fluid('styrene_isoprene_solution') * 5000) +.EUt(60) +.duration(200) +.buildAndRegister() + +POLYMERIZATION.recipeBuilder() +.fluidInputs(fluid('styrene_isoprene_solution') * 5000) +.notConsumable(fluid('butyllithium') * 100) +.fluidOutputs(fluid('polymerized_styrene_isoprene_solution') * 5000) +.EUt(120) +.duration(533) +.buildAndRegister() + +DRYER.recipeBuilder() +.fluidInputs(fluid('polymerized_styrene_isoprene_solution') * 5000) +.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') * 3000) +.fluidInputs(fluid('ethanol') * 1000) +.fluidOutputs(fluid('styrene_butadiene_solution') * 5000) +.EUt(60) +.duration(200) +.buildAndRegister() + +POLYMERIZATION.recipeBuilder() +.fluidInputs(fluid('styrene_butadiene_solution') * 5000) +.notConsumable(fluid('butyllithium') * 100) +.fluidOutputs(fluid('polymerized_styrene_butadiene_solution') * 5000) +.EUt(120) +.duration(533) +.buildAndRegister() + +DRYER.recipeBuilder() +.fluidInputs(fluid('polymerized_styrene_butadiene_solution') * 5000) +.fluidOutputs(fluid('ethanol') * 1000) +.outputs(metaitem('dustRawStyreneButadieneRubber') * 16) +.EUt(120) +.duration(533) +.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/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/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() diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index aeb7af3f6..1118dff6c 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -72,12 +72,11 @@ 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 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 @@ -349,8 +348,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 @@ -777,7 +774,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 @@ -1190,7 +1186,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 @@ -1441,10 +1437,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 @@ -1528,9 +1523,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 @@ -1670,9 +1664,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 @@ -1746,8 +1737,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 @@ -1785,6 +1776,150 @@ 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.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.hydrogen_dodecyl_sulfate=Hydrogen Dodecyl Sulfate +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 +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=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=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 (SALPN) +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 +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 +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 +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.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 +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_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.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.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 susy.material.acidic_dinitrobenzene_mixture=Acidic Dinitrobenzene Mixture susy.material.dinitrobenzene_mixture=Dinitrobenzene Mixture susy.material.one_three_dinitrobenzene=1,3-Dinitrobenzene diff --git a/resources/langfiles/lang/zh_cn.lang b/resources/langfiles/lang/zh_cn.lang index 1e79ffe62..cba9b681e 100644 --- a/resources/langfiles/lang/zh_cn.lang +++ b/resources/langfiles/lang/zh_cn.lang @@ -76,7 +76,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=乙醚溶液 @@ -1422,10 +1421,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号汽油 @@ -1509,9 +1507,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=丁基黄原酸钠溶液 @@ -1651,9 +1648,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=正己烯 @@ -1726,8 +1720,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)溶液