// priority: 0 "use strict"; /** * @param {Internal.RecipesEventJS} event */ function registerTFGSupportRecipes(event) { // Concrete Supports event.recipes.gtceu.fluid_solidifier('tfg:gtceu/fluid_solidifier/reinforced_light_concrete_support') .inputFluids(Fluid.of('gtceu:concrete', 96)) .itemOutputs('1x tfg:reinforced_light_concrete_support') .itemInputs('1x tfg:rebar_support') .duration(60) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.assembler('tfg:gtceu/assembler/reinforced_light_concrete_support') .inputFluids(Fluid.of('gtceu:concrete', 96)) .itemOutputs('1x tfg:reinforced_light_concrete_support') .itemInputs('1x tfg:rebar_support') .duration(120) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.chemical_bath('tfg:gtceu/chemical_bath/reinforced_dark_concrete_support') .inputFluids(Fluid.of('tfc:black_dye', 10)) .itemOutputs('1x tfg:reinforced_dark_concrete_support') .itemInputs('1x tfg:reinforced_light_concrete_support') .duration(60) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.chemical_bath('tfg:gtceu/chemical_bath/dark_concrete_support') .inputFluids(Fluid.of('tfc:black_dye', 10)) .itemOutputs('1x tfg:dark_concrete_support') .itemInputs('1x tfg:light_concrete_support') .duration(60) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.tfc.damage_inputs_shaped_crafting( event.shaped('8x tfg:light_concrete_support', [ 'AB ', 'AC ', 'AC ' ],{ A: 'gtceu:light_concrete', B: '#tfc:chisels', C: 'tfc:mortar' }).id('tfg:shaped/light_concrete_support')) event.recipes.gtceu.assembler('tfg:gtceu/assembler/light_concrete_support') .circuit(11) .inputFluids(Fluid.of('gtceu:concrete', 36)) .itemOutputs('8x tfg:light_concrete_support') .itemInputs('3x gtceu:light_concrete') .duration(40) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.tfc.damage_inputs_shaped_crafting( event.shaped('8x tfg:dark_concrete_support', [ 'AB ', 'AC ', 'AC ' ],{ A: 'gtceu:dark_concrete', B: '#tfc:chisels', C: 'tfc:mortar' }).id('tfg:shaped/dark_concrete_support')) event.recipes.gtceu.assembler('tfg:gtceu/assembler/dark_concrete_support') .circuit(11) .inputFluids(Fluid.of('gtceu:concrete', 36)) .itemOutputs('8x tfg:dark_concrete_support') .itemInputs('3x gtceu:dark_concrete') .duration(40) .EUt(GTValues.VA[GTValues.ULV]) // Stone Supports global.TFC_STONE_TYPES.forEach(stone => { event.recipes.tfc.damage_inputs_shaped_crafting( event.shaped(`8x tfg:${stone}_support`, [ 'AB ', 'AC ', 'AC ' ],{ A: `tfc:rock/loose/${stone}`, B: '#tfc:chisels', C: 'tfc:mortar' }).id(`tfg:shaped/${stone}_support`)) event.recipes.tfc.damage_inputs_shaped_crafting( event.shaped(`8x tfg:${stone}_support`, [ 'AB ', 'AC ', 'AC ' ],{ A: `tfc:rock/mossy_loose/${stone}`, B: '#tfc:chisels', C: 'tfc:mortar' }).id(`tfg:shaped/mossy/${stone}_support`)) event.recipes.gtceu.assembler(`tfg:gtceu/assembler/${stone}_support`) .circuit(11) .inputFluids(Fluid.of('gtceu:concrete', 36)) .itemOutputs(`8x tfg:${stone}_support`) .itemInputs(`3x tfc:rock/loose/${stone}`) .duration(40) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.assembler(`tfg:gtceu/assembler/mossy/${stone}_support`) .circuit(11) .inputFluids(Fluid.of('gtceu:concrete', 36)) .itemOutputs(`8x tfg:${stone}_support`) .itemInputs(`3x tfc:rock/mossy_loose/${stone}`) .duration(40) .EUt(GTValues.VA[GTValues.ULV]) }) // REDO w/ table and loop const EXO_STONE_SUPPORTS = [ { loose: 'tfg:loose/deepslate', support: 'tfg:migmatite_support' }, { loose: 'tfg:loose/blackstone', support: 'tfg:pyroxenite_support' }, { loose: 'tfg:loose/dripstone', support: 'tfg:travertine_support' }, { loose: 'tfg:loose/crackrack', support: 'tfg:keratophyre_support' }, { loose: 'tfg:loose/moon_stone', support: 'tfg:anorthosite_support' }, { loose: 'tfg:loose/moon_deepslate', support: 'tfg:norite_support' }, { loose: 'tfg:loose/mars_stone', support: 'tfg:argillite_support' }, { loose: 'tfg:loose/venus_stone', support: 'tfg:trachyte_support' }, { loose: 'tfg:loose/mercury_stone', support: 'tfg:komatiite_support' }, { loose: 'tfg:loose/glacio_stone', support: 'tfg:phonolite_support' }, { loose: 'tfg:loose/permafrost', support: 'tfg:permafrost_support' }, { loose: 'tfg:loose/red_granite', support: 'tfg:red_granite_support' }, { loose: 'gtceu:stone_ingot', support: 'tfg:stone_support' } ] EXO_STONE_SUPPORTS.forEach(s => { event.recipes.tfc.damage_inputs_shaped_crafting( event.shaped(`8x ${s.support}`, [ 'AB ', 'AC ', 'AC ' ],{ A: s.loose, B: '#tfc:chisels', C: 'tfc:mortar' }).id(`tfg:shaped/${s.support}`) ) event.recipes.gtceu.assembler(`tfg:gtceu/assembler/${s.support}`) .circuit(11) .inputFluids(Fluid.of('gtceu:concrete', 36)) .itemOutputs(`8x ${s.support}`) .itemInputs(`3x ${s.loose}`) .duration(40) .EUt(GTValues.VA[GTValues.ULV]) }) // Metal Supports event.shaped('8x tfg:rebar_support', [ 'BA ', 'AC ' ],{ A: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1), B: ChemicalHelper.get(TagPrefix.wireFine, GTMaterials.Steel, 1), C: '#forge:tools/wire_cutters' }).id('tfg:shaped/rebar_support') event.recipes.gtceu.assembler('tfg:gtceu/assembler/rebar_support') .circuit(11) .itemOutputs('8x tfg:rebar_support') .itemInputs(ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2), ChemicalHelper.get(TagPrefix.wireFine, GTMaterials.Steel, 1)) .duration(100) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.tfc.anvil( '1x tfg:steel_support', '#forge:double_ingots/steel', [ 'upset_last', 'shrink_any' ] ).tier(4) .id('tfg:anvil/steel_support') event.recipes.gtceu.assembler('tfg:gtceu/assembler/steel_support') .circuit(11) .itemOutputs('4x tfg:steel_support') .itemInputs('2x #forge:double_ingots/steel') .duration(100) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.macerator('tfg:macerator/recycling/steel_support') .itemInputs('tfg:steel_support') .itemOutputs( ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Steel, 2) ) .duration(GTMaterials.Steel.getMass() * 2) .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/steel_support') .itemInputs('tfg:steel_support') .itemOutputs( ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 4) ) .duration(GTMaterials.Steel.getMass() * 4) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.extractor('tfg:extractor/recycling/steel_support') .itemInputs('tfg:steel_support') .outputFluids(Fluid.of('gtceu:steel', 64)) .duration(GTMaterials.Steel.getMass() * 2) .category(GTRecipeCategories.EXTRACTOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) }