ServerEvents.recipes(event => { // function ElectrolyzeFluid(fluid, mode, tank, amount) { return ({ "type": "custommachinery:fluid", "mode": mode, "tank": tank, "fluid": fluid, "amount": amount }) } function ElectrolyzeFluidInput1(fluid, amount) { return (ElectrolyzeFluid(fluid, "input", "fluidInput1", amount)) } function ElectrolyzeFluidInput2(fluid, amount) { return (ElectrolyzeFluid(fluid, "input", "fluidInput2", amount)) } //阴极 function ElectrolyzeFluidOutput1(fluid, amount) { return (ElectrolyzeFluid(fluid, "output", "fluidOutput1", amount)) } //阳极 function ElectrolyzeFluidOutput2(fluid, amount) { return (ElectrolyzeFluid(fluid, "output", "fluidOutput2", amount)) } function ElectrolyzeFluidOutput3(fluid, amount) { return (ElectrolyzeFluid(fluid, "output", "fluidOutput3", amount)) } function ElectrolyzeEnergyInput(amount) { return ({ "type": "custommachinery:energy_per_tick", "mode": "input", "amount": amount }) } const ElectrolyzeStructure = { "type": "custommachinery:structure", "pattern": [ [ " AAAAA ", "AAABBBAAA", "AAABBBAAA", "AAABBBAAA", " AAAAA ", " AAAAA " ], [ "DDE EDD", " FGGGF ", " FGHGF ", " FGGGF ", "DDAIIIADD", " A A " ], [ " ", " J ", " K JLJ K ", " M ", " E E ", " " ], [ " ", " N ", " OMAPAMO ", " J ", " ", " " ], [ " ", " ", " OMAPAMO ", " ", " ", " " ], [ " ", " J ", " O APA O ", " F F ", " ", " " ], [ " ", " ", " R QmQ R ", " Q Q ", " ", " " ], [ " ", " ", " T L T ", " ", " ", " " ], [ " ", " ", " T E T ", " ", " ", " " ] ], "keys": { "K": "create_things_and_misc:brass_brick_slab", "J": "design_decor:diagonal_metal_support", "R": "kubejs:carbon_electrode", "M": "create:smart_fluid_pipe", "B": "create:railway_casing", "I": "create:item_drain", "N": "design_decor:stepped_lever", "A": "create:copper_casing", "O": "create:fluid_tank", "L": "design_decor:brass_boiler", "G": "design_decor:brass_boiler_structure", "H": "design_decor:brass_boiler_large", "Q": "create:fluid_pipe", "E": "design_decor:andesite_floodlight", "F": "create:mechanical_pump", "P": "design_decor:copper_boiler", "T": "createaddition:modular_accumulator", "D": "design_decor:copper_railing", } } const ElectrolyzeSound = { "type": "custommachinery:command", "phase": "ending", "command": "/playsound create:steam block @a ~ ~-3.5 ~ 0.3", "log": false, "permissionlevel": 5 } const ElectrolyzeParticle = { "type": "custommachinery:command", "phase": "crafting_tickable", "command": "/particle minecraft:electric_spark ~ ~-2.5 ~ 1 2.5 1 0.1 8", "log": false, "permissionlevel": 5 } const ElectrolyzeFluidFilter = [ "minecraft:air", "minecraft:void_air", "minecraft:cave_air", "ad_astra:oxygen[level=1]", "ad_astra:oxygen[level=2]", "ad_astra:oxygen[level=3]", "ad_astra:oxygen[level=4]", "ad_astra:oxygen[level=5]", "ad_astra:oxygen[level=6]", "ad_astra:oxygen[level=7]", "ad_astra:oxygen[level=8]", "ad_astra:oxygen[level=9]", "ad_astra:oxygen[level=10]", "ad_astra:oxygen[level=11]", "ad_astra:oxygen[level=12]", "ad_astra:oxygen[level=13]", "ad_astra:oxygen[level=14]", "ad_astra:oxygen[level=15]", "ad_astra:hydrogen[level=1]", "ad_astra:hydrogen[level=2]", "ad_astra:hydrogen[level=3]", "ad_astra:hydrogen[level=4]", "ad_astra:hydrogen[level=5]", "ad_astra:hydrogen[level=6]", "ad_astra:hydrogen[level=7]", "ad_astra:hydrogen[level=8]", "ad_astra:hydrogen[level=9]", "ad_astra:hydrogen[level=10]", "ad_astra:hydrogen[level=11]", "ad_astra:hydrogen[level=12]", "ad_astra:hydrogen[level=13]", "ad_astra:hydrogen[level=14]", "ad_astra:hydrogen[level=15]", "kubejs:nitrogen_dioxide[level=1]", "kubejs:nitrogen_dioxide[level=2]", "kubejs:nitrogen_dioxide[level=3]", "kubejs:nitrogen_dioxide[level=4]", "kubejs:nitrogen_dioxide[level=5]", "kubejs:nitrogen_dioxide[level=6]", "kubejs:nitrogen_dioxide[level=7]", "kubejs:nitrogen_dioxide[level=8]", "kubejs:nitrogen_dioxide[level=9]", "kubejs:nitrogen_dioxide[level=10]", "kubejs:nitrogen_dioxide[level=11]", "kubejs:nitrogen_dioxide[level=12]", "kubejs:nitrogen_dioxide[level=13]", "kubejs:nitrogen_dioxide[level=14]", "kubejs:nitrogen_dioxide[level=15]", "kubejs:chlorine[level=1]", "kubejs:chlorine[level=2]", "kubejs:chlorine[level=3]", "kubejs:chlorine[level=4]", "kubejs:chlorine[level=5]", "kubejs:chlorine[level=6]", "kubejs:chlorine[level=7]", "kubejs:chlorine[level=8]", "kubejs:chlorine[level=9]", "kubejs:chlorine[level=10]", "kubejs:chlorine[level=11]", "kubejs:chlorine[level=12]", "kubejs:chlorine[level=13]", "kubejs:chlorine[level=14]", "kubejs:chlorine[level=15]", "kubejs:caustic_soda[level=1]", "kubejs:caustic_soda[level=2]", "kubejs:caustic_soda[level=3]", "kubejs:caustic_soda[level=4]", "kubejs:caustic_soda[level=5]", "kubejs:caustic_soda[level=6]", "kubejs:caustic_soda[level=7]", "kubejs:caustic_soda[level=8]", "kubejs:caustic_soda[level=9]", "kubejs:caustic_soda[level=10]", "kubejs:caustic_soda[level=11]", "kubejs:caustic_soda[level=12]", "kubejs:caustic_soda[level=13]", "kubejs:caustic_soda[level=14]", "kubejs:caustic_soda[level=15]", "kubejs:nitric_acid[level=1]", "kubejs:nitric_acid[level=2]", "kubejs:nitric_acid[level=3]", "kubejs:nitric_acid[level=4]", "kubejs:nitric_acid[level=5]", "kubejs:nitric_acid[level=6]", "kubejs:nitric_acid[level=7]", "kubejs:nitric_acid[level=8]", "kubejs:nitric_acid[level=9]", "kubejs:nitric_acid[level=10]", "kubejs:nitric_acid[level=11]", "kubejs:nitric_acid[level=12]", "kubejs:nitric_acid[level=13]", "kubejs:nitric_acid[level=14]", "kubejs:nitric_acid[level=15]" ] function ElectrolyzeItem(mode,item,amount){ return({ "type": "custommachinery:item", "mode": mode, "item": item, "amount": amount }) } function ElectrolyzeFluidOutPositive(fluid) { event.custom({ "type": "custommachinery:custom_machine", "machine": "dut:electrolytic_cell", "time": 1, "priority": 2, "error": true, "hidden": true, "requirements": [ ElectrolyzeStructure, ElectrolyzeFluid(fluid, "input", "fluidOutput2", 1000), { "type": "custommachinery:block", "mode": "input", "action": "replace_destroy", "amount": 1, "pos": [-3,-5,1,-3,-5,-1], "filter": ElectrolyzeFluidFilter, "whitelist": true, "block": fluid }, { "type": "custommachinery:block", "mode": "input", "action": "replace_destroy", "amount": 1, "pos": [-3,0,0,-3,0,0], "filter": ["kubejs:carbon_electrode"], "whitelist": true, "block": "minecraft:air", "chance":0.01 } ] }).id("dut_create:electrolytic_cell/output_positive_" + fluid.split(":")[1]) } function ElectrolyzeFluidOutNegative(fluid) { event.custom({ "type": "custommachinery:custom_machine", "machine": "dut:electrolytic_cell", "time": 1, "priority": 2, "hidden": true, "error": true, "requirements": [ ElectrolyzeStructure, ElectrolyzeFluid(fluid, "input", "fluidOutput1", 1000), { "type": "custommachinery:block", "mode": "input", "action": "replace_destroy", "amount": 1, "pos": [3,-5,1,3,-5,-1], "filter": ElectrolyzeFluidFilter, "whitelist": true, "block": fluid }, { "type": "custommachinery:block", "mode": "input", "action": "replace_destroy", "amount": 1, "pos": [3,0,0,3,0,0], "filter": ["kubejs:carbon_electrode"], "whitelist": true, "block": "minecraft:air", "chance":0.01 } ] }).id("dut_create:electrolytic_cell/output_negative_" + fluid.split(":")[1]) } function ElectrolyzeFluidOutSub(fluid) { event.custom({ "type": "custommachinery:custom_machine", "machine": "dut:electrolytic_cell", "time": 1, "priority": 2, "hidden": true, "error": true, "requirements": [ ElectrolyzeStructure, ElectrolyzeFluid(fluid, "input", "fluidOutput3", 1000), { "type": "custommachinery:block", "mode": "input", "action": "replace_destroy", "amount": 1, "pos": [1,-5,3,-1,-5,3], "filter": ElectrolyzeFluidFilter, "whitelist": true, "block": fluid } ] }).id("dut_create:electrolytic_cell/output_sub_" + fluid.split(":")[1]) } ElectrolyzeFluidOutNegative("ad_astra:hydrogen") ElectrolyzeFluidOutNegative("kubejs:nitrogen_dioxide") ElectrolyzeFluidOutPositive("kubejs:chlorine") ElectrolyzeFluidOutPositive("ad_astra:oxygen") ElectrolyzeFluidOutSub("kubejs:caustic_soda") ElectrolyzeFluidOutSub("kubejs:nitrogen_dioxide") ElectrolyzeFluidOutSub("kubejs:nitric_acid") event.custom({ "type": "custommachinery:custom_machine", "machine": "dut:electrolytic_cell", "time": 60, "priority": 1, "error": true, "requirements": [ ElectrolyzeStructure, ElectrolyzeSound, ElectrolyzeParticle, ElectrolyzeEnergyInput(800), ElectrolyzeFluidInput1("minecraft:water", 4000), ElectrolyzeFluidOutput1("ad_astra:hydrogen", 4000), ElectrolyzeFluidOutput2("ad_astra:oxygen", 2000) ], "jei": [ ElectrolyzeStructure, ElectrolyzeEnergyInput(800), ElectrolyzeFluidInput1("minecraft:water", 4000), ElectrolyzeFluidOutput1("ad_astra:hydrogen", 4000), ElectrolyzeFluidOutput2("ad_astra:oxygen", 2000) ] }).id("dut_create:electrolytic_cell/water") event.custom({ "type": "custommachinery:custom_machine", "machine": "dut:electrolytic_cell", "time": 30, "priority": 1, "error": true, "requirements": [ ElectrolyzeStructure, ElectrolyzeSound, ElectrolyzeParticle, ElectrolyzeEnergyInput(1000), ElectrolyzeFluidInput1("kubejs:saline_water", 4000), ElectrolyzeFluidOutput1("ad_astra:hydrogen", 2000), ElectrolyzeFluidOutput2("kubejs:chlorine", 2000), ElectrolyzeFluidOutput3("kubejs:caustic_soda", 4000) ], "jei": [ ElectrolyzeStructure, ElectrolyzeEnergyInput(1000), ElectrolyzeFluidInput1("kubejs:saline_water", 4000), ElectrolyzeFluidOutput1("ad_astra:hydrogen", 2000), ElectrolyzeFluidOutput2("kubejs:chlorine", 2000), ElectrolyzeFluidOutput3("kubejs:caustic_soda", 4000) ] }).id("dut_create:electrolytic_cell/saline_water") event.custom({ "type": "custommachinery:custom_machine", "machine": "dut:electrolytic_cell", "time": 50, "priority": 1, "error": true, "requirements": [ ElectrolyzeStructure, ElectrolyzeSound, ElectrolyzeParticle, ElectrolyzeEnergyInput(1000), ElectrolyzeFluidInput1("kubejs:nitrogen", 2000), ElectrolyzeFluidInput2("ad_astra:oxygen", 4000), ElectrolyzeFluidOutput3("kubejs:nitrogen_dioxide", 4000) ], "jei": [ ElectrolyzeStructure, ElectrolyzeEnergyInput(1000), ElectrolyzeFluidInput1("kubejs:nitrogen", 2000), ElectrolyzeFluidInput2("ad_astra:oxygen", 4000), ElectrolyzeFluidOutput3("kubejs:nitrogen_dioxide", 4000) ] }).id("dut_create:electrolytic_cell/nitrogen_dioxide") event.custom({ "type": "custommachinery:custom_machine", "machine": "dut:electrolytic_cell", "time": 50, "priority": 1, "error": true, "requirements": [ ElectrolyzeStructure, ElectrolyzeSound, ElectrolyzeParticle, ElectrolyzeEnergyInput(1000), ElectrolyzeFluidInput1("kubejs:ammonia", 4000), ElectrolyzeFluidInput2("ad_astra:oxygen", 8000), ElectrolyzeFluidOutput1("kubejs:nitrogen_dioxide", 2000), ElectrolyzeFluidOutput3("kubejs:nitric_acid", 2000) ], "jei": [ ElectrolyzeStructure, ElectrolyzeEnergyInput(1000), ElectrolyzeFluidInput1("kubejs:ammonia", 4000), ElectrolyzeFluidInput2("ad_astra:oxygen", 8000), ElectrolyzeFluidOutput1("kubejs:nitrogen_dioxide", 2000), ElectrolyzeFluidOutput3("kubejs:nitric_acid", 2000) ] }).id("dut_create:electrolytic_cell/nitric_acid") event.custom({ "type": "custommachinery:custom_machine", "machine": "dut:electrolytic_cell", "time": 60, "priority": 1, "error": true, "requirements": [ ElectrolyzeStructure, ElectrolyzeSound, ElectrolyzeParticle, ElectrolyzeEnergyInput(2400), ElectrolyzeFluidInput2("kubejs:fused_alumina", 1440), ElectrolyzeItem("output","kubejs:aluminum_slag",16) ], "jei": [ ElectrolyzeStructure, ElectrolyzeEnergyInput(2400), ElectrolyzeFluidInput2("kubejs:fused_alumina", 1440), ElectrolyzeItem("output","kubejs:aluminum_slag",16) ] }).id("dut_create:electrolytic_cell/aluminum_slag") event.custom({ "type": "custommachinery:custom_machine", "machine": "dut:electrolytic_cell", "time": 240, "priority": 1, "error": true, "requirements": [ ElectrolyzeStructure, ElectrolyzeSound, ElectrolyzeParticle, ElectrolyzeEnergyInput(49152), ElectrolyzeFluidInput2("createbigcannons:molten_steel", 360), ElectrolyzeItem("input","iceandfire:lightning_dragon_blood",4), ElectrolyzeItem("output","iceandfire:dragonsteel_lightning_ingot",4) ], "jei": [ ElectrolyzeStructure, ElectrolyzeEnergyInput(49152), ElectrolyzeFluidInput2("createbigcannons:molten_steel", 360), ElectrolyzeItem("input","iceandfire:lightning_dragon_blood",4), ElectrolyzeItem("output","iceandfire:dragonsteel_lightning_ingot",4) ] }).id("dut_create:electrolytic_cell/dragonsteel_lightning_ingot") })