neuralgia/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.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

289 lines
11 KiB
JavaScript

// priority: 0
"use strict";
/**
* @param {Internal.RecipesEventJS} event
*/
function registerTFGAlloyingRecipes(event) {
// #region Colored steels
event.replaceInput('gtceu:shaped/lv_machine_hull', '#forge:plates/wrought_iron', '#forge:plates/red_steel')
event.remove({id:'gtceu:electric_blast_furnace/blast_black_steel_gas'})
event.remove({id:'gtceu:electric_blast_furnace/blast_black_steel'})
event.remove({id:'gtceu:electric_blast_furnace/blast_red_steel_gas'})
event.remove({id:'gtceu:electric_blast_furnace/blast_red_steel'})
event.remove({id:'gtceu:electric_blast_furnace/blast_blue_steel_gas'})
event.remove({id:'gtceu:electric_blast_furnace/blast_blue_steel'})
event.recipes.gtceu.electric_blast_furnace('blast_black_steel_gas_mv')
.itemInputs('gtceu:black_steel_dust')
.itemOutputs('tfc:metal/ingot/black_steel')
.inputFluids(Fluid.of('gtceu:nitrogen', 1000))
.duration(469)
.circuit(2)
.EUt(GTValues.VA[GTValues.MV])
.blastFurnaceTemp(1000)
event.recipes.gtceu.electric_blast_furnace('blast_black_steel_mv')
.itemInputs('gtceu:black_steel_dust')
.itemOutputs('tfc:metal/ingot/black_steel')
.duration(700)
.circuit(1)
.EUt(GTValues.VA[GTValues.MV])
.blastFurnaceTemp(1000)
event.recipes.gtceu.electric_blast_furnace('blast_red_steel_gas_mv')
.itemInputs('gtceu:red_steel_dust')
.itemOutputs('tfc:metal/ingot/red_steel')
.inputFluids(Fluid.of('gtceu:nitrogen', 1000))
.duration(670)
.circuit(2)
.EUt(GTValues.VA[GTValues.MV])
.blastFurnaceTemp(1000)
event.recipes.gtceu.electric_blast_furnace('blast_red_steel_mv')
.itemInputs('gtceu:red_steel_dust')
.itemOutputs('tfc:metal/ingot/red_steel')
.duration(1000)
.circuit(1)
.EUt(GTValues.VA[GTValues.MV])
.blastFurnaceTemp(1000)
event.recipes.gtceu.electric_blast_furnace('blast_blue_steel_gas_mv')
.itemInputs('gtceu:blue_steel_dust')
.itemOutputs('tfc:metal/ingot/blue_steel')
.inputFluids(Fluid.of('gtceu:nitrogen', 1000))
.duration(670)
.circuit(2)
.EUt(GTValues.VA[GTValues.MV])
.blastFurnaceTemp(1000)
event.recipes.gtceu.electric_blast_furnace('blast_blue_steel_mv')
.itemInputs('gtceu:blue_steel_dust')
.itemOutputs('tfc:metal/ingot/blue_steel')
.duration(1000)
.circuit(1)
.EUt(GTValues.VA[GTValues.MV])
.blastFurnaceTemp(1000)
event.remove({ id: 'greate:mixing/integration/gtceu/mixer/red_steel' })
event.remove({ id: 'greate:mixing/integration/gtceu/mixer/blue_steel' })
event.recipes.greate.mixing('#forge:dusts/weak_red_steel',
['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/brass', '#forge:dusts/rose_gold'])
.recipeTier(1)
.circuitNumber(2)
.heated()
.id('tfg:weak_red_steel_greate')
event.recipes.greate.mixing('#forge:dusts/weak_blue_steel',
['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/bismuth_bronze', '#forge:dusts/sterling_silver'])
.recipeTier(1)
.circuitNumber(2)
.heated()
.id('tfg:weak_blue_steel_greate')
event.recipes.greate.mixing('#forge:dusts/red_steel',
['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/brass', '#forge:dusts/rose_gold'])
.recipeTier(2)
.circuitNumber(1)
.id('tfg:red_steel_greate')
event.recipes.greate.mixing('#forge:dusts/blue_steel',
['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/bismuth_bronze', '#forge:dusts/sterling_silver'])
.recipeTier(2)
.circuitNumber(1)
.id('tfg:blue_steel_greate')
//#endregion
//#region add regular furnace recipes for other tfc alloys
event.remove({ id: 'gtceu:electric_blast_furnace/blast_bismuth_bronze' })
event.remove({ id: 'gtceu:electric_blast_furnace/blast_bismuth_bronze_gas' })
event.remove({ id: 'gtceu:electric_blast_furnace/blast_black_bronze' })
event.remove({ id: 'gtceu:electric_blast_furnace/blast_black_bronze_gas' })
event.remove({ id: 'gtceu:vacuum_freezer/cool_hot_black_bronze_ingot' })
event.remove({ id: 'gtceu:electric_blast_furnace/blast_sterling_silver' })
event.remove({ id: 'gtceu:electric_blast_furnace/blast_sterling_silver_gas' })
event.remove({ id: 'gtceu:electric_blast_furnace/blast_rose_gold' })
event.remove({ id: 'gtceu:electric_blast_furnace/blast_rose_gold_gas' })
event.smelting('gtceu:bismuth_bronze_ingot', '#forge:dusts/bismuth_bronze')
.id('tfg:smelting/bismuth_bronze_ingot')
event.smelting('gtceu:black_bronze_ingot', '#forge:dusts/black_bronze')
.id('tfg:smelting/black_bronze_ingot')
event.smelting('gtceu:sterling_silver_ingot', '#forge:dusts/sterling_silver')
.id('tfg:smelting/sterling_silver_ingot')
event.smelting('gtceu:rose_gold_ingot', '#forge:dusts/rose_gold')
.id('tfg:smelting/rose_gold_ingot')
event.recipes.gtceu.alloy_blast_smelter('tfg:abs_bismuth_bronze')
.itemInputs('1x gtceu:bismuth_dust', '3x gtceu:copper_dust', '1x gtceu:zinc_dust')
.outputFluids(Fluid.of('gtceu:bismuth_bronze', 720))
.circuit(4)
.blastFurnaceTemp(1357)
.duration(300)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.alloy_blast_smelter('tfg:abs_black_bronze')
.itemInputs('3x gtceu:copper_dust', '1x gtceu:gold_dust', '1x gtceu:silver_dust')
.outputFluids(Fluid.of('gtceu:black_bronze', 720))
.circuit(4)
.blastFurnaceTemp(1357)
.duration(300)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.mixer('tfg:bismuth_bronze_from_raw')
.itemInputs('1x gtceu:bismuth_dust', '3x gtceu:copper_dust', '1x gtceu:zinc_dust')
.itemOutputs('5x gtceu:bismuth_bronze_dust')
.circuit(2)
.duration(100)
.EUt(7)
event.recipes.gtceu.mixer('tfg:black_bronze_from_raw')
.itemInputs('3x gtceu:copper_dust', '1x gtceu:gold_dust', '1x gtceu:silver_dust')
.itemOutputs('5x gtceu:black_bronze_dust')
.circuit(2)
.duration(100)
.EUt(7)
//#endregion
// Rose Gold + Sterling Silver
const copper_types = [
"#forge:ingots/copper",
"#forge:dusts/copper",
"#forge:ingots/annealed_copper",
"#forge:dusts/annealed_copper"
];
const gold_types = [
"#forge:ingots/gold",
"#forge:dusts/gold"
];
const silver_types = [
"#forge:ingots/silver",
"#forge:dusts/silver"
];
copper_types.forEach(copper_types_array => {
gold_types.forEach(gold_types_array => {
const id = linuxUnfucker(`${copper_types_array}_and_${gold_types_array}`.replace(/#/g, ""));
event.recipes.gtceu.alloy_smelter(`tfg:rose_gold_from_${id}`)
.itemInputs(Ingredient.of(copper_types_array).withCount(1), Ingredient.of(gold_types_array).withCount(4))
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RoseGold, 5))
.duration(20*10)
.EUt(GTValues.VA[GTValues.LV])
});
silver_types.forEach(silver_types_array => {
const id = linuxUnfucker(`${copper_types_array}_and_${silver_types_array}`.replace(/#/g, ""));
event.recipes.gtceu.alloy_smelter(`tfg:sterling_silver_from_${id}`)
.itemInputs(Ingredient.of(copper_types_array).withCount(1), Ingredient.of(silver_types_array).withCount(4))
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.SterlingSilver, 5))
.duration(20*10)
.EUt(GTValues.VA[GTValues.LV])
});
});
event.remove({ id: 'gtceu:mixer/red_alloy' })
// incorrect on purpose to prevent a greate duplicate recipe (the id becomes mixer/mixer/red_alloy)
event.recipes.gtceu.mixer('gtceu:mixer/red_alloy')
.itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone')
.itemOutputs('5x gtceu:red_alloy_dust')
.circuit(2)
.duration(100)
.EUt(7)
event.recipes.gtceu.centrifuge('red_alloy_separation')
.itemInputs('5x gtceu:red_alloy_dust')
.itemOutputs('1x gtceu:copper_dust', '4x minecraft:redstone')
.duration(900)
.EUt(30)
event.recipes.gtceu.alloy_smelter('copper_dust_and_redstone_dust_into_red_alloy')
.itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone')
.itemOutputs('5x gtceu:red_alloy_ingot')
.duration(50)
.EUt(16)
event.recipes.gtceu.alloy_smelter('annealed_copper_dust_and_redstone_dust_into_red_alloy')
.itemInputs('1x gtceu:annealed_copper_dust', '4x minecraft:redstone')
.itemOutputs('5x gtceu:red_alloy_ingot')
.duration(50)
.EUt(16)
event.recipes.gtceu.alloy_smelter('copper_ingot_and_redstone_dust_into_red_alloy')
.itemInputs('1x minecraft:copper_ingot', '4x minecraft:redstone')
.itemOutputs('5x gtceu:red_alloy_ingot')
.duration(50)
.EUt(16)
event.recipes.gtceu.alloy_smelter('annealed_copper_ingot_and_redstone_dust_into_red_alloy')
.itemInputs('1x gtceu:annealed_copper_ingot', '4x minecraft:redstone')
.itemOutputs('5x gtceu:red_alloy_ingot')
.duration(50)
.EUt(16)
event.remove({ id: 'gtceu:mixer/sterling_silver' })
generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/silver'], [], '5x gtceu:sterling_silver_dust',
1, [], 500, 7, 64, 'gtceu:mixer/sterling_silver')
event.remove({ id: 'gtceu:mixer/rose_gold' })
generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/gold'], [], '5x gtceu:rose_gold_dust',
3, [], 500, 7, 64, 'gtceu:mixer/rose_gold')
// Glowstone
event.recipes.gtceu.mixer('tfg:lv_glowstone')
.itemInputs('gtceu:gold_dust', 'minecraft:redstone', 'gtceu:sulfur_dust')
.itemOutputs('2x minecraft:glowstone_dust')
.circuit(8)
.duration(1200)
.EUt(30)
event.recipes.gtceu.alloy_blast_smelter('tfg:liquid_glowstone')
.itemInputs('10x #forge:dusts/gold', '10x #forge:dusts/redstone', '10x #forge:dusts/sulfur')
.outputFluids(Fluid.of('gtceu:glowstone', 2880))
.circuit(9)
.blastFurnaceTemp(1064)
.duration(12000)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.implosion_compressor('tfg:glowstone_block_dynamite')
.itemInputs('5x #forge:dusts/glowstone', '2x gtceu:dynamite')
.itemOutputs('1x minecraft:glowstone')
.chancedOutput('#forge:dusts/ash', 2500, 0)
.duration(20)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.implosion_compressor('tfg:glowstone_block_tnt')
.itemInputs('5x #forge:dusts/glowstone', '4x minecraft:tnt')
.itemOutputs('1x minecraft:glowstone')
.chancedOutput('#forge:dusts/ash', 2500, 0)
.duration(20)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.implosion_compressor('tfg:glowstone_block_industrial_tnt')
.itemInputs('5x #forge:dusts/glowstone', '1x gtceu:industrial_tnt')
.itemOutputs('1x minecraft:glowstone')
.chancedOutput('#forge:dusts/ash', 2500, 0)
.duration(20)
.EUt(GTValues.VA[GTValues.LV])
// New Alloys
event.recipes.gtceu.mixer('tfg:ostrum_iodide')
.itemInputs('1x #forge:dusts/iodine', '2x #forge:dusts/ostrum')
.itemOutputs('3x #forge:dusts/ostrum_iodide')
.duration(20 * 12)
.circuit(1)
.EUt(GTValues.VA[GTValues.EV])
event.recipes.gtceu.mixer('tfg:tungsten_bismuth_oxide_composite')
.itemInputs('2x #forge:dusts/bismuth', 'gtceu:tungsten_dust')
.inputFluids(Fluid.of('gtceu:oxygen', 3000))
.itemOutputs('3x tfg:tungsten_bismuth_oxide_composite_dust')
.duration(20 * 12)
.EUt(GTValues.VA[GTValues.EV])
}