create-the-brass-oncerto/kubejs/server_scripts/add/metallurgy/hydropress.txt

266 lines
7.1 KiB
Plaintext
Raw Normal View History

2025-04-11 17:07:29 +08:00
ServerEvents.recipes(event => {
//
const HydropressStructureUp ={
"type": "custommachinery:structure",
"pattern": [
[
"A A",
" ",
" ",
" ",
"A A",
" BBB ",
" BGB ",
" BBB "
],
[
"AAAAA",
"A A",
"A A",
"A A",
"AAAAA",
" CDC ",
" HIH ",
" "
],
[
" ",
" ",
" ",
" ",
" X ",
" ",
" JmJ ",
" P "
],
[
" ",
" ",
" ",
" ",
" ",
" F ",
" L ",
" "
],
[
" ",
" ",
" ",
" ",
" ",
" F ",
" MIM ",
" M "
],
[
" ",
" ",
" ",
" ",
" ",
" F ",
" NIN ",
" N "
],
[
" ",
" ",
" ",
" ",
" ",
" F ",
" NIN ",
" N "
],
[
" ",
" ",
" ",
" ",
" ",
" ",
" HIH ",
" H "
],
[
" ",
" ",
" ",
" ",
" ",
" ",
" L ",
" "
],
[
" ",
" ",
" ",
" ",
" ",
" ",
" O ",
" "
]
],
"keys":
{
"G": "design_decor:brass_boiler_large",
"C": "design_decor:industrial_gear_large",
"M": "design_decor:diagonal_metal_support",
"N": "create:metal_girder",
"J": "create:mechanical_pump",
"I": "design_decor:industrial_iron_boiler",
"P": "#dut_create:brass_funnel",
"O": "design_decor:andesite_floodlight",
"D": "create:gearbox",
"F": "create:gantry_shaft",
"H": "design_decor:diagonal_girder",
"A": "create:copper_casing",
"B": "design_decor:brass_boiler_structure",
"L": "design_decor:brass_boiler",
"K": "kubejs:hydropress",
"X":"kubejs:hydropress_turner"
},
"jei": true
}
const HydropressLetDown = {
"type": "custommachinery:block",
"mode": "output",
"action": "replace_destroy",
"amount": 1,
"pos": [0, 0, -1, 0, 0, -1],
"whitelist": true,
"filter": ["create:gearshift"],
"block": "create_connected:inverted_gearshift[axis=y]"
}
const HydropressSound1 = {
"type": "custommachinery:command",
"phase": "starting",
"command": "/playsound create:steam block @a ~ ~ ~ 0.5",
"log": false,
"permissionlevel": 5
}
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:hydropress",
"time": 5,
"error": true,
"priority": 6,
"requirements": [
HydropressStructureUp,
HydropressSound1,
{
"type": "custommachinery:fluid",
"mode": "input",
"fluid": "minecraft:water",
"amount": 1000
},
{
"type": "custommachinery:fluid",
"mode": "output",
"tank": "sim_fluid",
"fluid": "kubejs:hydrofluid",
"amount": 500
}
],
"jei": [
HydropressStructureUp,
{
"type": "custommachinery:fluid",
"mode": "input",
"tank": "fluid_input",
"fluid": "minecraft:water",
"amount": 1000
},
{
"type": "custommachinery:fluid",
"mode": "output",
"tank": "sim_fluid",
"fluid": "kubejs:hydrofluid",
"amount": 500
}
]
}).id("dut_create:hydropress/get_fluid")
function hydropressInput(block) {
return ({
"type": "custommachinery:block",
"mode": "output",
"action": "replace_destroy",
"amount": 9,
"pos": [-1, -1, -3, 1, -1, -5],
"filter": block,
"whitelist": true,
"block": "minecraft:air"
})
}
function hydropressFluid(fluid, amount) {
return ({
"type": "custommachinery:fluid",
"mode": "input",
"fluid": fluid,
"amount": amount,
"tank":"sim_fluid"
})
}
function hydropressItemOut(item, amount) {
return ({
"type": "custommachinery:item",
"mode": "output",
"item": item,
"amount": amount
})
}
function hydropressItemIn(item, amount, slot) {
return ({
"type": "custommachinery:item",
"mode": "input",
"item": item,
"slot": slot,
"amount": amount
})
}
function hydropressPlate(item, item1, amount) {
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:hydropress",
"time": 1,
"error": true,
"requirements": [
HydropressLetDown,
HydropressSound1,
hydropressInput([item]),
hydropressItemOut(item1, amount),
hydropressFluid("kubejs:hydrofluid",500)
],
"jei": [
HydropressLetDown,
hydropressItemIn(item, 9, "1"),
hydropressInput([item]),
hydropressItemOut(item1, amount)
]
}).id("dut_create:hydropress/" + item.split(':')[1])
}
function hydropressIngot(input, output) {
event.custom({
"type": "custommachinery:custom_machine",
"machine": "dut:hydropress",
"time": 20,
"error": true,
"requirements": [
hydropressInput([input + "[level=0]"]),
hydropressItemOut(output, 9)
],
"jei": [
hydropressItemIn("minecraft:tnt", 9, "1"),
hydropressFluid(input, 9000),
hydropressInput([input + "[level=0]"]),
hydropressItemOut(output, 100)
]
}).id("dut_create:hydropress/" + output.split(':')[1])
}
hydropressPlate("minecraft:iron_block","create:iron_sheet",81)
})