487 lines
17 KiB
JavaScript
487 lines
17 KiB
JavaScript
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")
|
|
|
|
}) |