diff --git a/groovy/material/FirstDegreeMaterials.groovy b/groovy/material/FirstDegreeMaterials.groovy index b5614933a..924cde152 100644 --- a/groovy/material/FirstDegreeMaterials.groovy +++ b/groovy/material/FirstDegreeMaterials.groovy @@ -854,12 +854,11 @@ public class FirstDegreeMaterials{ .colorAverage() .build() - AluminiumTrichloride = new Material.Builder(8214, "aluminium_trichloride") + ManganeseIISulfate = new Material.Builder(8214, "manganese_ii_sulfate") .dust() - .components(Aluminium, 1, Chlorine, 3) - .flags(GENERATE_CATALYST_BED) + .components(Manganese, 1, Sulfur, 1, Oxygen, 4) .colorAverage() - .build() + .build(); Triethylaluminium = new Material.Builder(8215, "triethylaluminium") .fluid() @@ -1024,7 +1023,7 @@ public class FirstDegreeMaterials{ AluminiumChloride = new Material.Builder(8242, "aluminium_chloride") .dust().fluid(FluidTypes.GAS) - .flags(NO_UNIFICATION) + .flags(NO_UNIFICATION, GENERATE_CATALYST_BED) .fluidTemp(460) .components(Aluminium, 1, Chlorine, 3) .colorAverage() @@ -1643,7 +1642,7 @@ public class FirstDegreeMaterials{ .fluidTemp(600) .components(Lead, 1) .color(0x1f1926) - .flags(GENERATE_PLATE) + .flags(GENERATE_PLATE, DISABLE_DECOMPOSITION) .build(); SilverFreeLead = new Material.Builder(8338, "silver_free_lead") @@ -1726,6 +1725,7 @@ public class FirstDegreeMaterials{ BettsCrudeLead = new Material.Builder(8350, "betts_crude_lead") .fluid().ingot() .components(Bismuth, 3, Lead, 6, Copper, 1) + .flags(DISABLE_DECOMPOSITION) .color(0x393673) .build(); @@ -2708,10 +2708,10 @@ public class FirstDegreeMaterials{ .color(0x887866) .build(); - GaseousAluminiumTrichloride = new Material.Builder(8496, "gaseous_aluminium_trichloride") + GaseousAluminiumChloride = new Material.Builder(8496, "gaseous_aluminium_chloride") .fluid(FluidTypes.GAS) .fluidTemp(460) - .components(AluminiumTrichloride, 1) + .components(AluminiumChloride, 1) .colorAverage() .build(); @@ -3202,10 +3202,43 @@ public class FirstDegreeMaterials{ .colorAverage() .build(); - ManganeseIISulfate = new Material.Builder(8566, "manganese_ii_sulfate") + NickelHydrotalcite = new Material.Builder(8566, "nickel_hydrotalcite") .dust() - .components(Manganese, 1, Sulfur, 1, Oxygen, 4) + .components(Nickel, 6, Aluminium, 2, ) + .color(0x9fb833) + .build(); + + NickelHydrotalcite.setFormula("[Ni3Al(OH)8]Cl", true) + + CalciumCyanamide = new Material.Builder(8567, "calcium_cyanamide") + .dust() + .components(Calcium, 1, Carbon, 1, Nitrogen, 2) + .colorAverage() + .build(); + + AntimonyPentafluoride = new Material.Builder(8568, "antimony_pentafluoride") + .fluid() + .components(Antimony, 1, Fluorine, 5) + .colorAverage() + .build(); + + SodiumHexafluoroantimonate = new Material.Builder(8569, "sodium_hexafluoroantimonate") + .dust() + .components(Sodium, 1, Antimony, 1, Fluorine, 6) .colorAverage() .build(); + + AcidWashedSiliconDioxide = new Material.Builder(8570, "acid_washed_silicon_dioxide") + .dust() + .components(SiliconDioxide, 1) + .color(0xc8c8c8) + .iconSet(SHINY) + .build(); + + DisulfurDichloride = new Material.Builder(8571, "disulfur_dichloride") + .fluid() + .components(Sulfur, 2, Chlorine, 2) + .color(0xccc31d) + .build(); } } diff --git a/groovy/material/OrganicChemistryMaterials.groovy b/groovy/material/OrganicChemistryMaterials.groovy index 27abe67e6..bd4b7d462 100644 --- a/groovy/material/OrganicChemistryMaterials.groovy +++ b/groovy/material/OrganicChemistryMaterials.groovy @@ -311,10 +311,10 @@ public class OrganicChemistryMaterials { .color(0x917b0f) .build(); - SodiumPhenoxideSolution = new Material.Builder(15050, 'sodium_phenoxide_solution') + Cyclohexylamine = new Material.Builder(15050, "cyclohexylamine") .fluid() - .components(Water, 1, SodiumPhenoxide, 1) - .colorAverage() + .components(Carbon, 6, Hydrogen, 13, Nitrogen, 1) + .color(0xbfba8c) .build(); DiphenylIsophthalateSolution = new Material.Builder(15051, 'diphenyl_isophthalate_solution') @@ -934,7 +934,7 @@ public class OrganicChemistryMaterials { Kevlar = new Material.Builder(15154, 'kevlar') .polymer(3) .color(0x4d443e) - .flags(GENERATE_PLATE) + .flags(GENERATE_PLATE, GENERATE_FINE_WIRE) .build() Kevlar.setFormula("COC6H4CONHC6H4NH", true) @@ -1695,10 +1695,77 @@ public class OrganicChemistryMaterials { .color(0x8fa32a) .build(); - Cyclohexylamine = new Material.Builder(15272, "cyclohexylamine") + TetrabromobisphenolA = new Material.Builder(15272, "tetrabromobisphenol_a") + .dust() + .components(Carbon, 15, Hydrogen, 12, Bromine, 4, Oxygen, 2) + .color(0x6b3220) + .build(); + + Cyanamide = new Material.Builder(15273, "cyanamide") + .dust() + .components(Carbon, 1, Hydrogen, 2, Nitrogen, 2) + .colorAverage() + .build(); + + Dicyandiamide = new Material.Builder(15274, "dicyandiamide") + .dust() + .components(Carbon, 2, Hydrogen, 4, Nitrogen, 4) + .colorAverage() + .iconSet(QUARTZ) + .build(); + + TwoMethylimidazole = new Material.Builder(15275, "two_methylimidazole") + .dust() + .components(Carbon, 4, Hydrogen, 6, Nitrogen, 2) + .colorAverage() + .build(); + + FlameRetardantEpoxy = new Material.Builder(15276, "flame_retardant_epoxy") + .dust().fluid() + .components(Carbon, 21, Hydrogen, 21, Bromine, 4, Chlorine, 1, Oxygen, 5) + .color(0xc86b14) + .build(); + + PropyleneChlorohydrin = new Material.Builder(15277, "propylene_chlorohydrin") .fluid() - .components(Carbon, 6, Hydrogen, 13, Nitrogen, 1) - .color(0xbfba8c) + .components(Carbon, 3, Hydrogen, 7, Chlorine, 1, Oxygen, 1) + .colorAverage() + .build(); + + PropyleneOxide = new Material.Builder(15278, "propylene_oxide") + .fluid() + .components(Carbon, 3, Hydrogen, 6, Oxygen, 1) + .color(0x9ab522) + .build(); + + PropyleneCarbonate = new Material.Builder(15279, "propylene_carbonate") + .fluid() + .components(Carbon, 4, Hydrogen, 6, Oxygen, 3) + .color(0x5db522) + .build(); + + DiphenylSulfide = new Material.Builder(15280, "diphenyl_sulfide") + .dust() + .components(Carbon, 12, Hydrogen, 10, Sulfur, 1) + .color(0x5e5c0a) + .build(); + + DiphenylSulfoxide = new Material.Builder(15281, "diphenyl_sulfoxide") + .dust() + .components(Carbon, 12, Hydrogen, 10, Oxygen, 1, Sulfur, 1) + .color(0x435e0a) + .build(); + + MethanesulfonicAcid = new Material.Builder(15282, "methanesulfonic_acid") + .fluid() + .components(Carbon, 1, Hydrogen, 4, Oxygen, 3, Sulfur, 1) + .color(0xff6e6e) + .build(); + + TriarylsulfoniumHexafluoroantimonate = new Material.Builder(15283, "triarylsulfonium_hexafluoroantimonate") + .dust() + .components(Carbon, 24, Hydrogen, 19, Fluorine, 6, Sulfur, 2, Antimony, 1) + .color(0x31a374) .build(); } } diff --git a/groovy/material/SecondDegreeMaterials.groovy b/groovy/material/SecondDegreeMaterials.groovy index 7a0a968b8..99cb8539f 100644 --- a/groovy/material/SecondDegreeMaterials.groovy +++ b/groovy/material/SecondDegreeMaterials.groovy @@ -535,5 +535,23 @@ public class SecondDegreeMaterials { .components(AluminiumChloride, 1, Water, 3) .colorAverage() .build(); + + DilutedSodiumSulfiteSolution = new Material.Builder(13086, "diluted_sodium_sulfite_solution") + .fluid() + .components(SodiumSulfite, 1, Water, 14) + .color(0x75745a) + .build(); + + SodiumHexafluoroantimonateSolution = new Material.Builder(13087, "sodium_hexafluoroantimonate_solution") + .fluid() + .components(SodiumHexafluoroantimonate, 1, HydrogenFluoride, 1) + .colorAverage() + .build(); + + EGlass = new Material.Builder(13088, "e_glass") + .dust().fluid() + .components(SiliconDioxide, 6, Alumina, 1, BoronTrioxide, 1, Quicklime, 2) + .color(0x778f8b) + .build(); } } diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 2bebfda7a..09cc3cd6f 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -232,7 +232,7 @@ class SuSyMaterials { public static Material ImpureLithiumSulfateSolution; public static Material GalenaByproductsSlurry; public static Material SinteredLeadConcentrate; - public static Material CadmiumRichFlueDust; + public static Material CadmiumRichFlue; public static Material BlackMetal; public static Material AntimonyArsenicFlueDust; public static Material BurnedBlackMetal; @@ -359,7 +359,7 @@ class SuSyMaterials { public static Material UltramaficTailingSlurry; public static Material GaseousIronIIIChloride; public static Material GaseousTitaniumTetrachloride; - public static Material GaseousAluminiumTrichloride; + public static Material GaseousAluminiumChloride; public static Material DirtyMolecularSieve; public static Material OligomericBisphenolSolution; public static Material ImpureBariteSlurry; @@ -466,6 +466,12 @@ class SuSyMaterials { public static Material HZSMFive; public static Material FunctionalizableCrosslinkedPolystyrene; public static Material TantalumExtract; + public static Material BisphenolBrominationCatalyst; + public static Material ImpureBrominatedBisphenolEmulsion; + public static Material ImpureBrominatedBisphenolSolution; + public static Material BisphenolANovolacEpoxy; + public static Material SulfoniumPreparationMixture; + public static Material SuEight; // Petrochem Materials @@ -651,7 +657,6 @@ class SuSyMaterials { public static Material ImpregnatedAluminaCatalyst; public static Material BismuthCopper; public static Material Bromobenzene; - public static Material AluminiumTrichloride; public static Material Triethylaluminium; public static Material HydrogenPeroxide; public static Material Tetrabromomethane; @@ -987,6 +992,12 @@ class SuSyMaterials { public static Material ActivatedRaneyCobalt; public static Material LithiumOxide; public static Material ManganeseIISulfate; + public static Material NickelHydrotalcite; + public static Material CalciumCyanamide; + public static Material AntimonyPentafluoride; + public static Material SodiumHexafluoroantimonate; + public static Material AcidWashedSiliconDioxide; + public static Material DisulfurDichloride; // Second Degree Materials @@ -1075,6 +1086,9 @@ class SuSyMaterials { public static Material TantalumFluorideSolution; public static Material AmmoniumPerrhenateSolution; public static Material AluminiumChlorideSolution; + public static Material DilutedSodiumSulfiteSolution; + public static Material SodiumHexafluoroantimonateSolution; + public static Material EGlass; // Organic Chemistry Materials @@ -1119,7 +1133,6 @@ class SuSyMaterials { public static Material Xylene; public static Material Phosgene; public static Material PhthaloylDichlorideSolution; - public static Material SodiumPhenoxideSolution; public static Material DiphenylIsophthalateSolution; public static Material DiaminobenzidineSolution; public static Material PBIPolymerizationMix; @@ -1354,6 +1367,18 @@ class SuSyMaterials { public static Material Ethyltoluene; public static Material VinylbenzylChloride; public static Material Cyclohexylamine; + public static Material TetrabromobisphenolA; + public static Material Cyanamide; + public static Material Dicyandiamide; + public static Material TwoMethylimidazole; + public static Material FlameRetardantEpoxy; + public static Material PropyleneChlorohydrin; + public static Material PropyleneOxide; + public static Material PropyleneCarbonate; + public static Material DiphenylSulfide; + public static Material DiphenylSulfoxide; + public static Material MethanesulfonicAcid; + public static Material TriarylsulfoniumHexafluoroantimonate; // Third Degree Materials @@ -1410,6 +1435,12 @@ class SuSyMaterials { public static Material CrudeNitrobenzene; public static Material DichlorobistriphenylphosphinenickelII; public static Material DicarbonylbistriphenylphosphinenickelZero; + public static Material SodiumPhenoxideSolution; + public static Material WetEpoxy; + public static Material TetrabromobisphenolASolution; + public static Material EpoxyCuringMixture; + public static Material WetFlameRetardantEpoxy; + public static Material PropyleneOxideSolution; // Thermodynamics/Greenhouse Materials diff --git a/groovy/material/ThirdDegreeMaterials.groovy b/groovy/material/ThirdDegreeMaterials.groovy index 0dac1420e..f76319206 100644 --- a/groovy/material/ThirdDegreeMaterials.groovy +++ b/groovy/material/ThirdDegreeMaterials.groovy @@ -338,5 +338,41 @@ public class ThirdDegreeMaterials { .build(); DicarbonylbistriphenylphosphinenickelZero.setFormula("Ni(CO)2(PPh)2", true) + + SodiumPhenoxideSolution = new Material.Builder(24053, 'sodium_phenoxide_solution') + .fluid() + .components(Water, 1, SodiumPhenoxide, 1) + .colorAverage() + .build(); + + WetEpoxy = new Material.Builder(24054, 'wet_epoxy') + .dust() + .components(Epoxy, 1) + .color(0xa16f0d) + .build(); + + TetrabromobisphenolASolution = new Material.Builder(24055, 'tetrabromobisphenol_a_solution') + .fluid() + .components(TetrabromobisphenolA, 1, Dichloroethane, 6) + .colorAverage() + .build(); + + EpoxyCuringMixture = new Material.Builder(24056, 'epoxy_curing_mixture') + .dust() + .components(Dicyandiamide, 1, TwoMethylimidazole, 1, PhthalicAnhydride, 1) + .colorAverage() + .build(); + + WetFlameRetardantEpoxy = new Material.Builder(24057, 'wet_flame_retardant_epoxy') + .dust() + .components(FlameRetardantEpoxy, 1) + .color(0xa1530b) + .build(); + + PropyleneOxideSolution = new Material.Builder(24058, 'propylene_oxide_solution') + .fluid() + .components(CalciumChloride, 1, PropyleneOxide, 2, Water, 2) + .colorAverage() + .build(); } } \ No newline at end of file diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index 19256e601..fb97a38be 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -616,7 +616,7 @@ public class UnknownCompositionMaterials { .iconSet(SAND) .build(); - CadmiumRichFlueDust = new Material.Builder(4116, "cadmium_rich_flue_dust") + CadmiumRichFlue = new Material.Builder(4116, "cadmium_rich_flue") .dust() .color(0x757061) .iconSet(DULL) @@ -1762,5 +1762,35 @@ public class UnknownCompositionMaterials { .fluid() .color(0xc97328) .build(); + + BisphenolBrominationCatalyst = new Material.Builder(4336, "bisphenol_bromination_catalyst") + .dust() + .color(0xbd800f) + .build(); + + ImpureBrominatedBisphenolEmulsion = new Material.Builder(4337, "impure_brominated_bisphenol_emulsion") + .fluid() + .color(0x502d0a) + .build(); + + ImpureBrominatedBisphenolSolution = new Material.Builder(4338, "impure_brominated_bisphenol_solution") + .fluid() + .color(0x78410a) + .build(); + + BisphenolANovolacEpoxy = new Material.Builder(4339, "bisphenol_a_novolac_epoxy") + .dust() + .color(0xa87e54) + .build(); + + SulfoniumPreparationMixture = new Material.Builder(4340, "sulfonium_preparation_mixture") + .fluid() + .color(0x9e935c) + .build(); + + SuEight = new Material.Builder(4341, "su_eight") + .fluid() + .color(0x11915c) + .build(); } } \ No newline at end of file diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index bed1c413c..5ebecddfb 100644 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -1152,9 +1152,10 @@ FBR.recipeBuilder() .EUt(30) .buildAndRegister() -// Hypochloric Acid +// Hypochlorous Acid BCR.recipeBuilder() +.notConsumable(fluid('sodium_hydroxide_solution') * 50) .fluidInputs(fluid('water') * 50) .fluidInputs(fluid('chlorine') * 100) .fluidOutputs(fluid('hydrogen_chloride') * 50) @@ -1163,60 +1164,7 @@ BCR.recipeBuilder() .EUt(30) .buildAndRegister() - -// Epichlorohydrin - -CSTR.recipeBuilder() -.fluidInputs(fluid('glycerol') * 50) -.fluidInputs(fluid('hydrogen_chloride') * 100) -.fluidInputs(fluid('acetic_acid') * 50) -.fluidOutputs(fluid('chlorinated_glycerol') * 50) -.duration(5) -.EUt(30) -.buildAndRegister() - -BR.recipeBuilder() -.fluidInputs(fluid('chlorinated_glycerol') * 4000) -.inputs(ore('dustSodiumHydroxide') * 3) -.fluidOutputs(fluid('epichlorohydrin_solution') * 5000) -.duration(120) -.EUt(30) -.buildAndRegister() - -DISTILLATION_TOWER.recipeBuilder() -.fluidInputs(fluid('epichlorohydrin_solution') * 5000) -.fluidOutputs(fluid('acetic_acid') * 1000) -.fluidOutputs(fluid('epichlorohydrin') * 1000) -.fluidOutputs(fluid('water') * 3000) -.outputs(metaitem('dustSalt') * 2) -.duration(120) -.EUt(30) -.buildAndRegister() - -BCR.recipeBuilder() -.fluidInputs(fluid('allyl_chloride') * 50) -.fluidInputs(fluid('hypochlorous_acid') * 50) -.fluidOutputs(fluid('allyl_alcohol_mix') * 50) -.duration(5) -.EUt(30) -.buildAndRegister() - -BR.recipeBuilder() -.fluidInputs(fluid('allyl_alcohol_mix') * 1000) -.inputs(ore('dustSodiumHydroxide') * 3) -.fluidOutputs(fluid('diluted_epichlorohydrin') * 2000) -.duration(120) -.EUt(30) -.buildAndRegister() - -DISTILLATION_TOWER.recipeBuilder() -.fluidInputs(fluid('diluted_epichlorohydrin') * 2000) -.fluidOutputs(fluid('epichlorohydrin') * 1000) -.fluidOutputs(fluid('water') * 1000) -.outputs(metaitem('dustSalt') * 2) -.duration(160) -.EUt(30) -.buildAndRegister() +// PVB BR.recipeBuilder() .fluidInputs(fluid('polyvinyl_acetate') * 144) @@ -1320,14 +1268,60 @@ BR.recipeBuilder() LCR.recipeBuilder() .circuitMeta(1) -.fluidInputs(fluid('hydrofluoric_acid') * 4000) +.fluidInputs(fluid('hydrogen_fluoride') * 4000) .inputs(ore('dustAntimonyTrifluoride') * 4) .fluidOutputs(fluid('fluoroantimonic_acid') * 1000) .fluidOutputs(fluid('hydrogen') * 2000) -.duration(3000) +.duration(200) +.EUt(480) +.buildAndRegister() + +ROASTER.recipeBuilder() +.inputs(ore('dustAntimony')) +.fluidInputs(fluid('chlorine') * 5000) +.fluidOutputs(fluid('antimony_pentachloride') * 1000) +.duration(60) +.EUt(30) +.buildAndRegister() + +BR.recipeBuilder() +.fluidInputs(fluid('antimony_pentachloride') * 1000) +.fluidInputs(fluid('hydrogen_fluoride') * 5000) +.fluidOutputs(fluid('antimony_pentafluoride') * 1000) +.fluidOutputs(fluid('hydrogen_chloride') * 5000) +.duration(60) +.EUt(30) +.buildAndRegister() + +LCR.recipeBuilder() +.circuitMeta(1) +.fluidInputs(fluid('hydrogen_fluoride') * 2000) +.fluidInputs(fluid('antimony_pentafluoride') * 1000) +.fluidOutputs(fluid('fluoroantimonic_acid') * 1000) +.duration(200) .EUt(480) .buildAndRegister() +// Sodium Hexafluoroantimonate + +LCR.recipeBuilder() +.circuitMeta(1) +.inputs(ore('dustSodiumFluoride') * 2) +.fluidInputs(fluid('hydrogen_fluoride') * 1000) +.fluidInputs(fluid('antimony_pentafluoride') * 1000) +.fluidOutputs(fluid('sodium_hexafluoroantimonate_solution') * 1000) +.duration(200) +.EUt(480) +.buildAndRegister() + +DISTILLERY.recipeBuilder() +.fluidInputs(fluid('sodium_hexafluoroantimonate_solution') * 1000) +.outputs(metaitem('dustSodiumHexafluoroantimonate') * 8) +.fluidOutputs(fluid('hydrogen_fluoride') * 1000) +.duration(20) +.EUt(30) +.buildAndRegister() + // Sodium Potassium MIXER.recipeBuilder() @@ -1402,13 +1396,25 @@ DISTILLATION_TOWER.recipeBuilder() BCR.recipeBuilder() .fluidInputs(fluid('benzene') * 50) .fluidInputs(fluid('chlorine') * 100) -.notConsumable(ore('dustIronIiiChloride')) +.notConsumable(ore('dustAluminiumChloride')) .fluidOutputs(fluid('chlorobenzene') * 50) .fluidOutputs(fluid('hydrogen_chloride') * 50) .duration(12) .EUt(30) .buildAndRegister() +// Daw's process + +REACTION_FURNACE.recipeBuilder() +.notConsumable(ore('dustTricalciumPhosphate')) +.fluidInputs(fluid('chlorobenzene') * 1000) +.fluidInputs(fluid('steam') * 1000) +.fluidOutputs(fluid('phenol') * 1000) +.fluidOutputs(fluid('hydrogen_chloride') * 1000) +.duration(240) +.EUt(30) +.buildAndRegister() + // Nitrochlorobenzenes CSTR.recipeBuilder() @@ -1492,7 +1498,7 @@ FLUIDIZEDBR.recipeBuilder() .fluidInputs(fluid('oxygen') * 6000) .notConsumable(ore('dustVanadiumPentoxide')) .fluidOutputs(fluid('steam') * 3000) -.outputs(metaitem('dustPhthalicAnhydride') * 13) +.outputs(metaitem('dustPhthalicAnhydride') * 15) .duration(300) .EUt(240) .buildAndRegister() @@ -2013,112 +2019,6 @@ BR.recipeBuilder() .EUt(30) .buildAndRegister() -// PTFE -BR.recipeBuilder() -.inputs(metaitem('dustChromiumTrioxide') * 8) -.fluidInputs(fluid('n_octanol') * 1500) -.fluidInputs(fluid('sulfuric_acid') * 3000) -.fluidInputs(fluid('acetone') * 500) -.fluidOutputs(fluid('caprylic_acid') * 1500) -.fluidOutputs(fluid('chromium_sulfate_solution') * 500) -.duration(100) -.EUt(30) -.buildAndRegister() - -BR.recipeBuilder() -.inputs(metaitem('dustSodiumHydroxide') * 18) -.fluidInputs(fluid('chromium_sulfate_solution') * 500) -.outputs(metaitem('dustChromiumIiiHydroxide') * 14) -.fluidOutputs(fluid('sodium_sulfate_acetone_solution') * 500) -.duration(100) -.EUt(30) -.buildAndRegister() - -DISTILLATION_TOWER.recipeBuilder() -.fluidInputs(fluid('sodium_sulfate_acetone_solution') * 1000) -.outputs(metaitem('dustSodiumSulfate') * 42) -.fluidOutputs(fluid('water') * 9000) -.fluidOutputs(fluid('acetone') * 1000) -.duration(200) -.EUt(30) -.buildAndRegister() - -BR.recipeBuilder() -.fluidInputs(fluid('caprylic_acid') * 1000) -.fluidInputs(fluid('thionyl_chloride') * 1000) -.fluidOutputs(fluid('octanoyl_chloride') * 1000) -.fluidOutputs(fluid('hydrogen_chloride') * 1000) -.fluidOutputs(fluid('sulfur_dioxide') * 1000) -.duration(200) -.EUt(30) -.buildAndRegister() - -ELECTROLYTIC_CELL.recipeBuilder() -.notConsumable(metaitem('plateNickel')) -.notConsumable(metaitem('plateCobalt')) -.fluidInputs(fluid('octanoyl_chloride') * 1000) -.fluidInputs(fluid('hydrogen_fluoride') * 15000) -.fluidOutputs(fluid('fluorinated_octanoyl_chloride_mixture') * 1000) -.fluidOutputs(fluid('hydrogen') * 15000) -.duration(200) -.EUt(30) -.buildAndRegister() - -DISTILLERY.recipeBuilder() -.fluidInputs(fluid('fluorinated_octanoyl_chloride_mixture') * 1000) -.fluidOutputs(fluid('perfluorooctanoyl_fluoride') * 150) -.duration(200) -.EUt(30) -.buildAndRegister() - -BR.recipeBuilder() -.fluidInputs(fluid('perfluorooctanoyl_fluoride') * 1000) -.fluidInputs(fluid('water') * 2000) -.fluidOutputs(fluid('perfluorooctanoic_acid_mixture') * 1000) -.duration(200) -.EUt(30) -.buildAndRegister() - -DISTILLERY.recipeBuilder() -.fluidInputs(fluid('perfluorooctanoic_acid_mixture') * 500) -.outputs(metaitem('dustPerfluorooctanoicAcid') * 13) -.fluidOutputs(fluid('hydrofluoric_acid') * 500) -.duration(200) -.EUt(30) -.buildAndRegister() - -MIXER.recipeBuilder() -.fluidInputs(fluid('water') * 500) -.inputs(metaitem('dustPerfluorooctanoicAcid') * 13) -.fluidOutputs(fluid('fluorinated_surfactant_mixture') * 500) -.duration(200) -.EUt(30) -.buildAndRegister() - -MIXER.recipeBuilder() -.fluidInputs(fluid('tetrafluoroethylene') * 1000) -.fluidInputs(fluid('fluorinated_surfactant_mixture') * 500) -.fluidOutputs(fluid('tetrafluoroethylene_emulsion') * 1500) -.duration(200) -.EUt(30) -.buildAndRegister() - -POLYMERIZATION.recipeBuilder() -.fluidInputs(fluid('tetrafluoroethylene_emulsion') * 1500) -.inputs(ore('dustTinyPotassiumPersulfate')) -.fluidOutputs(fluid('polytetrafluoroethylene_solution') * 500) -.duration(200) -.EUt(240) -.buildAndRegister() - -DRYER.recipeBuilder() -.fluidInputs(fluid('polytetrafluoroethylene_solution') * 500) -.outputs(ore('dustPolytetrafluoroethylene').first() * 7) -.fluidOutputs(fluid('fluorinated_surfactant_mixture') * 500) -.duration(200) -.EUt(30) -.buildAndRegister() - // Vinyl Chloride BR.recipeBuilder() @@ -2376,7 +2276,7 @@ for (carbon in COAL_SOURCES) { .fluidOutputs(fluid('carbon_monoxide') * 1000) .blastFurnaceTemp(2473) .EUt(120) - .duration(400) + .duration(80) .buildAndRegister() } @@ -3153,7 +3053,7 @@ DISTILLATION_TOWER.recipeBuilder() .fluidOutputs(fluid('phosphoric_acid') * 50) .fluidOutputs(fluid('phenol') * 50) .fluidOutputs(fluid('acetone') * 50) - .duration(200) + .duration(10) .EUt(Globals.voltAmps[1]) .buildAndRegister() @@ -3332,7 +3232,7 @@ MIXER.recipeBuilder() // 2-EAQ BR.recipeBuilder() - .inputs(ore("dustPhthalicAnhydride") * 13) + .inputs(ore("dustPhthalicAnhydride") * 15) .fluidInputs(fluid("ethylbenzene") * 1000) .fluidOutputs(fluid("two_ethylanthraquinone") * 1000) .fluidOutputs(fluid("water") * 1000) @@ -3389,12 +3289,12 @@ FBR.recipeBuilder() .EUt(Globals.voltAmps[1]) .buildAndRegister() -// Aluminium Trichloride +// Bromobenzene TBR.recipeBuilder() .fluidInputs(fluid('benzene') * 50) .fluidInputs(fluid('bromine') * 50) - .notConsumable(ore('dustAluminiumTrichloride')) + .notConsumable(ore('dustAluminiumChloride')) .fluidOutputs(fluid('bromobenzene') * 50) .fluidOutputs(fluid('hydrogen') * 50) .duration(10) @@ -3416,7 +3316,7 @@ ALLOY_SMELTER.recipeBuilder() ROASTER.recipeBuilder() .inputs(ore('dustAluminium')) .fluidInputs(fluid('chlorine') * 3000) - .outputs(metaitem('dustAluminiumTrichloride') * 4) + .outputs(metaitem('dustAluminiumChloride') * 4) .duration(100) // Adjust the duration as needed .EUt(Globals.voltAmps[1]) .buildAndRegister(); @@ -4300,70 +4200,6 @@ DISTILLATION_TOWER.recipeBuilder() .duration(100) .buildAndRegister() -//BPA - -ION_EXCHANGE.recipeBuilder() - .fluidInputs(fluid('phenol') * 2000) - .fluidInputs(fluid('acetone') * 1000) - .notConsumable(metaitem('beads.ag_fifty_w_x_eight')) - .fluidOutputs(fluid('water') * 1000) - .outputs(metaitem('dustBisphenolA')) - .EUt(480) - .duration(100) - .buildAndRegister() - -FLUID_EXTRACTOR.recipeBuilder() - .inputs(ore('dustBisphenolA')) - .fluidOutputs(fluid('bisphenol_a') * 1000) - .EUt(30) - .duration(100) - .buildAndRegister() - -//POLYCARBONATE - -BCR.recipeBuilder() - .fluidInputs(fluid('phosgene') * 50) - .fluidInputs(fluid('dichloromethane') * 50) - .fluidOutputs(fluid('phosgene_solution') * 100) - .EUt(480) - .duration(3) - .buildAndRegister() - -CSTR.recipeBuilder() - .fluidInputs(fluid('sodium_hydroxide_solution') * 100) - .fluidInputs(fluid('bisphenol_a') * 50) - .fluidOutputs(fluid('sodium_bisphenolate_solution') * 100) - .EUt(480) - .duration(3) - .buildAndRegister() - -CSTR.recipeBuilder() - .fluidInputs(fluid('phosgene_solution') * 100) - .fluidInputs(fluid('sodium_bisphenolate_solution') * 100) - .fluidOutputs(fluid('oligomeric_bisphenol_solution') * 50) - .fluidOutputs(fluid('salt_water') * 100) - .EUt(480) - .duration(3) - .buildAndRegister() - -POLYMERIZATION.recipeBuilder() - .fluidInputs(fluid('oligomeric_bisphenol_solution') * 4000) - .fluidInputs(fluid('triethylamine') * 1000) - .outputs(metaitem('dustPolycarbonate')) - .fluidOutputs(fluid('triethylamine_solution') * 5000) - .EUt(480) - .duration(60) - .buildAndRegister() - -DISTILLATION_TOWER.recipeBuilder() - .fluidInputs(fluid('triethylamine_solution') * 5000) - .fluidOutputs(fluid('triethylamine') * 1000) - .fluidOutputs(fluid('dichloromethane') * 4000) - .EUt(480) - .duration(60) - .buildAndRegister() - - //ALON TUBE_FURNACE.recipeBuilder() diff --git a/groovy/postInit/chemistry/OreSorting.groovy b/groovy/postInit/chemistry/OreSorting.groovy index e8ab4243f..107f67632 100644 --- a/groovy/postInit/chemistry/OreSorting.groovy +++ b/groovy/postInit/chemistry/OreSorting.groovy @@ -103,7 +103,6 @@ def metamorphic_tier_3 = [ 'gregtech:ore_cobaltite_0' : 10000, 'gregtech:ore_realgar_0' : 10000, 'gregtech:ore_arsenopyrite_0' : 10000, - 'gregtech:ore_wolframite_0' : 10000, 'gregtech:ore_pyrargyrite_0' : 10000, 'gregtech:ore_stephanite_0' : 10000, 'gregtech:ore_redstone_0' : 10000, diff --git a/groovy/postInit/chemistry/elements/GoldChain.groovy b/groovy/postInit/chemistry/elements/GoldChain.groovy index d6ef0da43..6b1dc47cd 100644 --- a/groovy/postInit/chemistry/elements/GoldChain.groovy +++ b/groovy/postInit/chemistry/elements/GoldChain.groovy @@ -75,8 +75,8 @@ BATCH_REACTOR.recipeBuilder() .inputs(ore('dustSodiumCyanide') * 24) .inputs(ore('dustTinyQuicklime')) .fluidInputs(fluid('gold_ore_slurry') * 1000) - .fluidInputs(fluid('air') * 9570) - .outputs(metaitem('sand.dust') * 16) + .fluidInputs(fluid('air') * 10000) + .outputs(metaitem('sand.dust') * 4) .fluidOutputs(fluid('gold_leach_solution') * 1000) .duration(240) .EUt(Globals.voltAmps[2]) diff --git a/groovy/postInit/chemistry/elements/LeadChain.groovy b/groovy/postInit/chemistry/elements/LeadChain.groovy index e4df446a1..c7af5d9d0 100644 --- a/groovy/postInit/chemistry/elements/LeadChain.groovy +++ b/groovy/postInit/chemistry/elements/LeadChain.groovy @@ -190,7 +190,7 @@ for (combustible in combustibles) { EBF.recipeBuilder() .inputs(ore('dustSinteredLeadConcentrate') * 2) .inputs(ore(combustible.name) * (combustible.amount_required)) - .inputs(ore('dustCalcite')) + .inputs(ore('dustTinyCalcite')) .outputs(metaitem('ingotCrudeLead') * 2) .outputs(metaitem(combustible.byproduct)) .fluidOutputs(fluid('cadmium_rich_flue_gas') * 1000) @@ -203,7 +203,7 @@ for (combustible in combustibles) { SIFTER.recipeBuilder() .notConsumable(metaitem('item_filter')) .fluidInputs(fluid('cadmium_rich_flue_gas') * 1000) - .outputs(metaitem('dustCadmiumRichFlueDust')) + .outputs(metaitem('dustCadmiumRichFlue')) .fluidOutputs(fluid('carbon_monoxide') * 1000) .EUt(120) .duration(160) @@ -378,7 +378,7 @@ VACUUM_CHAMBER.recipeBuilder() .buildAndRegister() FLUID_SOLIDIFIER.recipeBuilder() - .fluidInputs(fluid('dezinced_lead') * 100) + .fluidInputs(fluid('dezinced_lead') * 144) .notConsumable(metaitem('shape.mold.ingot')) .outputs(metaitem('ingotLead')) .EUt(7) @@ -440,7 +440,7 @@ ROASTER.recipeBuilder() SIFTER.recipeBuilder() .notConsumable(metaitem('item_filter')) .fluidInputs(fluid('antimony_arsenic_flue_gas') * 1000) - .outputs(metaitem('dustCadmiumRichFlueDust') * 3) + .outputs(metaitem('dustCadmiumRichFlue') * 3) .fluidOutputs(fluid('flue_gas') * 1000) .EUt(120) .duration(160) diff --git a/groovy/postInit/chemistry/elements/LithiumChain.groovy b/groovy/postInit/chemistry/elements/LithiumChain.groovy index 334c1066e..fc02de323 100644 --- a/groovy/postInit/chemistry/elements/LithiumChain.groovy +++ b/groovy/postInit/chemistry/elements/LithiumChain.groovy @@ -210,14 +210,14 @@ BR.recipeBuilder() BR.recipeBuilder() .inputs(ore('dustAluminiumPhosphate') * 6) .fluidInputs(fluid('hydrogen_chloride') * 3000) - .outputs(metaitem('dustAluminiumTrichloride') * 3) + .outputs(metaitem('dustAluminiumChloride') * 3) .fluidOutputs(fluid('phosphoric_acid') * 1000) .duration(120) .EUt(200) .buildAndRegister() BR.recipeBuilder() - .inputs(ore('dustAluminiumTrichloride') * 3) + .inputs(ore('dustAluminiumChloride') * 3) .fluidInputs(fluid('sodium_hydroxide_solution') * 3000) .outputs(metaitem('dustAluminiumHydroxide') * 7) .fluidOutputs(fluid('salt_water') * 3000) diff --git a/groovy/postInit/chemistry/elements/ManganeseChain.groovy b/groovy/postInit/chemistry/elements/ManganeseChain.groovy index 706e4eefc..f1292ca0e 100644 --- a/groovy/postInit/chemistry/elements/ManganeseChain.groovy +++ b/groovy/postInit/chemistry/elements/ManganeseChain.groovy @@ -104,7 +104,7 @@ for (reductant in reductants) { //HYDROMETALLURGICAL MANGANESE PROCESSING BATCH_REACTOR.recipeBuilder() .inputs(ore('dustManganeseIiOxide')) - .fluidInputs(fluid('sulfuric_acid') * 1375) + .fluidInputs(fluid('sulfuric_acid') * 1000) .fluidOutputs(fluid('crude_manganese_ii_sulfate_solution') * 1000) .duration(120) .EUt(Globals.voltAmps[2]) @@ -113,7 +113,7 @@ BATCH_REACTOR.recipeBuilder() BATCH_REACTOR.recipeBuilder() .inputs(ore('dustSodiumHydroxide') * 3) .fluidInputs(fluid('crude_manganese_ii_sulfate_solution') * 4000) - .outputs(metaitem('dustIronIiiHydroxide')) + .chancedOutput(metaitem('dustIronIiiHydroxide') * 7, 500, 0) .fluidOutputs(fluid('manganese_ii_sulfate_solution') * 4000) .duration(200) .EUt(Globals.voltAmps[2]) @@ -124,7 +124,6 @@ ELECTROLYTIC_CELL.recipeBuilder() .notConsumable(metaitem('stickManganese')) .notConsumable(metaitem('graphite_electrode')) .outputs(metaitem('dustManganese')) - .fluidOutputs(fluid('sodium_sulfate_solution') * 375) .fluidOutputs(fluid('sulfuric_acid') * 1000) .duration(480) .EUt(Globals.voltAmps[2]) diff --git a/groovy/postInit/chemistry/elements/SiliconChain.groovy b/groovy/postInit/chemistry/elements/SiliconChain.groovy index e16dbb700..320913859 100644 --- a/groovy/postInit/chemistry/elements/SiliconChain.groovy +++ b/groovy/postInit/chemistry/elements/SiliconChain.groovy @@ -149,7 +149,7 @@ ROASTER.recipeBuilder() FBR.recipeBuilder() .fluidInputs(fluid('trichlorosilane') * 2000) - .notConsumable(metaitem('catalystBedAluminiumTrichloride')) + .notConsumable(metaitem('catalystBedAluminiumChloride')) .fluidOutputs(fluid('disproportionated_trichlorosilane') * 2000) .duration(100) .EUt(120) @@ -165,7 +165,7 @@ DT.recipeBuilder() FBR.recipeBuilder() .fluidInputs(fluid('dichlorosilane') * 2000) - .notConsumable(metaitem('catalystBedAluminiumTrichloride')) + .notConsumable(metaitem('catalystBedAluminiumChloride')) .fluidOutputs(fluid('disproportionated_dichlorosilane') * 2000) .duration(100) .EUt(120) @@ -181,7 +181,7 @@ DT.recipeBuilder() FBR.recipeBuilder() .fluidInputs(fluid('chlorosilane') * 2000) - .notConsumable(metaitem('catalystBedAluminiumTrichloride')) + .notConsumable(metaitem('catalystBedAluminiumChloride')) .fluidOutputs(fluid('disproportionated_chlorosilane') * 2000) .duration(100) .EUt(120) diff --git a/groovy/postInit/chemistry/elements/TitaniumChain.groovy b/groovy/postInit/chemistry/elements/TitaniumChain.groovy index bde4bfb9f..9f5d6d9b1 100644 --- a/groovy/postInit/chemistry/elements/TitaniumChain.groovy +++ b/groovy/postInit/chemistry/elements/TitaniumChain.groovy @@ -191,7 +191,7 @@ FIXED_BED_REACTOR.recipeBuilder() DISTILLATION_TOWER.recipeBuilder() .fluidInputs(fluid('vanadium_free_titanium_tetrachloride') * 1000) - .fluidOutputs(fluid('gaseous_aluminium_trichloride') * 50) + .fluidOutputs(fluid('gaseous_aluminium_chloride') * 50) .fluidOutputs(fluid('titanium_tetrachloride') * 1000) .chancedOutput(metaitem('dustIronIiiChloride'), 2000, 250) .duration(300) @@ -207,7 +207,7 @@ for (inertGas in Globals.inertGases) { .notConsumable(fluid(inertGas.name) * inertGas.amount_required) .inputs(ore('dustMagnesium') * 2) .outputs(metaitem('sponge.titanium.crude')) - .fluidOutputs(fluid('magnesium_chloride') * 864) + .fluidOutputs(fluid('magnesium_chloride') * 756) .blastFurnaceTemp(2150) .duration(100 * inertGas.duration) .EUt(Globals.voltAmps[3] * 2) @@ -217,7 +217,7 @@ for (inertGas in Globals.inertGases) { VACUUM_CHAMBER.recipeBuilder() .inputs(metaitem('sponge.titanium.crude')) .outputs(metaitem('sponge.titanium')) - .fluidOutputs(fluid('titanium_tetrachloride') * 50) + .fluidOutputs(fluid('titanium_tetrachloride') * 25) .duration(100) .EUt(Globals.voltAmps[1]) .buildAndRegister() @@ -232,7 +232,7 @@ MACERATOR.recipeBuilder() // Byproducts BR.recipeBuilder() - .inputs(ore('vanadium_oxydichloride') * 4) + .inputs(ore('dustVanadiumOxydichloride') * 4) .fluidInputs(fluid('chlorine') * 1000) .fluidOutputs(fluid('vanadium_oxytrichloride') * 1000) .duration(200) diff --git a/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy index 26efbe541..8b68fbaf7 100644 --- a/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/Extractants.groovy @@ -50,6 +50,36 @@ DISTILLERY.recipeBuilder() .EUt(Globals.voltAmps[1]) .buildAndRegister() +//Frank-Caro process +EBF.recipeBuilder() + .inputs(ore('dustCalciumCarbide') * 3) + .fluidInputs(fluid('nitrogen') * 2000) + .outputs(metaitem('dustCalciumCyanamide') * 4) + .outputs(metaitem('dustCarbon')) + .blastFurnaceTemp(1200) + .EUt(30) + .duration(200) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustCalciumCyanamide') * 4) + .inputs(ore('dustCarbon')) + .fluidInputs(fluid('salt') * 576) + .outputs(metaitem('dustSodiumCyanide') * 6) + .outputs(metaitem('dustCalciumChloride') * 3) + .EUt(30) + .duration(200) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustCalciumCyanamide') * 4) + .fluidInputs(fluid('water') * 3000) + .outputs(metaitem('dustCalcite') * 5) + .fluidOutputs(fluid('ammonia') * 200) + .duration(200) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + //SODIUM THIOSULFATE BCR.recipeBuilder() .fluidInputs(fluid('soda_ash_solution') * 50) diff --git a/groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy b/groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy index d1b9bcfeb..9fbae21d8 100644 --- a/groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/OilOverhaul.groovy @@ -1082,15 +1082,15 @@ REFORMER.recipeBuilder() .fluidInputs(fluid('hydrogen') * 1000) .notConsumable(ore('catalystBedPlatinum')) .fluidOutputs(fluid('naphtha_reformate') * 1000) -.duration(300) -.EUt(Globals.voltAmps[1] * 2) +.duration(25) +.EUt(Globals.voltAmps[3]) .buildAndRegister() CENTRIFUGE.recipeBuilder() .fluidInputs(fluid('naphtha_reformate') * 1000) .fluidInputs(fluid('furfural') * 100) .fluidOutputs(fluid('btex_extract') * 1000) -.duration(200) +.duration(100) .EUt(Globals.voltAmps[1]) .buildAndRegister() @@ -1099,7 +1099,7 @@ CENTRIFUGE.recipeBuilder() .fluidInputs(fluid('steam') * 1000) .fluidOutputs(fluid('furfural') * 100) .fluidOutputs(fluid('btex') * 1000) -.duration(200) +.duration(100) .EUt(Globals.voltAmps[1]) .buildAndRegister() @@ -1109,8 +1109,8 @@ DT.recipeBuilder() .fluidOutputs(fluid('ethylbenzene') * 50) .fluidOutputs(fluid('toluene') * 400) .fluidOutputs(fluid('benzene') * 150) -.duration(260) -.EUt(Globals.voltAmps[1] * 2) +.duration(100) +.EUt(Globals.voltAmps[1]) .buildAndRegister() // XYLENE SEPARATION diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/EpoxyChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/EpoxyChain.groovy new file mode 100644 index 000000000..96c128088 --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/EpoxyChain.groovy @@ -0,0 +1,500 @@ +import static globals.Globals.* + +ION_EXCHANGE = recipemap('ion_exchange_column') +FLUID_EXTRACTOR = recipemap('extractor') +CSTR = recipemap('continuous_stirred_tank_reactor') +BCR = recipemap('bubble_column_reactor') +BR = recipemap('batch_reactor') +DISTILLATION_TOWER = recipemap('distillation_tower') +LCR = recipemap('large_chemical_reactor') +VACUUM_CHAMBER = recipemap('vacuum_chamber') +PHASE_SEPARATOR = recipemap('phase_separator') +POLYMERIZATION = recipemap('polymerization_tank') +EBF = recipemap('electric_blast_furnace') +FLUID_SOLIDIFER = recipemap('fluid_solidifier') +CHEMICAL_BATH = recipemap('chemical_bath') + +// Fiber-Reinforced Epoxy Resin Sheet * 1 +mods.gregtech.chemical_bath.removeByInput(16, [metaitem('wireFineBorosilicateGlass')], [fluid('epoxy') * 144]) +// Fiber-Reinforced Epoxy Resin Sheet * 1 +mods.gregtech.chemical_bath.removeByInput(16, [metaitem('carbon.fibers')], [fluid('epoxy') * 144]) + +// Curing agents +class CuringAgent { + String name + boolean liquid + int amount_required + double duration + CuringAgent(name, liquid, amount_required, duration) { + this.name = name + this.liquid = liquid + this.amount_required = amount_required + this.duration = duration + } +} + +curingAgents = [ + new CuringAgent('diethylenetriamine', true, 100, 1), + new CuringAgent('triethylenetetramine', true, 50, 1), + new CuringAgent('aminoethylpiperazine', true, 50, 1), + new CuringAgent('dustDicyandiamide', false, 2, 2), + new CuringAgent('dustPhthalicAnhydride', false, 1, 2), + new CuringAgent('dustEpoxyCuringMixture', false, 1, 0.25) +] + +// BPA + +ION_EXCHANGE.recipeBuilder() + .fluidInputs(fluid('phenol') * 2000) + .fluidInputs(fluid('acetone') * 1000) + .notConsumable(metaitem('beads.ag_fifty_w_x_eight')) + .fluidOutputs(fluid('water') * 1000) + .outputs(metaitem('dustBisphenolA')) + .EUt(480) + .duration(100) + .buildAndRegister() + +FLUID_EXTRACTOR.recipeBuilder() + .inputs(ore('dustBisphenolA')) + .fluidOutputs(fluid('bisphenol_a') * 1000) + .EUt(30) + .duration(100) + .buildAndRegister() + +// Epichlorohydrin + +CSTR.recipeBuilder() + .fluidInputs(fluid('glycerol') * 50) + .fluidInputs(fluid('hydrogen_chloride') * 100) + .fluidInputs(fluid('acetic_acid') * 10) + .fluidOutputs(fluid('chlorinated_glycerol') * 50) + .duration(5) + .EUt(30) + .buildAndRegister() + +BR.recipeBuilder() + .fluidInputs(fluid('chlorinated_glycerol') * 4000) + .inputs(ore('dustSodiumHydroxide') * 3) + .fluidOutputs(fluid('epichlorohydrin_solution') * 5000) + .duration(120) + .EUt(30) + .buildAndRegister() + +DISTILLATION_TOWER.recipeBuilder() + .fluidInputs(fluid('epichlorohydrin_solution') * 5000) + .fluidOutputs(fluid('acetic_acid') * 200) + .fluidOutputs(fluid('epichlorohydrin') * 1000) + .fluidOutputs(fluid('water') * 3000) + .outputs(metaitem('dustSalt') * 2) + .duration(120) + .EUt(30) + .buildAndRegister() + +BCR.recipeBuilder() + .fluidInputs(fluid('allyl_chloride') * 50) + .fluidInputs(fluid('hypochlorous_acid') * 50) + .fluidOutputs(fluid('allyl_alcohol_mix') * 50) + .duration(5) + .EUt(30) + .buildAndRegister() + +BR.recipeBuilder() + .fluidInputs(fluid('allyl_alcohol_mix') * 1000) + .inputs(ore('dustSodiumHydroxide') * 3) + .fluidOutputs(fluid('diluted_epichlorohydrin') * 2000) + .duration(120) + .EUt(30) + .buildAndRegister() + +DISTILLATION_TOWER.recipeBuilder() + .fluidInputs(fluid('diluted_epichlorohydrin') * 2000) + .fluidOutputs(fluid('epichlorohydrin') * 1000) + .fluidOutputs(fluid('water') * 1000) + .outputs(metaitem('dustSalt') * 2) + .duration(160) + .EUt(30) + .buildAndRegister() + +// Unmodified DGEBPA + +for (curingAgent in curingAgents) { + if (curingAgent.liquid) { + POLYMERIZATION.recipeBuilder() + .inputs(ore('dustBisphenolA')) + .fluidInputs(fluid('epichlorohydrin') * 1200) //excess epichlorohydrin to control degree of polymerization + .fluidInputs(fluid(curingAgent.name) * curingAgent.amount_required) + .fluidInputs(fluid('sodium_hydroxide_solution') * 1000) + .outputs(metaitem('dustWetEpoxy') * 7) + .fluidOutputs(fluid('diluted_saltwater') * 2000) + .duration((int) (100 * curingAgent.duration)) + .EUt(480) + .buildAndRegister() + } else { + POLYMERIZATION.recipeBuilder() + .inputs(ore('dustBisphenolA') * 4) + .fluidInputs(fluid('epichlorohydrin') * 4800) + .inputs(ore(curingAgent.name) * curingAgent.amount_required) + .fluidInputs(fluid('sodium_hydroxide_solution') * 4000) + .outputs(metaitem('dustWetEpoxy') * 28) + .fluidOutputs(fluid('diluted_saltwater') * 8000) + .duration((int) (100 * curingAgent.duration)) + .EUt(480) + .buildAndRegister() + } +} + +VACUUM_CHAMBER.recipeBuilder() + .inputs(ore('dustWetEpoxy') * 7) + .notConsumable(ore('springNichrome')) + .outputs(metaitem('dustEpoxy') * 7) + .duration(100) + .EUt(30) + .buildAndRegister() + +// Flame retardant DGEBA + +// Catalyst preparation +BR.recipeBuilder() + .inputs(ore('dustAluminiumHydroxide') * 7) + .fluidInputs(fluid('hydrochloric_acid') * 3000) + .fluidOutputs(fluid('aluminium_chloride_solution') * 3000) + .duration(100) + .EUt(30) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustNickelChloride') * 9) + .inputs(ore('dustAluminiumChloride') * 4) + .fluidInputs(fluid('demineralized_water') * 4000) + .fluidInputs(fluid('sodium_hydroxide_solution') * 8000) + .outputs(metaitem('dustNickelHydrotalcite')) + .fluidOutputs(fluid('salt_water') * 8000) + .duration(100) + .EUt(480) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustNickelHydrotalcite')) + .fluidInputs(fluid('sodium_tungstate_solution') * 100) + .outputs(metaitem('dustBisphenolBrominationCatalyst')) + .fluidOutputs(fluid('wastewater') * 100) + .duration(100) + .EUt(30) + .buildAndRegister() + +// Bromination + +BR.recipeBuilder() + .inputs(ore('dustBisphenolA')) + .notConsumable(ore('dustBisphenolBrominationCatalyst')) + .fluidInputs(fluid('dichloroethane') * 6000) + .fluidInputs(fluid('hydrogen_peroxide_solution') * 2000) + .fluidInputs(fluid('bromine') * 4000) + .fluidOutputs(fluid('impure_brominated_bisphenol_emulsion') * 10000) + .duration(160) + .EUt(1920) + .buildAndRegister() + +PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('impure_brominated_bisphenol_emulsion') * 10000) + .fluidOutputs(fluid('impure_brominated_bisphenol_solution') * 6000) + .fluidOutputs(fluid('water') * 4000) + .duration(160) + .buildAndRegister() + +MIXER.recipeBuilder() + .fluidInputs(fluid('water') * 6500) + .fluidInputs(fluid('sodium_sulfite_solution') * 500) + .fluidOutputs(fluid('diluted_sodium_sulfite_solution') * 7000) + .duration(20) + .EUt(30) + .buildAndRegister() + +CENTRIFUGE.recipeBuilder() + .fluidInputs(fluid('impure_brominated_bisphenol_solution') * 6000) + .fluidInputs(fluid('diluted_sodium_sulfite_solution') * 7000) + .fluidOutputs(fluid('tetrabromobisphenol_a_solution') * 6000) + .fluidOutputs(fluid('water') * 7000) + .duration(100) + .EUt(30) + .buildAndRegister() + +ROASTER.recipeBuilder() + .fluidInputs(fluid('tetrabromobisphenol_a_solution') * 6000) + .outputs(metaitem('dustTetrabromobisphenolA')) + .fluidOutputs(fluid('dichloroethane') * 6000) + .duration(100) + .EUt(30) + .buildAndRegister() + +// Curing agents +// Dicyanimide +BR.recipeBuilder() + .inputs(ore('dustCalciumCyanamide') * 4) + .fluidInputs(fluid('distilled_water') * 1000) + .fluidInputs(fluid('carbon_dioxide') * 1000) + .outputs(metaitem('dustCalcite') * 5) + .outputs(metaitem('dustCyanamide') * 5) + .duration(100) + .EUt(30) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustCyanamide') * 10) + .notConsumable(fluid('sodium_hydroxide_solution') * 1000) + .outputs(metaitem('dustDicyandiamide') * 10) + .duration(200) + .EUt(30) + .buildAndRegister() + +// 2-methylimidazole (Debus–Radziszewski imidazole synthesis) +LCR.recipeBuilder() + .fluidInputs(fluid('gtfo_glyoxal') * 1000) + .fluidInputs(fluid('ammonia') * 2000) + .fluidInputs(fluid('gtfo_acetaldehyde') * 1000) + .outputs(metaitem('dustTwoMethylimidazole') * 12) + .duration(200) + .EUt(30) + .buildAndRegister() + +MIXER.recipeBuilder() + .inputs(ore('dustTwoMethylimidazole')) + .inputs(ore('dustDicyandiamide') * 2) + .inputs(ore('dustPhthalicAnhydride')) + .outputs(metaitem('dustEpoxyCuringMixture')) + .duration(20) + .EUt(30) + .buildAndRegister() + +POLYMERIZATION.recipeBuilder() + .inputs(ore('dustTetrabromobisphenolA') * 4) + .fluidInputs(fluid('epichlorohydrin') * 4800) + .inputs(ore('dustEpoxyCuringMixture')) + .fluidInputs(fluid('sodium_hydroxide_solution') * 4000) + .outputs(metaitem('dustWetFlameRetardantEpoxy') * 28) + .fluidOutputs(fluid('diluted_saltwater') * 8000) + .duration(100) + .EUt(1920) + .buildAndRegister() + +VACUUM_CHAMBER.recipeBuilder() + .inputs(ore('dustWetFlameRetardantEpoxy') * 7) + .notConsumable(ore('springNichrome')) + .outputs(metaitem('dustFlameRetardantEpoxy') * 7) + .duration(25) + .EUt(30) + .buildAndRegister() + +// Fiber reinforced epoxy + +// E glass +MIXER.recipeBuilder() + .inputs(ore('dustSiliconDioxide') * 3) + .fluidInputs(fluid('sulfuric_acid') * 10) + .outputs(metaitem('dustAcidWashedSiliconDioxide') * 3) + .duration(10) + .EUt(30) + .buildAndRegister() + +MIXER.recipeBuilder() + .inputs(ore('dustAcidWashedSiliconDioxide') * 18) + .inputs(ore('dustAlumina') * 5) + .inputs(ore('dustBoronTrioxide') * 5) + .inputs(ore('dustQuicklime') * 4) + .outputs(metaitem('dustEGlass') * 10) + .duration(100) + .EUt(30) + .buildAndRegister() + +EBF.recipeBuilder() + .inputs(ore('dustEGlass')) + .fluidOutputs(fluid('e_glass') * 144) + .blastFurnaceTemp(1000) + .EUt(120) + .duration(10) + .buildAndRegister() + +CENTRIFUGE.recipeBuilder() + .notConsumable(ore('stickSteel')) + .inputs(ore('wireFineKevlar')) + .fluidInputs(fluid('e_glass') * 144) + .outputs(metaitem('glass_fibers')) + .EUt(120) + .duration(10) + .buildAndRegister() + +CHEMICAL_BATH.recipeBuilder() + .inputs(metaitem('glass_fibers')) + .fluidInputs(fluid('flame_retardant_epoxy') * 144) + .outputs(metaitem('epoxy_lamina')) + .EUt(120) + .duration(10) + .buildAndRegister() + +DRYER.recipeBuilder() + .inputs(metaitem('epoxy_lamina')) + .outputs(metaitem('plateReinforcedEpoxyResin')) + .EUt(120) + .duration(100) + .buildAndRegister() + +// SU-8 photoresist + +// Bisphenol A Novolac Epoxy +POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('epoxy') * 1008) + .fluidInputs(fluid('formaldehyde') * 3000) + .outputs(metaitem('dustBisphenolANovolacEpoxy') * 7) + .duration(100) + .EUt(1920) + .buildAndRegister() + +// Propylene Carbonate +CSTR.recipeBuilder() + .fluidInputs(fluid('propene') * 100) + .fluidInputs(fluid('chlorine') * 100) + .fluidInputs(fluid('water') * 50) + .fluidOutputs(fluid('propylene_chlorohydrin') * 100) + .duration(5) + .EUt(30) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustCalciumHydroxide') * 5) + .fluidInputs(fluid('propylene_chlorohydrin') * 2000) + .fluidOutputs(fluid('propylene_oxide_solution') * 2000) + .duration(100) + .EUt(30) + .buildAndRegister() + +DISTILLATION_TOWER.recipeBuilder() + .fluidInputs(fluid('propylene_oxide_solution') * 2000) + .outputs(metaitem('dustCalciumChloride') * 3) + .fluidOutputs(fluid('water') * 2000) + .fluidOutputs(fluid('propylene_oxide') * 2000) + .duration(100) + .EUt(30) + .buildAndRegister() + +BCR.recipeBuilder() + .fluidInputs(fluid('propylene_oxide') * 50) + .fluidInputs(fluid('carbon_dioxide') * 50) + .fluidOutputs(fluid('propylene_carbonate') * 50) + .duration(5) + .EUt(30) + .buildAndRegister() + +// Triarylsulfonium Hexafluoroantimonate +BR.recipeBuilder() + .inputs(ore('dustSulfur') * 2) + .fluidInputs(fluid('chlorine') * 2000) + .fluidOutputs(fluid('disulfur_dichloride') * 1000) + .duration(100) + .EUt(30) + .buildAndRegister() + +BR.recipeBuilder() + .fluidInputs(fluid('benzene') * 2000) + .fluidInputs(fluid('disulfur_dichloride') * 1000) + .outputs(metaitem('dustSulfur')) + .outputs(metaitem('dustDiphenylSulfide')) + .fluidOutputs(fluid('hydrogen_chloride') * 2000) + .duration(100) + .EUt(30) + .buildAndRegister() + +BR.recipeBuilder() + .notConsumable(ore('dustAluminiumChloride')) + .fluidInputs(fluid('benzene') * 2000) + .fluidInputs(fluid('sulfur_dioxide') * 1000) + .outputs(metaitem('dustDiphenylSulfoxide')) + .duration(80) + .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() + +BR.recipeBuilder() + .notConsumable(ore('dustAluminiumChloride')) + .fluidInputs(fluid('benzene') * 2000) + .fluidInputs(fluid('sulfur_dioxide') * 1000) + .outputs(metaitem('dustDiphenylSulfoxide')) + .duration(100) + .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) + .fluidOutputs(fluid('sulfonium_preparation_mixture') * 4000) + .duration(100) + .EUt(30) + .buildAndRegister() + +BR.recipeBuilder() + .inputs(ore('dustDiphenylSulfoxide')) + .inputs(ore('dustDiphenylSulfide')) + .inputs(ore('dustSodiumHexafluoroantimonate') * 8) + .notConsumable(fluid('sulfonium_preparation_mixture') * 28000) + .outputs(metaitem('dustTriarylsulfoniumHexafluoroantimonate') * 52) + .duration(100) + .EUt(480) + .buildAndRegister() + +/* +Bisphenol-A Novolac Epoxy + Average Molar Mass: 900 g/mol + Percent Weight: 50% +Gamma-Butyrolactone + Molar Mass: 86.090 g/mol + Percent Weight: 45% +Propylene Carbonate + Molar Mass: 102.089 g/mol + Percent Weight: 2.5% +Triarylsulfonium Hexafluoroantimonate + Molar Mass: 607.29 g/mol + Percent Weight: 2.5% + +Assume 100g of material. + 50g Novolac + 45g Gamma Butyrolactone + 2.5g Propylene Carbonate + 2.5g Triarylsulfonium Hexafluoroantimonate + + 55.6 mmol Bisphenol-A Novolac Epoxy + 523 mmol Gamma-Butyrolactone + 24.5 mmol Propylene Carbonate + 4.12 mmol Triarylsulfonium Hexafluoroantimonate + +Total: 607.22 mmol. + 9.16% Bisphenol-A Novolac Epoxy + 86.1% Gamma-Butyrolactone + 4.03% Propylene Carbonate + 0.678% Triarylsulfonium Hexafluoroantimonate +*/ + +LCR.recipeBuilder() + .inputs(ore('dustTriarylsulfoniumHexafluoroantimonate') * 26) + .inputs(ore('dustBisphenolANovolacEpoxy') * 47) + .fluidInputs(fluid('propylene_carbonate') * 3000) + .fluidInputs(fluid('gamma_butyrolactone') * 63500) + .fluidOutputs(fluid('su_eight') * 66500) + .duration(670) + .EUt(1920) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/PolycarbonateChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/PolycarbonateChain.groovy new file mode 100644 index 000000000..85effd1ac --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/PolycarbonateChain.groovy @@ -0,0 +1,48 @@ +import static globals.Globals.* + +BCR = recipemap('bubble_column_reactor') +CSTR = recipemap('continuous_stirred_tank_reactor') +POLYMERIZATION = recipemap('polymerization_tank') +DISTILLATION_TOWER = recipemap('distillation_tower') + +BCR.recipeBuilder() + .fluidInputs(fluid('phosgene') * 50) + .fluidInputs(fluid('dichloromethane') * 50) + .fluidOutputs(fluid('phosgene_solution') * 100) + .EUt(480) + .duration(3) + .buildAndRegister() + +CSTR.recipeBuilder() + .fluidInputs(fluid('sodium_hydroxide_solution') * 100) + .fluidInputs(fluid('bisphenol_a') * 50) + .fluidOutputs(fluid('sodium_bisphenolate_solution') * 100) + .EUt(480) + .duration(3) + .buildAndRegister() + +CSTR.recipeBuilder() + .fluidInputs(fluid('phosgene_solution') * 100) + .fluidInputs(fluid('sodium_bisphenolate_solution') * 100) + .fluidOutputs(fluid('oligomeric_bisphenol_solution') * 50) + .fluidOutputs(fluid('salt_water') * 100) + .EUt(480) + .duration(3) + .buildAndRegister() + +POLYMERIZATION.recipeBuilder() + .fluidInputs(fluid('oligomeric_bisphenol_solution') * 4000) + .fluidInputs(fluid('triethylamine') * 1000) + .outputs(metaitem('dustPolycarbonate')) + .fluidOutputs(fluid('triethylamine_solution') * 5000) + .EUt(480) + .duration(60) + .buildAndRegister() + +DISTILLATION_TOWER.recipeBuilder() + .fluidInputs(fluid('triethylamine_solution') * 5000) + .fluidOutputs(fluid('triethylamine') * 1000) + .fluidOutputs(fluid('dichloromethane') * 4000) + .EUt(480) + .duration(60) + .buildAndRegister() diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/PolyolefinChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/PolyolefinChain.groovy index 817c127ec..61ec083fa 100644 --- a/groovy/postInit/chemistry/organic_chemistry/polymers/PolyolefinChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/PolyolefinChain.groovy @@ -36,7 +36,7 @@ POLYMERIZATION.recipeBuilder() .duration(300) .buildAndRegister() -// POLYPROPYLENE +// Polypropylene POLYMERIZATION.recipeBuilder() .notConsumable(metaitem('dustPhilipsCatalyst')) diff --git a/groovy/postInit/chemistry/organic_chemistry/polymers/PolytetrafluoroethyleneChain.groovy b/groovy/postInit/chemistry/organic_chemistry/polymers/PolytetrafluoroethyleneChain.groovy new file mode 100644 index 000000000..da17d117a --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/polymers/PolytetrafluoroethyleneChain.groovy @@ -0,0 +1,115 @@ +import static globals.Globals.* + +BR = recipemap('batch_reactor') +POLYMERIZATION = recipemap('polymerization_tank') +DISTILLATION_TOWER = recipemap('distillation_tower') +DISTILLERY = recipemap('distillery') +MIXER = recipemap('mixer') +DRYER = recipemap('dryer') +ELECTROLYTIC_CELL = recipemap('electrolytic_cell') + +// PTFE +BR.recipeBuilder() +.inputs(metaitem('dustChromiumTrioxide') * 8) +.fluidInputs(fluid('n_octanol') * 1500) +.fluidInputs(fluid('sulfuric_acid') * 3000) +.fluidInputs(fluid('acetone') * 500) +.fluidOutputs(fluid('caprylic_acid') * 1500) +.fluidOutputs(fluid('chromium_sulfate_solution') * 500) +.duration(100) +.EUt(30) +.buildAndRegister() + +BR.recipeBuilder() +.inputs(metaitem('dustSodiumHydroxide') * 18) +.fluidInputs(fluid('chromium_sulfate_solution') * 500) +.outputs(metaitem('dustChromiumIiiHydroxide') * 14) +.fluidOutputs(fluid('sodium_sulfate_acetone_solution') * 500) +.duration(100) +.EUt(30) +.buildAndRegister() + +DISTILLATION_TOWER.recipeBuilder() +.fluidInputs(fluid('sodium_sulfate_acetone_solution') * 1000) +.outputs(metaitem('dustSodiumSulfate') * 42) +.fluidOutputs(fluid('water') * 9000) +.fluidOutputs(fluid('acetone') * 1000) +.duration(200) +.EUt(30) +.buildAndRegister() + +BR.recipeBuilder() +.fluidInputs(fluid('caprylic_acid') * 1000) +.fluidInputs(fluid('thionyl_chloride') * 1000) +.fluidOutputs(fluid('octanoyl_chloride') * 1000) +.fluidOutputs(fluid('hydrogen_chloride') * 1000) +.fluidOutputs(fluid('sulfur_dioxide') * 1000) +.duration(200) +.EUt(30) +.buildAndRegister() + +ELECTROLYTIC_CELL.recipeBuilder() +.notConsumable(metaitem('plateNickel')) +.notConsumable(metaitem('plateCobalt')) +.fluidInputs(fluid('octanoyl_chloride') * 1000) +.fluidInputs(fluid('hydrogen_fluoride') * 15000) +.fluidOutputs(fluid('fluorinated_octanoyl_chloride_mixture') * 1000) +.fluidOutputs(fluid('hydrogen') * 15000) +.duration(200) +.EUt(30) +.buildAndRegister() + +DISTILLERY.recipeBuilder() +.fluidInputs(fluid('fluorinated_octanoyl_chloride_mixture') * 1000) +.fluidOutputs(fluid('perfluorooctanoyl_fluoride') * 150) +.duration(200) +.EUt(30) +.buildAndRegister() + +BR.recipeBuilder() +.fluidInputs(fluid('perfluorooctanoyl_fluoride') * 1000) +.fluidInputs(fluid('water') * 2000) +.fluidOutputs(fluid('perfluorooctanoic_acid_mixture') * 1000) +.duration(200) +.EUt(30) +.buildAndRegister() + +DISTILLERY.recipeBuilder() +.fluidInputs(fluid('perfluorooctanoic_acid_mixture') * 500) +.outputs(metaitem('dustPerfluorooctanoicAcid') * 13) +.fluidOutputs(fluid('hydrofluoric_acid') * 500) +.duration(200) +.EUt(30) +.buildAndRegister() + +MIXER.recipeBuilder() +.fluidInputs(fluid('water') * 500) +.inputs(metaitem('dustPerfluorooctanoicAcid') * 13) +.fluidOutputs(fluid('fluorinated_surfactant_mixture') * 500) +.duration(200) +.EUt(30) +.buildAndRegister() + +MIXER.recipeBuilder() +.fluidInputs(fluid('tetrafluoroethylene') * 1000) +.fluidInputs(fluid('fluorinated_surfactant_mixture') * 500) +.fluidOutputs(fluid('tetrafluoroethylene_emulsion') * 1500) +.duration(200) +.EUt(30) +.buildAndRegister() + +POLYMERIZATION.recipeBuilder() +.fluidInputs(fluid('tetrafluoroethylene_emulsion') * 1500) +.inputs(ore('dustTinyPotassiumPersulfate')) +.fluidOutputs(fluid('polytetrafluoroethylene_solution') * 500) +.duration(200) +.EUt(240) +.buildAndRegister() + +DRYER.recipeBuilder() +.fluidInputs(fluid('polytetrafluoroethylene_solution') * 500) +.outputs(metaitem('dustPolytetrafluoroethylene') * 7) +.fluidOutputs(fluid('fluorinated_surfactant_mixture') * 500) +.duration(200) +.EUt(30) +.buildAndRegister() diff --git a/groovy/postInit/mod/GasPunk.groovy b/groovy/postInit/mod/GasPunk.groovy index df471b21b..21faf7a0b 100644 --- a/groovy/postInit/mod/GasPunk.groovy +++ b/groovy/postInit/mod/GasPunk.groovy @@ -147,7 +147,7 @@ CSTR.recipeBuilder() .buildAndRegister(); FBR.recipeBuilder() - .notConsumable(metaitem('catalystBedAluminiumTrichloride')) + .notConsumable(metaitem('catalystBedAluminiumChloride')) .fluidInputs(fluid('ethylene_oxide') * 50) .fluidInputs(fluid('diisopropylamine') * 50) .fluidOutputs(fluid('diisopropylaminoethanol') * 50) @@ -156,7 +156,7 @@ FBR.recipeBuilder() .buildAndRegister(); LCR.recipeBuilder() - .notConsumable(metaitem('dustAluminiumTrichloride') * 4) + .notConsumable(metaitem('dustAluminiumChloride') * 4) .inputs(ore('dustIron') * 1) .fluidInputs(fluid('phosphorus_trichloride') * 1000) .fluidInputs(fluid('chloromethane') * 1000) diff --git a/groovy/postInit/mod/GregTechFoodOption.groovy b/groovy/postInit/mod/GregTechFoodOption.groovy index 9b7c453cd..7b92b2a17 100644 --- a/groovy/postInit/mod/GregTechFoodOption.groovy +++ b/groovy/postInit/mod/GregTechFoodOption.groovy @@ -57,6 +57,7 @@ def ROASTER = recipemap('roaster') def CHEMICAL_BATH = recipemap('chemical_bath') def BCR = recipemap('bubble_column_reactor') def FLUIDIZEDBR = recipemap('fluidized_bed_reactor') +def FBR = recipemap('fixed_bed_reactor') FERMENTER.recipeBuilder() .fluidInputs(fluid('gtfo_red_grapes_must') * 8000) @@ -428,6 +429,16 @@ BR.recipeBuilder() .EUt(60) .buildAndRegister() +FBR.recipeBuilder() + .notConsumable(ore('catalystBedSilver')) + .fluidInputs(fluid('ethylene_glycol') * 50) + .fluidInputs(fluid('oxygen') * 100) + .fluidOutputs(fluid('gtfo_glyoxal') * 50) + .fluidOutputs(fluid('water') * 100) + .duration(6) + .EUt(60) + .buildAndRegister() + LCR.recipeBuilder() .fluidInputs(fluid('gtfo_glyoxal') * 2000) .fluidInputs(fluid('nitric_acid') * 2000) diff --git a/groovy/preInit/RegisterMetaItems.groovy b/groovy/preInit/RegisterMetaItems.groovy index 8c8c6476c..4a53efb16 100644 --- a/groovy/preInit/RegisterMetaItems.groovy +++ b/groovy/preInit/RegisterMetaItems.groovy @@ -119,6 +119,8 @@ eventManager.listen { customMetaItems.addItem(210, "bound_leather") customMetaItems.addItem(212, "drone.lv").setMaxStackSize(1).addComponents(ElectricStats.createRechargeableBattery(10000, GTValues.LV)).setModelAmount(8).setCreativeTabs(GregTechAPI.TAB_GREGTECH_TOOLS); + customMetaItems.addItem(213, "glass_fibers") + customMetaItems.addItem(214, "epoxy_lamina") customMetaItems.addItem(250, "beads.amberlyst_ch"); customMetaItems.addItem(251, "beads.ag_fifty_w_x_eight"); diff --git a/groovy/prePostInit/Thermodynamics.groovy b/groovy/prePostInit/Thermodynamics.groovy index 1e54c390d..f10c45e29 100644 --- a/groovy/prePostInit/Thermodynamics.groovy +++ b/groovy/prePostInit/Thermodynamics.groovy @@ -767,17 +767,17 @@ for (WorkingFluid in WorkingFluids) { .buildAndRegister(); recipemap('cooling_tower').recipeBuilder() - .fluidInputs(liquid(WorkingFluid.leftover_fluid) * (WorkingFluid.amount_to_use * WorkingFluid.conversion_factor)) + .fluidInputs(liquid(WorkingFluid.leftover_fluid) * (WorkingFluid.amount_to_use * WorkingFluid.conversion_factor) * 64) .fluidInputs(liquid('water') * 1000) - .fluidOutputs(liquid(WorkingFluid.normal_fluid) * WorkingFluid.amount_to_use) + .fluidOutputs(liquid(WorkingFluid.normal_fluid) * WorkingFluid.amount_to_use * 64) .fluidOutputs(liquid('water') * 750) - .duration((int) (WorkingFluid.duration / 10)) + .duration(WorkingFluid.duration) .EUt(8) .buildAndRegister(); recipemap('radiator').recipeBuilder() - .fluidInputs(liquid(WorkingFluid.leftover_fluid) * (WorkingFluid.amount_to_use * WorkingFluid.conversion_factor)) - .fluidOutputs(liquid(WorkingFluid.normal_fluid) * WorkingFluid.amount_to_use) + .fluidInputs(liquid(WorkingFluid.leftover_fluid) * (WorkingFluid.amount_to_use * WorkingFluid.conversion_factor) * 16) + .fluidOutputs(liquid(WorkingFluid.normal_fluid) * WorkingFluid.amount_to_use * 16) .duration(WorkingFluid.duration) .EUt(8) .buildAndRegister(); diff --git a/resources/gregtech/models/item/metaitems/epoxy_lamina.json b/resources/gregtech/models/item/metaitems/epoxy_lamina.json new file mode 100644 index 000000000..bffcc615d --- /dev/null +++ b/resources/gregtech/models/item/metaitems/epoxy_lamina.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/epoxy_lamina" + } + } \ No newline at end of file diff --git a/resources/gregtech/models/item/metaitems/glass_fibers.json b/resources/gregtech/models/item/metaitems/glass_fibers.json new file mode 100644 index 000000000..92a0b6021 --- /dev/null +++ b/resources/gregtech/models/item/metaitems/glass_fibers.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/glass_fibers" + } + } \ No newline at end of file diff --git a/resources/gregtech/textures/items/metaitems/epoxy_lamina.png b/resources/gregtech/textures/items/metaitems/epoxy_lamina.png new file mode 100644 index 000000000..740e8c68a Binary files /dev/null and b/resources/gregtech/textures/items/metaitems/epoxy_lamina.png differ diff --git a/resources/gregtech/textures/items/metaitems/glass_fibers.png b/resources/gregtech/textures/items/metaitems/glass_fibers.png new file mode 100644 index 000000000..c32c3c1da Binary files /dev/null and b/resources/gregtech/textures/items/metaitems/glass_fibers.png differ diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index f01566145..c9a62218e 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -488,7 +488,6 @@ material.ethanolamine=Ethanolamine material.diethanolamine=Diethanolamine material.triethanolamine=Triethanolamine -material.calcium_carbonate_solution=Calcium Carbonate Solution material.bentonite_clay_solution=Bentonite Clay Solution material.mineralized_water=Mineralized Water material.oxide_water=Oxide Water @@ -516,7 +515,6 @@ material.dicobalt_octacarbonyl=Dicobalt Octacarbonyl material.impregnated_alumina_catalyst=Impregnated Alumina Catalyst material.bismuth_copper=Bismuth-Copper material.bromobenzene=Bromobenzene -material.aluminium_trichloride=Aluminium Trichloride material.triethylaluminium=Triethylaluminium material.hydrogen_peroxide=Hydrogen Peroxide material.tetrabromomethane=Tetrabromomethane @@ -1437,7 +1435,7 @@ material.vanadium_oxytrichloride=Vanadium Oxytrichloride material.gaseous_iron_iii_chloride=Gaseous Iron III Chloride material.gaseous_titanium_tetrachloride=Gaseous Titanium Tetrachloride material.tin_tetrachloride=Tin Tetrachloride -material.gaseous_aluminium_trichloride=Gaseous Aluminium Trichloride +material.gaseous_aluminium_chloride=Gaseous Aluminium Chloride material.extracted_caprolactam_solution=Extracted Caprolactam Solution material.diluted_ammonium_sulfate_solution=Diluted Ammonium Sulfate Solution material.phosgene_solution=Phosgene Solution @@ -1676,6 +1674,38 @@ material.acetylacetone=Acetylacetone material.diethylaluminium_acetylacetonate=Diethylaluminium Acetylacetonate material.diluted_two_ethyl_two_hexenal=Diluted 2-Ethyl-2-hexenal material.acidic_triethyl_phosphate=Acidic Triethyl Phosphate +material.bisphenol_bromination_catalyst=Bisphenol Bromination Catalyst +material.impure_brominated_bisphenol_emulsion=Impure Brominated Bisphenol Emulsion +material.impure_brominated_bisphenol_solution=Impure Brominated Bisphenol Solution +material.bisphenol_a_novolac_epoxy=Bisphenol A Novolac Epoxy +material.sulfonium_preparation_mixture=Sulfonium Preparation Mixture +material.nickel_hydrotalcite=Nickel Hydrotalcite +material.calcium_cyanamide=Calcium Cyanamide +material.antimony_pentafluoride=Antimony Pentafluoride +material.sodium_hexafluoroantimonate=Sodium Hexafluoroantimonate +material.acid_washed_silicon_dioxide=Acid Washed Silicon Dioxide +material.disulfur_dichloride=Disulfur Dichloride +material.diluted_sodium_sulfite_solution=Diluted Sodium Sulfite Solution +material.sodium_hexafluoroantimonate_solution=Sodium Hexafluoroantimonate Solution +material.e_glass=E-Glass +material.tetrabromobisphenol_a=Tetrabromobisphenol A +material.cyanamide=Cyanamide +material.dicyandiamide=Dicyandiamide +material.two_methylimidazole=2-Methylimidazole +material.flame_retardant_epoxy=Flame Retardant Epoxy +material.propylene_chlorohydrin=Propylene Chlorohydrin +material.propylene_oxide=Propylene Oxide +material.propylene_carbonate=Propylene Carbonate +material.diphenyl_sulfide=Diphenyl Sulfide +material.diphenyl_sulfoxide=Diphenyl Sulfoxide +material.methanesulfonic_acid=Methanesulfonic Acid +material.triarylsulfonium_hexafluoroantimonate=Triarylsulfonium Hexafluoroantimonate +material.wet_epoxy=Wet Epoxy +material.tetrabromobisphenol_a_solution=Tetrabromobisphenol A Solution +material.epoxy_curing_mixture=Epoxy Curing Mixture +material.wet_flame_retardant_epoxy=Wet Flame Retardant Epoxy +material.propylene_oxide_solution=Propylene Oxide Solution +material.su_eight=SU-8 Photoresist # Isotopes @@ -2037,6 +2067,9 @@ metaitem.sponge.hafnium.crude.name=Crude Hafnium Sponge metaitem.drone.lv.name=Basic Drone +metaitem.glass_fibers.name=Glass Fibers +metaitem.epoxy_lamina.name=Epoxy Lamina + # Multiblocked tile.multiblocked.item_input.name=Small Input Bus