Merge branch 'dev' into feature/space

This commit is contained in:
Pyritie 2025-05-05 16:08:00 +01:00
commit 38219fdb98
93 changed files with 3800 additions and 2564 deletions

View file

@ -876,15 +876,15 @@ const registerAE2Recipes = (event) => {
// Wireless Crafting Terminal
event.recipes.gtceu.assembler('ae2:wireless_crafting_terminal')
.itemInputs(
'2x gtceu:hv_lithium_battery',
'2x gtceu:luv_sensor',
'gtceu:luv_emitter',
'2x #forge:rods/osmiridium',
'2x #gtceu:batteries/ev',
'2x gtceu:ev_sensor',
'gtceu:ev_emitter',
'2x #forge:rods/ultimet',
'ae2:wireless_terminal',
'ae2:crafting_terminal')
.itemOutputs('ae2:wireless_crafting_terminal')
.duration(30)
.EUt(250)
.duration(300)
.EUt(GTValues.VA[GTValues.EV])
//#region Storage Components
@ -2161,16 +2161,6 @@ const registerAE2Recipes = (event) => {
.duration(60)
.EUt(256)
//charger
event.recipes.gtceu.assembler('ae2:charger')
.itemInputs(
'gtceu:hv_battery_buffer_4x',
'4x gtceu:mercury_barium_calcium_cuprate_quadruple_wire',)
.inputFluids(Fluid.of('tfg:fluix', 476))
.itemOutputs('ae2:charger')
.duration(200)
.EUt(480)
// Fluix block
event.recipes.gtceu.fluid_solidifier('ae2:solidify_fluix_block')

View file

@ -13,30 +13,28 @@ const registerAE2WTLibRecipes = (event) => {
// Wireless Pattern Terminal
event.recipes.gtceu.assembler('ae2wtlib:wireless_pattern_encoding_terminal')
.itemInputs(
'2x gtceu:hv_lithium_battery',
'2x #gtceu:batteries/ev',
'ae2:wireless_terminal',
'ae2:pattern_encoding_terminal',
'2x gtceu:luv_sensor',
'gtceu:luv_emitter',
'2x #forge:rods/osmiridium',
)
'2x gtceu:ev_sensor',
'gtceu:ev_emitter',
'2x #forge:rods/ultimet')
.itemOutputs('ae2wtlib:wireless_pattern_encoding_terminal')
.duration(30)
.EUt(250)
.duration(300)
.EUt(GTValues.VA[GTValues.EV])
// Pattern Access Terminal
event.recipes.gtceu.assembler('ae2wtlib:wireless_pattern_access_terminal')
.itemInputs(
'2x gtceu:hv_lithium_battery',
'2x #gtceu:batteries/ev',
'ae2:wireless_terminal',
'ae2:pattern_access_terminal',
'2x gtceu:luv_sensor',
'gtceu:luv_emitter',
'2x #forge:rods/osmiridium'
)
'2x gtceu:ev_sensor',
'gtceu:ev_emitter',
'2x #forge:rods/ultimet')
.itemOutputs('ae2wtlib:wireless_pattern_access_terminal')
.duration(30)
.EUt(250)
.duration(300)
.EUt(GTValues.VA[GTValues.EV])
// Magnet Card
event.recipes.gtceu.assembler('ae2wtlib:magnet_card')
@ -44,12 +42,9 @@ const registerAE2WTLibRecipes = (event) => {
'#forge:ingots/magnetic_neodymium',
'4x #forge:rods/magnetic_neodymium',
'ae2:advanced_card',
'ae2:annihilation_plane',
'#forge:plates/redstone',
'#forge:plates/lapis',
)
'ae2:annihilation_plane')
.itemOutputs('ae2wtlib:magnet_card')
.duration(30)
.duration(300)
.EUt(250)
// Quantum Bridge Card
@ -70,4 +65,19 @@ const registerAE2WTLibRecipes = (event) => {
.itemOutputs('ae2wtlib:quantum_bridge_card')
.duration(300)
.EUt(64000)
event.remove({ output: 'ae2wtlib:wireless_universal_terminal' })
event.recipes.gtceu.assembler('ae2wtlib:wireless_universal_terminal')
.itemInputs(
'ae2:wireless_crafting_terminal',
'ae2wtlib:wireless_pattern_encoding_terminal',
'ae2wtlib:wireless_pattern_access_terminal',
'1x gtceu:iv_sensor',
'1x gtceu:iv_emitter',
'2x #forge:plates/rhodium')
.itemOutputs(Item.of('ae2wtlib:wireless_universal_terminal', '{crafting:1b, pattern_access:1b, pattern_encoding:1b}'))
.duration(300)
.EUt(GTValues.VA[GTValues.IV])
}

View file

@ -155,27 +155,45 @@ const registerAFCRecipes = (event) => {
.id("tfg:tree_tapping/ancient_douglas_fir_resin")
//#region Выход: Сырая резиновая пыль
// Removed in favor of making these output latex
// // Из бревна капока
// event.recipes.gtceu.extractor('raw_rubber_from_log')
// .itemInputs('#tfg:latex_logs')
// .itemOutputs('gtceu:raw_rubber_dust')
// .duration(300)
// .EUt(2)
// Из бревна капока
event.recipes.gtceu.extractor('raw_rubber_from_log')
.itemInputs('#tfg:latex_logs')
.itemOutputs('gtceu:raw_rubber_dust')
.duration(300)
.EUt(2)
// // Из саженца капока
// event.recipes.gtceu.extractor('raw_rubber_from_sapling')
// .itemInputs('1x #tfg:rubber_saplings')
// .itemOutputs('gtceu:raw_rubber_dust')
// .duration(300)
// .EUt(2)
// Из саженца капока
event.recipes.gtceu.extractor('raw_rubber_from_sapling')
.itemInputs('1x #tfg:rubber_saplings')
.itemOutputs('gtceu:raw_rubber_dust')
.duration(300)
.EUt(2)
// // Из листвы капока
// event.recipes.gtceu.extractor('raw_rubber_from_leaves')
// .itemInputs('16x #tfg:rubber_leaves')
// .itemOutputs('gtceu:raw_rubber_dust')
// .duration(300)
// .EUt(2)
// Из листвы капока
event.recipes.gtceu.extractor('raw_rubber_from_leaves')
.itemInputs('16x #tfg:rubber_leaves')
.itemOutputs('gtceu:raw_rubber_dust')
.duration(300)
.EUt(2)
event.recipes.gtceu.extractor('latex_from_log')
.itemInputs('4x #tfg:latex_logs')
.outputFluids(Fluid.of('tfg:latex', 1000))
.duration(600)
.EUt(20)
event.recipes.gtceu.extractor('latex_from_sapling')
.itemInputs('10x #tfg:rubber_saplings')
.outputFluids(Fluid.of('tfg:latex', 1000))
.duration(750)
.EUt(20)
event.recipes.gtceu.extractor('latex_from_leaves')
.itemInputs('20x #tfg:rubber_leaves')
.outputFluids(Fluid.of('tfg:latex', 1000))
.duration(750)
.EUt(20)
event.replaceOutput({ id: 'gtceu:centrifuge/sticky_resin_separation' }, 'gtceu:raw_rubber_dust', '3x gtceu:carbon_dust')

View file

@ -59,6 +59,9 @@ const registerAFCItemTags = (event) => {
event.add("tfg:rubber_leaves", "afc:wood/leaves/red_silk_cotton")
event.add("tfg:rubber_leaves", "afc:wood/leaves/hevea")
event.add("tfg:rubber_leaves", "afc:wood/leaves/rubber_fig")
event.add("tfg:rubber_plants", "tfc:plant/goldenrod")
event.add("tfg:rubber_plants", "tfc:plant/dandelion")
}

View file

@ -3,7 +3,7 @@
const registerComputerCraftData = (event) => {
const TURTLE_TOOL_TYPES = [ GTToolType.SWORD, GTToolType.PICKAXE, GTToolType.AXE, GTToolType.SHOVEL, GTToolType.HOE ]
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
forEachMaterial(material => {
TURTLE_TOOL_TYPES.forEach(type => {
let toolStack = ToolHelper.get(type, material)

View file

@ -181,7 +181,7 @@ const registerCreateRecipes = (event) => {
}).id('tfg:create/shaped/fluid_pipe')
event.recipes.gtceu.assembler('tfg:create/fluid_pipe')
.itemInputs('4x #forge:plates/copper')
.itemInputs('2x #forge:plates/copper')
.circuit(3)
.itemOutputs('create:fluid_pipe')
.duration(200)
@ -205,7 +205,7 @@ const registerCreateRecipes = (event) => {
}).id('tfg:create/shaped/copper_valve_handle')
event.recipes.gtceu.assembler('tfg:create/copper_valve_handle')
.itemInputs('4x #forge:plates/copper', '#forge:small_gears/wrought_iron')
.itemInputs('#forge:plates/copper', '#forge:small_gears/wrought_iron')
.circuit(6)
.itemOutputs('create:copper_valve_handle')
.duration(200)
@ -274,7 +274,7 @@ const registerCreateRecipes = (event) => {
}).id('tfg:create/shaped/steam_engine')
event.recipes.gtceu.assembler('tfg:create/steam_engine')
.itemInputs('2x #forge:screws/wrought_iron', '#forge:plates/brass', '2x #forge:rods/red_steel', '#forge:small_gears/steel', '#forge:storage_blocks/copper')
.itemInputs('2x #forge:screws/wrought_iron', '#forge:plates/brass', '2x #forge:rods/black_steel', '#forge:small_gears/steel', '#forge:storage_blocks/copper')
.circuit(3)
.itemOutputs('create:steam_engine')
.duration(200)
@ -641,7 +641,7 @@ const registerCreateRecipes = (event) => {
}).id('tfg:create/shaped/item_vault')
event.recipes.gtceu.assembler('tfg:create/item_vault')
.itemInputs('3x #forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screws/steel')
.itemInputs('#forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screws/steel')
.circuit(3)
.itemOutputs('create:item_vault')
.duration(200)
@ -1264,7 +1264,7 @@ const registerCreateRecipes = (event) => {
]).transitionalItem('create:incomplete_precision_mechanism').loops(3).id('tfg:create/sequenced_assembly/precision_mechanism')
event.recipes.gtceu.assembler('tfg:create/precision_mechanism')
.itemInputs('#forge:plates/gold', '3x #forge:small_springs/gold', '3x #forge:small_gears/brass', '3x #forge:bolts/wrought_iron')
.itemInputs('#forge:plates/gold', '2x #forge:small_springs/gold', '2x #forge:small_gears/brass', '2x #forge:bolts/wrought_iron')
.itemOutputs('create:precision_mechanism')
.duration(2000)
.EUt(20)

View file

@ -81,9 +81,9 @@ const registerCreateAdditionsRecipes = (event) => {
}).id('tfg:createadditions/shaped/electric_motor')
event.shaped('createaddition:alternator', [
'ACA',
'FDB',
'ECE'
'AEA',
'CDC',
'BFB'
], {
A: '#gtceu:resistors',
B: '#gtceu:circuits/lv',

View file

@ -201,51 +201,37 @@ const registerExtendedAE2Recipes = (event) => {
//#region bus
//ex import bus part
event.recipes.gtceu.assembly_line('expatternprovider:ex_import_bus_part')
event.recipes.gtceu.assembler('expatternprovider:ex_import_bus_part')
.itemInputs(
'2x #forge:plates/tungsten_steel',
'8x ae2:calculation_processor',
'4x megacells:accumulation_processor',
'4x ae2:annihilation_core',
'2x ae2:import_bus',
'2x gtceu:iv_conveyor_module',
'2x gtceu:iv_electric_pump',
'gtceu:iv_robot_arm',
'4x #forge:rods/tungsten_steel',
'8x #forge:bolts/tungsten_steel',
'4x ae2:speed_card',)
.inputFluids(Fluid.of('gtceu:polybenzimidazole', 144))
'1x #forge:plates/stainless_steel',
'2x ae2:annihilation_core',
'2x gtceu:hv_robot_arm',
'1x megacells:accumulation_processor')
.inputFluids(Fluid.of('gtceu:polyvinyl_chloride', 144))
.itemOutputs('expatternprovider:ex_import_bus_part')
.circuit(2)
.duration(200)
.EUt(7680)
.cleanroom(CleanroomType.CLEANROOM)
.EUt(GTValues.VA[GTValues.HV])
//ex export bus part
event.recipes.gtceu.assembly_line('expatternprovider:ex_export_bus_part')
event.recipes.gtceu.assembler('expatternprovider:ex_export_bus_part')
.itemInputs(
'2x #forge:plates/tungsten_steel',
'8x ae2:calculation_processor',
'4x megacells:accumulation_processor',
'4x ae2:formation_core',
'2x ae2:export_bus',
'2x gtceu:iv_conveyor_module',
'2x gtceu:iv_electric_pump',
'gtceu:iv_robot_arm',
'4x #forge:rods/tungsten_steel',
'8x #forge:bolts/tungsten_steel',
'4x ae2:speed_card',)
.inputFluids(Fluid.of('gtceu:polybenzimidazole', 144))
.itemOutputs('expatternprovider:ex_export_bus_part')
.duration(200)
.EUt(7680)
.cleanroom(CleanroomType.CLEANROOM)
'1x #forge:plates/stainless_steel',
'2x ae2:formation_core',
'2x gtceu:hv_robot_arm',
'1x megacells:accumulation_processor')
.inputFluids(Fluid.of('gtceu:polyvinyl_chloride', 144))
.itemOutputs('expatternprovider:ex_export_bus_part')
.circuit(3)
.duration(200)
.EUt(GTValues.VA[GTValues.HV])
//tag export bus
event.recipes.gtceu.assembler('expatternprovider:tag_export_bus')
.itemInputs(
'expatternprovider:ex_export_bus_part',
'ae2:export_bus',
'2x ae2:logic_processor',
'gtceu:digital_interface_cover',)
'#gtceu:circuits/ulv')
.itemOutputs('expatternprovider:tag_export_bus')
.duration(100)
.EUt(480)
@ -255,7 +241,7 @@ const registerExtendedAE2Recipes = (event) => {
.itemInputs(
'ae2:storage_bus',
'2x ae2:logic_processor',
'gtceu:digital_interface_cover',)
'#gtceu:circuits/ulv')
.itemOutputs('expatternprovider:tag_storage_bus')
.duration(100)
.EUt(480)
@ -263,9 +249,9 @@ const registerExtendedAE2Recipes = (event) => {
//mod export bus
event.recipes.gtceu.assembler('expatternprovider:mod_export_bus')
.itemInputs(
'expatternprovider:ex_export_bus_part',
'ae2:export_bus',
'2x ae2:calculation_processor',
'gtceu:digital_interface_cover',)
'#gtceu:circuits/ulv')
.itemOutputs('expatternprovider:mod_export_bus')
.duration(100)
.EUt(480)
@ -275,7 +261,7 @@ const registerExtendedAE2Recipes = (event) => {
.itemInputs(
'ae2:storage_bus',
'2x ae2:calculation_processor',
'gtceu:digital_interface_cover',)
'#gtceu:circuits/ulv')
.itemOutputs('expatternprovider:mod_storage_bus')
.duration(100)
.EUt(480)
@ -283,8 +269,9 @@ const registerExtendedAE2Recipes = (event) => {
//precise export bus
event.recipes.gtceu.assembler('expatternprovider:precise_export_bus')
.itemInputs(
'expatternprovider:ex_export_bus_part',
'2x ae2:calculation_processor',)
'ae2:export_bus',
'2x ae2:engineering_processor',
'#gtceu:circuits/ulv')
.itemOutputs('expatternprovider:precise_export_bus')
.duration(100)
.EUt(480)
@ -293,7 +280,8 @@ const registerExtendedAE2Recipes = (event) => {
event.recipes.gtceu.assembler('expatternprovider:precise_storage_bus')
.itemInputs(
'ae2:storage_bus',
'2x ae2:calculation_processor',)
'2x ae2:engineering_processor',
'#gtceu:circuits/ulv')
.itemOutputs('expatternprovider:precise_storage_bus')
.duration(100)
.EUt(480)
@ -301,34 +289,20 @@ const registerExtendedAE2Recipes = (event) => {
//threshold export bus
event.recipes.gtceu.assembler('expatternprovider:threshold_export_bus')
.itemInputs(
'expatternprovider:ex_export_bus_part',
'ae2:export_bus',
'2x ae2:logic_processor',
'ae2:level_emitter',)
'ae2:level_emitter')
.itemOutputs('expatternprovider:threshold_export_bus')
.duration(100)
.EUt(480)
//#endregion
//caner
event.recipes.gtceu.assembler('expatternprovider:caner')
.itemInputs(
'#forge:frames/stainless_steel',
'expatternprovider:ingredient_buffer',
'ae2:import_bus',
'ae2:export_bus',
'2x ae2:calculation_processor')
.itemOutputs('expatternprovider:caner')
.duration(100)
.EUt(480)
//active formation plane
event.recipes.gtceu.assembler('expatternprovider:active_formation_plane')
.itemInputs(
'ae2:formation_plane',
'expatternprovider:ex_export_bus_part',
'expatternprovider:export_bus',
'2x ae2:engineering_processor')
.itemOutputs('expatternprovider:active_formation_plane')
.duration(100)
@ -349,7 +323,7 @@ const registerExtendedAE2Recipes = (event) => {
.itemInputs(
'ae2:level_emitter',
'2x minecraft:redstone_torch',
'2x ae2:calculation_processor',)
'2x ae2:calculation_processor')
.itemOutputs('expatternprovider:threshold_level_emitter')
.duration(100)
.EUt(480)
@ -383,13 +357,12 @@ const registerExtendedAE2Recipes = (event) => {
//me packing tape
event.recipes.gtceu.assembler('expatternprovider:me_packing_tape')
.itemInputs(
'#forge:rods/stainless_steel',
'8x #forge:dusts/fluix',
'4x #forge:plates/paper',)
'4x #forge:dusts/fluix',
'2x #forge:plates/paper')
.inputFluids(Fluid.of('gtceu:glue', 144))
.itemOutputs(Item.of('expatternprovider:me_packing_tape', '{Damage:0}'))
.duration(100)
.EUt(1920)
.EUt(GTValues.VA[GTValues.MV])
//ex pattern access
event.recipes.gtceu.assembler('expatternprovider:ex_pattern_access_part')
@ -527,21 +500,6 @@ const registerExtendedAE2Recipes = (event) => {
.duration(200)
.EUt(1920)
event.recipes.gtceu.assembler('expatternprovider:ex_charger')
.itemInputs(
'4x ae2:charger',
'4x ae2:storage_bus',
'ae2:cable_interface',
'4x #forge:double_wires/uranium_triplatinum',
'4x ae2:logic_processor',
'4x ae2:engineering_processor',
'2x megacells:accumulation_processor',
)
.itemOutputs('expatternprovider:ex_charger')
.duration(200)
.EUt(1920)
//#endregion
//#region Assembler Matrix

View file

@ -654,12 +654,12 @@ const registerFirmaLifeRecipes = (event) => {
//#region Sticky Resin by Vat
event.recipes.firmalife.vat()
.inputs('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000))
.inputs('tfc:powder/wood_ash', Fluid.of('tfg:latex', 1000))
.outputItem('gtceu:sticky_resin')
.id('tfg:vat/latex_to_sticky_resin');
event.recipes.firmalife.vat()
.inputs('tfc:powder/sulfur', Fluid.of('tfg:conifer_pitch', 1000))
.inputs('tfc:powder/wood_ash', Fluid.of('tfg:conifer_pitch', 1000))
.outputItem('gtceu:sticky_resin')
.id('tfg:vat/conifer_pitch_to_sticky_resin');

View file

@ -11,7 +11,7 @@ function registerGreateRecipes(event) {
// #region Shafts
event.shaped('4x greate:andesite_alloy_shaft', [
event.shaped('9x greate:andesite_alloy_shaft', [
'A ',
' B'
], {
@ -19,15 +19,7 @@ function registerGreateRecipes(event) {
B: '#forge:plates/black_bronze'
}).id('greate:shaped/andesite_alloy_shaft_black_bronze')
event.shaped('6x greate:andesite_alloy_shaft', [
'A ',
' B'
], {
A: '#forge:tools/saws',
B: '#forge:plates/wrought_iron'
}).id('greate:shaped/andesite_alloy_shaft')
event.shaped('4x greate:andesite_alloy_shaft', [
event.shaped('9x greate:andesite_alloy_shaft', [
'A ',
' B'
], {
@ -35,7 +27,7 @@ function registerGreateRecipes(event) {
B: '#forge:plates/bronze'
}).id('greate:shaped/andesite_alloy_shaft_bronze')
event.shaped('4x greate:andesite_alloy_shaft', [
event.shaped('9x greate:andesite_alloy_shaft', [
'A ',
' B'
], {
@ -43,40 +35,73 @@ function registerGreateRecipes(event) {
B: '#forge:plates/bismuth_bronze'
}).id('greate:shaped/andesite_alloy_shaft_bismuth_bronze')
generateCutterRecipe(event, '#forge:plates/wrought_iron', '6x greate:andesite_alloy_shaft', 100, GTValues.VA[GTValues.ULV], 'andesite_alloy_shaft')
generateCutterRecipe(event, '#forge:plates/steel', '6x greate:steel_shaft', 100, GTValues.VA[GTValues.ULV], 'steel_shaft')
generateCutterRecipe(event, '#forge:plates/aluminium', '6x greate:aluminium_shaft', 100, GTValues.VA[GTValues.LV], 'aluminium_shaft')
generateCutterRecipe(event, '#forge:plates/stainless_steel', '6x greate:stainless_steel_shaft', 100, GTValues.VA[GTValues.MV], 'stainless_steel_shaft')
generateCutterRecipe(event, '#forge:plates/titanium', '6x greate:titanium_shaft', 100, GTValues.VA[GTValues.HV], 'titanium_shaft')
event.shaped('9x greate:steel_shaft', [
'A ',
' B'
], {
A: '#forge:tools/saws',
B: '#forge:plates/steel'
}).id('greate:shaped/steel_shaft')
event.shaped('9x greate:aluminium_shaft', [
'A ',
' B'
], {
A: '#forge:tools/saws',
B: '#forge:plates/aluminium'
}).id('greate:shaped/aluminium_shaft')
event.shaped('9x greate:stainless_steel_shaft', [
'A ',
' B'
], {
A: '#forge:tools/saws',
B: '#forge:plates/stainless_steel'
}).id('greate:shaped/stainless_steel_shaft')
event.shaped('9x greate:titanium_shaft', [
'A ',
' B'
], {
A: '#forge:tools/saws',
B: '#forge:plates/titanium'
}).id('greate:shaped/titanium_shaft')
generateCutterRecipe(event, '#forge:plates/bronze', '9x greate:andesite_alloy_shaft', 100, GTValues.VA[GTValues.ULV], 'andesite_alloy_shaft_bronze')
generateCutterRecipe(event, '#forge:plates/black_bronze', '9x greate:andesite_alloy_shaft', 100, GTValues.VA[GTValues.ULV], 'andesite_alloy_shaft_black_bronze')
generateCutterRecipe(event, '#forge:plates/bismuth_bronze', '9x greate:andesite_alloy_shaft', 100, GTValues.VA[GTValues.ULV], 'andesite_alloy_shaft_bismuth_bronze')
generateCutterRecipe(event, '#forge:plates/steel', '9x greate:steel_shaft', 100, GTValues.VA[GTValues.ULV], 'steel_shaft')
generateCutterRecipe(event, '#forge:plates/aluminium', '9x greate:aluminium_shaft', 100, GTValues.VA[GTValues.LV], 'aluminium_shaft')
generateCutterRecipe(event, '#forge:plates/stainless_steel', '9x greate:stainless_steel_shaft', 100, GTValues.VA[GTValues.MV], 'stainless_steel_shaft')
generateCutterRecipe(event, '#forge:plates/titanium', '9x greate:titanium_shaft', 100, GTValues.VA[GTValues.HV], 'titanium_shaft')
// #endregion
// #region Cogs
event.shapeless('greate:andesite_alloy_cogwheel', ['greate:andesite_alloy_shaft', '#forge:small_gears/wood', '#forge:tools/hammers'])
event.shapeless('greate:andesite_alloy_cogwheel', ['greate:andesite_alloy_shaft', '#forge:small_gears/wood'])
.id('greate:shapeless/andesite_alloy_cogwheel')
event.shapeless('greate:large_andesite_alloy_cogwheel', ['greate:andesite_alloy_shaft', '#forge:gears/wood', '#forge:tools/hammers'])
event.shapeless('greate:large_andesite_alloy_cogwheel', ['greate:andesite_alloy_shaft', '#forge:gears/wood'])
.id('greate:shapeless/large_andesite_alloy_cogwheel');
// TODO: recycling recipes for these?
event.shapeless('greate:steel_cogwheel', ['greate:steel_shaft', '#forge:small_gears/wrought_iron', '#forge:tools/wrenches'])
event.shapeless('greate:steel_cogwheel', ['greate:steel_shaft', '#forge:small_gears/wrought_iron'])
.id('greate:shapeless/steel_cogwheel')
event.shapeless('greate:large_steel_cogwheel', ['greate:steel_shaft', '#forge:small_gears/wrought_iron','#forge:small_gears/wrought_iron', '#forge:tools/wrenches'])
event.shapeless('greate:large_steel_cogwheel', ['greate:steel_shaft', '#forge:small_gears/wrought_iron','#forge:small_gears/wrought_iron'])
.id('greate:shapeless/large_steel_cogwheel');
event.shapeless('greate:aluminium_cogwheel', ['greate:aluminium_shaft', '#forge:small_gears/steel', '#forge:tools/wrenches'])
event.shapeless('greate:aluminium_cogwheel', ['greate:aluminium_shaft', '#forge:small_gears/steel'])
.id('greate:shapeless/aluminium_cogwheel')
event.shapeless('greate:large_aluminium_cogwheel', ['greate:aluminium_shaft', '#forge:small_gears/steel', '#forge:small_gears/steel', '#forge:tools/wrenches'])
event.shapeless('greate:large_aluminium_cogwheel', ['greate:aluminium_shaft', '#forge:small_gears/steel', '#forge:small_gears/steel'])
.id('greate:shapeless/large_aluminium_cogwheel');
event.shapeless('greate:stainless_steel_cogwheel', ['greate:stainless_steel_shaft', '#forge:small_gears/aluminium', '#forge:tools/wrenches'])
event.shapeless('greate:stainless_steel_cogwheel', ['greate:stainless_steel_shaft', '#forge:small_gears/aluminium'])
.id('greate:shapeless/stainless_steel_cogwheel')
event.shapeless('greate:large_stainless_steel_cogwheel', ['greate:stainless_steel_shaft', '#forge:small_gears/aluminium', '#forge:small_gears/aluminium', '#forge:tools/wrenches'])
event.shapeless('greate:large_stainless_steel_cogwheel', ['greate:stainless_steel_shaft', '#forge:small_gears/aluminium', '#forge:small_gears/aluminium'])
.id('greate:shapeless/large_stainless_steel_cogwheel');
event.shapeless('greate:titanium_cogwheel', ['greate:titanium_shaft', '#forge:small_gears/stainless_steel', '#forge:tools/wrenches'])
event.shapeless('greate:titanium_cogwheel', ['greate:titanium_shaft', '#forge:small_gears/stainless_steel'])
.id('greate:shapeless/titanium_cogwheel')
event.shapeless('greate:large_titanium_cogwheel', ['greate:titanium_shaft', '#forge:small_gears/stainless_steel', '#forge:small_gears/stainless_steel', '#forge:tools/wrenches'])
event.shapeless('greate:large_titanium_cogwheel', ['greate:titanium_shaft', '#forge:small_gears/stainless_steel', '#forge:small_gears/stainless_steel'])
.id('greate:shapeless/large_titanium_cogwheel');
// #endregion
@ -294,7 +319,7 @@ function registerGreateRecipes(event) {
// #region Belt Connector
event.shaped('greate:rubber_belt_connector', [
event.shaped('3x greate:rubber_belt_connector', [
'C ',
'AAA',
'B '
@ -304,7 +329,14 @@ function registerGreateRecipes(event) {
C: '#forge:tools/hammers',
}).id('greate:shaped/rubber_belt_connector')
event.shaped('greate:silicone_rubber_belt_connector', [
event.recipes.gtceu.assembler('rubber_belt_connector')
.itemInputs('#forge:plates/rubber')
.itemOutputs('greate:rubber_belt_connector')
.circuit(11)
.duration(50)
.EUt(GTValues.VA[GTValues.LV])
event.shaped('3x greate:silicone_rubber_belt_connector', [
'C ',
'AAA',
'B '
@ -314,7 +346,14 @@ function registerGreateRecipes(event) {
C: '#forge:tools/hammers',
}).id('greate:shaped/silicone_rubber_belt_connector')
event.shaped('greate:polyethylene_belt_connector', [
event.recipes.gtceu.assembler('silicone_rubber_belt_connector')
.itemInputs('#forge:plates/silicone_rubber')
.itemOutputs('greate:silicone_rubber_belt_connector')
.circuit(11)
.duration(50)
.EUt(GTValues.VA[GTValues.LV])
event.shaped('3x greate:polyethylene_belt_connector', [
'C ',
'AAA',
'B '
@ -324,6 +363,13 @@ function registerGreateRecipes(event) {
C: '#forge:tools/hammers',
}).id('greate:shaped/polyethylene_belt_connector')
event.recipes.gtceu.assembler('polyethylene_belt_connector')
.itemInputs('#forge:plates/styrene_butadiene_rubber')
.itemOutputs('greate:rubber_polyethylene_belt_connectorbelt_connector')
.circuit(11)
.duration(50)
.EUt(GTValues.VA[GTValues.LV])
// #endregion
// #region Mixer

View file

@ -482,21 +482,21 @@ function registerGreateRecyclingRecipes(event) {
event.recipes.gtceu.macerator('greate:rubber_belt_connector')
.itemInputs('greate:rubber_belt_connector')
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 6))
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 1))
.duration(GTMaterials.Rubber.getMass() * 3)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.macerator('greate:silicone_rubber_belt_connector')
.itemInputs('greate:silicone_rubber_belt_connector')
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.SiliconeRubber, 6))
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.SiliconeRubber, 1))
.duration(GTMaterials.SiliconeRubber.getMass() * 3)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.macerator('greate:polyethylene_belt_connector')
.itemInputs('greate:polyethylene_belt_connector')
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.StyreneButadieneRubber, 6))
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.StyreneButadieneRubber, 1))
.duration(GTMaterials.StyreneButadieneRubber.getMass() * 3)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])

View file

@ -15,6 +15,8 @@ function removeGreateRecipes(event) {
event.remove({ id: 'greate:shapeless/large_stainless_steel_cogwheel_from_little' })
event.remove({ id: 'greate:shapeless/large_titanium_cogwheel_from_little' })
event.remove({ id: 'greate:shaped/andesite_alloy_shaft' })
// Until we got a fix from Greate for recipes in a cleanroom
event.remove({ id: 'greate:shaped/stainless_steel_mechanical_saw' })
event.remove({ id: 'greate:shaped/titanium_mechanical_saw' })

View file

@ -21,16 +21,4 @@ global.GTCEU_ANVIL_TOOL_TYPES = [
GTToolType.KNIFE,
GTToolType.BUTCHERY_KNIFE,
// GTToolType.PLUNGER
];
global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS = {
"tfc:swords" : GTToolType.SWORD,
"tfc:pickaxes" : GTToolType.PICKAXE,
"tfc:axes" : GTToolType.AXE,
"tfc:shovels" : GTToolType.SHOVEL,
"tfc:hoes" : GTToolType.HOE,
"tfc:hammers" : GTToolType.HARD_HAMMER,
"tfc:knives" : GTToolType.KNIFE,
"tfc:saws" : GTToolType.SAW,
"tfc:scythes" : GTToolType.SCYTHE
};
];

View file

@ -81,7 +81,7 @@ const registerGTCEULoots = (event) => {
})
// Go through all materials
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
forEachMaterial(material => {
if (material.hasProperty(PropertyKey.ORE)) {

View file

@ -7,7 +7,7 @@
const registerGTCEURecipes = (event) => {
registerGTCEUMetalRecipes(event)
registerGTCEURecyclingRecipes(event)
registerGTCEURecyclingRecipes(event)
registerGTCEuTFCMetalsRecipes(event)
registerGTCEuMachineRecipes(event)
@ -69,15 +69,15 @@ const registerGTCEURecipes = (event) => {
//#endregion
event.recipes.gtceu.centrifuge('tfg:beets_to_sugar')
.itemInputs('5x tfc:food/beet')
.inputFluids(Fluid.of('tfc:salt_water', 1000))
.itemOutputs('3x minecraft:sugar', '3x gtceu:plant_ball', '1x #forge:dusts/salt')
.outputFluids(Fluid.of('minecraft:water', 1000))
.duration(800)
.EUt(7)
.circuit(3)
event.recipes.gtceu.centrifuge('tfg:beets_to_sugar')
.itemInputs('5x tfc:food/beet')
.inputFluids(Fluid.of('tfc:salt_water', 1000))
.itemOutputs('3x minecraft:sugar', '3x gtceu:plant_ball', '1x #forge:dusts/salt')
.outputFluids(Fluid.of('minecraft:water', 1000))
.duration(800)
.EUt(7)
.circuit(3)
event.smelting('4x tfc:powder/wood_ash', '1x #minecraft:logs_that_burn').id('tfg:wood_ash')
//#region Выход: Соленая пыль + Вода
@ -134,23 +134,30 @@ const registerGTCEURecipes = (event) => {
//#region Выход: Капля резины
// Из латекса
event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 1200, 300)
event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:latex', 1000), 1200, 300)
.itemOutput('gtceu:sticky_resin')
.id('tfg:pot/sticky_resin_from_latex')
event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:conifer_pitch', 1000), 1200, 300)
event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:conifer_pitch', 1000), 1200, 300)
.itemOutput('gtceu:sticky_resin')
.id('tfg:pot/sticky_resin_from_conifer_pitch')
event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/latex_heating')
.duration(24*20)
event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/latex_to_sticky_resin')
.duration(24 * 20)
.EUt(30)
.itemInputs('tfc:powder/sulfur')
.itemInputs('tfc:powder/wood_ash')
.itemOutputs('gtceu:sticky_resin')
.inputFluids(Fluid.of('tfg:latex', 1000))
event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/pitch_to_sticky_resin')
.duration(24 * 20)
.EUt(30)
.itemInputs('tfc:powder/wood_ash')
.itemOutputs('gtceu:sticky_resin')
.inputFluids(Fluid.of('tfg:conifer_pitch', 1000))
//#endregion
//#region Выход: Растительный шарик
// 8x Ванильная растительность -> Plant Ball (Compressor)
event.recipes.gtceu.compressor('plant_ball_from_tfc_seeds')
@ -263,44 +270,14 @@ const registerGTCEURecipes = (event) => {
//#region Выход: Цемент
generateMixerRecipe(
event,
['2x #tfg:stone_dusts', 'gtceu:marble_dust', 'gtceu:gypsum_dust'],
Fluid.of('minecraft:water', 1000),
[],
null,
Fluid.of('gtceu:concrete', 1152),
40,
16,
64,
'concrete_from_marble'
)
generateMixerRecipe(event, ['2x #tfg:stone_dusts', 'gtceu:marble_dust', 'gtceu:gypsum_dust'],
Fluid.of('minecraft:water', 1000), [], null, Fluid.of('gtceu:concrete', 1152), 40, 16, 64, 'concrete_from_marble')
generateMixerRecipe(
event,
['3x #tfg:stone_dusts', 'gtceu:clay_dust'],
Fluid.of('minecraft:water', 500),
[],
null,
Fluid.of('gtceu:concrete', 576),
20,
16,
64,
'concrete_from_clay'
)
generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:clay_dust'],
Fluid.of('minecraft:water', 500), [], null, Fluid.of('gtceu:concrete', 576), 20, 16, 64, 'concrete_from_clay')
generateMixerRecipe(
event,
['3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust'],
Fluid.of('minecraft:water', 1000),
[],
null,
Fluid.of('gtceu:concrete', 1152),
40,
16,
64,
'concrete_from_calcite'
)
generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust'],
Fluid.of('minecraft:water', 1000), [], null, Fluid.of('gtceu:concrete', 1152), 40, 16, 64, 'concrete_from_calcite')
//GT light/dark concrete recipe fix
@ -348,7 +325,7 @@ const registerGTCEURecipes = (event) => {
//#endregion
//#region GT marble
event.stonecutting('gtceu:polished_marble', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_polished_marble')
event.stonecutting('gtceu:chiseled_marble', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_chiseled_marble')
event.stonecutting('gtceu:marble_tile', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_tile')
@ -462,17 +439,16 @@ const registerGTCEURecipes = (event) => {
C: 'gtceu:brick_wooden_form'
}).replaceIngredient('gtceu:brick_wooden_form', 'gtceu:brick_wooden_form').id('gtceu:shaped/compressed_coke_clay')
// Compressed Coke Clay -> Coke Oven Brick
// Coke Oven Brick
event.recipes.tfc.heating('gtceu:compressed_coke_clay', 1399)
.resultItem('gtceu:coke_oven_brick')
.id('tfg:heating/coke_oven_bricks')
// TFC FireBrick -> FireBrick dust
event.recipes.gtceu.macerator('macerate_firebrick')
.itemInputs('tfc:ceramic/fire_brick')
.itemOutputs('gtceu:fireclay_dust')
.duration(15)
.EUt(2)
event.recipes.gtceu.alloy_smelter('gtceu:coke_oven_brick')
.itemInputs('#minecraft:sand', 'minecraft:clay_ball')
.itemOutputs('gtceu:coke_oven_brick')
.duration(7.5 * 20)
.EUt(GTValues.VA[GTValues.ULV])
// Multi-Smelter
event.shaped('gtceu:multi_smelter', [
@ -724,44 +700,44 @@ const registerGTCEURecipes = (event) => {
.circuit(2)
event.recipes.gtceu.coke_oven("tfg:raw_coal_to_coke")
.itemInputs('gtceu:raw_coal')
.itemOutputs('2x gtceu:coke_gem')
.outputFluids(Fluid.of('gtceu:creosote', 2000))
.duration(1710)
.itemInputs('gtceu:raw_coal')
.itemOutputs('2x gtceu:coke_gem')
.outputFluids(Fluid.of('gtceu:creosote', 2000))
.duration(1710)
event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_tar")
.itemInputs('6x gtceu:raw_coal')
.chancedOutput('gtceu:dark_ash_dust', 5000, 0)
.outputFluids(Fluid.of('gtceu:coal_tar', 3000))
.duration(288)
.EUt(96)
.circuit(8)
event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_tar")
.itemInputs('6x gtceu:raw_coal')
.chancedOutput('gtceu:dark_ash_dust', 5000, 0)
.outputFluids(Fluid.of('gtceu:coal_tar', 3000))
.duration(288)
.EUt(96)
.circuit(8)
event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coke_creosote")
.itemInputs('8x gtceu:raw_coal')
.itemOutputs('16x gtceu:coke_gem')
.outputFluids(Fluid.of('gtceu:creosote', 8000))
.duration(576)
.EUt(64)
.circuit(1)
event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coke_creosote")
.itemInputs('8x gtceu:raw_coal')
.itemOutputs('16x gtceu:coke_gem')
.outputFluids(Fluid.of('gtceu:creosote', 8000))
.duration(576)
.EUt(64)
.circuit(1)
event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coal_gas")
.itemInputs('8x gtceu:raw_coal')
.itemOutputs('16x gtceu:coke_gem')
.inputFluids(Fluid.of('gtceu:steam'))
.outputFluids(Fluid.of('gtceu:coal_gas', 4000))
.duration(288)
.EUt(96)
.circuit(22)
event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coal_gas")
.itemInputs('8x gtceu:raw_coal')
.itemOutputs('16x gtceu:coke_gem')
.inputFluids(Fluid.of('gtceu:steam'))
.outputFluids(Fluid.of('gtceu:coal_gas', 4000))
.duration(288)
.EUt(96)
.circuit(22)
event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coke_creosote_nitrogen")
.itemInputs('8x gtceu:raw_coal')
.itemOutputs('16x gtceu:coke_gem')
.inputFluids(Fluid.of('gtceu:nitrogen'))
.outputFluids(Fluid.of('gtceu:creosote', 8000))
.duration(288)
.EUt(96)
.circuit(2)
event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coke_creosote_nitrogen")
.itemInputs('8x gtceu:raw_coal')
.itemOutputs('16x gtceu:coke_gem')
.inputFluids(Fluid.of('gtceu:nitrogen'))
.outputFluids(Fluid.of('gtceu:creosote', 8000))
.duration(288)
.EUt(96)
.circuit(2)
// #endregion
@ -885,6 +861,33 @@ const registerGTCEURecipes = (event) => {
// #endregion
// #region Rubber Processing Line
event.recipes.firmalife.vat()
.inputs('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000))
.outputFluid(Fluid.of('tfg:vulcanized_latex', 1000))
.length(300)
.temperature(300)
.id('tfg:vat/vulcanized_latex')
event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 1200, 300)
.fluidOutput(Fluid.of('tfg:vulcanized_latex', 1000))
.id('tfg:pot/vulcanized_latex')
event.recipes.gtceu.chemical_reactor('tfg:/latex_to_vulcanized_latex')
.duration(200)
.EUt(20)
.itemInputs('tfc:powder/sulfur')
.inputFluids(Fluid.of('tfg:latex', 1000))
.outputFluids(Fluid.of('tfg:vulcanized_latex', 1000))
event.recipes.gtceu.fluid_solidifier('tfg:/vulcanized_latex_to_raw_rubber_pulp')
.duration(100)
.EUt(20)
.inputFluids(Fluid.of('tfg:vulcanized_latex', 1000))
.itemOutputs('4x gtceu:raw_rubber_dust')
// #endregion
// #region Primitive protection
event.recipes.tfc.barrel_sealed(2000)
@ -892,17 +895,6 @@ const registerGTCEURecipes = (event) => {
.inputs('tfchotornot:mittens', Fluid.of('tfc:vinegar', 1000))
.id('tfg:sealed_barrel/prepared_leather_gloves')
event.recipes.firmalife.vat()
.inputs('tfc:powder/wood_ash', Fluid.of('tfg:latex', 100))
.outputFluid(Fluid.of('tfg:vulcanized_latex', 100))
.length(300)
.temperature(300)
.id('tfg:vat/vulcanized_latex')
event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:latex', 100), 1200, 300)
.fluidOutput(Fluid.of('tfg:vulcanized_latex', 100))
.id('tfg:pot/vulcanized_latex')
event.recipes.firmalife.vat()
.outputItem('tfg:latex_soaked_gloves')
.inputs('tfg:prepared_leather_gloves', Fluid.of('tfg:vulcanized_latex', 1000))
@ -968,6 +960,13 @@ const registerGTCEURecipes = (event) => {
.chancedOutput('gtceu:plant_ball', 1000, 850)
.duration(400)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.chemical_reactor(`tfg:treat_latex_plants_into_latex`)
.itemInputs('16x #tfg:rubber_plants', 'gtceu:tiny_sodium_hydroxide_dust')
.circuit(1)
.outputFluids(Fluid.of('tfg:latex', 1000))
.duration(200)
.EUt(20)
event.recipes.createSequencedAssembly([
'gtceu:ulv_voltage_coil',
@ -991,7 +990,7 @@ const registerGTCEURecipes = (event) => {
.duration(2400)
.EUt(2)
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
forEachMaterial(material => {
const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
if (tfcProperty == null)
@ -1014,7 +1013,49 @@ const registerGTCEURecipes = (event) => {
})
//#endregion
//#region Changing tiers of decomposition recipes
event.recipes.gtceu.electrolyzer('gtceu:decomposition_electrolyzing_clay')
.itemInputs('13x #forge:dusts/clay')
.itemOutputs('2x #forge:dusts/sodium', '1x #forge:dusts/lithium', '2x #forge:dusts/aluminium', '2x #forge:dusts/silicon')
.outputFluids(Fluid.of('minecraft:water', 6000))
.duration(GTMaterials.Clay.getMass() * 13)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.centrifuge('gtceu:stone_dust_separation')
.itemInputs('gtceu:stone_dust')
.chancedOutput('#forge:dusts/quartzite', 2500, 0)
.chancedOutput('#forge:dusts/potassium_feldspar', 2500, 0)
.chancedOutput('#forge:dusts/marble', 2222, 0)
.chancedOutput('#forge:dusts/biotite', 1111, 0)
.chancedOutput('#forge:dusts/metal_mixture', 825, 80)
.chancedOutput('#forge:dusts/sodalite', 550, 55)
.duration(12 * 20)
.EUt(GTValues.VA[GTValues.HV])
//#endregion
//#region Tape
event.shaped('gtceu:basic_tape', [
' A ',
'ABA',
' A '
], {
A: 'minecraft:paper',
B: 'tfc:glue'
}).id('tfg:shaped/basic_tape_from_glue')
event.recipes.gtceu.assembler('basic_tape_from_glue')
.itemInputs('2x minecraft:paper', 'tfc:glue')
.itemOutputs('2x gtceu:basic_tape')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
//#endregion
// TODO: Greate again...
event.shapeless('gtceu:programmed_circuit', ['minecraft:stick', '#forge:tools/wrenches'])
.id('tfg:shapeless/programmed_circuit_from_stick')

View file

@ -837,7 +837,7 @@ function registerGTCEUMetalRecipes(event) {
.id(`${material.getName()}_ingot_to_bars`)
}
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
forEachMaterial(material => {
const toolProperty = material.getProperty(PropertyKey.TOOL)
const ingotProperty = material.getProperty(PropertyKey.INGOT)
const oreProperty = material.getProperty(PropertyKey.ORE)

View file

@ -8,7 +8,7 @@ function registerGTCEURecyclingRecipes(event) {
.itemOutputs(
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Tantalum, 1),
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Polyethylene, 1)
)
)
.duration(GTMaterials.Tantalum.getMass() * 1)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -18,7 +18,7 @@ function registerGTCEURecyclingRecipes(event) {
.itemOutputs(
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Tantalum, 1),
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Ash, 1)
)
)
.duration(GTMaterials.Tantalum.getMass() * 1)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -28,7 +28,7 @@ function registerGTCEURecyclingRecipes(event) {
.itemInputs('gtceu:capacitor')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Polyethylene, 1)
)
)
.duration(GTMaterials.Polyethylene.getMass() * 1)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -37,7 +37,7 @@ function registerGTCEURecyclingRecipes(event) {
.itemInputs('gtceu:capacitor')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Ash, 1)
)
)
.duration(GTMaterials.Ash.getMass() * 1)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -47,7 +47,7 @@ function registerGTCEURecyclingRecipes(event) {
.itemInputs('gtceu:empty_tier_i_battery')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ultimet, 6)
)
)
.duration(GTMaterials.Ultimet.getMass() * 6)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -56,7 +56,7 @@ function registerGTCEURecyclingRecipes(event) {
.itemInputs('gtceu:empty_tier_i_battery')
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ultimet, 6)
)
)
.duration(GTMaterials.Ultimet.getMass() * 6)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -73,7 +73,7 @@ function registerGTCEURecyclingRecipes(event) {
.itemInputs('gtceu:empty_tier_ii_battery')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruridit, 6)
)
)
.duration(GTMaterials.Ruridit.getMass() * 6)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -82,7 +82,7 @@ function registerGTCEURecyclingRecipes(event) {
.itemInputs('gtceu:empty_tier_ii_battery')
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ruridit, 6)
)
)
.duration(GTMaterials.Ruridit.getMass() * 6)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -99,7 +99,7 @@ function registerGTCEURecyclingRecipes(event) {
.itemInputs('gtceu:empty_tier_iii_battery')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Neutronium, 6)
)
)
.duration(GTMaterials.Neutronium.getMass() * 6)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -108,7 +108,7 @@ function registerGTCEURecyclingRecipes(event) {
.itemInputs('gtceu:empty_tier_iii_battery')
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Neutronium, 6)
)
)
.duration(GTMaterials.Neutronium.getMass() * 6)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])

View file

@ -158,6 +158,19 @@ function removeGTCEURecipes(event) {
// #endregion
// #region Nether Quartz
event.remove({ id: 'gtceu:shaped/quartz_stair_saw' })
event.remove({ id: 'gtceu:assembler/assemble_quartz_into_stair' })
event.remove({ id: 'gtceu:shaped/quartz_polish_hammer' })
event.remove({ id: 'gtceu:assembler/assemble_quartz_into_polished' })
event.remove({ id: 'gtceu:assembler/assemble_block_of_quartz_into_quartz_pillar' })
event.remove({ id: 'gtceu:shaped/smooth_quartz_stair_saw' })
event.remove({ id: 'gtceu:assembler/assemble_smooth_quartz_into_stair' })
event.remove({ id: 'gtceu:shaped/smooth_quartz_slab_saw' })
// #endregion
// #region Plant Ball
event.remove({ id: 'gtceu:compressor/plant_ball_from_wheat' })
@ -589,6 +602,7 @@ function removeGTCEURecipes(event) {
event.remove({ id: 'gtceu:shaped/activator_rail' })
event.remove({ id: 'gtceu:shaped/shield' })
event.remove({ id: 'gtceu:shaped/pickaxe_iron' })
event.remove({ id: 'gtceu:shapeless/glass_full_dust_flint' })
event.remove({ id: 'gtceu:shaped_fluid_container/treated_wood_planks' })
@ -612,8 +626,18 @@ function removeGTCEURecipes(event) {
event.remove({ id: 'gtceu:assembler/spyglass' })
event.remove({ id: 'gtceu:chemical_reactor/ghast_tear_separation' })
event.remove({ id: 'gtceu:assembler/assemble_brick_into_stair' })
event.remove({ id: 'gtceu:assembler/assemble_brick_into_wall' })
event.remove({ id: 'gtceu:compressor/bricks' })
event.remove({ id: 'gtceu:extractor/bricks_extraction' })
event.remove({ id: 'gtceu:macerator/macerate_bricks' })
event.remove({ id: 'gtceu:macerator/macerate_brick_stairs' })
event.remove({ id: 'gtceu:macerator/macerate_brick_slab' })
event.remove({ id: 'gtceu:macerator/macerate_brick_wall' })
event.remove({ id: 'gtceu:macerator/macerate_flower_pot' })
event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__fireclay' })
event.remove({ id: 'gtceu:smelting/sticky_resin_from_slime' })
}

View file

@ -63,6 +63,8 @@ const registerGTCEUItemTags = (event) => {
event.add('minecraft:piglin_loved', 'gtceu:poor_raw_pyrite')
event.add('minecraft:piglin_loved', 'gtceu:raw_pyrite')
event.add('minecraft:piglin_loved', 'gtceu:rich_raw_pyrite')
event.remove('forge:gems', 'gtceu:coke_gem')
}
const registerGTCEUBlockTags = (event) => {
@ -76,8 +78,19 @@ const registerGTCEUBlockTags = (event) => {
event.add('minecraft:mineable/pickaxe', '#forge:ores')
event.add('minecraft:needs_iron_tool', '#forge:ores')
// Collapse tags
event.add('tfc:can_collapse', '#forge:ores')
event.add('tfc:can_start_collapse', '#forge:ores')
event.add('tfc:can_trigger_collapse', '#forge:ores')
event.add('c:hidden_from_recipe_viewers', '#forge:ores')
event.add('tfc:can_collapse', '#forge:raw_ore_blocks')
event.add('tfc:can_start_collapse', '#forge:raw_ore_blocks')
event.add('tfc:can_trigger_collapse', '#forge:raw_ore_blocks')
event.add('c:hidden_from_recipe_viewers', '#forge:raw_ore_blocks')
// Let GT indicators be covered by snow
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
forEachMaterial(material => {
if (material.hasProperty(PropertyKey.ORE)) {
let indicator = `gtceu:${material.getName()}_indicator`;
@ -96,19 +109,6 @@ const registerGTCEUBlockTags = (event) => {
event.add('minecraft:mineable/pickaxe', bud)
}
// I LOVE KUBEJS I LOVE KUBEJS I LOVE KUBEJS
let str = `:${ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem()}`;
if (material == GTMaterials.Copper || material == GTMaterials.Gold || material == GTMaterials.Iron)
str = "minecraft" + str;
else
str = "gtceu" + str;
event.add('tfc:can_collapse', str);
event.add('tfc:can_start_collapse', str);
event.add('tfc:can_trigger_collapse', str);
// Hide these from JEI
event.add('c:hidden_from_recipe_viewers', str);
}
})
}

View file

@ -64,7 +64,7 @@ function generatePlatedBlockRecipe(event, material) {
let outputMaterial = (tfcProperty == null || tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial()
let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1);
let platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1);
let platedSlab = ChemicalHelper.get(TFGTagPrefix.slabPlated, material, 1);
let platedStair = ChemicalHelper.get(TFGTagPrefix.stairPlated, material, 1);
@ -162,4 +162,14 @@ function generatePlatedBlockRecipe(event, material) {
.duration(material.getMass())
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
}
const $MRM = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.IMaterialRegistryManager')
function forEachMaterial(iterator) {
if (GTMaterialRegistry.getPhase() === $MRM.Phase.CLOSED || GTMaterialRegistry.getPhase() === $MRM.Phase.FROZEN) {
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
iterator(material)
})
}
}

View file

@ -2,13 +2,4 @@
const registerHotOrNotRecipes = (event) => {
event.remove({ id: 'tfchotornot/heating/tong_part/cast_iron' })
event.remove({ id: 'tfchotornot/anvil/tong_part/cast_iron' })
event.remove({ id: 'tfchotornot/heating/tongs/cast_iron' })
event.remove({ id: 'tfchotornot:crafting/tongs/cast_iron' })
event.recipes.tfc.loom('tfchotornot:wool_potholder', '2x minecraft:blue_wool', 16, 'minecraft:block/white_wool')
.id('tfchotornot:loom/wool_potholder')
}

View file

@ -18,22 +18,15 @@ const registerMegaCellsRecipes = (event) => {
//printed accumulation circuit
event.recipes.gtceu.forming_press('megacells:printed_accumulation_processor')
.itemInputs('#forge:plates/enriched_naquadah')
.itemInputs('#forge:dense_plates/silicon')
.notConsumable('megacells:accumulation_processor_press')
.itemOutputs('megacells:printed_accumulation_processor')
.duration(20)
.EUt(1920)
// Inscrdiber Silicon Press
event.recipes.gtceu.laser_engraver('ae2:accumulation_processor_press_iron')
.itemInputs('#forge:plates/cast_iron', 'ae2:singularity')
.notConsumable('#forge:lenses/black')
.itemOutputs('megacells:accumulation_processor_press')
.duration(6000)
.EUt(1920)
event.recipes.gtceu.laser_engraver('ae2:accumulation_processor_press_wrought_iron')
.itemInputs('#forge:plates/wrought_iron', 'ae2:singularity')
// Inscriber Silicon Press
event.recipes.gtceu.laser_engraver('ae2:accumulation_processor_press')
.itemInputs('#forge:plates/naquadah')
.notConsumable('#forge:lenses/black')
.itemOutputs('megacells:accumulation_processor_press')
.duration(4000)
@ -73,7 +66,7 @@ const registerMegaCellsRecipes = (event) => {
'BBB'
], {
A: 'ae2:quartz_vibrant_glass',
B: '#forge:plates/enriched_naquadah',
B: '#forge:plates/maraging_steel_300',
C: '#forge:fine_wires/niobium_titanium',
D: '#gtceu:circuits/iv',
}).id('tfg:crafting/mega_item_cell_housing')

View file

@ -55,6 +55,8 @@ const registerMinecraftItemTags = (event) => {
event.add('tfc:rock/raw', 'minecraft:dripstone_block')
event.remove('forge:gems', 'minecraft:charcoal')
event.remove('forge:gems', 'minecraft:coal')
event.remove('minecraft:dirt', 'minecraft:moss_block')
}
const registerMinecraftBlockTags = (event) => {
@ -124,6 +126,8 @@ const registerMinecraftBlockTags = (event) => {
event.add('tfg:brick_stairs', 'minecraft:blackstone_stairs')
event.add('tfg:brick_slabs', 'minecraft:blackstone_slab')
event.add('tfg:brick_walls', 'minecraft:blackstone_wall')
event.remove('minecraft:dirt', 'minecraft:moss_block')
//#region
}

View file

@ -54,7 +54,7 @@ const registerTFCHeats = (event) => {
if (!tool.isEmpty()) event.itemHeat(tool, heatCapacity, tfcProperty.getForgingTemp(), tfcProperty.getWeldingTemp())
}
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
forEachMaterial(material => {
let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
if (tfcProperty != null) {
@ -278,19 +278,19 @@ const registerTFCFoodData = (event) => {
//#region registerTFCSupportData
//up, down, horizontal
const registerTFCSupportData = (event) => {
event.support('tfg:light_concrete_support', 4, 4, 8, 'light_concrete_support')
event.support('tfg:dark_concrete_support', 4, 4, 8, 'dark_concrete_support')
event.support('tfg:reinforced_light_concrete_support', 6, 6, 16, 'reinforced_light_concrete_support')
event.support('tfg:reinforced_dark_concrete_support', 6, 6, 16, 'reinforced_dark_concrete_support')
event.support('tfg:rebar_support', 4, 4, 8, 'rebar_support')
event.support('tfg:steel_support', 6, 6, 16, 'steel_support')
event.support('tfg:light_concrete_support_horizontal', 4, 4, 8, 'light_concrete_support')
event.support('tfg:dark_concrete_support_horizontal', 4, 4, 8, 'dark_concrete_support')
event.support('tfg:reinforced_light_concrete_support_horizontal', 6, 6, 16, 'reinforced_light_concrete_support')
event.support('tfg:reinforced_dark_concrete_support_horizontal', 6, 6, 16, 'reinforced_dark_concrete_support')
event.support('tfg:rebar_support_horizontal', 4, 4, 8, 'rebar_support')
event.support('tfg:steel_support_horizontal', 6, 6, 16, 'steel_support')
const other_stone = ['pyroxenite', 'migmatite', 'travertine']
const stone_types = global.TFC_STONE_TYPES.concat(other_stone)
stone_types.forEach(stone => {
event.support(`tfg:${stone}_support`, 2, 2, 4, `${stone}_support`)
event.support(`tfg:${stone}_support_horizontal`, 2, 2, 4, `${stone}_support`)
})
}
//#endregion

View file

@ -473,31 +473,36 @@ function registerTFCMachineRecipes(event) {
// Ceramic Recycling
event.recipes.gtceu.macerator('tfg:sherd_to_brick_dust')
.itemInputs('firmalife:pottery_sherd')
.itemOutputs('5x #forge:dusts/brick')
.itemOutputs('#forge:dusts/brick')
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.duration(20)
.EUt(2)
event.recipes.gtceu.macerator('tfg:ceramic_molds')
.itemInputs('#tfc:fired_molds')
.itemOutputs('2x #forge:dusts/brick')
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.duration(20)
.EUt(2)
event.recipes.gtceu.macerator('tfg:large_vessels')
.itemInputs('#tfc:fired_large_vessels')
.itemOutputs('5x #forge:dusts/brick')
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.duration(20)
.EUt(2)
event.recipes.gtceu.macerator('tfg:casting_channel')
.itemInputs('tfcchannelcasting:channel')
.itemOutputs('1x #forge:dusts/brick')
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.duration(20)
.EUt(2)
event.recipes.gtceu.macerator('tfg:mold_table')
.itemInputs('tfcchannelcasting:mold_table')
.itemOutputs('5x #forge:dusts/brick')
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.duration(20)
.EUt(2)
}

View file

@ -2,7 +2,7 @@
function registerTFCMaterialsRecipes(event) {
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
forEachMaterial(material => {
let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
if (tfcProperty == null) {

View file

@ -7,17 +7,26 @@
//#region ItemTags
const registerTFCItemTags = (event) => {
// Теги для соответствия инструментов TFC и GT
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
if (material.hasProperty(PropertyKey.TOOL)) {
for (let [key, value] of Object.entries(global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS)) {
var tool = ToolHelper.get(value, material)
if (!tool.isEmpty()) event.add(key, tool.getId())
event.add('tfc:swords', '#minecraft:swords')
event.add('tfc:pickaxes', '#minecraft:pickaxes')
event.add('tfc:axes', '#minecraft:axes')
event.add('tfc:shovels', '#minecraft:shovels')
event.add('tfc:hoes', '#minecraft:hoes')
event.add('tfc:hammers', '#forge:tools/hammers')
event.add('tfc:knives', '#forge:tools/knives')
event.add('tfc:saws', '#forge:tools/saws')
event.add('tfc:scythes', '#forge:tools/scythes')
event.add('tfc:usable_on_tool_rack', `#${key}`)
}
}
})
event.add('tfc:usable_on_tool_rack', '#mincraft:swords')
event.add('tfc:usable_on_tool_rack', '#minecraft:pickaxes')
event.add('tfc:usable_on_tool_rack', '#minecraft:axes')
event.add('tfc:usable_on_tool_rack', '#minecraft:shovels')
event.add('tfc:usable_on_tool_rack', '#minecraft:hoes')
event.add('tfc:usable_on_tool_rack', '#forge:tools/hammers')
event.add('tfc:usable_on_tool_rack', '#forge:tools/knives')
event.add('tfc:usable_on_tool_rack', '#forge:tools/saws')
event.add('tfc:usable_on_tool_rack', '#forge:tools/scythes')
event.add('tfc:usable_on_tool_rack', '#forge:tools/mining_hammers')
event.add('tfc:usable_on_tool_rack', '#forge:tools/spades')
@ -71,7 +80,9 @@ const registerTFCItemTags = (event) => {
// Для складывания
event.add('tfc:pileable_ingots', '#forge:ingots')
event.add('tfc:pileable_sheets', '#forge:plates')
event.add('tfc:pileable_double_ingots', 'gtceu:tin_alloy_double_ingot')
event.add('tfc:pileable_double_ingots', 'gtceu:red_alloy_double_ingot')
// Рыба
event.add('minecraft:fishes', 'tfc:food/calamari')
event.add('minecraft:fishes', 'tfc:food/bluegill')

View file

@ -381,4 +381,12 @@ function registerTFGMiscellaneousRecipes(event) {
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)
}

View file

@ -290,7 +290,7 @@ function registerVintageImprovementsRecipes(event) {
// #endregion
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
forEachMaterial(material => {
// #region Coiling
@ -570,6 +570,34 @@ function registerVintageImprovementsRecipes(event) {
processingTime: 100
}).id('tfg:vi/vacuum/rubber')
// Vaccuming rubber wood stuff for latex
event.custom({
type: 'vintageimprovements:vacuumizing',
ingredients: [{ tag: 'tfg:latex_logs' }],
results: [{ fluid: 'tfg:latex', amount: 250 }],
processingTime: 600
}).id('tfg:vi/vacuumizing/latex_from_rubber_logs')
event.custom({
type: 'vintageimprovements:vacuumizing',
ingredients: [{ tag: 'tfg:rubber_saplings' }],
results: [{ fluid: 'tfg:latex', amount: 100 }],
processingTime: 300
}).id('tfg:vi/vacuumizing/latex_from_rubber_sapling')
event.custom({
type: 'vintageimprovements:vacuumizing',
ingredients: [{ tag: 'tfg:rubber_leaves' }],
results: [{ fluid: 'tfg:latex', amount: 50 }],
processingTime: 150
}).id('tfg:vi/vacuumizing/latex_from_rubber_leaves')
// Vulc. latex to raw rubber pulp
event.custom({
type: 'vintageimprovements:vacuumizing',
ingredients: [{ fluid: 'tfg:vulcanized_latex', amount: 250 }],
results: [{ item: 'gtceu:raw_rubber_dust'}],
processingTime: 120
}).id('tfg:vi/vacuumizing/vulcanized_latex_to_raw_rubber')
// #endregion
}