182 lines
5.8 KiB
JavaScript
182 lines
5.8 KiB
JavaScript
/**
|
|
* Custom recipes for the Functional Storage mod
|
|
*/
|
|
ServerEvents.recipes(event => {
|
|
// Remove bugged Oak Drawer recipes
|
|
event.remove({ id: /functionalstorage:oak_drawer_alternate/ })
|
|
|
|
|
|
// Fluid Drawers
|
|
event.replaceInput({ output: /fluid/, mod: "functionalstorage" }, "#minecraft:planks", "#forge:plates/iron")
|
|
event.replaceInput({ output: /fluid/, mod: "functionalstorage" }, "minecraft:bucket", "gtceu:lv_hermetic_casing")
|
|
|
|
|
|
if(doCompacting) {
|
|
// Compacting drawers
|
|
event.shaped("functionalstorage:compacting_drawer", [
|
|
"III",
|
|
"PDP",
|
|
"III"
|
|
], {
|
|
I: "gtceu:iron_plate",
|
|
P: "gtceu:lv_electric_piston",
|
|
D: "#functionalstorage:drawer"
|
|
}).id("functionalstorage:compacting_drawer")
|
|
/*
|
|
event.shaped("functionalstorage:simple_compacting_drawer", [
|
|
"III",
|
|
"IDP",
|
|
"III"
|
|
], {
|
|
I: "gtceu:iron_plate",
|
|
P: "gtceu:lv_electric_piston",
|
|
D: "#functionalstorage:drawer"
|
|
}).id("functionalstorage:simple_compacting_drawer")
|
|
*/
|
|
event.remove("functionalstorage:simple_compacting_drawer")
|
|
|
|
// Framed Compacting Drawers
|
|
event.shaped("functionalstorage:compacting_framed_drawer", [
|
|
"III",
|
|
"IBI",
|
|
"III"
|
|
], {
|
|
I: "minecraft:iron_nugget",
|
|
B: "functionalstorage:compacting_drawer"
|
|
}).id("functionalstorage:compacting_framed_drawer")
|
|
/*
|
|
event.shaped("functionalstorage:framed_simple_compacting_drawer", [
|
|
"III",
|
|
"IBI",
|
|
"III"
|
|
], {
|
|
I: "minecraft:iron_nugget",
|
|
B: "functionalstorage:simple_compacting_drawer"
|
|
}).id("functionalstorage:framed_simple_compacting_drawer")
|
|
*/
|
|
event.remove("functionalstorage:framed_simple_compacting_drawer")
|
|
|
|
// Custom coin compacting recipes
|
|
event.custom({
|
|
type: "functionalstorage:custom_compacting",
|
|
higher_input: {
|
|
count: 1,
|
|
item: "kubejs:moni_dollar"
|
|
},
|
|
lower_input: {
|
|
count: 4,
|
|
item: "kubejs:moni_quarter"
|
|
}
|
|
})
|
|
event.custom({
|
|
type: "functionalstorage:custom_compacting",
|
|
higher_input: {
|
|
count: 1,
|
|
item: "kubejs:moni_quarter"
|
|
},
|
|
lower_input: {
|
|
count: 5,
|
|
item: "kubejs:moni_nickel"
|
|
}
|
|
})
|
|
if (doMonicoins) {
|
|
event.custom({
|
|
type: "functionalstorage:custom_compacting",
|
|
higher_input: {
|
|
count: 1,
|
|
item: "kubejs:moni_nickel"
|
|
},
|
|
lower_input: {
|
|
count: 5,
|
|
item: "kubejs:moni_penny"
|
|
}
|
|
})
|
|
}
|
|
} else {
|
|
event.remove({ id: /^functionalstorage:.*compacting.*_drawer$/})
|
|
}
|
|
|
|
|
|
// Specialized Drawers
|
|
event.shaped("functionalstorage:controller_extension", [
|
|
"III",
|
|
"CDC",
|
|
"IGI"
|
|
], {
|
|
I: "gtceu:iron_plate",
|
|
C: "#gtceu:circuits/lv",
|
|
D: "#functionalstorage:drawer",
|
|
G: "#forge:storage_blocks/gold"
|
|
}).id("functionalstorage:controller_extension")
|
|
event.shaped("functionalstorage:armory_cabinet", [
|
|
"ICI",
|
|
"PDP",
|
|
"III"
|
|
], {
|
|
I: "gtceu:iron_plate",
|
|
C: "#gtceu:circuits/hv",
|
|
D: "#functionalstorage:drawer",
|
|
P: "gtceu:hv_electric_piston"
|
|
}).id("functionalstorage:armory_cabinet")
|
|
event.shaped("functionalstorage:ender_drawer", [
|
|
"ICI",
|
|
"PEP",
|
|
"III"
|
|
], {
|
|
I: "gtceu:iron_plate",
|
|
C: "#gtceu:circuits/mv",
|
|
E: "enderchests:ender_chest",
|
|
P: "gtceu:mv_electric_piston"
|
|
}).id("functionalstorage:ender_drawer")
|
|
|
|
|
|
// Storage Controller
|
|
event.remove({ id: "functionalstorage:storage_controller" })
|
|
const controllerCore = ["#forge:storage_blocks/diamond", "#forge:storage_blocks/emerald"]
|
|
controllerCore.forEach(coreBlock => {
|
|
event.shaped("functionalstorage:storage_controller", [
|
|
"III",
|
|
"CDC",
|
|
"IEI"
|
|
], {
|
|
I: "gtceu:iron_plate",
|
|
C: "#gtceu:circuits/lv",
|
|
D: "#functionalstorage:drawer",
|
|
E: coreBlock
|
|
})
|
|
})
|
|
|
|
|
|
// Framed Drawers
|
|
const miscframing = ["storage_controller", "controller_extension"]
|
|
miscframing.forEach(Block => {
|
|
event.shaped(`functionalstorage:framed_${Block}`, [
|
|
"III",
|
|
"IBI",
|
|
"III"
|
|
], {
|
|
I: "minecraft:iron_nugget",
|
|
B: `functionalstorage:${Block}`
|
|
}).id(`functionalstorage:framed_${Block}`)
|
|
})
|
|
|
|
// Storage Upgrades
|
|
let upgradeTiers = [
|
|
["copper", "lead", "bronze"],
|
|
["gold", "tin", "steel"],
|
|
["diamond", "copper", "aluminium"],
|
|
["netherite", "gold", "stainless_steel"]
|
|
]
|
|
upgradeTiers.forEach((tier, tierIndex) => {
|
|
event.remove({ id: `functionalstorage:${tier[0]}_upgrade` })
|
|
event.shaped(`2x functionalstorage:${tier[0]}_upgrade`, [
|
|
"PUP",
|
|
"PGP",
|
|
"PUP"
|
|
], {
|
|
P: `#forge:plates/${tier[2]}`,
|
|
G: `#forge:double_plates/${tier[1]}`,
|
|
U: tierIndex == 0 ? "#functionalstorage:drawer" : (`functionalstorage:${upgradeTiers[tierIndex - 1][0]}_upgrade`),
|
|
}).id(`functionalstorage:${tier[2]}_upgrade`)
|
|
})
|
|
})
|