neuralgia/kubejs/server_scripts/tfg/recipes.rocks.js
Pyritie ec2e3cd3c4
Alpha Release: 0.9.0 (#849)
Signed-off-by: Pyritie <pyritie@gmail.com>
Signed-off-by: TomPlop <tomdidome@gmail.com>
Co-authored-by: Xikaro <os.valerievich@ya.ru>
Co-authored-by: Nebby <78170922+Nebby1999@users.noreply.github.com>
Co-authored-by: Redeix <brayden.j.m.ford@gmail.com>
Co-authored-by: TomPlop <tomdidome@gmail.com>
Co-authored-by: aidie8 <aidenvanzuilen@gmail.com>
Co-authored-by: Xikaro <55663835+Xikaro@users.noreply.github.com>
Co-authored-by: Zleub <debray.arnaud@gmail.com>
2025-04-15 23:27:17 +05:00

260 lines
No EOL
7.3 KiB
JavaScript

// priority: 0
function registerTFGRockRecipes(event) {
// #region Nether rock recipes
// loose rocks to cobble, bricks to brick blocks
const GLUEING_TOGETHER = [
{ loose: 'tfg:loose/deepslate', block: 'minecraft:cobbled_deepslate' },
{ loose: 'beneath:blackstone_pebble', block: 'minecraft:blackstone' },
{ loose: 'tfg:brick/deepslate', block: '4x minecraft:deepslate_bricks' },
{ loose: 'tfg:loose/dripstone', block: 'minecraft:dripstone_block' }
]
GLUEING_TOGETHER.forEach(x => {
event.shaped(x.block, [
'ABA',
'BAB',
'ABA'
], {
A: x.loose,
B: 'tfc:mortar'
})
event.recipes.gtceu.assembler(`${x.loose}_to_${x.block}`.replace(/[: ]/g, '_'))
.itemInputs(`5x ${x.loose}`)
.inputFluids(Fluid.of('gtceu:concrete', 72))
.itemOutputs(x.block)
.circuit(2)
.duration(50)
.EUt(2)
})
// loose to bricks
const LOOSE_TO_BRICKS = [
{ loose: 'tfg:loose/deepslate', brick: 'tfg:brick/deepslate' }
]
LOOSE_TO_BRICKS.forEach(x => {
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless(
x.brick, [x.loose, '#tfc:chisels']
))
event.recipes.gtceu.assembler(`${x.loose}_to_${x.brick}`.replace(/:/g, '_'))
.itemInputs(x.loose)
.itemOutputs(x.brick)
.circuit(1)
.duration(40)
.EUt(8)
})
// raw to polished
const RAW_TO_POLISHED = [
{ raw: 'minecraft:deepslate', polished: 'minecraft:polished_deepslate' },
{ raw: 'minecraft:blackstone', polished: 'minecraft:polished_blackstone' },
{ raw: 'minecraft:deepslate_bricks', polished: 'minecraft:deepslate_tiles' },
{ raw: 'minecraft:deepslate_tiles', polished: 'minecraft:chiseled_deepslate' },
{ raw: 'minecraft:polished_blackstone_bricks', polished: 'minecraft:chiseled_polished_blackstone' },
{ raw: 'minecraft:basalt', polished: 'minecraft:smooth_basalt' },
{ raw: 'minecraft:smooth_basalt', polished: 'minecraft:polished_basalt' }
]
RAW_TO_POLISHED.forEach(x => {
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless(
x.polished, [x.raw, '#tfc:chisels']
))
event.recipes.gtceu.laser_engraver(`${x.raw}_to_${x.polished}`.replace(/:/g, '_'))
.itemInputs(x.raw)
.itemOutputs(x.polished)
.notConsumable('tfc:lens')
.duration(30)
.EUt(GTValues.VA[GTValues.ULV])
event.custom({
type: 'vintageimprovements:laser_cutting',
ingredients: [{ item: x.raw }],
results: [{item: x.polished }],
energy: GTValues.VA[GTValues.ULV] * 30 * 4,
maxChargeRate: GTValues.VA[GTValues.ULV] * 4
}).id(`tfg:vi/laser/tfg/${x.raw.replace(/:/g, '_')}_to_${x.polished.replace(/:/g, '_')}`)
})
// cracked bricks
const CRACKING = [
{ raw: 'minecraft:deepslate_bricks', cracked: 'minecraft:cracked_deepslate_bricks' },
{ raw: 'minecraft:deepslate_tiles', cracked: 'minecraft:cracked_deepslate_tiles' }
]
CRACKING.forEach(x => {
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless(
x.cracked, [x.raw, '#tfc:hammers']
))
event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.cracked}`.replace(/:/g, '_'))
.itemInputs(x.raw)
.itemOutputs(x.cracked)
.duration(12)
.EUt(8)
})
// forge hammer
const HAMMERING = [
{ raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate' },
{ raw: 'minecraft:cobbled_deepslate', hammered: 'tfc:sand/black' },
{ raw: 'minecraft:blackstone', hammered: 'tfc:sand/black' },
{ raw: 'beneath:crackrack', hammered: 'tfc:sand/pink' },
{ raw: 'minecraft:dripstone_block', hammered: 'tfc:sand/brown' }
]
HAMMERING.forEach(x => {
event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.hammered}`.replace(/:/g, '_'))
.itemInputs(x.raw)
.itemOutputs(x.hammered)
.duration(12)
.EUt(8)
})
// slabs, stairs, walls
const CUTTER = [
{
raw: 'minecraft:cobbled_deepslate',
stair: 'minecraft:cobbled_deepslate_stairs',
slab: 'minecraft:cobbled_deepslate_slab',
wall: 'minecraft:cobbled_deepslate_wall',
dust: 'gtceu:deepslate_dust',
loose: 'tfg:loose/deepslate'
},
{
raw: 'minecraft:polished_deepslate',
stair: 'minecraft:polished_deepslate_stairs',
slab: 'minecraft:polished_deepslate_slab',
wall: 'minecraft:polished_deepslate_wall',
dust: 'gtceu:deepslate_dust'
},
{
raw: 'minecraft:deepslate_bricks',
stair: 'minecraft:deepslate_brick_stairs',
slab: 'minecraft:deepslate_brick_slab',
wall: 'minecraft:deepslate_brick_wall',
dust: 'gtceu:deepslate_dust'
},
{
raw: 'minecraft:deepslate_tiles',
stair: 'minecraft:deepslate_tile_stairs',
slab: 'minecraft:deepslate_tile_slab',
wall: 'minecraft:deepslate_tile_wall',
dust: 'gtceu:deepslate_dust'
},
{
raw: 'minecraft:blackstone',
stair: 'minecraft:blackstone_stairs',
slab: 'minecraft:blackstone_slab',
wall: 'minecraft:blackstone_wall',
dust: 'gtceu:blackstone_dust',
loose: 'beneath:blackstone_pebble'
},
{
raw: 'minecraft:polished_blackstone',
stair: 'minecraft:polished_blackstone_stairs',
slab: 'minecraft:polished_blackstone_slab',
wall: 'minecraft:polished_blackstone_wall',
dust: 'gtceu:blackstone_dust'
},
{
raw: 'minecraft:polished_blackstone_bricks',
stair: 'minecraft:polished_blackstone_brick_stairs',
slab: 'minecraft:polished_blackstone_brick_slab',
wall: 'minecraft:polished_blackstone_brick_wall',
dust: 'gtceu:blackstone_dust'
}
]
CUTTER.forEach(x => {
if ("stair" in x) {
event.recipes.tfc.chisel(x.stair, x.raw, 'stair')
//event.stonecutting(x.stair, x.raw).id(`${x.raw}_to_${x.stair}`.replace(/:/g, '_'))
event.recipes.gtceu.macerator(`macerate_${x.stair}`.replace(/:/g, '_'))
.itemInputs(x.stair)
.itemOutputs(x.dust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
if ("loose" in x) {
event.shapeless(`3x ${x.loose}`, [x.stair])
}
}
if ("slab" in x) {
event.recipes.tfc.chisel(x.slab, x.raw, 'slab')
//event.stonecutting(`2x ${x.slab}`, x.raw).id(`${x.raw}_to_${x.slab}`.replace(/:/g, '_'))
event.recipes.gtceu.macerator(`macerate_${x.slab}`.replace(/:/g, '_'))
.itemInputs(`2x ${x.slab}`)
.itemOutputs(x.dust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
if ("loose" in x) {
event.shapeless(`2x ${x.loose}`, [x.slab])
}
}
if ("wall" in x) {
event.recipes.tfc.chisel(x.slab, x.raw, 'smooth')
//event.stonecutting(x.wall, x.raw).id(`${x.raw}_to_${x.wall}`.replace(/:/g, '_'))
event.recipes.gtceu.macerator(`macerate_${x.wall}`.replace(/:/g, '_'))
.itemInputs(x.wall)
.itemOutputs(x.dust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
}
if ("loose" in x) {
event.shapeless(`4x ${x.loose}`, [x.raw])
}
})
const MACERATOR = [
{ block: 'minecraft:deepslate', dust: 'gtceu:deepslate_dust' },
{ block: 'minecraft:dripstone_block', dust: 'tfg:dripstone_dust' }
]
MACERATOR.forEach(x => {
event.recipes.gtceu.macerator(`macerate_${x.block}`.replace(/:/g, '_'))
.itemInputs(x.block)
.itemOutputs(x.dust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
})
// rock breaker
const ROCK_DUPING = [
'minecraft:deepslate',
'minecraft:cobbled_deepslate',
'minecraft:blackstone',
'minecraft:dripstone_block'
]
ROCK_DUPING.forEach(x => {
event.recipes.gtceu.rock_breaker(x)
.notConsumable(x)
.itemOutputs(x)
.duration(16)
.EUt(7)
})
// #endregion
}