Added mod files
This commit is contained in:
157
overrides/kubejs/server_scripts/recipes/alchemy.js
Normal file
157
overrides/kubejs/server_scripts/recipes/alchemy.js
Normal file
@@ -0,0 +1,157 @@
|
||||
ServerEvents.recipes(event => {
|
||||
let alchemy_mix = (output, catalyst, r1, r2, amount) => {
|
||||
event.recipes.create.mixing([Item.of("kubejs:substrate_" + output, amount ? amount : 1), Item.of("kubejs:substrate_" + catalyst)], [Item.of("kubejs:substrate_" + catalyst), Item.of("kubejs:substrate_" + r1, 2), Item.of("kubejs:substrate_" + r2)]).heated()
|
||||
}
|
||||
|
||||
let alchemy_smelt = (output, catalyst, r1, r2, amount) => {
|
||||
event.recipes.thermal.smelter([Item.of(Item.of("kubejs:substrate_" + output, amount ? amount : 1)), Item.of("kubejs:substrate_" + catalyst)], [Item.of("kubejs:substrate_" + r1, 2), Item.of("kubejs:substrate_" + catalyst), Item.of("kubejs:substrate_" + r2)], 0, 6400)
|
||||
}
|
||||
|
||||
alchemy_mix("red", "herbal", "diorite", "andesite")
|
||||
alchemy_mix("orange", "herbal", "granite", "diorite")
|
||||
alchemy_mix("yellow", "herbal", "cobblestone", "granite")
|
||||
alchemy_mix("green", "herbal", "basalt", "cobblestone")
|
||||
alchemy_mix("blue", "herbal", "scoria", "basalt")
|
||||
alchemy_mix("magenta", "herbal", "andesite", "scoria")
|
||||
|
||||
alchemy_smelt("nether", "volatile", "red", "scoria")
|
||||
alchemy_smelt("blaze", "volatile", "orange", "andesite")
|
||||
alchemy_smelt("gunpowder", "volatile", "yellow", "diorite")
|
||||
alchemy_smelt("slime", "volatile", "green", "granite")
|
||||
alchemy_smelt("prismarine", "volatile", "blue", "cobblestone")
|
||||
alchemy_smelt("obsidian", "volatile", "magenta", "basalt")
|
||||
|
||||
alchemy_mix("fluix", "crystal", "nether", "magenta")
|
||||
alchemy_mix("niter", "crystal", "blaze", "red")
|
||||
alchemy_mix("quartz", "crystal", "gunpowder", "orange")
|
||||
alchemy_mix("sulfur", "crystal", "slime", "yellow")
|
||||
alchemy_mix("apatite", "crystal", "prismarine", "green")
|
||||
alchemy_mix("certus", "crystal", "obsidian", "blue")
|
||||
|
||||
alchemy_smelt("lead", "metal", "fluix", "obsidian")
|
||||
alchemy_smelt("copper", "metal", "niter", "nether")
|
||||
alchemy_smelt("gold", "metal", "quartz", "blaze")
|
||||
alchemy_smelt("nickel", "metal", "sulfur", "gunpowder")
|
||||
alchemy_smelt("zinc", "metal", "apatite", "slime")
|
||||
alchemy_smelt("iron", "metal", "certus", "prismarine")
|
||||
|
||||
|
||||
alchemy_smelt("andesite", "igneous", "emerald", "iron", 20)
|
||||
alchemy_smelt("diorite", "igneous", "sapphire", "lead", 20)
|
||||
alchemy_smelt("granite", "igneous", "diamond", "copper", 20)
|
||||
alchemy_smelt("cobblestone", "igneous", "lapis", "gold", 20)
|
||||
alchemy_smelt("basalt", "igneous", "ruby", "nickel", 20)
|
||||
alchemy_smelt("scoria", "igneous", "cinnabar", "zinc", 20)
|
||||
|
||||
let mundane = (id, outputs) => {
|
||||
let jsonOut = []
|
||||
if (outputs[0] > 0)
|
||||
jsonOut.push({
|
||||
"item": "supplementaries:ash",
|
||||
"count": outputs[0]
|
||||
})
|
||||
if (outputs[1] > 0)
|
||||
jsonOut.push({
|
||||
"item": "minecraft:redstone",
|
||||
"count": outputs[1]
|
||||
})
|
||||
if (outputs[2] > 0)
|
||||
jsonOut.push({
|
||||
"item": "minecraft:glowstone_dust",
|
||||
"count": outputs[2]
|
||||
})
|
||||
event.custom({
|
||||
"type": "thermal:centrifuge",
|
||||
"ingredient": {
|
||||
"item": `kubejs:failed_alchemy_${id}`
|
||||
},
|
||||
"result": jsonOut
|
||||
})
|
||||
}
|
||||
|
||||
let i = 0;
|
||||
|
||||
mundane(i++, [4, 0, 0])
|
||||
mundane(i++, [3, 1, 0])
|
||||
mundane(i++, [3, 0, 1])
|
||||
mundane(i++, [2, 2, 0])
|
||||
mundane(i++, [2, 0, 2])
|
||||
|
||||
mundane(i++, [2, 1, 1])
|
||||
mundane(i++, [1, 3, 0])
|
||||
mundane(i++, [1, 0, 3])
|
||||
mundane(i++, [1, 2, 1])
|
||||
mundane(i++, [1, 1, 2])
|
||||
|
||||
mundane(i++, [0, 4, 0])
|
||||
mundane(i++, [0, 0, 4])
|
||||
mundane(i++, [0, 3, 1])
|
||||
mundane(i++, [0, 1, 3])
|
||||
mundane(i++, [0, 2, 2])
|
||||
|
||||
// Subtrate bottling and extracting
|
||||
event.remove({ type: "thermal:sawmill" })
|
||||
event.remove({ type: "thermal:centrifuge" })
|
||||
|
||||
global.substrates.forEach(a => {
|
||||
a.forEach(e => {
|
||||
if (!e.ingredient)
|
||||
return
|
||||
event.custom({
|
||||
"type": "thermal:bottler",
|
||||
"ingredients": [Ingredient.of(e.ingredient).toJson(), { "fluid": "tconstruct:molten_glass", "amount": 100 }],
|
||||
"result": [{ "item": e.id }]
|
||||
})
|
||||
event.custom({
|
||||
"type": "thermal:sawmill",
|
||||
"ingredient": { "item": e.id },
|
||||
"result": [{ "item": e.outputItem ? e.outputItem : typeof e.ingredient == "string" ? e.ingredient : e.ingredient[0], "chance": 0.75 }],
|
||||
"energy": 2000
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
// Silicon and silver special cases
|
||||
event.custom({
|
||||
"type": "thermal:sawmill",
|
||||
"ingredient": { "item": "kubejs:substrate_silicon" },
|
||||
"result": [{ "item": "ae2:silicon", "count": 1 }],
|
||||
"energy": 2000
|
||||
})
|
||||
|
||||
event.custom({
|
||||
"type": "thermal:sawmill",
|
||||
"ingredient": { "item": "kubejs:substrate_silver" },
|
||||
"result": [{ "item": "thermal:silver_dust", "count": 1 }],
|
||||
"energy": 2000
|
||||
})
|
||||
|
||||
// Accelerators
|
||||
event.custom({
|
||||
"type": "thermal:bottler",
|
||||
"ingredients": [
|
||||
{ "item": "thermal:signalum_nugget" },
|
||||
{ "fluid": "tconstruct:molten_glass", "amount": 100 }
|
||||
],
|
||||
"result": [{ "item": "kubejs:accellerator_redstone" }]
|
||||
})
|
||||
|
||||
event.custom({
|
||||
"type": "thermal:bottler",
|
||||
"ingredients": [
|
||||
{ "item": "thermal:lumium_nugget" },
|
||||
{ "fluid": "tconstruct:molten_glass", "amount": 100 }
|
||||
],
|
||||
"result": [{ "item": "kubejs:accellerator_glowstone" }]
|
||||
})
|
||||
|
||||
// Not sure why silver subtrate has a recipe
|
||||
event.custom({
|
||||
"type": "thermal:bottler",
|
||||
"ingredients": [
|
||||
{ "item": "thermal:silver_dust" },
|
||||
{ "fluid": "tconstruct:molten_glass", "amount": 100 }
|
||||
],
|
||||
"result": [{ "item": "kubejs:substrate_silver" }]
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user