create-the-brass-oncerto/kubejs/server_scripts/add/metallurgy/shaft_furnace.js

659 lines
21 KiB
JavaScript

ServerEvents.recipes(event => {
const ShaftFurnaceStructure =
{
"type": "custommachinery:structure",
"pattern":
[
[
"AAAA AAAA",
"AAAA AAAA",
"AAAC CAAA",
"ACCCKKKCCCA",
"ACCCKKKCCCA",
"ACCCKKKCCCA",
"AAACCCCCAAA",
"AAACCCCCAAA",
"AAACCCCCAAA",
" ACCCCCA ",
" ACCCCCA ",
" AACCCAA "
],
[
" ",
" ",
" D D ",
" D LLL D ",
" LLL ",
" D LLL D ",
" DZ ZD ",
" [a[ ",
" Z]]]Z ",
" Z]]]Z ",
" Z]]]Z ",
" ZZZ "
],
[
" ",
" ",
" EFFFE ",
" MMEAAAEMM ",
" MMEAAAEMM ",
" MMEAAAEMM ",
" EZ ZE ",
" [a[ ",
" ]]] ",
" ]]] ",
" ]]] ",
" "
],
[
" ",
" BBBBB ",
" B G B ",
" B NNN B ",
" STNUNTS ",
" B NNN B ",
" B Z Z B ",
" B[a[B ",
" ]]] ",
" ]]] ",
" ]]] ",
" "
],
[
" ",
" ",
" H ",
" OOO ",
" VVOWOVV ",
" OOO ",
" FXF ",
" FXF ",
" ]]] ",
" ]]] ",
" ]]] ",
" "
],
[
" ",
" ",
" G ",
" OOO ",
" GOWOG ",
" OOO ",
" G ",
" ",
" ]]] ",
" ]]] ",
" ]]] ",
" "
],
[
" ",
" ",
" D ",
" OOO ",
" DOWOD ",
" OOO ",
" D ",
" ",
" ]]] ",
" ]]] ",
" ]]] ",
" "
],
[
" ",
" ",
" I ",
" NNN ",
" INUNI ",
" NNN ",
" I ",
" ",
" ]]] ",
" ]]] ",
" ]]] ",
" "
],
[
" ",
" ",
" J ",
" PEP ",
" JEXEJ ",
" PEP ",
" J ",
" ",
" ]]] ",
" ]]] ",
" ]]] ",
" "
],
[
" ",
" ",
" ",
" E ",
" EXE ",
" E ",
" ",
" ",
" ]]] ",
" ]]] ",
" ]]] ",
" "
],
[
" ",
" ",
" J ",
" QEQ ",
" X ",
" QEQ ",
" J ",
" ",
" ]]] ",
" ]]] ",
" ]]] ",
" "
],
[
" ",
" ",
" J ",
" E ",
" FXF ",
" E ",
" J ",
" ",
" ]]] ",
" ]]] ",
" ]]] ",
" "
],
[
" ",
" ",
" ",
" F ",
" GXG ",
" F ",
" ",
" ",
" ]]] ",
" ]]] ",
" ]]] ",
" "
],
[
" ",
" ",
" ",
" G ",
" DXD ",
" G ",
" ",
" ",
" ",
" S ",
" ",
" "
],
[
" ",
" ",
" ",
" D ",
" DXD ",
" D ",
" ",
" ",
" ",
" ",
" ",
" "
],
[
" ",
" ",
" ",
" D ",
" IXI ",
" D ",
" ",
" ",
" ",
" ",
" ",
" "
],
[
" ",
" ",
" ",
" I ",
" X ",
" I ",
" ",
" ",
" ",
" ",
" ",
" "
],
[
" ",
" ",
" ",
" ",
" T ",
" ",
" ",
" ",
" ",
" ",
" ",
" "
],
[
" ",
" ",
" ",
" R ",
" RmR ",
" R ",
" ",
" ",
" ",
" ",
" ",
" "
],
[
" ",
" ",
" ",
" D ",
" DYD ",
" D ",
" ",
" ",
" ",
" ",
" ",
" "
],
[
" ",
" ",
" ",
" I ",
" IXI ",
" I ",
" ",
" ",
" ",
" ",
" ",
" "
]
],
"keys": {
"C": "create:railway_casing",
"Y": "railways:smokestack_oilburner",
"U": "design_decor:brass_boiler_large",
"F": "ad_astra:iron_plating_slab",
"X": "design_decor:industrial_iron_boiler",
"J": "design_decor:brass_lamp",
"T": "design_decor:brass_boiler",
"Q": "#dut_create:andesite_funnel",
"O": "design_decor:industrial_iron_boiler_structure",
"W": "design_decor:industrial_iron_boiler_large",
"[": "create:andesite_encased_cogwheel",
"V": "create_things_and_misc:brass_brick_slab",
"P": "create:andesite_bars",
"E": "create:industrial_iron_block",
"Z": "ad_astra:iron_pillar",
"K": "create:encased_fluid_pipe",
"a": "create:mechanical_pump",
"M": "create:copper_casing",
"N": "design_decor:brass_boiler_structure",
"]": "create:fluid_tank",
"A": "design_decor:ornate_grate",
"R": "#dut_create:brass_funnel",
"H": "design_decor:stepped_lever",
"D": "create:metal_girder",
"I": "design_decor:diagonal_girder",
"S": "design_decor:copper_boiler",
"B": "design_decor:iron_railing",
"G": "design_decor:diagonal_metal_support",
"L": "createaddition:liquid_blaze_burner{fuelLevel:2}"
},
"jei": true
}
const ShaftFurnaceReplaceFliter = [
"minecraft:air",
"minecraft:void_air",
"minecraft:cave_air",
"kubejs:fused_alumina[level=1]",
"kubejs:fused_alumina[level=2]",
"kubejs:fused_alumina[level=3]",
"kubejs:fused_alumina[level=4]",
"kubejs:fused_alumina[level=5]",
"kubejs:fused_alumina[level=6]",
"kubejs:fused_alumina[level=7]",
"kubejs:fused_alumina[level=8]",
"kubejs:fused_alumina[level=9]",
"kubejs:fused_alumina[level=10]",
"kubejs:fused_alumina[level=11]",
"kubejs:fused_alumina[level=12]",
"kubejs:fused_alumina[level=13]",
"kubejs:fused_alumina[level=14]",
"kubejs:fused_alumina[level=15]",
"kubejs:aluminum[level=1]",
"kubejs:aluminum[level=2]",
"kubejs:aluminum[level=3]",
"kubejs:aluminum[level=4]",
"kubejs:aluminum[level=5]",
"kubejs:aluminum[level=6]",
"kubejs:aluminum[level=7]",
"kubejs:aluminum[level=8]",
"kubejs:aluminum[level=9]",
"kubejs:aluminum[level=10]",
"kubejs:aluminum[level=11]",
"kubejs:aluminum[level=12]",
"kubejs:aluminum[level=13]",
"kubejs:aluminum[level=14]",
"kubejs:aluminum[level=15]",
"kubejs:incomplete_steel[level=1]",
"kubejs:incomplete_steel[level=2]",
"kubejs:incomplete_steel[level=3]",
"kubejs:incomplete_steel[level=4]",
"kubejs:incomplete_steel[level=5]",
"kubejs:incomplete_steel[level=6]",
"kubejs:incomplete_steel[level=7]",
"kubejs:incomplete_steel[level=8]",
"kubejs:incomplete_steel[level=9]",
"kubejs:incomplete_steel[level=10]",
"kubejs:incomplete_steel[level=11]",
"kubejs:incomplete_steel[level=12]",
"kubejs:incomplete_steel[level=13]",
"kubejs:incomplete_steel[level=14]",
"kubejs:incomplete_steel[level=15]",
"kubejs:desh[level=1]",
"kubejs:desh[level=2]",
"kubejs:desh[level=3]",
"kubejs:desh[level=4]",
"kubejs:desh[level=5]",
"kubejs:desh[level=6]",
"kubejs:desh[level=7]",
"kubejs:desh[level=8]",
"kubejs:desh[level=9]",
"kubejs:desh[level=10]",
"kubejs:desh[level=11]",
"kubejs:desh[level=12]",
"kubejs:desh[level=13]",
"kubejs:desh[level=14]",
"kubejs:desh[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]"
]
function ShaftFurnaceFluidOutput(block) {
return ({
"type": "custommachinery:block",
"mode": "output",
"action": "replace_destroy",
"amount": 1,
"pos": [0,-15,2,0,-17,2],
"filter": ShaftFurnaceReplaceFliter,
"whitelist": true,
"block": block
})
}
function ShaftFurnaceFluidInput(block,pos,amount) {
return ({
"type": "custommachinery:block",
"mode": "input",
"action": "replace_destroy",
"amount": amount,
"pos": pos,
"filter": block,
"whitelist": true,
"block": "minecraft:air"
})
}
function ShaftFurnaceFluid(fluid,amount,tank,mode) {
return ({
"type": "custommachinery:fluid",
"mode": mode,
"tank": tank,
"fluid": fluid,
"amount": amount
})
}
function ShaftFurnaceItem(item,amount,mode){
return({
"type": "custommachinery:item",
"mode": mode,
"item": item,
"amount": amount
})
}
function ShaftFurnaceFluidIn(fluid){
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:shaft_furnace",
"time": 1,
"priority": 1,
"hidden":true,
"error": true,
"requirements": [
ShaftFurnaceStructure,
ShaftFurnaceFluidInput(fluid+"[level=0]",[1,-8,0,-1,-8,0],1),
{
"type": "custommachinery:fluid",
"mode": "output",
"tank": "fluid",
"fluid": fluid,
"amount": 1000
}
]
}).id("dut_create:shaft_furnace/"+fluid.split(":")[1]+"_in")
}
function ShaftFurnaceFluidOut(fluid){
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:shaft_furnace",
"time": 1,
"priority": 3,
"hidden":true,
"error": true,
"requirements": [
ShaftFurnaceStructure,
ShaftFurnaceFluid(fluid,1000,"fluid_output","input"),
ShaftFurnaceFluidOutput(fluid)
]
}).id("dut_create:shaft_furnace/"+fluid.split(":")[1]+"_out")
}
ShaftFurnaceFluidIn("kubejs:industrial_iron")
ShaftFurnaceFluidIn("kubejs:caustic_soda")
ShaftFurnaceFluidOut("kubejs:incomplete_steel")
ShaftFurnaceFluidOut("kubejs:fused_alumina")
ShaftFurnaceFluidOut("kubejs:aluminum")
ShaftFurnaceFluidOut("kubejs:desh")
ShaftFurnaceFluidOut("kubejs:nitrogen_dioxide")
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:shaft_furnace",
"time": 1,
"error": true,
"hidden":true,
"requirements": [
ShaftFurnaceStructure,
ShaftFurnaceFluidInput('ad_astra:oxygen[level=0]',[4,-15,0,-4,-15,0],1),
{
"type": "custommachinery:fluid",
"mode": "output",
"tank": "oxygen",
"fluid": "ad_astra:oxygen",
"amount": 1000
}
]
}).id("dut_create:shaft_furnace/oxygen_in")
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:shaft_furnace",
"time": 120,
"error": true,
"priority": 2,
"requirements": [
ShaftFurnaceStructure,
ShaftFurnaceItem("kubejs:industrial_iron_ingot",32,"input"),
ShaftFurnaceItem("kubejs:crushed_coal",48,"input"),
ShaftFurnaceItem("kubejs:blaze_chlamydia",3,"input"),
ShaftFurnaceItem("create:limestone",16,"input"),
ShaftFurnaceFluid("ad_astra:oxygen",8000,"oxygen","input"),
ShaftFurnaceFluid("kubejs:incomplete_steel",2880,"fluid_output","output"),
ShaftFurnaceItem("kubejs:granite_alloy",16,"output"),
ShaftFurnaceItem("kubejs:diorite_alloy",16,"output")
],
}).id("dut_create:shaft_furnace/incomplete_steel_from_ingot")
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:shaft_furnace",
"time": 90,
"error": true,
"priority": 2,
"requirements": [
ShaftFurnaceStructure,
ShaftFurnaceItem("kubejs:crushed_coal",48,"input"),
ShaftFurnaceItem("kubejs:blaze_chlamydia",3,"input"),
ShaftFurnaceItem("create:limestone",16,"input"),
ShaftFurnaceFluid("ad_astra:oxygen",8000,"oxygen","input"),
ShaftFurnaceFluid("kubejs:industrial_iron",2880,"fluid","input"),
ShaftFurnaceFluid("kubejs:incomplete_steel",2880,"fluid_output","output"),
ShaftFurnaceItem("kubejs:granite_alloy",16,"output"),
ShaftFurnaceItem("kubejs:diorite_alloy",16,"output")
],
}).id("dut_create:shaft_furnace/incomplete_steel_from_fluid")
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:shaft_furnace",
"time": 640,
"error": true,
"priority": 2,
"requirements": [
ShaftFurnaceStructure,
ShaftFurnaceItem("kubejs:aluminite",48,"input"),
ShaftFurnaceItem("kubejs:diorite_alloy",4,"input"),
ShaftFurnaceFluid("ad_astra:oxygen",4000,"oxygen","input"),
ShaftFurnaceFluid("kubejs:caustic_soda",4000,"fluid","input"),
ShaftFurnaceFluid("kubejs:fused_alumina",2880,"fluid_output","output"),
ShaftFurnaceItem("kubejs:granite_alloy",24,"output")
],
}).id("dut_create:shaft_furnace/fused_alumina_from_aluminite")
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:shaft_furnace",
"time": 480,
"error": true,
"priority": 2,
"requirements": [
ShaftFurnaceStructure,
ShaftFurnaceItem("iceandfire:sapphire_gem",36,"input"),
ShaftFurnaceItem("kubejs:diorite_alloy",4,"input"),
ShaftFurnaceFluid("ad_astra:oxygen",4000,"oxygen","input"),
ShaftFurnaceFluid("kubejs:caustic_soda",4000,"fluid","input"),
ShaftFurnaceFluid("kubejs:fused_alumina",2880,"fluid_output","output"),
ShaftFurnaceItem("kubejs:granite_alloy",36,"output")
],
}).id("dut_create:shaft_furnace/fused_alumina_from_sapphire_gem")
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:shaft_furnace",
"time": 90,
"error": true,
"priority": 2,
"requirements": [
ShaftFurnaceStructure,
ShaftFurnaceItem("kubejs:aluminite_powder",48,"input"),
ShaftFurnaceItem("kubejs:diorite_alloy",4,"input"),
ShaftFurnaceFluid("ad_astra:oxygen",4000,"oxygen","input"),
ShaftFurnaceFluid("kubejs:caustic_soda",4000,"fluid","input"),
ShaftFurnaceFluid("kubejs:fused_alumina",2880,"fluid_output","output"),
ShaftFurnaceItem("kubejs:granite_alloy",32,"output")
],
}).id("dut_create:shaft_furnace/fused_alumina_from_powder")
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:shaft_furnace",
"time": 100,
"error": true,
"priority": 2,
"requirements": [
ShaftFurnaceStructure,
ShaftFurnaceItem("create:brass_ingot",48,"input"),
ShaftFurnaceItem("ad_astra:steel_ingot",16,"input"),
ShaftFurnaceItem("ad_astra:cheese",16,"input"),
ShaftFurnaceItem("kubejs:cheese_moonalgae",16,"input"),
ShaftFurnaceFluid("ad_astra:oxygen",4000,"oxygen","input"),
ShaftFurnaceFluid("kubejs:desh",1440,"fluid_output","output"),
ShaftFurnaceItem("kubejs:cheese_moonalgae",24,"output")
],
}).id("dut_create:shaft_furnace/desh")
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:shaft_furnace",
"time": 20,
"error": true,
"priority": 2,
"requirements": [
ShaftFurnaceStructure,
ShaftFurnaceItem("createaddition:biomass_pellet_block",16,"input"),
ShaftFurnaceFluid("ad_astra:oxygen",4000,"oxygen","input"),
ShaftFurnaceFluid("kubejs:nitrogen_dioxide",500,"fluid_output","output")
],
}).id("dut_create:shaft_furnace/nitrogen_dioxide")
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:shaft_furnace",
"time": 20,
"error": true,
"priority": 2,
"requirements": [
ShaftFurnaceStructure,
ShaftFurnaceItem("ad_astra:cheese_block",3,"input"),
ShaftFurnaceFluid("ad_astra:oxygen",4000,"oxygen","input"),
ShaftFurnaceFluid("kubejs:nitrogen_dioxide",1500,"fluid_output","output")
],
}).id("dut_create:shaft_furnace/nitrogen_dioxide_1")
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:shaft_furnace",
"time": 720,
"error": true,
"priority": 2,
"requirements": [
ShaftFurnaceStructure,
ShaftFurnaceItem("iceandfire:fire_dragon_blood",4,"input"),
ShaftFurnaceItem("ad_astra:steel_plate",4,"input"),
ShaftFurnaceItem("kubejs:blaze_chlamydia",4,"input"),
ShaftFurnaceFluid("ad_astra:oxygen",4000,"oxygen","input"),
ShaftFurnaceItem("iceandfire:dragonsteel_fire_ingot",4,"output")
],
}).id("dut_create:shaft_furnace/dragonsteel_fire_ingot")
})