// priority: 0 /** * * @param {Internal.RecipesEventJS_} event */ function registerTFGMiscellaneousRecipes(event) { event.remove({ id: 'gtceu:wiremill/string_from_polycaprolactam'}) //tfc:moss event.replaceInput({}, 'minecraft:vine', '#tfc:moss') //forge:wax event.replaceInput({}, 'firmalife:beeswax', '#forge:wax') //Moss event.shapeless('1x minecraft:moss_block', [ '#tfc:dirt', '#tfc:moss' ]).id(`tfg:shapeless/moss_block`) event.shaped('6x minecraft:moss_carpet', [ 'AA' ], { A: 'minecraft:moss_block' }).id(`tfg:shaped/moss_carpet`) //paraffin event.recipes.gtceu.chemical_reactor('tfg:paraffin_wax_from_lubricant') .circuit(7) .itemOutputs('6x tfg:paraffin_wax') .outputFluids(Fluid.of('gtceu:oil_light', 25)) .inputFluids(Fluid.of('gtceu:lubricant', 250), Fluid.of('gtceu:acetone', 25)) .duration(500) .EUt(GTValues.VA[GTValues.LV]) // Rosin event.recipes.firmalife.vat() .inputs('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000)) .outputItem('tfg:conifer_rosin') .id('tfg:vat/conifer_pitch_to_rosin'); event.recipes.tfc.pot('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000), 1200, 300) .itemOutput('tfg:conifer_rosin') .id('tfg:pot/conifer_pitch_to_rosin') // Decorative Vases global.MINECRAFT_DYE_NAMES.forEach(color => { event.recipes.gtceu.chemical_bath(`tfg:chemical_bath/dyeing/decorative_vase/unfired/${color}`) .itemInputs('#tfg:decorative_vases/unfired') .inputFluids(Fluid.of(`tfc:${color}_dye`, 25)) .itemOutputs(`tfg:decorative_vase/unfired/${color}`) .duration(80) .EUt(GTValues.VA[GTValues.ULV]) .category(GTRecipeCategories.CHEM_DYES) event.recipes.tfc.heating(`tfg:decorative_vase/unfired/${color}`, 1399) .resultItem(`tfg:decorative_vase/${color}`) .id(`tfg:heating/decorative_vase/unfired/${color}`) event.recipes.tfc.barrel_sealed(1000) .outputItem(`tfg:decorative_vase/unfired/${color}`) .inputItem(Ingredient.of('#tfg:decorative_vases/unfired').subtract(`tfg:decorative_vase/unfired/${color}`)) .inputFluid(Fluid.of(`tfc:${color}_dye`, 25)) .id(`tfg:barrel/dyeing/decorative_vase/${color}`) event.smelting( `1x tfg:decorative_vase/${color}`, `tfg:decorative_vase/unfired/${color}` ).id(`tfg:smelting/decorative_vase/${color}`) }) event.recipes.gtceu.chemical_bath(`tfg:chemical_bath/bleaching/decorative_vase/unfired`) .itemInputs('#tfg:decorative_vases/unfired') .inputFluids(Fluid.of('gtceu:chlorine', 72)) .itemOutputs('tfg:decorative_vase/unfired') .duration(80) .EUt(GTValues.VA[GTValues.ULV]) .category(GTRecipeCategories.CHEM_DYES) event.smelting( '1x tfg:decorative_vase', 'tfg:decorative_vase/unfired' ).id('tfg:smelting/decorative_vase') event.recipes.tfc.heating('tfg:decorative_vase/unfired', 1399) .resultItem('tfg:decorative_vase') .id('tfg:heating/decorative_vase/unfired') event.recipes.tfc.knapping( 'tfg:decorative_vase/unfired', 'tfc:clay', [ ' X X ', 'XX XX', 'X X', 'X X', 'XXXXX' ] ).outsideSlotRequired(false) .id('tfg:knapping/decorative_vase/unfired') // lactose & curd event.recipes.gtceu.mixer('lactose_milk_cow') .circuit(1) .inputFluids(Fluid.of('minecraft:milk', 1000), Fluid.of('gtceu:acetic_acid', 25)) .itemOutputs('1x gtceu:lactose_dust') .outputFluids(Fluid.of('tfc:curdled_milk', 1000)) .duration(300) .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer('lactose_milk_yak') .circuit(1) .inputFluids(Fluid.of('firmalife:yak_milk', 1000), Fluid.of('gtceu:acetic_acid', 25)) .itemOutputs('1x gtceu:lactose_dust') .outputFluids(Fluid.of('firmalife:curdled_yak_milk', 1000)) .duration(300) .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.mixer('lactose_milk_goat') .circuit(1) .inputFluids(Fluid.of('firmalife:goat_milk', 1000), Fluid.of('gtceu:acetic_acid', 25)) .itemOutputs('1x gtceu:lactose_dust') .outputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000)) .duration(300) .EUt(GTValues.VA[GTValues.LV]) //Scaffolding Frame event.shaped('tfg:scaffolding_frame', [ ' A ', 'ABA', ' A ' ], { A: '#forge:rods/wood', B: '#forge:cloth' }).id('tfg:shaped/scaffolding_frame'); event.recipes.gtceu.assembler('tfg:assembler/scaffolding_frame') .itemInputs('4x #forge:rods/wood', '#forge:cloth') .itemOutputs('tfg:scaffolding_frame') .duration(10) .EUt(GTValues.VA[GTValues.ULV]); //Airship Hull event.shaped('tfg:airship_hull', [ 'A B', 'C C', 'CCC' ], { A: '#forge:tools/screwdrivers', B: '#forge:tools/hammers', C: 'immersive_aircraft:hull' }).id('tfg:shaped/airship_hull'); event.recipes.gtceu.assembler('tfg:assembler/airship_hull') .itemInputs('5x immersive_aircraft:hull') .itemOutputs('tfg:airship_hull') .duration(40) .circuit(1) .EUt(GTValues.VA[GTValues.ULV]); //Airship Balloon event.recipes.tfc.damage_inputs_shaped_crafting( event.shaped('tfg:airship_balloon', [ 'ABA', 'BCB', 'ABA' ], { A: '#forge:string', B: 'immersive_aircraft:sail', C: 'tfc:bone_needle' }) ).id('tfg:shaped/airship_balloon') event.recipes.gtceu.assembler('tfg:assembler/airship_balloon') .itemInputs('4x immersive_aircraft:sail', '4x #forge:string') .itemOutputs('tfg:airship_balloon') .duration(40) .circuit(1) .EUt(GTValues.VA[GTValues.ULV]) // Steam bloomery event.shaped('gtceu:steam_bloomery', [ 'CEC', 'DAD', 'CBC' ], { A: 'tfc:bloomery', B: '#forge:frames/bronze', C: '#forge:rods/black_steel', D: '#forge:screws/wrought_iron', E: '#forge:tools/wrenches' }) // Arrow Parts event.recipes.tfc.knapping( '4x tfg:flint_arrow_head', 'tfg:flint', [ ' XXX', ' XXXX', 'XXXXX', ' XXX ', ' X ' ] ).outsideSlotRequired(false) .id('tfg:knapping/flint_arrow_head') event.recipes.gtceu.assembler('tfg:assembler/flint_arrow_head') .itemInputs('1x minecraft:flint') .itemOutputs('4x tfg:flint_arrow_head') .duration(20) .circuit(4) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.tfc.damage_inputs_shapeless_crafting( event.shapeless('4x tfg:fletching', [ 'minecraft:feather', '#forge:tools/knives' ]).id('tfg:shapeless/fletching')) event.recipes.gtceu.assembler('tfg:assembler/fletching') .itemInputs('1x minecraft:feather') .itemOutputs('4x tfg:fletching') .duration(20) .circuit(4) .EUt(GTValues.VA[GTValues.ULV]) event.shaped('4x minecraft:arrow', [ ' A ', ' B ', ' C ' ],{ A: 'tfg:flint_arrow_head', B: '#forge:rods/wooden', C: 'tfg:fletching' }).id('tfg:shaped/arrow') // Ice event.remove({id: 'gtceu:compressor/ice_from_dust' }) event.remove({id: 'gtceu:compressor/ice_from_snow' }) event.shapeless('#forge:dusts/ice', ['#forge:tools/mortars', '4x firmalife:ice_shavings']) .id('tfg:shaped/ice_shavings') event.recipes.tfc.quern('#forge:small_dusts/ice', 'firmalife:ice_shavings') .id('tfg:quern/ice_dust') event.recipes.gtceu.macerator('tfg:macerating_ice_shavings') .itemInputs('firmalife:ice_shavings') .itemOutputs('#forge:small_dusts/ice') .duration(10) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.macerator('tfg:macerating_ice_shavings_reverse') .itemInputs('#forge:dusts/ice') .itemOutputs('4x firmalife:ice_shavings') .duration(20) .EUt(GTValues.VA[GTValues.ULV]) event.shapeless('4x firmalife:ice_shavings', ['#forge:dusts/ice', '#forge:tools/hammers']) // Cooling water event.recipes.tfc.barrel_sealed(1000) .inputItem('1x #forge:dusts/ice') .inputFluid(Fluid.of('minecraft:water', 144)) .outputFluid(Fluid.of('gtceu:ice', 144)) .id('tfg:barrel/cooling_water_1') event.recipes.tfc.barrel_sealed(1000) .inputItem('16x minecraft:snowball') .inputFluid(Fluid.of('minecraft:water', 144)) .outputFluid(Fluid.of('gtceu:ice', 144)) .id('tfg:barrel/cooling_water_2') event.recipes.tfc.barrel_sealed(2000) .inputItem('1x #forge:dusts/ice') .inputFluid(Fluid.of('tfc:salt_water', 144)) .outputFluid(Fluid.of('gtceu:ice', 144)) .id('tfg:barrel/cooling_water_3') event.recipes.tfc.barrel_sealed(2000) .inputItem('16x minecraft:snowball') .inputFluid(Fluid.of('tfc:salt_water', 144)) .outputFluid(Fluid.of('gtceu:ice', 144)) .id('tfg:barrel/cooling_water_4') // Freezing it event.recipes.tfc.barrel_sealed(3000) .inputItem('9x #forge:dusts/ice') .inputFluid(Fluid.of('gtceu:ice', 144)) .outputItem('minecraft:packed_ice') .id('tfg:barrel/packed_ice') // Heating it back up event.recipes.tfc.pot([], Fluid.of('gtceu:ice', 144), 300, 100) .fluidOutput(Fluid.of('minecraft:water', 144)) event.recipes.firmalife.vat() .inputFluid(Fluid.of('gtceu:ice', 144)) .outputFluid(Fluid.of('minecraft:water', 144)) .length(300) .temperature(100) // Snow event.recipes.firmalife.stomping('minecraft:snow', 'minecraft:snowball', 'minecraft:block/snow', 'minecraft:block/snow', 'minecraft:block.snow.place') .id('tfg:stomping/snow_layer') event.shapeless('minecraft:snow_block', ['8x minecraft:snow']) .id('tfg:shapeless/snow_block') event.shapeless('8x minecraft:snowball', ['minecraft:snow_block']) .id('tfg:shapeless/snowball') event.shapeless('8x minecraft:snow', ['minecraft:snow_block', '#forge:tools/saws']) .id('tfg:shapeless/snow') //Cloth & String event.recipes.gtceu.wiremill('tfg:wiremill/phantom_thread') .itemInputs('1x minecraft:phantom_membrane') .itemOutputs('16x tfg:phantom_thread') .duration(100) .circuit(0) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.wiremill('tfg:wiremill/polycaprolactam_string') .itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Polycaprolactam, 1)) .itemOutputs('32x tfg:polycaprolactam_string') .duration(100) .circuit(0) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.assembler('tfg:assembler/phantom_silk') .itemInputs('16x tfg:phantom_thread') .itemOutputs('1x tfg:phantom_silk') .duration(100) .circuit(0) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.assembler('tfg:assembler/polycaprolactam_fabric') .itemInputs('16x tfg:polycaprolactam_string') .itemOutputs('1x tfg:polycaprolactam_fabric') .duration(100) .circuit(0) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.chemical_bath('tfg:chemical_bath/bleaching/polycaprolactam_string') .itemInputs('tfg:polycaprolactam_string') .inputFluids(Fluid.of('gtceu:chlorine', 16)) .itemOutputs('minecraft:string') .duration(80) .EUt(GTValues.VA[GTValues.ULV]) .category(GTRecipeCategories.CHEM_DYES) event.recipes.tfc.loom( '1x tfg:phantom_silk', '16x tfg:phantom_thread', 8, 'tfg:block/phantom_silk_block' ) event.recipes.tfc.loom( '1x tfg:polycaprolactam_fabric', '16x tfg:polycaprolactam_string', 8, 'tfg:block/polycaprolactam_fabric_block' ) event.recipes.tfc.damage_inputs_shapeless_crafting( event.shapeless('16x tfg:phantom_thread', [ 'minecraft:phantom_membrane', 'tfc:spindle' ]).id('tfg:shapeless/phantom_thread')) // Universal Circuit global.UNIVERSAL_CIRCUIT_TIERS.forEach(tier => { event.shapeless(Item.of(`tfg:${tier}_universal_circuit`, 1), [Ingredient.of([`#gtceu:circuits/${tier}`]).subtract([`tfg:${tier}_universal_circuit`])] ).id(`universal_circuits_${tier}`); }); // Air collector (move this to space stuff later) event.recipes.gtceu.gas_collector('nether') .circuit(2) .outputFluids(Fluid.of('gtceu:air', 10000)) .dimension('minecraft:the_nether') .duration(200) .EUt(16) event.shapeless('1x tfg:armor_stand_arms', [ 'minecraft:armor_stand' ]).id(`tfg:shapeless/armor_stand_arms`) event.shapeless('1x minecraft:armor_stand', [ 'tfg:armor_stand_arms' ]).id(`tfg:shapeless/armor_stand`) }