134 lines
4.6 KiB
JavaScript
134 lines
4.6 KiB
JavaScript
/**
|
|
* Custom recipes for the Iron Furnaces mod
|
|
*/
|
|
ServerEvents.recipes(event => {
|
|
|
|
event.remove({ output: ["ironfurnaces:rainbow_plating", "ironfurnaces:rainbow_core", "ironfurnaces:million_furnace", "ironfurnaces:augment_factory", "ironfurnaces:iron_furnace", "ironfurnaces:silver_furnace", "ironfurnaces:copper_furnace", "ironfurnaces:gold_furnace", "ironfurnaces:diamond_furnace", "ironfurnaces:obsidian_furnace", "ironfurnaces:netherite_furnace"] })
|
|
const furnaces = [
|
|
["iron_furnace", "minecraft:iron_ingot", "minecraft:furnace"],
|
|
["copper_furnace", "minecraft:copper_ingot", "ironfurnaces:iron_furnace"],
|
|
["silver_furnace", "gtceu:silver_ingot", "ironfurnaces:copper_furnace"],
|
|
["gold_furnace", "minecraft:gold_ingot", "ironfurnaces:silver_furnace"],
|
|
["diamond_furnace", "minecraft:diamond", "ironfurnaces:gold_furnace"],
|
|
];
|
|
|
|
furnaces.forEach(([furnace, mat, base]) => {
|
|
event.shaped(Item.of(`ironfurnaces:${furnace}`), [
|
|
"AAA",
|
|
"ABA",
|
|
"AAA"
|
|
], {
|
|
A: mat,
|
|
B: base,
|
|
});
|
|
});
|
|
|
|
event.shaped("ironfurnaces:obsidian_furnace", [
|
|
"AAA",
|
|
"BAB",
|
|
"AAA"
|
|
], {
|
|
A: "minecraft:obsidian",
|
|
B: "ironfurnaces:diamond_furnace"
|
|
})
|
|
|
|
event.shaped("ironfurnaces:netherite_furnace", [
|
|
"ABA",
|
|
"BBB",
|
|
"ABA"
|
|
], {
|
|
A: "minecraft:netherite_ingot",
|
|
B: "ironfurnaces:obsidian_furnace"
|
|
})
|
|
|
|
event.shaped("ironfurnaces:augment_factory", [
|
|
"ACA",
|
|
"BDB",
|
|
"ACA"
|
|
], {
|
|
A: "gtceu:green_sapphire_plate",
|
|
B: "ironfurnaces:obsidian_furnace",
|
|
C: "#gtceu:circuits/mv",
|
|
D: "gtceu:steel_gear"
|
|
})
|
|
|
|
event.shaped("ironfurnaces:item_copy", [
|
|
" I ",
|
|
"SRS",
|
|
"SSS"
|
|
], {
|
|
S: "#forge:cobblestone/normal",
|
|
R: "minecraft:redstone",
|
|
I: "minecraft:iron_ingot"
|
|
})
|
|
|
|
// Sequential assembler recipes for Iron Furnaces
|
|
event.recipes.gtceu.assembler("kubejs:stone_to_iron_furnace")
|
|
.itemInputs("minecraft:furnace", "4x gtceu:iron_plate")
|
|
.itemOutputs("ironfurnaces:iron_furnace")
|
|
.duration(200)
|
|
.EUt(30)
|
|
.circuit(5)
|
|
|
|
let furnaceupgrade = [
|
|
["copper", "iron"],
|
|
["silver", "copper"],
|
|
["gold", "silver"],
|
|
["diamond", "gold"],
|
|
]
|
|
|
|
furnaceupgrade.forEach(([tier, mat1]) => {
|
|
event.recipes.gtceu.assembler(`kubejs:${mat1}_to_${tier}_furnace`)
|
|
.itemInputs(`ironfurnaces:${mat1}_furnace`, `4x gtceu:${tier}_plate`)
|
|
.itemOutputs(`ironfurnaces:${tier}_furnace`)
|
|
.duration(300)
|
|
.EUt(30)
|
|
.circuit(5)
|
|
})
|
|
|
|
event.recipes.gtceu.assembler("kubejs:diamond_to_obsidian_furnace")
|
|
.itemInputs("2x ironfurnaces:diamond_furnace", "4x gtceu:obsidian_plate")
|
|
.itemOutputs("ironfurnaces:obsidian_furnace")
|
|
.duration(200)
|
|
.EUt(30)
|
|
.circuit(5)
|
|
|
|
event.recipes.gtceu.assembler("kubejs:obsidian_to_netherite_furnace")
|
|
.itemInputs("5x ironfurnaces:obsidian_furnace", "4x minecraft:netherite_ingot")
|
|
.itemOutputs("ironfurnaces:netherite_furnace")
|
|
.duration(200)
|
|
.EUt(30)
|
|
.circuit(5)
|
|
|
|
|
|
// Direct assembler recipes for Iron Furnaces
|
|
const stonefurnaceupgrade = ["iron", "copper", "silver", "gold", "diamond"]
|
|
|
|
// Start from silver furnace
|
|
for (let index = 2; index < stonefurnaceupgrade.length; index++) {
|
|
let mat1 = stonefurnaceupgrade[index];
|
|
let mat2 = stonefurnaceupgrade[index - 1];
|
|
let mat3 = stonefurnaceupgrade[index - 2];
|
|
|
|
event.recipes.gtceu.assembler(`kubejs:stone_to_${mat1}_furnace`)
|
|
.itemInputs("minecraft:furnace", `4x gtceu:${mat1}_plate`, `4x gtceu:${mat2}_plate`, `2x gtceu:${mat3}_plate`)
|
|
.itemOutputs(`ironfurnaces:${mat1}_furnace`)
|
|
.duration(300)
|
|
.EUt(GTValues.VA[index - 1])
|
|
.circuit(8)
|
|
}
|
|
|
|
event.recipes.gtceu.assembler("kubejs:stone_to_obsidian_furnace")
|
|
.itemInputs("2x minecraft:furnace", "4x gtceu:gold_plate", "8x gtceu:diamond_plate", "4x gtceu:obsidian_plate")
|
|
.itemOutputs("ironfurnaces:obsidian_furnace")
|
|
.duration(400)
|
|
.EUt(GTValues.VA[GTValues.EV])
|
|
.circuit(8)
|
|
|
|
event.recipes.gtceu.assembler("kubejs:stone_to_netherite_furnace")
|
|
.itemInputs("5x minecraft:furnace", "20x gtceu:diamond_plate", "20x gtceu:obsidian_plate", "4x minecraft:netherite_ingot")
|
|
.itemOutputs("ironfurnaces:netherite_furnace")
|
|
.duration(500)
|
|
.EUt(GTValues.VA[GTValues.IV])
|
|
.circuit(8)
|
|
})
|