neuralgia/kubejs/server_scripts/tfc/recipes.js
Pyritie f324e7e6da
New content for ULV + LV (#2873)
* require black steel plates before the forge hammer, add some blue steel things post-deployer that require a colored steel anvil, start refractory clay dust

* first draft of bakelite, new phenolic boards, new cupro coils

* add another page to the medicine quest

* cl

* backup of lv quests

* quest stuff and some recipe tweaks

* tweak

---------

Co-authored-by: Redeix <redeix.m@gmail.com>
2026-01-26 18:10:22 -06:00

255 lines
7.5 KiB
JavaScript

// priority: 0
"use strict";
/**
*
* @param {Internal.RecipesEventJS} event
*/
const registerTFCRecipes = (event) => {
removeTFCRecipes(event)
registerTFCMetalsRecipes(event)
registerTFCDyeRecipes(event)
event.remove({ mod: 'tfc', type: 'tfc:casting' });
// Доменная печь
event.recipes.gtceu.shaped('tfc:blast_furnace', [
'AAA',
'ABA',
'AAA'
], {
A: '#forge:double_plates/wrought_iron',
B: 'tfc:crucible'
}).id('tfc:crafting/blast_furnace')
// Тыква -> Кусочки тыквы
event.recipes.tfc.advanced_shapeless_crafting(
TFC.itemStackProvider.of('4x tfc:food/pumpkin_chunks').copyFood(),
[TFC.ingredient.notRotten('tfc:pumpkin'), '#forge:tools/hammers'], 'tfc:pumpkin')
.id(`tfc:crafting/pumpkin_chunks_hammer`)
event.recipes.tfc.advanced_shapeless_crafting(
TFC.itemStackProvider.of('4x tfc:food/pumpkin_chunks').copyFood(),
[TFC.ingredient.notRotten('tfc:pumpkin'), '#tfc:knives'], 'tfc:pumpkin')
.id(`tfc:crafting/pumpkin_chunks_knife`)
// Flux + Lime
event.smelting('tfc:powder/lime', 'tfc:powder/flux')
.id('tfg:smelting/lime')
event.recipes.gtceu.macerator('flux')
.itemInputs('#tfc:fluxstone')
.itemOutputs('2x tfc:powder/flux')
.duration(30)
.EUt(2)
event.recipes.gtceu.forge_hammer('flux')
.itemInputs('#tfc:fluxstone')
.itemOutputs('2x tfc:powder/flux')
.duration(30)
.EUt(2)
event.recipes.greate.pressing('2x tfc:powder/flux', '#tfc:fluxstone')
.recipeTier(0)
.id('greate:pressing/flux')
// Salt Water
event.recipes.tfc.pot([], Fluid.of('tfc:salt_water', 625), 300, 100)
.itemOutput('gtceu:small_salt_dust')
.id('tfg:tfc/pot/salt')
generateMixerRecipe(event, ['#forge:dusts/salt'], "#tfg:clean_water 1000",
[], 2, Fluid.of('tfc:salt_water', 1000), 40, 7, 64, 'tfg:tfc/salt_water')
event.recipes.gtceu.centrifuge('centrifuging_tfc_salt_water')
.inputFluids(Fluid.of('tfc:salt_water', 1000))
.itemOutputs('1x gtceu:salt_dust')
.outputFluids(Fluid.of('minecraft:water', 1000))
.duration(51)
.EUt(30)
.circuit(1)
event.recipes.gtceu.electrolyzer('electrolyze_tfc_salt_water')
.inputFluids(Fluid.of('tfc:salt_water', 1000))
.itemOutputs('1x gtceu:sodium_hydroxide_dust', '2x gtceu:small_sodium_hydroxide_dust')
.outputFluids(Fluid.of('gtceu:chlorine', 500), Fluid.of('gtceu:hydrogen', 500))
.duration(720)
.EUt(30)
// Add circuit to gregtech salt water mixer recipe
event.remove({ id: 'gtceu:mixer/salt_water' })
generateMixerRecipe(event, ['2x #forge:dusts/salt'], Fluid.of('minecraft:water', 1000), [], 1, Fluid.of('gtceu:salt_water', 1000), 40, 7, 64, 'tfg:gtceu/salt_water')
event.recipes.tfc.barrel_instant()
.inputItem(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Salt, 1))
.inputFluid(Fluid.of('minecraft:water', 1000))
.outputFluid(Fluid.of('tfc:salt_water', 1000))
.id('tfg:barrel/water_to_salt_water')
event.recipes.tfc.barrel_instant()
.inputItem("tfc:powder/salt")
.inputFluid(Fluid.of('minecraft:water', 250))
.outputFluid(Fluid.of('tfc:salt_water', 250))
.id('tfg:barrel/water_to_salt_water_tfc')
// Seaweed and kelp
event.recipes.tfc.heating('tfc:groundcover/seaweed', 200)
.resultItem('tfc:food/dried_seaweed')
event.recipes.tfc.heating('tfc:plant/leafy_kelp', 200)
.resultItem('tfc:food/dried_kelp')
event.recipes.tfc.heating('tfc:plant/winged_kelp', 200)
.resultItem('tfc:food/dried_kelp')
// Burning Bread
event.recipes.tfc.heating('#tfc:foods/breads', 850)
// Soda Ash
event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_seaweed').id('tfg:smelting/dried_seaweed_to_soda')
event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_kelp').id('tfg:smelting/dried_kelp_to_soda')
//More accesible solar drier
event.replaceInput({ id: 'firmalife:crafting/solar_drier' }, 'gtceu:stainless_steel_rod', 'gtceu:silver_rod')
//Lye
generateMixerRecipe(event, 'tfc:powder/wood_ash', "#tfg:clean_water 200",
[], null, Fluid.of('tfc:lye', 200), 100, 2, 64, 'lye_from_wood_ash')
generateMixerRecipe(event, '#forge:dusts/sodium_hydroxide', "#tfg:clean_water 1000",
[], null, Fluid.of('tfc:lye', 1000), 100, 2, 64, 'lye_from_sodium_hydroxide')
event.recipes.gtceu.distillery('lye_to_sodium_hydroxide')
.inputFluids('tfc:lye 1000')
.itemOutputs('gtceu:sodium_hydroxide_dust')
.duration(100)
.EUt(2)
// Brass Mechanism
event.replaceInput({ input: 'tfc:brass_mechanisms' }, 'tfc:brass_mechanisms', 'gtceu:small_brass_gear')
// Rennet
event.recipes.gtceu.fermenter('tfg:fermenter/vegetable_rennet')
.itemInputs('#tfg:ferments_to_rennet')
.itemOutputs('firmalife:rennet')
.duration(400)
.EUt(16)
event.recipes.gtceu.fermenter('tfg:fermenter/biomass_rennet')
.inputFluids(Fluid.of('gtceu:fermented_biomass', 100))
.itemOutputs('firmalife:rennet')
.duration(2400)
.EUt(16)
// Brine
event.recipes.gtceu.mixer('tfg:tfc/brine')
.inputFluids(Fluid.of('tfc:salt_water', 900))
.inputFluids(Fluid.of('tfc:vinegar', 100))
.outputFluids(Fluid.of('tfc:brine', 1000))
.duration(100)
.EUt(16)
// LimeWater + Sand -> Mortar
event.recipes.gtceu.mixer('mortar')
.itemInputs('#forge:sand')
.inputFluids(Fluid.of('tfc:limewater', 100))
.itemOutputs('16x tfc:mortar')
.duration(800)
.EUt(8)
// Jar lids
event.shapeless('8x tfc:jar_lid', [
'gtceu:tin_ingot',
'#forge:tools/hammers',
'#forge:tools/saws'
]).id('tfc:shapeless/jar_lid')
event.replaceInput({ mod: 'tfc' }, 'minecraft:sugar', '#tfg:sugars')
// jute net -> burlap net
event.replaceInput({ id: 'tfc:crafting/jute_net' }, 'tfc:jute_fiber', '#tfg:burlap_fiber')
// horse armor to use burlap
global.TFC_EQUIPMENT_METALS.forEach(material => {
event.replaceInput({ id: `tfc:crafting/${material}_horse_armor` }, `tfc:jute_fiber`, `#tfg:burlap_fiber`)
})
event.recipes.gtceu.centrifuge('tfg:soot')
.itemInputs('tfc:soot')
.itemOutputs('#forge:dusts/carbon')
.duration(20)
.EUt(2)
event.recipes.gtceu.extruder('tfg:wrought_iron_grill_electric_only')
.itemInputs('2x #forge:plates/wrought_iron')
.notConsumable('tfg:large_casing_extruder_mold')
.itemOutputs('tfc:wrought_iron_grill')
.duration(60)
.EUt(8)
// acetic acid to vinegar conversion
event.recipes.gtceu.mixer('vinegar_from_acetic_acid')
.inputFluids(
Fluid.of('minecraft:water', 950),
Fluid.of('gtceu:acetic_acid', 50)
)
.outputFluids(
Fluid.of('tfc:vinegar', 1000)
)
.circuit(1)
.duration(30)
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.distillery('acetic_acid_from_vinegar')
.inputFluids(
Fluid.of('tfc:vinegar', 1000)
)
.outputFluids(
Fluid.of('gtceu:acetic_acid', 50)
)
.circuit(1)
.duration(50)
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.distillery('water_from_vinegar')
.inputFluids(
Fluid.of('tfc:vinegar', 1000)
)
.outputFluids(
Fluid.of('minecraft:water', 950)
)
.circuit(2)
.duration(50)
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.distillation_tower('vinegar_distillation')
.inputFluids(
Fluid.of('tfc:vinegar', 1000)
)
.outputFluids(
Fluid.of('gtceu:acetic_acid', 50),
Fluid.of('minecraft:water', 950)
)
.duration(80)
.EUt(GTValues.VA[GTValues.MV])
// fix alcohol tag for vinegar
event.recipes.tfc.barrel_sealed(8000)
.inputs('#tfc:foods/fruits', TFC.fluidStackIngredient('#tfg:alcohols', 250))
.outputFluid(Fluid.of('tfc:vinegar', 250))
.id('tfc:barrel/vinegar')
// Borax to flux
event.recipes.tfc.quern('4x tfc:powder/flux', 'gtceu:borax_dust')
.id(`tfg:quern/borax`)
event.recipes.gtceu.macerator('borax_to_flux')
.itemInputs("#forge:dusts/borax")
.itemOutputs("4x tfc:powder/flux")
.duration(50)
.EUt(2);
event.shapeless('4x tfc:fire_clay', ['tfc:fire_clay_block'])
}