diff --git a/groovy/material/FirstDegreeMaterials.groovy b/groovy/material/FirstDegreeMaterials.groovy index 924cde152..d7d7ffe96 100644 --- a/groovy/material/FirstDegreeMaterials.groovy +++ b/groovy/material/FirstDegreeMaterials.groovy @@ -3240,5 +3240,11 @@ public class FirstDegreeMaterials{ .components(Sulfur, 2, Chlorine, 2) .color(0xccc31d) .build(); + + DecarburizedAir = new Material.Builder(8572, "decarburized_air") + .fluid(FluidTypes.GAS) + .components(Nitrogen, 78, Oxygen, 21, Argon, 1) + .color(0x90bbe0) + .build(); } } diff --git a/groovy/material/SecondDegreeMaterials.groovy b/groovy/material/SecondDegreeMaterials.groovy index 99cb8539f..8e56866de 100644 --- a/groovy/material/SecondDegreeMaterials.groovy +++ b/groovy/material/SecondDegreeMaterials.groovy @@ -11,6 +11,7 @@ import static gregtech.api.unification.material.info.MaterialIconSet.*; import static gregtech.api.unification.material.info.MaterialFlags.*; import static gregtech.api.unification.material.Materials.*; import static gregtechfoodoption.GTFOMaterialHandler.*; +import static supersymmetry.api.unification.material.info.SuSyMaterialFlags.*; public class SecondDegreeMaterials { public static void register() { @@ -482,7 +483,7 @@ public class SecondDegreeMaterials { .fluid() .components(AmmoniumChloride, 1, SodiumBicarbonate, 1, Water, 1) .colorAverage() - .build() + .build(); VeryDilutedSodiumSulfateSolution = new Material.Builder(13078, "very_diluted_sodium_sulfate_solution") .fluid() @@ -553,5 +554,17 @@ public class SecondDegreeMaterials { .components(SiliconDioxide, 6, Alumina, 1, BoronTrioxide, 1, Quicklime, 2) .color(0x778f8b) .build(); + + DeoxygenationCatalystPrecursorSolution = new Material.Builder(13089, "deoxygenation_catalyst_precursor_solution") + .fluid() + .components(AmmoniumHexachloroplatinate, 1, PhosphoricAcid, 1) + .colorAverage() + .build(); + + DeoxygenationCatalyst = new Material.Builder(13090, "deoxygenation_catalyst") + .dust() + .components(Alumina, 1, Platinum, 1, Chlorine, 4) + .flags(GENERATE_CATALYST_BED) + .build() } } diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 09cc3cd6f..cc9beddc1 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -942,6 +942,7 @@ class SuSyMaterials { public static Material Chlorodifluoromethane; public static Material PolychlorinatedBiphenyl; public static Material DilutedSilverNitrateSolution; + public static Material DecarburizedAir; public static Material MolybdenumTrisulfide; public static Material AmmoniumIsopolytungstateSolution; public static Material AmmoniumParatungstate; @@ -1001,6 +1002,8 @@ class SuSyMaterials { // Second Degree Materials + public static Material DeoxygenationCatalystPrecursorSolution; + public static Material DeoxygenationCatalyst; public static Material NitrateSaltMix; public static Material AmmoniumChlorideSolution; public static Material PotassiumChlorideSolution; @@ -1446,17 +1449,17 @@ class SuSyMaterials { public static Material EarthlikeAir; public static Material HotHighPressureSteam; - public static Material CompressedAir; + /*public static Material CompressedAir; public static Material ChilledAir; public static Material PurifiedAir; public static Material BoostedAir; - public static Material ColdWater; + public static Material ColdWater;*/ public static Material WasteGaseousNitrogen; - public static Material PurfiedWasteGaseousNitrogen; + /*public static Material PurfiedWasteGaseousNitrogen; public static Material ChilledBoostedAir; public static Material PartiallyLiquifiedAir; public static Material GaseousAirFeedstock; - public static Material LiquidAirFeedstock; + public static Material LiquidAirFeedstock;*/ public static Material ChillyWasteGaseousNitrogen; public static Material SubcooledLiquidNitrogen; public static Material ColdWasteGaseousNitrogen; @@ -1481,6 +1484,12 @@ class SuSyMaterials { public static Material GaseousCrudeNeon; public static Material LiquidCrudeNeon; public static Material ColdGaseousNitrogen; + public static Material LiquidArgonProduct; + public static Material LiquidOxygenProduct; + public static Material LiquidNitrogenProduct; + public static Material LiquidDeoxygenatedArgon; + public static Material LiquidWasteNitrogen; + public static Material PartiallyLiquefiedArgon; public static void init() { ElementMaterials.register(); diff --git a/groovy/material/ThermodynamicsMaterials.groovy b/groovy/material/ThermodynamicsMaterials.groovy index 8fc6aa1ef..2976c5c9b 100644 --- a/groovy/material/ThermodynamicsMaterials.groovy +++ b/groovy/material/ThermodynamicsMaterials.groovy @@ -242,6 +242,8 @@ class ThermodynamicsMaterials { generateHighPressureGases(NaturalGas, 22045, true); + generateHighPressureGases(DecarburizedAir, 22048, true); + generateLiquidFromGas(Hydrogen, 22100, 14); generateLiquidFromGas(Helium, 22101, 5); @@ -262,6 +264,8 @@ class ThermodynamicsMaterials { generateLiquidFromGas(NaturalGas, 22109, 110); + generateLiquidFromGas(DecarburizedAir, 22110, 80) + generateThermoRefrigerant(Ammonia, 22150); generateThermoRefrigerant(Propane, 22155); @@ -331,7 +335,7 @@ class ThermodynamicsMaterials { .color(0xffffff) .build(); - CompressedAir = new Material.Builder(22802, "compressed_air") + /*CompressedAir = new Material.Builder(22802, "compressed_air") .fluid(FluidTypes.GAS) .color(0x95bee6) .components(Nitrogen, 78, Oxygen, 21, Argon, 9) @@ -363,14 +367,14 @@ class ThermodynamicsMaterials { .fluidTemp(273) .color(0x6293e3) .components(Hydrogen, 2, Oxygen, 1) - .build(); + .build();*/ WasteGaseousNitrogen = new Material.Builder(22807, "waste_gaseous_nitrogen") .fluid(FluidTypes.GAS) .color(0x29a4a6) .build(); - PurfiedWasteGaseousNitrogen = new Material.Builder(22808, "purified_waste_gaseous_nitrogen") + /*PurfiedWasteGaseousNitrogen = new Material.Builder(22808, "purified_waste_gaseous_nitrogen") .fluid(FluidTypes.GAS) .color(0x37b1b3) .build(); @@ -401,7 +405,7 @@ class ThermodynamicsMaterials { .fluidTemp(80) .color(0x3b72a8) .components(Nitrogen, 78, Oxygen, 21, Argon, 9) - .build(); + .build();*/ ChillyWasteGaseousNitrogen = new Material.Builder(22813, "chilly_waste_gaseous_nitrogen") .fluid(FluidTypes.GAS) @@ -546,6 +550,42 @@ class ThermodynamicsMaterials { .fluidTemp(140) .color(0x23b9ba) .build(); + + LiquidArgonProduct = new Material.Builder(22837, "liquid_argon_product") + .fluid() + .fluidTemp(87) + .color(0x0ecc0e) + .build(); + + LiquidOxygenProduct = new Material.Builder(22838, "liquid_oxygen_product") + .fluid() + .fluidTemp(90) + .color(0x459fcc) + .build(); + + LiquidNitrogenProduct = new Material.Builder(22839, "liquid_nitrogen_product") + .fluid() + .fluidTemp(77) + .color(0x0b9a9c) + .build(); + + LiquidDeoxygenatedArgon = new Material.Builder(22840, "liquid_deoxygenated_argon") + .fluid() + .fluidTemp(87) + .color(0x3de03d) + .build(); + + LiquidWasteNitrogen = new Material.Builder(22841, "liquid_waste_nitrogen") + .fluid() + .fluidTemp(77) + .color(0x379394) + .build(); + + PartiallyLiquefiedArgon = new Material.Builder(22842, "partially_liquefied_argon") + .fluid() + .fluidTemp(120) + .color(0x56bf56) + .build(); } } diff --git a/groovy/postInit/chemistry/AirDistillation.groovy b/groovy/postInit/chemistry/AirDistillation.groovy new file mode 100644 index 000000000..efd18cbfa --- /dev/null +++ b/groovy/postInit/chemistry/AirDistillation.groovy @@ -0,0 +1,437 @@ +import static globals.Globals.* + +SIFTER = recipemap('sifter') +MIXER = recipemap('mixer') +VACUUM_CHAMBER = recipemap('vacuum_chamber') +FLUID_COMPRESSOR = recipemap('fluid_compressor') +FLUID_DECOMPRESSOR = recipemap('fluid_decompressor') +HEAT_EXCHANGER = recipemap('heat_exchanger') +PHASE_SEPARATOR = recipemap('phase_separator') +LOW_PRESSURE_DISTILLATION_TOWER = recipemap('low_pressure_cryogenic_distillation') +HIGH_PRESSURE_DISTILLATION_TOWER = recipemap('high_puressure_cryogenic_distillation') +SINGLE_COLUMN_CRYOGENIC_DISTILLATION_PLANT = recipemap('single_column_cryogenic_distillation') +VENT = recipemap('smoke_stack') +BATH_CONDENSER = recipemap('bath_condenser') +SMOKE_STACK = recipemap('smoke_stack') +FBR = recipemap('fixed_bed_reactor') +SINTERING_OVEN = recipemap('sintering_oven') +CENTRIFUGE = recipemap('centrifuge') +FLUID_HEATER = recipemap('fluid_heater') + +//TIER ONE (OXYGEN + NITROGEN) + +/*AIR PREPROCESSING +//COMPRESSION +FLUID_COMPRESSOR.recipeBuilder() + .fluidInputs(fluid('air') * 6000) + .fluidOutputs(fluid('compressed_air') * 1000) + .duration(31) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +//WATER COOLING +HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('liquid_nitrogen') * 10) + .fluidInputs(fluid('water') * 1280) + .fluidOutputs(fluid('nitrogen') * 640) + .fluidOutputs(fluid('cold_water') * 1280) + .duration(31) + .buildAndRegister() + +HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('purified_waste_gaseous_nitrogen') * 640) + .fluidInputs(fluid('water') * 1280) + .fluidOutputs(fluid('nitrogen') * 640) + .fluidOutputs(fluid('cold_water') * 1280) + .duration(5) + .buildAndRegister() + +//AIR WASHING AND PRECOOLING +CONTACT_COOLER.recipeBuilder() + .fluidInputs(fluid('compressed_air') * 1000) + .fluidInputs(fluid('cold_water') * 640) + .fluidOutputs(fluid('chilled_air') * 1000) + .fluidOutputs(fluid('water') * 640) + .duration(31) + .EUt(Globals.voltAmps[1]) + .buildAndRegister()*/ + +//CO2 REMOVAL +SIFTER.recipeBuilder() + .inputs(ore('dustTinyMolecularSieve')) + .fluidInputs(fluid('air') * 12000) + .fluidOutputs(fluid('decarburized_air') * 12000) + .outputs(metaitem('dustTinyDirtyMolecularSieve')) + .duration(4) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +//VACUUM REHEATING FOR REGENERATION +VACUUM_CHAMBER.recipeBuilder() + .inputs(ore('dustTinyDirtyMolecularSieve')) + .notConsumable(metaitem('springKanthal')) + .outputs(metaitem('dustTinyMolecularSieve')) + .fluidOutputs(fluid('carbon_dioxide') * 20) + .duration(4) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('chilly_waste_gaseous_nitrogen') * 640) + .fluidInputs(fluid('hp_decarburized_air') * 1000) + .fluidOutputs(fluid('waste_gaseous_nitrogen') * 640) + .fluidOutputs(fluid('cold_hp_decarburized_air') * 1000) + .duration(1) + .buildAndRegister() + +SMOKE_STACK.recipeBuilder() + .fluidInputs(fluid('waste_gaseous_nitrogen') * 640) + .duration(1) + .buildAndRegister() + +//SIDESTREAM OF BOOSTED AIR FOR COLD GENERATION +/*FLUID_COMPRESSOR.recipeBuilder() + .fluidInputs(fluid('purified_air') * 1000) + .fluidOutputs(fluid('boosted_air') * 300) + .duration(114) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +//FIVE LANE HEAT EXCHANGER +TAPPED_OFF_HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('boosted_air') * 300) + .fluidInputs(fluid('purified_air') * 500) + .fluidOutputs(fluid('chilled_boosted_air') * 150) + .fluidOutputs(fluid('partially_liquefied_air') * 150) + .fluidOutputs(fluid('gaseous_air_feedstock') * 500) + .duration(5) + .buildAndRegister() + +HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('purified_air') * 500) + .fluidInputs(fluid('untreated_liquid_oxygen') * 15) + .fluidOutputs(fluid('gaseous_air_feedstock') * 500) + .fluidOutputs(fluid('oxygen') * 720) + .duration(5) + .buildAndRegister() + +HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('untreated_liquid_oxygen') * 10) + .fluidInputs(fluid('chilly_waste_gaseous_nitrogen') * 320) + .fluidOutputs(fluid('oxygen') * 480) + .fluidOutputs(fluid('waste_gaseous_nitrogen') * 320) + .duration(5) + .buildAndRegister() + +HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('chilly_waste_gaseous_nitrogen') * 320) + .fluidInputs(fluid('untreated_liquid_nitrogen') * 25) + .fluidOutputs(fluid('waste_gaseous_nitrogen') * 320) + .fluidOutputs(fluid('nitrogen') * 1200) + .duration(5) + .buildAndRegister() + +//STARTUP HEAT EXCHANGE +HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('purified_air') * 500) + .fluidInputs(fluid('liquid_oxygen') * 10) + .fluidOutputs(fluid('gaseous_air_feedstock') * 500) + .fluidOutputs(fluid('oxygen') * 640) + .duration(5) + .buildAndRegister() + +//FINAL PREPROCESSING +FLUID_DECOMPRESSOR.recipeBuilder() + .fluidInputs(fluid('chilled_boosted_air') * 150) + .fluidOutputs(fluid('gaseous_air_feedstock') * 500) + .duration(114) + .EUt(Globals.voltAmps[1]) + .buildAndRegister() + +PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('partially_liquified_air') * 150) + .fluidOutputs(fluid('liquid_air_feedstock') * 50) + .fluidOutputs(fluid('gaseous_air_feedstock') * 100) + .duration(114) + .buildAndRegister()*/ + +//STARTUP DISTILLATION RECIPE +HIGH_PRESSURE_DISTILLATION_TOWER.recipeBuilder() + .circuitMeta(1) + .fluidInputs(fluid('liquid_decarburized_air') * 100) + .fluidInputs(fluid('cold_hp_decarburized_air') * 5600) + .fluidOutputs(fluid('oxygen_rich_liquid') * 50) + .fluidOutputs(fluid('oxygen_rich_gas') * 200) + .fluidOutputs(fluid('nitrogen_rich_gas') * 1400) + .duration(20) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +//REFLUXED DISTILLATION RECIPE +BATH_CONDENSER.recipeBuilder() + .fluidInputs(fluid('nitrogen_rich_gas') * 200) + .fluidOutputs(fluid('untreated_liquid_nitrogen') * 25) + //.cleanroom(CleanroomType.LOW_PRESSURE_DISTILLATION_TOWER) + .duration(1) + .buildAndRegister() + +HIGH_PRESSURE_DISTILLATION_TOWER.recipeBuilder() + .circuitMeta(2) + .fluidInputs(fluid('untreated_liquid_nitrogen') * 25) + .fluidInputs(fluid('liquid_decarburized_air') * 100) + .fluidInputs(fluid('cold_hp_decarburized_air') * 5600) + .fluidOutputs(fluid('oxygen_rich_liquid') * 50) + .fluidOutputs(fluid('oxygen_rich_gas') * 200) + .fluidOutputs(fluid('nitrogen_rich_gas') * 1600) + .duration(5) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +//UPPER COLUMN FOR FINAL AIR SEPARATION +//STARTUP +LOW_PRESSURE_DISTILLATION_TOWER.recipeBuilder() + .circuitMeta(1) + .fluidInputs(fluid('oxygen_rich_liquid') * 50) + .fluidInputs(fluid('oxygen_rich_gas') * 800) + .fluidInputs(fluid('nitrogen_rich_gas') * 3200) + .fluidOutputs(fluid('untreated_liquid_oxygen') * 50) + .fluidOutputs(fluid('cold_waste_gaseous_nitrogen') * 5440) + .fluidOutputs(fluid('argon_rich_gas') * 200) + .duration(20) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +//SUBCOOLED +HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('cold_waste_gaseous_nitrogen') * 640) + .fluidInputs(fluid('untreated_liquid_nitrogen') * 50) + .fluidOutputs(fluid('chilly_waste_gaseous_nitrogen') * 640) + .fluidOutputs(fluid('subcooled_liquid_nitrogen') * 50) + .duration(5) + .buildAndRegister() + +HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('untreated_liquid_nitrogen') * 25) + .fluidInputs(fluid('untreated_liquid_oxygen') * 50) + .fluidOutputs(fluid('subcooled_liquid_nitrogen') * 25) + .fluidOutputs(fluid('liquid_oxygen_product') * 50) + .duration(5) + .buildAndRegister() + +LOW_PRESSURE_DISTILLATION_TOWER.recipeBuilder() + .circuitMeta(2) + .fluidInputs(fluid('oxygen_rich_liquid') * 50) + .fluidInputs(fluid('oxygen_rich_gas') * 800) + .fluidInputs(fluid('nitrogen_rich_gas') * 3200) + .fluidInputs(fluid('subcooled_liquid_nitrogen') * 50) + .fluidOutputs(fluid('untreated_liquid_oxygen') * 50) + .fluidOutputs(fluid('cold_waste_gaseous_nitrogen') * 640) + .fluidOutputs(fluid('liquid_nitrogen') * 150) + .fluidOutputs(fluid('argon_rich_gas') * 200) + .duration(5) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +SMOKE_STACK.recipeBuilder() + .fluidInputs(fluid('argon_rich_gas') * 200) + .duration(5) + .buildAndRegister() + +CENTRIFUGE.recipeBuilder() + .fluidInputs(fluid('liquid_nitrogen_product') * 100) + .fluidOutputs(fluid('liquid_nitrogen') * 75) + .duration(1) + .EUt(Globals.voltAmps[0]) + .buildAndRegister() + +CENTRIFUGE.recipeBuilder() + .fluidInputs(fluid('liquid_oxygen_product') * 100) + .fluidOutputs(fluid('liquid_oxygen') * 75) + .duration(1) + .EUt(Globals.voltAmps[0]) + .buildAndRegister() + +//TIER TWO: ADDED ARGON + +//NO GAS TAPOFF +HIGH_PRESSURE_DISTILLATION_TOWER.recipeBuilder() + .circuitMeta(3) + .fluidInputs(fluid('untreated_liquid_nitrogen') * 25) + .fluidInputs(fluid('liquid_decarburized_air') * 100) + .fluidInputs(fluid('cold_hp_decarburized_air') * 5600) + .fluidOutputs(fluid('oxygen_rich_liquid') * 75) + .fluidOutputs(fluid('nitrogen_rich_gas') * 1600) + .duration(5) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +//STARTUP DISTILLATION +SINGLE_COLUMN_CRYOGENIC_DISTILLATION_PLANT.recipeBuilder() + .circuitMeta(1) + .fluidInputs(fluid('argon_rich_gas') * 800) + .fluidOutputs(fluid('crude_argon_vapor') * 80) + .fluidOutputs(fluid('oxygen_rich_liquid') * 90) + .duration(20) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +//REFLUXED DISTILLATION +SINGLE_COLUMN_CRYOGENIC_DISTILLATION_PLANT.recipeBuilder() + .circuitMeta(2) + .fluidInputs(fluid('liquid_crude_argon') * 5) + .fluidInputs(fluid('argon_rich_gas') * 400) + .fluidOutputs(fluid('crude_argon_vapor') * 120) + .fluidOutputs(fluid('oxygen_rich_liquid') * 90) + .duration(10) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +//CONDENSATION +BATH_CONDENSER.recipeBuilder() + .fluidInputs(fluid('subcooled_oxygen_rich_liquid') * 150) + .fluidInputs(fluid('crude_argon_vapor') * 60) + .fluidOutputs(fluid('liquid_crude_argon') * 15) + .fluidOutputs(fluid('oxygen_rich_liquid') * 100) + .fluidOutputs(fluid('oxygen_rich_gas') * 400) + //.cleanroom(CleanroomType.SINGLE_COLUMN_CRYOGENIC_DISTILLATION_PLANT) + .duration(1) + .buildAndRegister() + +//DEOXYGENATION +MIXER.recipeBuilder() + .inputs(ore('dustAmmoniumHexachloroplatinate') * 17) + .fluidInputs(fluid('phosphoric_acid') * 1000) + .fluidOutputs(fluid('deoxygenation_catalyst_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')) + .fluidOutputs(fluid('phosphoric_acid') * 1000) + .duration(100) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +FBR.recipeBuilder() + .fluidInputs(fluid('liquid_crude_argon') * 50) + .fluidInputs(fluid('hydrogen') * 24) + .notConsumable(metaitem('catalystBedDeoxygenationCatalyst')) + .chancedOutput(metaitem('dustIce'), 120, 0) + .fluidOutputs(fluid('liquid_deoxygenated_argon') * 50) + .duration(20) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +//ARGON PURIFICATION +//STARTUP DISTILLATION +SINGLE_COLUMN_CRYOGENIC_DISTILLATION_PLANT.recipeBuilder() + .fluidInputs(fluid('liquid_deoxygenated_argon') * 200) + .fluidOutputs(fluid('cold_waste_gaseous_nitrogen') * 16) + .fluidOutputs(fluid('liquid_argon_product') * 200) + .duration(200) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +//REFLUXED DISTILLATION +BATH_CONDENSER.recipeBuilder() + .fluidInputs(fluid('cold_waste_gaseous_nitrogen') * 8) + .fluidOutputs(fluid('liquid_waste_nitrogen') * 1) + //.cleanroom(CleanroomType.SINGLE_COLUMN_CRYOGENIC_DISTILLATION_PLANT) + .duration(1) + .buildAndRegister() + +SINGLE_COLUMN_CRYOGENIC_DISTILLATION_PLANT.recipeBuilder() + .fluidInputs(fluid('liquid_deoxygenated_argon') * 200) + .fluidInputs(fluid('argon') * 400) + .fluidInputs(fluid('liquid_waste_nitrogen')) + .fluidOutputs(fluid('cold_waste_gaseous_nitrogen') * 24) + .fluidOutputs(fluid('liquid_argon_product') * 200) + .duration(83) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +//STARTUP SUBCOOLING +HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('oxygen_rich_liquid') * 75) + .fluidInputs(fluid('liquid_nitrogen') * 150) + .fluidOutputs(fluid('subcooled_oxygen_rich_liquid') * 75) + .fluidOutputs(fluid('nitrogen') * 9600) + .duration(5) + .buildAndRegister() + +//NORMAL SUBCOOLING +HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('oxygen_rich_liquid') * 75) + .fluidInputs(fluid('liquid_argon_product') * 5) + .fluidOutputs(fluid('subcooled_oxygen_rich_liquid') * 75) + .fluidOutputs(fluid('partially_liquefied_argon') * 18) + .duration(5) + .buildAndRegister() + +PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('partially_liquefied_argon') * 450) + .fluidOutputs(fluid('argon') * 400) + .fluidOutputs(fluid('liquid_argon_product') * 50) + .duration(29) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +//ADAPTED LOW PRESSURE RECIPE +LOW_PRESSURE_DISTILLATION_TOWER.recipeBuilder() + .circuitMeta(3) + .fluidInputs(fluid('oxygen_rich_liquid') * 100) + .fluidInputs(fluid('oxygen_rich_gas') * 1600) + .fluidInputs(fluid('nitrogen_rich_gas') * 6400) + .fluidInputs(fluid('subcooled_liquid_nitrogen') * 100) + .fluidOutputs(fluid('untreated_liquid_oxygen') * 105) + .fluidOutputs(fluid('cold_waste_gaseous_nitrogen') * 1280) + .fluidOutputs(fluid('liquid_nitrogen_product') * 300) + .fluidOutputs(fluid('argon_rich_gas') * 400) + .duration(5) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +//ADAPTED HEAT EXCHANGE (SUBCOOLING) +HEAT_EXCHANGER.recipeBuilder() + .fluidInputs(fluid('cold_waste_gaseous_nitrogen') * 1280) + .fluidInputs(fluid('untreated_liquid_nitrogen') * 100) + .fluidOutputs(fluid('chilly_waste_gaseous_nitrogen') * 1280) + .fluidOutputs(fluid('subcooled_liquid_nitrogen') * 100) + .duration(5) + .buildAndRegister() + +HEAT_EXCHANGER.recipeBuilder() + .circuitMeta(1) + .fluidInputs(fluid('untreated_liquid_nitrogen') * 100) + .fluidInputs(fluid('untreated_liquid_oxygen') * 55) + .fluidOutputs(fluid('subcooled_liquid_nitrogen') * 100) + .fluidOutputs(fluid('liquid_oxygen_product') * 55) + .duration(5) + .buildAndRegister() + +//BOILING +FLUID_HEATER.recipeBuilder() + .circuitMeta(1) + .fluidInputs(fluid('liquid_nitrogen') * 100) + .fluidOutputs(fluid('nitrogen') * 6400) + .duration(2) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +FLUID_HEATER.recipeBuilder() + .circuitMeta(1) + .fluidInputs(fluid('liquid_oxygen') * 100) + .fluidOutputs(fluid('oxygen') * 6400) + .duration(2) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() + +FLUID_HEATER.recipeBuilder() + .fluidInputs(fluid('liquid_argon') * 100) + .fluidOutputs(fluid('argon') * 6400) + .duration(2) + .EUt(Globals.voltAmps[3]) + .buildAndRegister() \ No newline at end of file diff --git a/groovy/postInit/misc/PollutionChain.groovy b/groovy/postInit/misc/PollutionChain.groovy index 4f1fb5dfb..c3ecd2dd8 100644 --- a/groovy/postInit/misc/PollutionChain.groovy +++ b/groovy/postInit/misc/PollutionChain.groovy @@ -16,11 +16,6 @@ SMOKE_STACK.recipeBuilder() .duration(20) .buildAndRegister() -SMOKE_STACK.recipeBuilder() - .fluidInputs(fluid('oxygen') * 500) - .duration(20) - .buildAndRegister() - SMOKE_STACK.recipeBuilder() .fluidInputs(fluid('steam') * 4000) .duration(20) @@ -52,8 +47,13 @@ SMOKE_STACK.recipeBuilder() .buildAndRegister() SMOKE_STACK.recipeBuilder() - .fluidInputs(fluid('nitrogen') * 4000) - .duration(20) + .fluidInputs(fluid('nitrogen') * 10000) + .duration(5) + .buildAndRegister() + +SMOKE_STACK.recipeBuilder() + .fluidInputs(fluid('oxygen') * 5000) + .duration(5) .buildAndRegister() SMOKE_STACK.recipeBuilder() @@ -77,7 +77,7 @@ SMOKE_STACK.recipeBuilder() .buildAndRegister() SMOKE_STACK.recipeBuilder() - .fluidInputs(fluid('unscrubbed_wood_gas') * 500) + .fluidInputs(fluid('unscrubbed_wood_gas') * 1000) .duration(20) .buildAndRegister() diff --git a/groovy/prePostInit/Thermodynamics.groovy b/groovy/prePostInit/Thermodynamics.groovy index f10c45e29..4f7468163 100644 --- a/groovy/prePostInit/Thermodynamics.groovy +++ b/groovy/prePostInit/Thermodynamics.groovy @@ -148,6 +148,14 @@ CryoAir.setDurationHX(5); CryoAir.setDurationRadiator(400); CryoAir.setTemperature(80); +def CryoDecarburizedAir = new ICryoGas('decarburized_air', 'hot_hp_decarburized_air', 'hp_decarburized_air', 'cold_hp_decarburized_air', 'liquid_decarburized_air'); +CryoDecarburizedAir.setEUt(60); +CryoDecarburizedAir.setDuration(1); +CryoDecarburizedAir.setPowerHX(100); +CryoDecarburizedAir.setDurationHX(8); +CryoDecarburizedAir.setDurationRadiator(40); +CryoDecarburizedAir.setTemperature(80); + def CryoNitrogen = new ICryoGas('nitrogen', 'hot_hp_nitrogen', 'hp_nitrogen', 'cold_hp_nitrogen', 'liquid_nitrogen'); CryoNitrogen.setEUt(60); CryoNitrogen.setDuration(100); @@ -198,6 +206,7 @@ def CryoGases = [ CryoXenon, CryoNitrogen, CryoAir, + CryoDecarburizedAir, CryoNetherAir, CryoRefineryGas, CryoNaturalGas, @@ -227,29 +236,29 @@ CarbonDioxideRefrigerant.setTimeFactor(20); def TrichlorofluoromethaneRefrigerant = new IRefrigerant("trichlorofluoromethane", 'hot_compressed_trichlorofluoromethane', 'compressed_trichlorofluoromethane', 'cold_trichlorofluoromethane'); TrichlorofluoromethaneRefrigerant.setPowerToCompress(180); -TrichlorofluoromethaneRefrigerant.setDurationToCompress(20); -TrichlorofluoromethaneRefrigerant.setDurationRadiator(10); +TrichlorofluoromethaneRefrigerant.setDurationToCompress(4); +TrichlorofluoromethaneRefrigerant.setDurationRadiator(2); TrichlorofluoromethaneRefrigerant.setAmountToUse(1000); TrichlorofluoromethaneRefrigerant.setTimeFactor(2); def DichlorodifluoromethaneRefrigerant = new IRefrigerant("dichlorodifluoromethane", 'hot_compressed_dichlorodifluoromethane', 'compressed_dichlorodifluoromethane', 'cold_dichlorodifluoromethane'); DichlorodifluoromethaneRefrigerant.setPowerToCompress(180); -DichlorodifluoromethaneRefrigerant.setDurationToCompress(20); -DichlorodifluoromethaneRefrigerant.setDurationRadiator(10); +DichlorodifluoromethaneRefrigerant.setDurationToCompress(4); +DichlorodifluoromethaneRefrigerant.setDurationRadiator(2); DichlorodifluoromethaneRefrigerant.setAmountToUse(1000); DichlorodifluoromethaneRefrigerant.setTimeFactor(2); def ChlorotrifluoromethaneRefrigerant = new IRefrigerant("chlorotrifluoromethane", 'hot_compressed_chlorotrifluoromethane', 'compressed_chlorotrifluoromethane', 'cold_chlorotrifluoromethane'); ChlorotrifluoromethaneRefrigerant.setPowerToCompress(180); -ChlorotrifluoromethaneRefrigerant.setDurationToCompress(20); -ChlorotrifluoromethaneRefrigerant.setDurationRadiator(10); +ChlorotrifluoromethaneRefrigerant.setDurationToCompress(4); +ChlorotrifluoromethaneRefrigerant.setDurationRadiator(2); ChlorotrifluoromethaneRefrigerant.setAmountToUse(1000); ChlorotrifluoromethaneRefrigerant.setTimeFactor(2); def ChlorodifluoromethaneRefrigerant = new IRefrigerant("chlorodifluoromethane", 'hot_compressed_chlorodifluoromethane', 'compressed_chlorodifluoromethane', 'cold_chlorodifluoromethane'); ChlorodifluoromethaneRefrigerant.setPowerToCompress(180); -ChlorodifluoromethaneRefrigerant.setDurationToCompress(20); -ChlorodifluoromethaneRefrigerant.setDurationRadiator(10); +ChlorodifluoromethaneRefrigerant.setDurationToCompress(4); +ChlorodifluoromethaneRefrigerant.setDurationRadiator(2); ChlorodifluoromethaneRefrigerant.setAmountToUse(1000); ChlorodifluoromethaneRefrigerant.setTimeFactor(2); @@ -355,6 +364,14 @@ for (cryogas in CryoGases) { .EUt(8) .buildAndRegister(); + //Reheating + recipemap('fluid_heater').recipeBuilder() + .fluidInputs(liquid(cryogas.liquid_gas) * 20) + .fluidOutputs(liquid(cryogas.cold_high_pressure_gas) * 1280) + .duration(20) + .EUt(8) + .buildAndRegister(); + //Radiative Cooling recipemap('radiator').recipeBuilder() .fluidInputs(liquid(cryogas.hot_high_pressure_gas) * cryogas.amount_to_use) diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index 0c106cc4e..f53dd29fd 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -927,6 +927,9 @@ material.chloroauric_acid_solution=Chloroauric Acid Solution material.sodium_nitrite=Sodium Nitrite material.sodium_oxide=Sodium Oxide material.gold_amalgam=Gold Amalgam +material.decarburized_air=Decarburized Air +material.liquid_deoxygenated_argon=Liquid Deoxygenated Argon +material.liquid_waste_nitrogen=Liquid Waste Nitrogen material.alkali_fused_wulfenite=Alkali Fused Wulfenite material.lead_ii_hydroxide=Lead II Hydroxide material.sodium_molybdate_solution=Sodium Molybdate Solution @@ -984,6 +987,7 @@ material.liquid_nitrogen=Liquid Nitrogen material.liquid_refinery_gas=Liquid Refinery Gas material.liquid_natural_gas=Liquid Natural Gas (LNG) material.liquid_methane=Liquid Methane +material.liquid_decarburized_air=Liquid Decarburized Air material.hot_hp_air=Hot High-Pressure Air material.hp_air=High-Pressure Air @@ -993,6 +997,10 @@ material.hot_hp_nether_air=Hot High-Pressure Nether Air material.hp_nether_air=High-Pressure Nether Air material.cold_hp_nether_air=Cold High-Pressure Nether Air +material.hot_hp_decarburized_air=Hot High-Pressure Decarburized Air +material.hp_decarburized_air=High-Pressure Decarburized Air +material.cold_hp_decarburized_air=Cold High-Pressure Decarburized Air + material.hot_hp_refinery_gas=Hot High-Pressure Refinery Gas material.hp_refinery_gas=High-Pressure Refinery Gas material.cold_hp_refinery_gas=Cold High-Pressure Refinery Gas @@ -1066,6 +1074,10 @@ material.chlorotrifluoromethane=Chlorotrifluoromethane material.chlorodifluoromethane=Chlorodifluoromethane material.polychlorinated_biphenyl=Polychlorinated Biphenyl +material.liquid_argon_product=Liquid Argon Product +material.liquid_oxygen_product=Liquid Oxygen Product +material.liquid_nitrogen_product=Liquid Nitrogen Product + # Ores material.petalite=Petalite @@ -1437,6 +1449,8 @@ material.gaseous_titanium_tetrachloride=Gaseous Titanium Tetrachloride material.tin_tetrachloride=Tin Tetrachloride material.gaseous_aluminium_chloride=Gaseous Aluminium Chloride material.extracted_caprolactam_solution=Extracted Caprolactam Solution +material.dilute_ammonium_sulfate_solution=Dilute Ammonium Sulfate Solution +material.chloroauric_acid_solution=Chloroauric Acid Solution material.diluted_ammonium_sulfate_solution=Diluted Ammonium Sulfate Solution material.phosgene_solution=Phosgene Solution material.sodium_bisphenolate_solution=Sodium Bisphenolate Solution