diff --git a/kubejs/assets/kubejs/textures/block/example_block.png b/kubejs/assets/kubejs/textures/block/example_block.png deleted file mode 100644 index 58a8d4bd1..000000000 Binary files a/kubejs/assets/kubejs/textures/block/example_block.png and /dev/null differ diff --git a/kubejs/assets/kubejs/textures/item/example_item.png b/kubejs/assets/kubejs/textures/item/example_item.png deleted file mode 100644 index bbb5bf701..000000000 Binary files a/kubejs/assets/kubejs/textures/item/example_item.png and /dev/null differ diff --git a/kubejs/assets/kubejs/textures/item/galvanized_iron.png b/kubejs/assets/kubejs/textures/item/galvanized_iron.png deleted file mode 100644 index 81e5c0fe9..000000000 Binary files a/kubejs/assets/kubejs/textures/item/galvanized_iron.png and /dev/null differ diff --git a/kubejs/client_scripts/main_client_script.js b/kubejs/client_scripts/main_client_script.js index 27f063387..bb8b0c6c0 100644 --- a/kubejs/client_scripts/main_client_script.js +++ b/kubejs/client_scripts/main_client_script.js @@ -5,6 +5,7 @@ REIEvents.hide('item', event => { hideTFCStuff(event) hideGTCEUStuff(event) hideCreateStuff(event) + hideAE2Stuff(event) hideAdAstraStuff(event) hideSophisticatedBackpacksStuff(event) hideMoreRedStuff(event) diff --git a/kubejs/client_scripts/mods/ae2.js b/kubejs/client_scripts/mods/ae2.js new file mode 100644 index 000000000..14ff01c2d --- /dev/null +++ b/kubejs/client_scripts/mods/ae2.js @@ -0,0 +1,7 @@ +// priority: 0 + +const hideAE2Stuff = (event) => { + global.AE2_DISABLED_ITEMS.forEach(item => { + event.hide(item) + }) +} \ No newline at end of file diff --git a/kubejs/client_scripts/mods/gtceu.js b/kubejs/client_scripts/mods/gtceu.js index 4f099ff1b..72acf827d 100644 --- a/kubejs/client_scripts/mods/gtceu.js +++ b/kubejs/client_scripts/mods/gtceu.js @@ -47,9 +47,9 @@ const groupGTCEUStuff = (event) => { event.groupItemsByTag('tfg:rei_groups/gems/flawed', 'Flawed Gems', 'forge:flawed_gems') event.groupItemsByTag('tfg:rei_groups/gems/chipped', 'Chipped Gems', 'forge:chipped_gems') - event.groupItemsByTag('tfg:rei_groups/material_blocks/raw', 'Raw Material Blocks', 'forge:material_blocks/raw') - event.groupItemsByTag('tfg:rei_groups/material_blocks/block', 'Material Blocks', 'forge:material_blocks/block') - event.groupItemsByTag('tfg:rei_groups/material_blocks/frame', 'Frames', 'forge:material_blocks/frame') + event.groupItemsByTag('tfg:rei_groups/blocks/raw', 'Raw Material Blocks', 'forge:raw_blocks') + event.groupItemsByTag('tfg:rei_groups/blocks/material_blocks', 'Material Blocks', 'forge:material_blocks') + event.groupItemsByTag('tfg:rei_groups/blocks/frame', 'Frames', 'forge:frame_blocks') event.groupItemsByTag('tfg:rei_groups/sword_heads', 'Sword Heads', 'forge:sword_heads') event.groupItemsByTag('tfg:rei_groups/butchery_knife_heads', 'Butchery Knife Heads', 'forge:butchery_knife_heads') diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js index fe0950e22..299060689 100644 --- a/kubejs/server_scripts/ae2/recipes.js +++ b/kubejs/server_scripts/ae2/recipes.js @@ -3,5 +3,2130 @@ const registerAE2Recipes = (event) => { // Удаление рецептов мода - event.remove({ mod: 'ae2' }); + event.remove({ not: [ + { id: 'ae2:transform/entangled_singularity_from_pearl' }, + { id: 'ae2:transform/fluix_crystals' } + ], mod: 'ae2' }); + + // Network tool + event.shaped('ae2:network_tool', [ + 'AB', + 'CD', + ], { + A: '#forge:tools/wrenches', + B: '#forge:circuits/lv', + C: 'ae2:calculation_processor', + D: '#ae2:illuminated_panel', + }).id('tfg:crafting/network_tool') + + // Wireless Access Point + event.shaped('ae2:wireless_access_point', [ + 'A', + 'B', + 'C' + ], { + A: 'ae2:wireless_receiver', + B: 'ae2:calculation_processor', + C: '#ae2:glass_cable', + }).id('tfg:crafting/wireless_access_point') + + // Wireless Receiver + event.shaped('ae2:wireless_receiver', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#ae2:glass_cable', + B: 'ae2:fluix_pearl', + C: 'gtceu:ev_sensor', + D: '#forge:rods/titanium', + E: '#forge:circuits/ev' + }).id('tfg:crafting/wireless_receiver') + + // Illuminated Panel + event.shaped('ae2:semi_dark_monitor', [ + ' AD', + 'BCD', + ' AD' + ], { + A: '#forge:plates/glowstone', + B: '#forge:plates/aluminium', + C: '#forge:plates/red_alloy', + D: 'ae2:quartz_glass' + }).id('tfg:crafting/semi_dark_monitor') + + // Toggle Bus + event.shaped('ae2:toggle_bus', [ + ' A ', + 'BCB', + ' A ' + ], { + A: '#forge:plates/red_alloy', + B: '#ae2:glass_cable', + C: 'minecraft:lever' + }).id('tfg:crafting/toggle_bus') + + // Capacity Card + event.shaped('ae2:capacity_card', [ + 'AB', + 'BC', + ], { + A: 'ae2:basic_card', + B: 'ae2:cell_component_1k', + C: '#forge:gems/certus_quartz' + }).id('tfg:crafting/capacity_card') + + // Crafting Card + event.shaped('ae2:crafting_card', [ + 'AB', + 'BC', + ], { + A: 'ae2:basic_card', + B: 'ae2:cell_component_1k', + C: 'minecraft:crafting_table' + }).id('tfg:crafting/crafting_card') + + // Redstone Card + event.shaped('ae2:redstone_card', [ + 'AB', + 'BC' + ], { + A: 'ae2:basic_card', + B: 'minecraft:redstone_torch', + C: 'ae2:calculation_processor' + }).id('tfg:crafting/redstone_card') + + // Fuzzy Card + event.shaped('ae2:fuzzy_card', [ + 'AB', + 'CD', + ], { + A: 'ae2:advanced_card', + B: 'ae2:engineering_processor', + C: 'ae2:logic_processor', + D: 'ae2:calculation_processor' + }).id('tfg:crafting/fuzzy_card') + + // Inverter Card + event.shaped('ae2:inverter_card', [ + 'AB', + 'BC', + ], { + A: 'ae2:advanced_card', + B: 'ae2:inverted_toggle_bus', + C: 'ae2:calculation_processor' + }).id('tfg:crafting/inverter_card') + + // Acceleration Card + event.shaped('ae2:speed_card', [ + 'AB', + 'CD', + ], { + A: 'ae2:advanced_card', + B: 'ae2:engineering_processor', + C: 'ae2:logic_processor', + D: '#forge:gems/fluix' + }).id('tfg:crafting/speed_card') + + // Void Card + event.shapeless('ae2:void_card', ['ae2:basic_card','ae2:calculation_processor']) + .id('tfg:crafting/void_card') + + // Equal Distribution Card + event.shapeless('ae2:equal_distribution_card', ['ae2:advanced_card','ae2:calculation_processor']) + .id('tfg:crafting/equal_distribution_card') + + // Energy Card + event.shapeless('ae2:energy_card', ['ae2:advanced_card','2x gtceu:hv_lithium_battery']) + .id('tfg:crafting/energy_card') + + // Quartz Fixture + event.shapeless('ae2:quartz_fixture', [ + 'ae2:charged_certus_quartz_crystal', + '#forge:rods/aluminium' + ]).id('tfg:crafting/quartz_fixture') + + // Light Detecting Fixture + event.shapeless('ae2:light_detector', [ + '#forge:gems/certus_quartz', + '#forge:rods/wrought_iron' + ]).id('tfg:crafting/light_detector') + + // Annihilation Core + event.shaped('ae2:annihilation_core', [ + 'ABA', + 'BDB', + 'ABA' + ], { + A: '#forge:rods/aluminium', + B: 'ae2:engineering_processor', + D: '#forge:gems/certus_quartz', + }).id('tfg:crafting/annihilation_core') + + // Formation Core + event.shaped('ae2:formation_core', [ + 'ABA', + 'BDB', + 'ABA' + ], { + A: '#forge:rods/aluminium', + B: 'ae2:engineering_processor', + D: '#forge:gems/nether_quartz', + }).id('tfg:crafting/formation_core') + + // Wireless Terminal + event.shaped('ae2:wireless_terminal', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'ae2:wireless_receiver', + B: 'ae2:crafting_terminal', + C: 'ae2:engineering_processor', + D: '#forge:circuits/hv', + E: 'gtceu:hv_lithium_battery', + F: '#forge:plates/nether_quartz' + }).id('tfg:crafting/wireless_terminal') + + // Basic Card + event.shaped('2x ae2:basic_card', [ + 'AB ', + 'CDB', + 'EB ' + ], { + A: '#forge:fine_wires/red_alloy', + B: '#forge:plates/aluminium', + C: 'ae2:calculation_processor', + D: '#forge:circuits/mv', + E: '#forge:fine_wires/gold' + }).id('tfg:crafting/basic_card') + + // Advanced Card + event.shaped('2x ae2:advanced_card', [ + 'AB ', + 'CDB', + 'EB ' + ], { + A: '#forge:fine_wires/red_alloy', + B: '#forge:plates/stainless_steel', + C: 'ae2:calculation_processor', + D: '#forge:circuits/hv', + E: '#forge:fine_wires/silver' + }).id('tfg:crafting/advanced_card') + + // Wireless Booster + event.shaped('ae2:wireless_booster', [ + 'ABC', + 'DDD', + ], { + A: '#forge:dusts/fluix', + B: '#forge:gems/certus_quartz', + C: '#forge:plates/ender_pearl', + D: '#forge:plates/titanium', + }).id('tfg:crafting/wireless_booster') + + // Memory Card + event.shaped('ae2:memory_card', [ + 'ABB', + 'CDC', + ], { + A: 'ae2:calculation_processor', + B: '#forge:plates/iron', + C: '#forge:plates/gold', + D: '#forge:plates/red_alloy', + }).id('tfg:crafting/memory_card') + + // Item Cell Housing + event.shaped('ae2:item_cell_housing', [ + 'ABA', + 'CDC', + 'BBB' + ], { + A: 'ae2:quartz_glass', + B: '#forge:plates/steel', + C: '#forge:fine_wires/red_alloy', + D: '#forge:circuits/lv', + }).id('tfg:crafting/item_cell_housing') + + // Fluid Cell Housing + event.shaped('ae2:fluid_cell_housing', [ + 'ABA', + 'CDC', + 'BBB' + ], { + A: 'ae2:quartz_glass', + B: '#forge:plates/stainless_steel', + C: '#forge:fine_wires/red_alloy', + D: '#forge:circuits/lv', + }).id('tfg:crafting/fluid_cell_housing') + + // Level Emitter + event.shaped('ae2:level_emitter', [ + 'DA ', + 'BCB', + ' A ' + ], { + A: '#forge:plates/steel', + B: '#ae2:glass_cable', + C: 'minecraft:redstone_torch', + D: 'ae2:calculation_processor', + }).id('tfg:crafting/level_emitter') + + // Energy Level Emitter + event.shaped('ae2:energy_level_emitter', [ + 'DAE', + 'BCB', + ' A ' + ], { + A: '#forge:plates/steel', + B: '#ae2:glass_cable', + C: 'minecraft:redstone_torch', + D: 'ae2:calculation_processor', + E: 'ae2:charged_certus_quartz_crystal' + }).id('tfg:crafting/energy_level_emitter') + + // P2P Tunnel + event.shaped('2x ae2:me_p2p_tunnel', [ + 'ABA', + 'BCB', + 'DDD' + ], { + A: 'ae2:engineering_processor', + B: '#forge:plates/aluminium', + C: '#ae2:illuminated_panel', + D: '#forge:gems/fluix', + }).id('tfg:crafting/me_p2p_tunnel') + + // ME Chest + event.shaped('ae2:chest', [ + 'AEA', + 'CDC', + 'ABA' + ], { + A: '#forge:plates/stainless_steel', + B: '#forge:circuits/mv', + C: '#ae2:glass_cable', + D: 'gtceu:aluminium_crate', + E: 'ae2:terminal' + }).id('tfg:crafting/me_chest') + + // ME Drive + event.shaped('ae2:drive', [ + 'ABA', + 'CDC', + 'EBE' + ], { + A: '#forge:plates/steel', + B: 'ae2:engineering_processor', + C: '#ae2:glass_cable', + D: '#forge:circuits/lv', + E: '#forge:plates/titanium' + }).id('tfg:crafting/drive') + + // Spatial Pylon + event.shaped('ae2:spatial_pylon', [ + 'ABA', + 'CDC', + 'ABA' + ], { + A: '#forge:plates/glass', + B: '#ae2:glass_cable', + C: '#forge:dusts/fluix', + D: '#forge:gems/fluix', + }).id('tfg:crafting/spatial_pylon') + + // IO Port + event.shaped('ae2:io_port', [ + 'AAA', + 'BCB', + 'DED' + ], { + A: '#forge:plates/glass', + B: 'ae2:drive', + C: '#ae2:glass_cable', + D: '#forge:plates/titanium', + E: 'ae2:engineering_processor' + }).id('tfg:crafting/io_port') + + // Spatial IO Port + event.shaped('ae2:spatial_io_port', [ + 'AAA', + 'BCB', + 'DED' + ], { + A: '#forge:plates/glass', + B: '#ae2:glass_cable', + C: 'ae2:io_port', + D: '#forge:plates/titanium', + E: 'ae2:engineering_processor' + }).id('tfg:crafting/spatial_io_port') + + // Interfaces + event.shapeless('ae2:interface', ['ae2:cable_interface']) + .id('tfg:crafting/interface') + + event.shapeless('ae2:cable_interface', ['ae2:interface']) + .id('tfg:crafting/cable_interface') + + // Monitors + event.shapeless('ae2:semi_dark_monitor', ['ae2:dark_monitor']) + .id('tfg:crafting/semi_dark_monitor_2') + + event.shapeless('ae2:dark_monitor', ['ae2:monitor']) + .id('tfg:crafting/dark_monitor') + + event.shapeless('ae2:monitor', ['ae2:semi_dark_monitor']) + .id('tfg:crafting/monitor') + + // Cell Workbench + event.shaped('ae2:cell_workbench', [ + 'ABC', + 'DED', + 'DDD' + ], { + A: 'gtceu:item_filter', + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:fluid_filter', + D: '#forge:plates/aluminium', + E: 'ae2:calculation_processor', + }).id('tfg:crafting/cell_workbench') + + // Matter Condenser + event.shaped('ae2:condenser', [ + 'ABA', + 'BCB', + 'ABA' + ], { + A: '#forge:plates/stainless_steel', + B: 'gtceu:hv_electric_piston', + C: '#forge:circuits/hv', + }).id('tfg:crafting/condenser') + + + // Cable Pattern Provider + event.shapeless('ae2:pattern_provider', ['ae2:cable_pattern_provider']) + .id('tfg:crafting/pattern_provider') + + event.shapeless('ae2:cable_pattern_provider', ['ae2:pattern_provider']) + .id('tfg:crafting/cable_pattern_provider') + + // Toggle Bus + event.shapeless('ae2:toggle_bus', ['ae2:inverted_toggle_bus']) + .id('tfg:crafting/toggle_bus_2') + + event.shapeless('ae2:inverted_toggle_bus', ['ae2:toggle_bus']) + .id('tfg:crafting/inverted_toggle_bus') + + // ME Annihilation Plane + event.shaped('ae2:annihilation_plane', [ + 'AAA', + 'CBC' + ], { + A: '#forge:gems/fluix', + B: 'ae2:annihilation_core', + C: '#forge:plates/aluminium' + }).id('tfg:crafting/annihilation_plane') + + // ME Formation Plane + event.shaped('ae2:formation_plane', [ + 'AAA', + 'CBC' + ], { + A: '#forge:gems/fluix', + B: 'ae2:formation_core', + C: '#forge:plates/aluminium' + }).id('tfg:crafting/formation_plane') + + // ME Terminal + event.shaped('ae2:terminal', [ + 'ABC', + 'DED', + 'FGF' + ], { + A: '#forge:tools/screwdrivers', + B: '#ae2:illuminated_panel', + C: '#forge:tools/mallets', + D: '#forge:rods/steel', + E: '#forge:circuits/hv', + F: '#forge:plates/steel', + G: '#forge:screws/steel' + }).id('tfg:crafting/terminal') + + // ME Crafting Terminal + event.shaped('ae2:crafting_terminal', [ + 'ABC', + 'DED', + 'FGF' + ], { + A: '#forge:tools/screwdrivers', + B: 'ae2:terminal', + C: '#forge:tools/mallets', + D: '#forge:rods/steel', + E: '#tfc:workbenches', + F: '#forge:plates/steel', + G: 'ae2:engineering_processor' + }).id('tfg:crafting/crafting_terminal') + + // pattern access terminal + event.shaped('ae2:pattern_access_terminal', [ + 'ABC', + 'DED', + 'FGF' + ], { + A: '#forge:tools/screwdrivers', + B: 'ae2:terminal', + C: '#forge:tools/mallets', + D: '#forge:rods/steel', + E: '#ae2:pattern_provider', + F: '#forge:plates/steel', + G: 'ae2:engineering_processor' + }).id('tfg:crafting/pattern_access_terminal') + + // ME Pattern Terminal + event.shaped('ae2:pattern_encoding_terminal',[ + 'ABC', + 'DED', + 'FGF' + ], { + A: '#forge:tools/screwdrivers', + B: 'ae2:terminal', + C: '#forge:tools/mallets', + D: '#forge:rods/steel', + E: 'ae2:blank_pattern', + F: '#forge:plates/steel', + G: 'ae2:engineering_processor' + }).id('tfg:crafting/pattern_encoding_terminal') + + // Matter Cannon + event.shaped('ae2:matter_cannon',[ + 'AAB', + 'CD ', + 'A ' + ], { + A: '#forge:plates/steel', + B: 'ae2:formation_core', + C: 'ae2:cell_component_4k', + D: 'gtceu:hv_lithium_battery' + }).id('tfg:crafting/matter_cannon') + + // Color Applicator + event.shaped('ae2:color_applicator',[ + 'ABA', + 'CDC', + ' E ' + ], { + A: '#forge:wires/single/aluminium', + B: 'ae2:formation_core', + C: 'ae2:cell_component_4k', + D: 'gtceu:hv_lithium_battery', + E: '#forge:rods/steel', + }).id('tfg:crafting/color_applicator') + + // Glass Cable + event.recipes.gtceu.assembler('fluix_glass_cable') + .itemInputs( + '2x #forge:rods/aluminium', + '3x ae2:quartz_fiber', + '#forge:dusts/fluix') + .itemOutputs('ae2:fluix_glass_cable') + .circuit(1) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_glass_cable_fluixfluid') + .itemInputs( + '2x #forge:rods/aluminium', + '3x ae2:quartz_fiber',) + .inputFluids(Fluid.of('gtceu:fluix', 144)) + .itemOutputs('ae2:fluix_glass_cable') + .circuit(1) + .duration(20) + .EUt(480) + + // Covered Cable + event.recipes.gtceu.assembler('fluix_covered_cable_rubber') + .itemInputs( + '3x ae2:fluix_glass_cable') + .inputFluids(Fluid.of('gtceu:rubber', 432)) + .itemOutputs('ae2:fluix_covered_cable') + .circuit(1) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_covered_cable_silicone_rubber') + .itemInputs( + '3x ae2:fluix_glass_cable') + .inputFluids(Fluid.of('gtceu:silicone_rubber', 216)) + .itemOutputs('ae2:fluix_covered_cable') + .circuit(1) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_covered_cable_styrene_butadiene_rubber') + .itemInputs( + '3x ae2:fluix_glass_cable') + .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 108)) + .itemOutputs('ae2:fluix_covered_cable') + .circuit(1) + .duration(20) + .EUt(480) + + // Smart Cable + event.recipes.gtceu.assembler('fluix_smart_cable_rubber') + .itemInputs( + '3x ae2:fluix_glass_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .inputFluids(Fluid.of('gtceu:rubber', 432)) + .itemOutputs('ae2:fluix_smart_cable') + .circuit(2) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_cable_silicone_rubber') + .itemInputs( + '3x ae2:fluix_glass_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .inputFluids(Fluid.of('gtceu:silicone_rubber', 216)) + .itemOutputs('ae2:fluix_smart_cable') + .circuit(2) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_cable_styrene_butadiene_rubber') + .itemInputs( + '3x ae2:fluix_glass_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 108)) + .itemOutputs('ae2:fluix_smart_cable') + .circuit(2) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_cable') + .itemInputs( + 'ae2:fluix_covered_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .itemOutputs('ae2:fluix_smart_cable') + .circuit(2) + .duration(20) + .EUt(480) + + // Covered dense cable + event.recipes.gtceu.assembler('fluix_covered_dense_cable_rubber') + .itemInputs( + '12x ae2:fluix_glass_cable') + .inputFluids(Fluid.of('gtceu:rubber', 1728)) + .itemOutputs('ae2:fluix_covered_dense_cable') + .circuit(3) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_covered_dense_cable_silicone_rubber') + .itemInputs( + '12x ae2:fluix_glass_cable') + .inputFluids(Fluid.of('gtceu:silicone_rubber', 864)) + .itemOutputs('ae2:fluix_covered_dense_cable') + .circuit(3) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_covered_dense_cable_styrene_butadiene_rubber') + .itemInputs( + '12x ae2:fluix_glass_cable') + .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 432)) + .itemOutputs('ae2:fluix_covered_dense_cable') + .circuit(3) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_covered_dense_cable') + .itemInputs( + '4x ae2:fluix_covered_cable') + .itemOutputs('ae2:fluix_covered_dense_cable') + .circuit(3) + .duration(20) + .EUt(480) + + // Smart dence cable + event.recipes.gtceu.assembler('fluix_smart_dence_cable_rubber') + .itemInputs( + '12x ae2:fluix_glass_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .inputFluids(Fluid.of('gtceu:rubber', 1728)) + .itemOutputs('ae2:fluix_smart_dense_cable') + .circuit(4) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_dence_cable_silicone_rubber') + .itemInputs( + '12x ae2:fluix_glass_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .inputFluids(Fluid.of('gtceu:silicone_rubber', 864)) + .itemOutputs('ae2:fluix_smart_dense_cable') + .circuit(4) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_dence_cable_styrene_butadiene_rubber') + .itemInputs( + '12x ae2:fluix_glass_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 432)) + .itemOutputs('ae2:fluix_smart_dense_cable') + .circuit(4) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_dence_cable_covered_cable') + .itemInputs( + '4x ae2:fluix_covered_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .itemOutputs('ae2:fluix_smart_dense_cable') + .circuit(4) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_dence_cable_smart_cable') + .itemInputs( + '4x ae2:fluix_smart_cable',) + .itemOutputs('ae2:fluix_smart_dense_cable') + .circuit(4) + .duration(20) + .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_dence_cable') + .itemInputs( + 'ae2:fluix_covered_dense_cable', + '#forge:dusts/glowstone', + '#forge:dusts/redstone') + .itemOutputs('ae2:fluix_smart_dense_cable') + .circuit(4) + .duration(20) + .EUt(480) + + // Blank Pattern + event.recipes.gtceu.assembler('ae2:blank_pattern_pe') + .itemInputs( + '3x #forge:plates/steel', + '2x #forge:sheets/polyethylene', + '4x #forge:fine_wires/red_alloy', + '#forge:circuits/mv') + .itemOutputs('ae2:blank_pattern') + .duration(200) + .EUt(120) + + event.recipes.gtceu.assembler('ae2:blank_pattern_pvc') + .itemInputs( + '3x #forge:plates/steel', + '2x #forge:sheets/polyvinyl_chloride', + '4x #forge:fine_wires/red_alloy', + '#forge:circuits/mv') + .itemOutputs('4x ae2:blank_pattern') + .duration(200) + .EUt(120) + + event.recipes.gtceu.assembler('ae2:blank_pattern_ptfe') + .itemInputs( + '3x #forge:plates/steel', + '2x #forge:sheets/polytetrafluoroethylene', + '4x #forge:fine_wires/red_alloy', + '#forge:circuits/mv') + .itemOutputs('16x ae2:blank_pattern') + .duration(200) + .EUt(480) + + event.recipes.gtceu.assembler('ae2:blank_pattern_pbi') + .itemInputs( + '3x #forge:plates/steel', + '2x #forge:sheets/polybenzimidazole', + '4x #forge:fine_wires/red_alloy', + '#forge:circuits/mv') + .itemOutputs('64x ae2:blank_pattern') + .duration(200) + .EUt(480) + + // Annihilation Core + event.recipes.gtceu.assembler('ae2:annihilation_core') + .itemInputs( + '2x #forge:rods/aluminium', + '2x ae2:engineering_processor', + '#forge:gems/certus_quartz') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('4x ae2:annihilation_core') + .circuit(5) + .duration(20) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + // Formation Core + event.recipes.gtceu.assembler('ae2:formation_core') + .itemInputs( + '2x #forge:rods/aluminium', + '2x ae2:engineering_processor', + '#forge:gems/nether_quartz') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('4x ae2:formation_core') + .circuit(5) + .duration(20) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + // 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', + 'ae2:wireless_terminal', + 'ae2:crafting_terminal') + .itemOutputs('ae2:wireless_crafting_terminal') + .duration(30) + .EUt(250) + + //#region Storage Components + + // 1k storage components + event.recipes.gtceu.assembler('ae2:cell_component_1k') + .itemInputs( + '4x #forge:batteries/ulv', + '4x #forge:plates/wrought_iron', + '4x #forge:dusts/certus_quartz', + 'ae2:logic_processor',) + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_1k') + .duration(200) + .EUt(480) + + // 4k storage components + event.recipes.gtceu.assembler('ae2:cell_component_4k') + .itemInputs( + '4x #forge:circuits/ev', + '4x #forge:plates/titanium', + '4x #forge:dusts/certus_quartz', + 'ae2:logic_processor') + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_4k') + .duration(200) + .EUt(1920) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembler('ae2:cell_component_4k_1k') + .itemInputs( + 'ae2:logic_processor', + '2x #forge:circuits/ev', + '4x ae2:cell_component_1k') + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_4k') + .duration(400) + .EUt(1920) + .cleanroom(CleanroomType.CLEANROOM) + + // 16k storage components + event.recipes.gtceu.assembler('ae2:cell_component_16k') + .itemInputs( + '4x #forge:circuits/iv', + '4x #forge:plates/tungsten_steel', + '8x #forge:dusts/certus_quartz', + 'ae2:engineering_processor',) + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_16k') + .duration(200) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembler('ae2:cell_component_16k_4k') + .itemInputs( + 'ae2:logic_processor', + '2x #forge:circuits/iv', + '4x ae2:cell_component_4k') + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_16k') + .duration(400) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + // 64k storage components + event.recipes.gtceu.assembler('ae2:cell_component_64k') + .itemInputs( + '4x #forge:circuits/luv', + '4x #forge:plates/rhodium_plated_palladium', + '8x #forge:dusts/certus_quartz', + 'ae2:engineering_processor') + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_64k') + .duration(200) + .EUt(30720) + .cleanroom(CleanroomType.CLEANROOM) + event.recipes.gtceu.assembler('ae2:cell_component_64k_16k') + .itemInputs( + 'ae2:engineering_processor', + '2x #forge:circuits/luv', + '4x ae2:cell_component_16k') + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_64k') + .duration(400) + .EUt(30720) + .cleanroom(CleanroomType.CLEANROOM) + + // 256k storage components + event.recipes.gtceu.assembler('ae2:cell_component_256k') + .itemInputs( + '4x #forge:circuits/zpm', + '4x #forge:plates/naquadah_alloy', + '16x #forge:dusts/certus_quartz', + 'ae2:engineering_processor',) + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_256k') + .duration(200) + .EUt(122880) + .cleanroom(CleanroomType.CLEANROOM) + event.recipes.gtceu.assembler('ae2:cell_component_256k_64k') + .itemInputs( + 'ae2:engineering_processor', + '2x #forge:circuits/zpm', + '4x ae2:cell_component_64k') + .inputFluids(Fluid.of('gtceu:steel', 144)) + .itemOutputs('ae2:cell_component_256k') + .duration(400) + .EUt(122880) + .cleanroom(CleanroomType.CLEANROOM) + + //#endregion + + //#region Spatial Components + + // 2³ Spatial Component + event.recipes.gtceu.assembler('ae2:spatial_cell_component_2') + .itemInputs( + '4x #forge:circuits/ev', + '4x #forge:plates/titanium', + '32x #forge:dusts/certus_quartz', + 'ae2:calculation_processor',) + .inputFluids(Fluid.of('gtceu:hsla_steel', 144)) + .itemOutputs('ae2:spatial_cell_component_2') + .duration(200) + .EUt(1920) + + // 16³ Spatial Component + event.recipes.gtceu.assembler('ae2:spatial_cell_component_16') + .itemInputs( + '4x #forge:circuits/iv', + '4x #forge:plates/tungsten_steel', + '32x #forge:dusts/certus_quartz', + 'ae2:calculation_processor',) + .inputFluids(Fluid.of('gtceu:tungsten_steel', 144)) + .itemOutputs('ae2:spatial_cell_component_16') + .duration(200) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembler('ae2:spatial_cell_component_16_2') + .itemInputs( + 'ae2:calculation_processor', + '2x #forge:circuits/iv', + '4x ae2:spatial_cell_component_2') + .inputFluids(Fluid.of('gtceu:tungsten_steel', 144)) + .itemOutputs('ae2:spatial_cell_component_16') + .duration(400) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + // 128³ Spatial Component + event.recipes.gtceu.assembler('ae2:spatial_cell_component_128') + .itemInputs( + '4x #forge:circuits/luv', + '4x #forge:plates/rhodium_plated_palladium', + '32x #forge:dusts/certus_quartz', + 'ae2:calculation_processor') + .inputFluids(Fluid.of('gtceu:tungsten_steel', 144)) + .itemOutputs('ae2:spatial_cell_component_128') + .duration(200) + .EUt(30720) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.assembler('ae2:spatial_cell_component_128_16') + .itemInputs( + 'ae2:calculation_processor', + '2x #forge:circuits/luv', + '4x ae2:spatial_cell_component_16') + .inputFluids(Fluid.of('gtceu:tungsten_steel', 144)) + .itemOutputs('ae2:spatial_cell_component_128') + .duration(400) + .EUt(30720) + .cleanroom(CleanroomType.CLEANROOM) + + //#endregion + + // Storage Monitor + event.recipes.gtceu.assembler('ae2:storage_monitor') + .itemInputs( + '#ae2:illuminated_panel', + 'ae2:level_emitter') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:storage_monitor') + .duration(200) + .EUt(480) + + // Conversion Monitor + event.recipes.gtceu.assembler('ae2:conversion_monitor') + .itemInputs( + '2x ae2:formation_core', + '2x ae2:annihilation_core', + 'ae2:storage_monitor',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:conversion_monitor') + .duration(200) + .EUt(480) + + // Level Emitter + event.recipes.gtceu.assembler('ae2:level_emitter') + .itemInputs( + 'minecraft:redstone_torch', + '#ae2:glass_cable', + '#forge:plates/steel', + 'ae2:calculation_processor') + .itemOutputs('ae2:level_emitter') + .circuit(1) + .duration(20) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + // Storage Bus + event.recipes.gtceu.assembler('ae2:storage_bus') + .itemInputs( + '#ae2:interface', + '2x gtceu:mv_electric_piston', + '#ae2:glass_cable') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:storage_bus') + .circuit(1) + .duration(200) + .EUt(480) + + // Import Bus + event.recipes.gtceu.assembler('ae2:import_bus') + .itemInputs( + '#forge:plates/iron', + 'ae2:annihilation_core', + '2x gtceu:mv_robot_arm', + '#ae2:glass_cable') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:import_bus') + .circuit(2) + .duration(200) + .EUt(480) + + // Export Bus + event.recipes.gtceu.assembler('ae2:export_bus') + .itemInputs( + '#forge:plates/iron', + 'ae2:formation_core', + '2x gtceu:mv_robot_arm', + '#ae2:glass_cable') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:export_bus') + .circuit(3) + .duration(200) + .EUt(480) + + // CPU Crafting Unit + event.recipes.gtceu.assembler('ae2:crafting_unit') + .itemInputs( + 'ae2:logic_processor', + 'ae2:engineering_processor', + 'ae2:calculation_processor', + '#forge:circuits/hv', + '2x #forge:plates/steel') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:crafting_unit') + .circuit(1) + .duration(20) + .EUt(680) + + //#region Molecular Assembler + + // HV + event.recipes.gtceu.assembler('ae2:molecular_assembler_HV') + .itemInputs( + '2x ae2:quartz_glass', + '2x #forge:circuits/hv', + 'ae2:annihilation_core', + 'ae2:formation_core', + '2x gtceu:hv_conveyor_module', + '2x gtceu:hv_robot_arm', + '4x #forge:plates/stainless_steel') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:molecular_assembler') + .duration(200) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) + + // EV + event.recipes.gtceu.assembler('ae2:molecular_assembler_EV') + .itemInputs( + '2x ae2:quartz_glass', + '2x #forge:circuits/ev', + 'ae2:annihilation_core', + 'ae2:formation_core', + '2x gtceu:ev_conveyor_module', + '2x gtceu:ev_robot_arm', + '4x #forge:plates/titanium') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('2x ae2:molecular_assembler') + .duration(200) + .EUt(1920) + .cleanroom(CleanroomType.CLEANROOM) + + // IV + event.recipes.gtceu.assembler('ae2:molecular_assembler_IV') + .itemInputs( + '2x ae2:quartz_glass', + '2x #forge:circuits/iv', + 'ae2:annihilation_core', + 'ae2:formation_core', + '2x gtceu:iv_conveyor_module', + '2x gtceu:iv_robot_arm', + '4x #forge:plates/tungsten_steel') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('8x ae2:molecular_assembler') + .duration(200) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + //#endregion + + // ME Контроллер + event.recipes.gtceu.assembler('ae2:controller') + .itemInputs( + '2x ae2:engineering_processor', + '2x #forge:circuits/hv', + '2x #forge:plates/titanium', + 'ae2:fluix_block') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:controller') + .duration(200) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) + + //#region ME Interfaces + + // MV + event.recipes.gtceu.assembler('ae2:interface_mv') + .itemInputs( + 'gtceu:mv_conveyor_module', + '8x #forge:plates/glass', + '4x #forge:plates/steel', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:interface') + .duration(200) + .EUt(120) + + // HV + event.recipes.gtceu.assembler('ae2:interface_hv') + .itemInputs( + 'gtceu:hv_conveyor_module', + '8x #forge:plates/glass', + '4x #forge:plates/aluminium', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('2x ae2:interface') + .duration(200) + .EUt(480) + + // EV + event.recipes.gtceu.assembler('ae2:interface_ev') + .itemInputs( + 'gtceu:ev_conveyor_module', + '8x #forge:plates/glass', + '4x #forge:plates/stainless_steel', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('4x ae2:interface') + .duration(200) + .EUt(1980) + .cleanroom(CleanroomType.CLEANROOM) + + // IV + event.recipes.gtceu.assembler('ae2:interface_iv') + .itemInputs( + 'gtceu:iv_conveyor_module', + '8x #forge:plates/glass', + '4x #forge:plates/titanium', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('8x ae2:interface') + .duration(200) + .EUt(7480) + .cleanroom(CleanroomType.CLEANROOM) + + //#endregion + + //#region Pattern Providers + + // MV + event.recipes.gtceu.assembler('ae2:pattern_provider_mv') + .itemInputs( + 'gtceu:mv_conveyor_module', + '2x #tfc:workbenches', + '4x #forge:plates/steel', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:pattern_provider') + .duration(200) + .EUt(120) + + // HV + event.recipes.gtceu.assembler('ae2:pattern_provider_hv') + .itemInputs( + 'gtceu:hv_conveyor_module', + '2x #tfc:workbenches', + '4x #forge:plates/aluminium', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('2x ae2:pattern_provider') + .duration(200) + .EUt(480) + + // EV + event.recipes.gtceu.assembler('ae2:pattern_provider_ev') + .itemInputs( + 'gtceu:ev_conveyor_module', + '2x #tfc:workbenches', + '4x #forge:plates/stainless_steel', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('4x ae2:pattern_provider') + .duration(200) + .EUt(1980) + .cleanroom(CleanroomType.CLEANROOM) + + // IV + event.recipes.gtceu.assembler('ae2:pattern_provider_iv') + .itemInputs( + 'gtceu:iv_conveyor_module', + '2x #tfc:workbenches', + '4x #forge:plates/titanium', + 'ae2:annihilation_core', + 'ae2:formation_core',) + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('8x ae2:pattern_provider') + .duration(200) + .EUt(7480) + .cleanroom(CleanroomType.CLEANROOM) + + //#endregion + + //#region Portable Cells + + //#region Item + + // 1k + event.recipes.gtceu.assembler('ae2:portable_item_cell_1k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_1k', + 'gtceu:mv_sodium_battery', + 'ae2:item_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_item_cell_1k') + .duration(200) + .EUt(480) + + // 4k + event.recipes.gtceu.assembler('ae2:portable_item_cell_4k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_4k', + 'gtceu:mv_sodium_battery', + 'ae2:item_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_item_cell_4k') + .duration(200) + .EUt(1920) + .cleanroom(CleanroomType.CLEANROOM) + + // 16k + event.recipes.gtceu.assembler('ae2:portable_item_cell_16k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_16k', + 'gtceu:mv_sodium_battery', + 'ae2:item_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_item_cell_16k') + .duration(200) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + // 64k + event.recipes.gtceu.assembler('ae2:portable_item_cell_64k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_64k', + 'gtceu:mv_sodium_battery', + 'ae2:item_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_item_cell_64k') + .duration(200) + .EUt(30720) + .cleanroom(CleanroomType.CLEANROOM) + + // 256k + event.recipes.gtceu.assembler('ae2:portable_item_cell_256k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_256k', + 'gtceu:mv_sodium_battery', + 'ae2:item_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_item_cell_256k') + .duration(200) + .EUt(122880) + .cleanroom(CleanroomType.CLEANROOM) + + //#endregion + + //#region Fluid + + // 1k + event.recipes.gtceu.assembler('ae2:portable_fluid_cell_1k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_1k', + 'gtceu:mv_sodium_battery', + 'ae2:fluid_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_fluid_cell_1k') + .duration(200) + .EUt(480) + + // 4k + event.recipes.gtceu.assembler('ae2:portable_fluid_cell_4k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_4k', + 'gtceu:mv_sodium_battery', + 'ae2:fluid_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_fluid_cell_4k') + .duration(200) + .EUt(1920) + .cleanroom(CleanroomType.CLEANROOM) + + // 16k + event.recipes.gtceu.assembler('ae2:portable_fluid_cell_16k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_16k', + 'gtceu:mv_sodium_battery', + 'ae2:fluid_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_fluid_cell_16k') + .duration(200) + .EUt(7680) + .cleanroom(CleanroomType.CLEANROOM) + + // 64k + event.recipes.gtceu.assembler('ae2:portable_fluid_cell_64k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_64k', + 'gtceu:mv_sodium_battery', + 'ae2:fluid_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_fluid_cell_64k') + .duration(200) + .EUt(30720) + .cleanroom(CleanroomType.CLEANROOM) + + // 256k + event.recipes.gtceu.assembler('ae2:portable_fluid_cell_256k') + .itemInputs( + 'ae2:chest', + 'ae2:cell_component_256k', + 'gtceu:mv_sodium_battery', + 'ae2:fluid_cell_housing') + .inputFluids(Fluid.of('gtceu:polyethylene', 144)) + .itemOutputs('ae2:portable_fluid_cell_256k') + .duration(200) + .EUt(122880) + .cleanroom(CleanroomType.CLEANROOM) + + //#endregion + + //#endregion + + // Logic Processor + event.recipes.gtceu.circuit_assembler('ae2:logic_processor') + .itemInputs( + 'ae2:printed_silicon', + 'ae2:printed_logic_processor', + '#forge:circuits/lv', + '2x #gtceu:resistors', + '2x #forge:fine_wires/tin',) + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('2x ae2:logic_processor') + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.circuit_assembler('ae2:logic_processor_adv') + .itemInputs( + 'ae2:printed_silicon', + 'ae2:printed_logic_processor', + '#forge:circuits/lv', + 'gtceu:advanced_smd_resistor', + '2x #forge:fine_wires/tin',) + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('2x ae2:logic_processor') + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) + + // Calculation Processor + event.recipes.gtceu.circuit_assembler('ae2:calculation_processor') + .itemInputs( + 'ae2:printed_silicon', + 'ae2:printed_calculation_processor', + '#forge:circuits/lv', + '2x #gtceu:resistors', + '2x #forge:fine_wires/tin',) + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('2x ae2:calculation_processor') + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.circuit_assembler('ae2:calculation_processor_adv') + .itemInputs( + 'ae2:printed_silicon', + 'ae2:printed_calculation_processor', + '#forge:circuits/lv', + 'gtceu:advanced_smd_resistor', + '2x #forge:fine_wires/tin',) + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('2x ae2:calculation_processor') + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) + + // Engineering Processor + event.recipes.gtceu.circuit_assembler('ae2:engineering_processor') + .itemInputs( + 'ae2:printed_silicon', + 'ae2:printed_engineering_processor', + '#forge:circuits/lv', + '2x #gtceu:resistors', + '2x #forge:fine_wires/tin',) + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('2x ae2:engineering_processor') + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.circuit_assembler('ae2:engineering_processor_adv') + .itemInputs( + 'ae2:printed_silicon', + 'ae2:printed_engineering_processor', + '#forge:circuits/lv', + 'gtceu:advanced_smd_resistor', + '2x #forge:fine_wires/tin',) + .inputFluids(Fluid.of('gtceu:redstone', 144)) + .itemOutputs('2x ae2:engineering_processor') + .duration(20) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) + + // Printed Calculation Processor + event.recipes.gtceu.forming_press('ae2:printed_calculation_processor') + .itemInputs( + '#forge:plates/certus_quartz', + 'ae2:calculation_processor_press',) + .itemOutputs('ae2:printed_calculation_processor') + .duration(20) + .EUt(480) + + // Printed Engineering Processor + event.recipes.gtceu.forming_press('ae2:printed_engineering_processor') + .itemInputs( + '#forge:plates/diamond', + 'ae2:engineering_processor_press',) + .itemOutputs('ae2:printed_engineering_processor') + .duration(20) + .EUt(480) + + // Printed Logic Processor + event.recipes.gtceu.forming_press('ae2:printed_logic_processor') + .itemInputs( + '#forge:plates/gold', + 'ae2:logic_processor_press',) + .itemOutputs('ae2:printed_logic_processor') + .duration(20) + .EUt(480) + + // Printed Silicon + event.recipes.gtceu.forming_press('ae2:printed_silicon') + .itemInputs( + '#forge:plates/silicon', + 'ae2:silicon_press',) + .itemOutputs('ae2:printed_silicon') + .duration(20) + .EUt(480) + + // Glass Cable + event.recipes.gtceu.chemical_bath('ae2:fluix_glass_cable') + .itemInputs('#ae2:glass_cable') + .inputFluids(Fluid.of('gtceu:chlorine', 100)) + .itemOutputs('ae2:fluix_glass_cable') + .duration(8) + .EUt(480) + + // GT Chemical Dyes + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_GLASS_CABLES[i] + '_gtceu_dye') + .itemInputs('ae2:fluix_glass_cable') + .inputFluids(Fluid.of(global.GTCEU_LIQUID_DYE[i], 72)) + .itemOutputs(global.AE2_GLASS_CABLES[i]) + .duration(20) + .EUt(7) + }; + + // TFC Dyes + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_GLASS_CABLES[i] + '_tfc_dye') + .itemInputs('ae2:fluix_glass_cable') + .inputFluids(Fluid.of(global.TFC_LIQUID_DYES[i], 250)) + .itemOutputs(global.AE2_GLASS_CABLES[i]) + .duration(20) + .EUt(7) + }; + + // Covered Cable + event.recipes.gtceu.chemical_bath('ae2:fluix_covered_cable') + .itemInputs('#ae2:covered_cable') + .inputFluids(Fluid.of('gtceu:chlorine', 100)) + .itemOutputs('ae2:fluix_covered_cable') + .duration(8) + .EUt(480) + + // GT Chemical Dyes + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_COVERED_CABLES[i] + '_gtceu_dye') + .itemInputs('ae2:fluix_covered_cable') + .inputFluids(Fluid.of(global.GTCEU_LIQUID_DYE[i], 72)) + .itemOutputs(global.AE2_COVERED_CABLES[i]) + .duration(20) + .EUt(7) + }; + + // TFC Dyes + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_COVERED_CABLES[i] + '_tfc_dye') + .itemInputs('ae2:fluix_covered_cable') + .inputFluids(Fluid.of(global.TFC_LIQUID_DYES[i], 250)) + .itemOutputs(global.AE2_COVERED_CABLES[i]) + .duration(20) + .EUt(7) + }; + + // Dense Covered Cable + event.recipes.gtceu.chemical_bath('ae2:fluix_covered_dense_cable') + .itemInputs('#ae2:covered_dense_cable') + .inputFluids(Fluid.of('gtceu:chlorine', 100)) + .itemOutputs('ae2:fluix_covered_dense_cable') + .duration(8) + .EUt(480) + + // GT Chemical Dyes + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_COVERED_DENSE_CABLES[i] + '_gtceu_dye') + .itemInputs('ae2:fluix_covered_dense_cable') + .inputFluids(Fluid.of(global.GTCEU_LIQUID_DYE[i], 72)) + .itemOutputs(global.AE2_COVERED_DENSE_CABLES[i]) + .duration(20) + .EUt(7) + }; + + // TFC Dyes + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_COVERED_DENSE_CABLES[i] + '_tfc_dye') + .itemInputs('ae2:fluix_covered_dense_cable') + .inputFluids(Fluid.of(global.TFC_LIQUID_DYES[i], 250)) + .itemOutputs(global.AE2_COVERED_DENSE_CABLES[i]) + .duration(20) + .EUt(7) + }; + + // Smart Cable + event.recipes.gtceu.chemical_bath('ae2:fluix_smart_cable') + .itemInputs('#ae2:smart_cable') + .inputFluids(Fluid.of('gtceu:chlorine', 100)) + .itemOutputs('ae2:fluix_smart_cable') + .duration(8) + .EUt(480) + + // GT Chemical Dyes + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_SMART_CABLES[i] + '_gtceu_dye') + .itemInputs('ae2:fluix_smart_cable') + .inputFluids(Fluid.of(global.GTCEU_LIQUID_DYE[i], 72)) + .itemOutputs(global.AE2_SMART_CABLES[i]) + .duration(20) + .EUt(7) + }; + + // TFC Dyes + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_SMART_CABLES[i] + '_tfc_dye') + .itemInputs('ae2:fluix_smart_cable') + .inputFluids(Fluid.of(global.TFC_LIQUID_DYES[i], 250)) + .itemOutputs(global.AE2_SMART_CABLES[i]) + .duration(20) + .EUt(7) + }; + + // Dense Smart Cable + event.recipes.gtceu.chemical_bath('ae2:fluix_smart_dense_cable') + .itemInputs('#ae2:smart_dense_cable') + .inputFluids(Fluid.of('gtceu:chlorine', 100)) + .itemOutputs('ae2:fluix_smart_dense_cable') + .duration(8) + .EUt(480) + + // GT Chemical Dyes + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_SMART_DENSE_CABLES[i] + '_gtceu_dye') + .itemInputs('ae2:fluix_smart_dense_cable') + .inputFluids(Fluid.of(global.GTCEU_LIQUID_DYE[i], 72)) + .itemOutputs(global.AE2_SMART_DENSE_CABLES[i]) + .duration(20) + .EUt(7) + }; + + // TFC Dyes + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_SMART_DENSE_CABLES[i] + '_tfc_dye') + .itemInputs('ae2:fluix_smart_dense_cable') + .inputFluids(Fluid.of(global.TFC_LIQUID_DYES[i], 250)) + .itemOutputs(global.AE2_SMART_DENSE_CABLES[i]) + .duration(20) + .EUt(7) + }; + + // Paint Balls + + // GT Chemical Dyes + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_PAINTBALLS[i] + '_gtceu_dye') + .itemInputs('ae2:matter_ball') + .inputFluids(Fluid.of(global.GTCEU_LIQUID_DYE[i], 36)) + .itemOutputs(global.AE2_PAINTBALLS[i]) + .duration(20) + .EUt(7) + }; + + // TFC Dyes + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_PAINTBALLS[i] + '_tfc_dye') + .itemInputs('ae2:matter_ball') + .inputFluids(Fluid.of(global.TFC_LIQUID_DYES[i], 125)) + .itemOutputs(global.AE2_PAINTBALLS[i]) + .duration(20) + .EUt(7) + }; + + // Lumen Paint Ball + for (var i = 0; i < 16; i++) { + event.recipes.gtceu.chemical_bath(global.AE2_LUMEN_PAINTBALLS[i] + '_gtceu_dye') + .itemInputs(global.AE2_PAINTBALLS[i]) + .inputFluids(Fluid.of('gtceu:glowstone', 125)) + .itemOutputs(global.AE2_LUMEN_PAINTBALLS[i]) + .duration(20) + .EUt(7) + }; + + // Inscriber Silicon Press + event.recipes.gtceu.laser_engraver('ae2:silicon_press_iron') + .itemInputs('#forge:plates/iron') + .notConsumable('#forge:lenses/white') + .itemOutputs('ae2:silicon_press') + .duration(12000) + .EUt(116) + + event.recipes.gtceu.laser_engraver('ae2:silicon_press_wrought_iron') + .itemInputs('#forge:plates/wrought_iron') + .notConsumable('#forge:lenses/white') + .itemOutputs('ae2:silicon_press') + .duration(8000) + .EUt(116) + + // Inscriber logic Press + event.recipes.gtceu.laser_engraver('ae2:logic_processor_press_iron') + .itemInputs('#forge:plates/iron') + .notConsumable('#forge:lenses/green') + .itemOutputs('ae2:logic_processor_press') + .duration(12000) + .EUt(116) + + event.recipes.gtceu.laser_engraver('ae2:logic_processor_press_wrought_iron') + .itemInputs('#forge:plates/wrought_iron') + .notConsumable('#forge:lenses/green') + .itemOutputs('ae2:logic_processor_press') + .duration(8000) + .EUt(116) + + // Inscriber engineering Press + event.recipes.gtceu.laser_engraver('ae2:engineering_press_iron') + .itemInputs('#forge:plates/iron') + .notConsumable('#forge:lenses/light_blue') + .itemOutputs('ae2:engineering_processor_press') + .duration(12000) + .EUt(116) + + event.recipes.gtceu.laser_engraver('ae2:engineering_press_wrought_iron') + .itemInputs('#forge:plates/wrought_iron') + .notConsumable('#forge:lenses/light_blue') + .itemOutputs('ae2:engineering_processor_press') + .duration(8000) + .EUt(116) + + // Inscriber calculation Press + event.recipes.gtceu.laser_engraver('ae2:calculation_press_iron') + .itemInputs('#forge:plates/iron') + .notConsumable('#forge:lenses/blue') + .itemOutputs('ae2:calculation_processor_press') + .duration(12000) + .EUt(116) + + event.recipes.gtceu.laser_engraver('ae2:calculation_press_wrought_iron') + .itemInputs( '#forge:plates/wrought_iron') + .notConsumable('#forge:lenses/blue') + .itemOutputs('ae2:calculation_processor_press') + .duration(8000) + .EUt(116) + + + // Quartz Fiber + event.recipes.gtceu.wiremill('ae2:quartz_fiber_certus') + .itemInputs('#forge:rods/certus_quartz') + .itemOutputs('ae2:quartz_fiber') + .duration(200) + .EUt(7) + + event.recipes.gtceu.wiremill('ae2:quartz_fiber_nether') + .itemInputs('#forge:rods/nether_quartz') + .itemOutputs('ae2:quartz_fiber') + .duration(200) + .EUt(7) + + + // Quartz Glass + event.recipes.gtceu.alloy_smelter('ae2:quartz_glass') + .itemInputs('5x #forge:dusts/certus_quartz', '4x #forge:glass') + .itemOutputs('4x ae2:quartz_glass') + .duration(20) + .EUt(480) + + // Vibrant Quartz Glass + event.recipes.gtceu.alloy_smelter('ae2:quartz_vibrant_glass') + .itemInputs('ae2:quartz_glass', '8x #forge:dusts/glowstone') + .itemOutputs('ae2:quartz_vibrant_glass') + .duration(20) + .EUt(480) + + // Charged Certus Quartz + event.recipes.gtceu.polarizer('ae2:charged_certus_quartz_crystal') + .itemInputs('#forge:gems/certus_quartz') + .itemOutputs('ae2:charged_certus_quartz_crystal') + .duration(800) + .EUt(190) + + //#region Cell Packing + + event.recipes.gtceu.packer('ae2:view_cell') + .itemInputs( 'ae2:item_cell_housing', '#forge:gems/certus_quartz') + .itemOutputs('ae2:view_cell') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:item_storage_cell_1k') + .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_1k') + .itemOutputs('ae2:item_storage_cell_1k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:item_storage_cell_4k') + .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_4k') + .itemOutputs('ae2:item_storage_cell_4k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:item_storage_cell_16k') + .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_16k') + .itemOutputs('ae2:item_storage_cell_16k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:item_storage_cell_64k') + .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_64k') + .itemOutputs('ae2:item_storage_cell_64k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:item_storage_cell_256k') + .itemInputs('ae2:item_cell_housing', 'ae2:cell_component_256k') + .itemOutputs('ae2:item_storage_cell_256k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_1k') + .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_1k') + .itemOutputs('ae2:fluid_storage_cell_1k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_4k') + .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_4k') + .itemOutputs('ae2:fluid_storage_cell_4k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_16k') + .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_16k') + .itemOutputs('ae2:fluid_storage_cell_16k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_64k') + .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_64k') + .itemOutputs('ae2:fluid_storage_cell_64k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_256k') + .itemInputs('ae2:fluid_cell_housing', 'ae2:cell_component_256k') + .itemOutputs('ae2:fluid_storage_cell_256k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:spatial_storage_cell_2') + .itemInputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_2') + .itemOutputs('ae2:spatial_storage_cell_2') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:spatial_storage_cell_16') + .itemInputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_16') + .itemOutputs('ae2:spatial_storage_cell_16') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:spatial_storage_cell_128') + .itemInputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_128') + .itemOutputs('ae2:spatial_storage_cell_128') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:view_cell_back') + .itemInputs('ae2:view_cell') + .itemOutputs('ae2:item_cell_housing','#forge:gems/certus_quartz') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:item_storage_cell_1k_back') + .itemInputs('ae2:item_storage_cell_1k') + .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_1k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:item_storage_cell_4k_back') + .itemInputs('ae2:item_storage_cell_4k') + .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_4k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:item_storage_cell_16k_back') + .itemInputs('ae2:item_storage_cell_16k') + .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_16k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:item_storage_cell_64k_back') + .itemInputs('ae2:item_storage_cell_64k') + .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_64k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:item_storage_cell_256k_back') + .itemInputs('ae2:item_storage_cell_256k') + .itemOutputs('ae2:item_cell_housing', 'ae2:cell_component_256k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_1k_back') + .itemInputs('ae2:fluid_storage_cell_1k') + .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_1k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_4k_back') + .itemInputs('ae2:fluid_storage_cell_4k') + .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_4k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_16k_back') + .itemInputs('ae2:fluid_storage_cell_16k') + .itemOutputs('ae2:fluid_cell_housing','ae2:cell_component_16k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_64k_back') + .itemInputs('ae2:fluid_storage_cell_64k') + .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_64k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:fluid_storage_cell_256k_back') + .itemInputs('ae2:fluid_storage_cell_256k') + .itemOutputs('ae2:fluid_cell_housing', 'ae2:cell_component_256k') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:spatial_storage_cell_2_back') + .itemInputs('ae2:spatial_storage_cell_2') + .itemOutputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_2') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:spatial_storage_cell_16_back') + .itemInputs('ae2:spatial_storage_cell_16') + .itemOutputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_16') + .duration(10) + .EUt(12) + + event.recipes.gtceu.packer('ae2:spatial_storage_cell_128_back') + .itemInputs('ae2:spatial_storage_cell_128') + .itemOutputs('ae2:item_cell_housing', 'ae2:spatial_cell_component_128') + .duration(10) + .EUt(12) + + //#endregion + + // Crafting Storage + event.recipes.gtceu.packer('ae2:crafting_accelerator') + .itemInputs('ae2:crafting_unit', 'ae2:engineering_processor') + .itemOutputs('ae2:crafting_accelerator') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:1k_crafting_storage') + .itemInputs('ae2:crafting_unit', 'ae2:cell_component_1k') + .itemOutputs('ae2:1k_crafting_storage') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:4k_crafting_storage') + .itemInputs('ae2:crafting_unit', 'ae2:cell_component_4k') + .itemOutputs('ae2:4k_crafting_storage') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:16k_crafting_storage') + .itemInputs('ae2:crafting_unit', 'ae2:cell_component_16k') + .itemOutputs('ae2:16k_crafting_storage') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:64k_crafting_storage') + .itemInputs('ae2:crafting_unit', 'ae2:cell_component_64k') + .itemOutputs('ae2:64k_crafting_storage') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:256k_crafting_storage') + .itemInputs('ae2:crafting_unit', 'ae2:cell_component_256k') + .itemOutputs('ae2:256k_crafting_storage') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:crafting_monitor') + .itemInputs('ae2:crafting_unit', 'ae2:storage_monitor') + .itemOutputs('ae2:crafting_monitor') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:crafting_accelerator_back') + .itemInputs('ae2:crafting_accelerator') + .itemOutputs('ae2:crafting_unit', 'ae2:engineering_processor') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:1k_crafting_storage_back') + .itemInputs('ae2:1k_crafting_storage') + .itemOutputs('ae2:crafting_unit', 'ae2:cell_component_1k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:4k_crafting_storage_back') + .itemInputs('ae2:4k_crafting_storage') + .itemOutputs('ae2:crafting_unit', 'ae2:cell_component_4k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:16k_crafting_storage_back') + .itemInputs('ae2:16k_crafting_storage') + .itemOutputs('ae2:crafting_unit', 'ae2:cell_component_16k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:64k_crafting_storage_back') + .itemInputs( + 'ae2:64k_crafting_storage') + .itemOutputs( + 'ae2:crafting_unit', + 'ae2:cell_component_64k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:256k_crafting_storage_back') + .itemInputs('ae2:256k_crafting_storage') + .itemOutputs('ae2:crafting_unit', 'ae2:cell_component_256k') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.packer('ae2:crafting_monitor_back') + .itemInputs('ae2:crafting_monitor') + .itemOutputs('ae2:crafting_unit', 'ae2:storage_monitor') + .duration(10) + .EUt(12) + .cleanroom(CleanroomType.CLEANROOM) + + // Cable Anchor + event.recipes.gtceu.extruder('ae2:cable_anchor') + .itemInputs('#forge:plates/steel') + .notConsumable('gtceu:bolt_extruder_mold') + .itemOutputs('8x ae2:cable_anchor') + .duration(15) + .EUt(120) + + // Quantum Ring + event.recipes.gtceu.assembly_line('ae2:quantum_ring') + .itemInputs( + '6x #forge:batteries/hv', + '12x #forge:circuits/iv', + '16x gtceu:iv_emitter', + '8x ae2:engineering_processor', + '14x gtceu:iv_sensor', + 'ae2:logic_processor',) + .inputFluids(Fluid.of('gtceu:titanium', 1440)) + .itemOutputs('ae2:quantum_ring') + .duration(900) + .EUt(8300) + .cleanroom(CleanroomType.CLEANROOM) + + // Quantum Link Chamber + event.recipes.gtceu.assembly_line('ae2:quantum_link') + .itemInputs( + '8x ae2:fluix_pearl', + '6x ae2:quartz_vibrant_glass', + '8x ae2:engineering_processor', + '14x gtceu:iv_sensor', + '2x gtceu:hv_lithium_battery') + .inputFluids(Fluid.of('gtceu:titanium', 1088)) + .itemOutputs('ae2:quantum_link') + .duration(700) + .EUt(8300) + .cleanroom(CleanroomType.CLEANROOM) + + // Chemical Reactor + event.recipes.gtceu.chemical_reactor('ae2:fluix_pearl') + .itemInputs('4x #forge:gems/fluix', '#forge:gems/ender_eye') + .inputFluids(Fluid.of('gtceu:fluix', 576)) + .itemOutputs('ae2:fluix_pearl') + .duration(200) + .EUt(480) + .cleanroom(CleanroomType.CLEANROOM) + + // Fluix crystal + event.recipes.gtceu.mixer('ae2:fluix_crystal') + .itemInputs( + '#forge:gems/nether_quartz', + '4x #forge:dusts/redstone', + 'ae2:charged_certus_quartz_crystal',) + .itemOutputs('ae2:fluix_crystal') + .duration(40) + .EUt(18) + + event.recipes.gtceu.mixer('ae2:fluix_crystal_ruby') + .itemInputs( + '#forge:gems/nether_quartz', + '#forge:exquisite_gems/ruby', + 'ae2:charged_certus_quartz_crystal',) + .itemOutputs('4x ae2:fluix_crystal') + .duration(40) + .EUt(18) + + event.recipes.gtceu.mixer('ae2:fluix_crystal_quartz') + .itemInputs( + '#forge:exquisite_gems/nether_quartz', + '4x #forge:dusts/redstone', + 'ae2:charged_certus_quartz_crystal',) + .itemOutputs('4x ae2:fluix_crystal') + .duration(40) + .EUt(18) + + event.recipes.gtceu.mixer('ae2:fluix_crystal_quartz_ruby') + .itemInputs( + '#forge:exquisite_gems/nether_quartz', + '#forge:exquisite_gems/ruby', + 'ae2:charged_certus_quartz_crystal',) + .itemOutputs('12x ae2:fluix_crystal') + .duration(40) + .EUt(18) } \ No newline at end of file diff --git a/kubejs/server_scripts/ae2/tags.js b/kubejs/server_scripts/ae2/tags.js new file mode 100644 index 000000000..e2e317252 --- /dev/null +++ b/kubejs/server_scripts/ae2/tags.js @@ -0,0 +1,5 @@ +// priority: 0 + +const registerAE2ItemTags = (event) => { + +} diff --git a/kubejs/server_scripts/ae2wtlib/recipes.js b/kubejs/server_scripts/ae2wtlib/recipes.js new file mode 100644 index 000000000..df4cc9431 --- /dev/null +++ b/kubejs/server_scripts/ae2wtlib/recipes.js @@ -0,0 +1,65 @@ +// priority: 0 + +const registerAE2WTLibRecipes = (event) => { + + // Удаление рецептов мода + event.remove({ id: 'ae2wtlib:pattern_access/wireless_pattern_access_terminal' }); + event.remove({ id: 'ae2wtlib:pattern_encoding/wireless_pattern_encoding_terminal' }); + event.remove({ id: 'ae2wtlib:pattern_encoding/upgrade_wireless_pattern_encoding_terminal' }); + + event.remove({ id: 'ae2wtlib:magnet_card' }); + event.remove({ id: 'ae2wtlib:quantum_bridge_card' }); + + // Wireless Pattern Terminal + event.recipes.gtceu.assembler('ae2wtlib:wireless_pattern_encoding_terminal') + .itemInputs( + '2x ae2:dense_energy_cell', + 'ae2:wireless_terminal', + 'ae2:pattern_encoding_terminal', + '2x gtceu:luv_sensor', + 'gtceu:luv_emitter', + '2x #forge:rods/osmiridium', + ) + .itemOutputs('ae2wtlib:wireless_pattern_encoding_terminal') + .duration(30) + .EUt(250) + + // Pattern Access Terminal + event.recipes.gtceu.assembler('ae2wtlib:wireless_pattern_access_terminal') + .itemInputs( + '2x ae2:dense_energy_cell', + 'ae2:wireless_terminal', + 'ae2:pattern_access_terminal', + '2x gtceu:luv_sensor', + 'gtceu:luv_emitter', + '2x #forge:rods/osmiridium' + ) + .itemOutputs('ae2wtlib:wireless_pattern_access_terminal') + .duration(30) + .EUt(250) + + // Magnet Card + event.recipes.gtceu.assembler('ae2wtlib:magnet_card') + .itemInputs( + '#forge:ingots/magnetic_neodymium', + '4x #forge:rods/magnetic_neodymium', + 'ae2:advanced_card', + 'ae2:annihilation_plane', + '#forge:plates/redstone', + '#forge:plates/lapis', + ) + .itemOutputs('ae2wtlib:magnet_card') + .duration(30) + .EUt(250) + + // Quantum Bridge Card + event.recipes.gtceu.assembler('ae2wtlib:quantum_bridge_card') + .itemInputs( + '4x gtceu:iv_sensor', + '4x ae2:wireless_booster', + '2x gtceu:luv_sensor', + 'gtceu:wireless_digital_interface_cover',) + .itemOutputs('ae2wtlib:quantum_bridge_card') + .duration(30) + .EUt(250) +} \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 238885f63..f21caed63 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -9,6 +9,7 @@ ServerEvents.tags('item', event => { registerSmallShipsItemTags(event) registerMinecraftItemTags(event) registerGTCEUItemTags(event) + registerAE2ItemTags(event) registerCreateItemTags(event) registerAdAstraItemTags(event) registerMoreRedItemTags(event) @@ -69,6 +70,7 @@ ServerEvents.recipes(event => { registerGTCEURecipes(event) registerCreateRecipes(event) registerAE2Recipes(event) + registerAE2WTLibRecipes(event) registerComputerCraftRecipes(event) registerAdAstraRecipes(event) registerMoreRedRecipes(event) diff --git a/kubejs/startup_scripts/ae2/constants.js b/kubejs/startup_scripts/ae2/constants.js new file mode 100644 index 000000000..93bac6fd0 --- /dev/null +++ b/kubejs/startup_scripts/ae2/constants.js @@ -0,0 +1,275 @@ +// priority: 0 + +global.AE2_DISABLED_ITEMS = [ + // Инструменты + 'ae2:certus_quartz_sword', + 'ae2:nether_quartz_sword', + 'ae2:fluix_sword', + 'ae2:certus_quartz_wrench', + 'ae2:nether_quartz_wrench', + 'ae2:fluix_upgrade_smithing_template', + 'ae2:certus_quartz_axe', + 'ae2:nether_quartz_axe', + 'ae2:fluix_axe', + 'ae2:certus_quartz_hoe', + 'ae2:nether_quartz_hoe', + 'ae2:fluix_hoe', + 'ae2:certus_quartz_shovel', + 'ae2:nether_quartz_shovel', + 'ae2:fluix_shovel', + 'ae2:certus_quartz_pickaxe', + 'ae2:nether_quartz_pickaxe', + 'ae2:fluix_pickaxe', + 'ae2:entropy_manipulator', + 'ae2:charged_staff', + '#ae2:knife', + 'ae2:name_press', + + // Блоки + 'ae2:vibration_chamber', + 'ae2:crank', + 'ae2:charger', + 'ae2:spatial_anchor', + 'ae2:inscriber', + 'ae2:growth_accelerator', + 'ae2:cut_quartz_block', + 'ae2:smooth_quartz_block', + 'ae2:quartz_bricks', + 'ae2:quartz_pillar', + 'ae2:chiseled_quartz_block', + 'ae2:quartz_stairs', + 'ae2:cut_quartz_stairs', + 'ae2:smooth_quartz_stairs', + 'ae2:quartz_brick_stairs', + 'ae2:chiseled_quartz_stairs', + 'ae2:quartz_pillar_stairs', + 'ae2:fluix_stairs', + 'ae2:quartz_slab', + 'ae2:cut_quartz_slab', + 'ae2:smooth_quartz_slab', + 'ae2:quartz_brick_slab', + 'ae2:chiseled_quartz_slab', + 'ae2:quartz_pillar_slab', + 'ae2:fluix_slab', + 'ae2:quartz_wall', + 'ae2:cut_quartz_wall', + 'ae2:smooth_quartz_wall', + 'ae2:quartz_brick_wall', + 'ae2:chiseled_quartz_wall', + 'ae2:quartz_pillar_wall', + 'ae2:fluix_wall', + 'ae2:sky_stone_block', + 'ae2:smooth_sky_stone_block', + 'ae2:sky_stone_brick', + 'ae2:sky_stone_small_brick', + 'ae2:sky_stone_chest', + 'ae2:smooth_sky_stone_chest', + 'ae2:sky_stone_tank', + 'ae2:mysterious_cube', + 'ae2:not_so_mysterious_cube', + 'ae2:sky_stone_stairs', + 'ae2:smooth_sky_stone_stairs', + 'ae2:sky_stone_brick_stairs', + 'ae2:sky_stone_small_brick_stairs', + 'ae2:sky_stone_slab', + 'ae2:smooth_sky_stone_slab', + 'ae2:sky_stone_brick_slab', + 'ae2:sky_stone_small_brick_slab', + 'ae2:sky_stone_wall', + 'ae2:smooth_sky_stone_wall', + 'ae2:sky_stone_brick_wall', + 'ae2:sky_stone_small_brick_wall', + 'gtceu:raw_certus_quartz_block', + + // Другое + 'ae2:meteorite_compass', + 'ae2:silicon', + 'ae2:sky_dust', + 'ae2:energy_acceptor', + 'ae2:cable_energy_acceptor', + 'ae2:energy_cell', + 'ae2:dense_energy_cell', + 'ae2:creative_energy_cell', + 'ae2:tiny_tnt' +]; + +// Glass Cable +global.AE2_GLASS_CABLES = [ + 'ae2:white_glass_cable', + 'ae2:orange_glass_cable', + 'ae2:magenta_glass_cable', + 'ae2:light_blue_glass_cable', + 'ae2:yellow_glass_cable', + 'ae2:lime_glass_cable', + 'ae2:pink_glass_cable', + 'ae2:gray_glass_cable', + 'ae2:light_gray_glass_cable', + 'ae2:cyan_glass_cable', + 'ae2:purple_glass_cable', + 'ae2:blue_glass_cable', + 'ae2:brown_glass_cable', + 'ae2:green_glass_cable', + 'ae2:red_glass_cable', + 'ae2:black_glass_cable', +] + +// Covered Cable +global.AE2_COVERED_CABLES = [ + 'ae2:white_covered_cable', + 'ae2:orange_covered_cable', + 'ae2:magenta_covered_cable', + 'ae2:light_blue_covered_cable', + 'ae2:yellow_covered_cable', + 'ae2:lime_covered_cable', + 'ae2:pink_covered_cable', + 'ae2:gray_covered_cable', + 'ae2:light_gray_covered_cable', + 'ae2:cyan_covered_cable', + 'ae2:purple_covered_cable', + 'ae2:blue_covered_cable', + 'ae2:brown_covered_cable', + 'ae2:green_covered_cable', + 'ae2:red_covered_cable', + 'ae2:black_covered_cable', +] + +// Dense Covered Cable +global.AE2_COVERED_DENSE_CABLES = [ + 'ae2:white_covered_dense_cable', + 'ae2:orange_covered_dense_cable', + 'ae2:magenta_covered_dense_cable', + 'ae2:light_blue_covered_dense_cable', + 'ae2:yellow_covered_dense_cable', + 'ae2:lime_covered_dense_cable', + 'ae2:pink_covered_dense_cable', + 'ae2:gray_covered_dense_cable', + 'ae2:light_gray_covered_dense_cable', + 'ae2:cyan_covered_dense_cable', + 'ae2:purple_covered_dense_cable', + 'ae2:blue_covered_dense_cable', + 'ae2:brown_covered_dense_cable', + 'ae2:green_covered_dense_cable', + 'ae2:red_covered_dense_cable', + 'ae2:black_covered_dense_cable', +] + +// Smart Cable +global.AE2_SMART_CABLES = [ + 'ae2:white_smart_cable', + 'ae2:orange_smart_cable', + 'ae2:magenta_smart_cable', + 'ae2:light_blue_smart_cable', + 'ae2:yellow_smart_cable', + 'ae2:lime_smart_cable', + 'ae2:pink_smart_cable', + 'ae2:gray_smart_cable', + 'ae2:light_gray_smart_cable', + 'ae2:cyan_smart_cable', + 'ae2:purple_smart_cable', + 'ae2:blue_smart_cable', + 'ae2:brown_smart_cable', + 'ae2:green_smart_cable', + 'ae2:red_smart_cable', + 'ae2:black_smart_cable', +] + +// Dense Smart Cable +global.AE2_SMART_DENSE_CABLES = [ + 'ae2:white_smart_dense_cable', + 'ae2:orange_smart_dense_cable', + 'ae2:magenta_smart_dense_cable', + 'ae2:light_blue_smart_dense_cable', + 'ae2:yellow_smart_dense_cable', + 'ae2:lime_smart_dense_cable', + 'ae2:pink_smart_dense_cable', + 'ae2:gray_smart_dense_cable', + 'ae2:light_gray_smart_dense_cable', + 'ae2:cyan_smart_dense_cable', + 'ae2:purple_smart_dense_cable', + 'ae2:blue_smart_dense_cable', + 'ae2:brown_smart_dense_cable', + 'ae2:green_smart_dense_cable', + 'ae2:red_smart_dense_cable', + 'ae2:black_smart_dense_cable', +] + +// Smart Cable +global.AE2_SMART_CABLES = [ + 'ae2:white_smart_cable', + 'ae2:orange_smart_cable', + 'ae2:magenta_smart_cable', + 'ae2:light_blue_smart_cable', + 'ae2:yellow_smart_cable', + 'ae2:lime_smart_cable', + 'ae2:pink_smart_cable', + 'ae2:gray_smart_cable', + 'ae2:light_gray_smart_cable', + 'ae2:cyan_smart_cable', + 'ae2:purple_smart_cable', + 'ae2:blue_smart_cable', + 'ae2:brown_smart_cable', + 'ae2:green_smart_cable', + 'ae2:red_smart_cable', + 'ae2:black_smart_cable', +] + +// Dense Smart Cable +global.AE2_SMART_DENSE_CABLES = [ + 'ae2:white_smart_dense_cable', + 'ae2:orange_smart_dense_cable', + 'ae2:magenta_smart_dense_cable', + 'ae2:light_blue_smart_dense_cable', + 'ae2:yellow_smart_dense_cable', + 'ae2:lime_smart_dense_cable', + 'ae2:pink_smart_dense_cable', + 'ae2:gray_smart_dense_cable', + 'ae2:light_gray_smart_dense_cable', + 'ae2:cyan_smart_dense_cable', + 'ae2:purple_smart_dense_cable', + 'ae2:blue_smart_dense_cable', + 'ae2:brown_smart_dense_cable', + 'ae2:green_smart_dense_cable', + 'ae2:red_smart_dense_cable', + 'ae2:black_smart_dense_cable', +] + + +// Paint ball +global.AE2_PAINTBALLS = [ + 'ae2:white_paint_ball', + 'ae2:orange_paint_ball', + 'ae2:magenta_paint_ball', + 'ae2:light_blue_paint_ball', + 'ae2:yellow_paint_ball', + 'ae2:lime_paint_ball', + 'ae2:pink_paint_ball', + 'ae2:gray_paint_ball', + 'ae2:light_gray_paint_ball', + 'ae2:cyan_paint_ball', + 'ae2:purple_paint_ball', + 'ae2:blue_paint_ball', + 'ae2:brown_paint_ball', + 'ae2:green_paint_ball', + 'ae2:red_paint_ball', + 'ae2:black_paint_ball', +] +// Lumen paint ball +global.AE2_LUMEN_PAINTBALLS = [ + 'ae2:white_lumen_paint_ball', + 'ae2:orange_lumen_paint_ball', + 'ae2:magenta_lumen_paint_ball', + 'ae2:light_blue_lumen_paint_ball', + 'ae2:yellow_lumen_paint_ball', + 'ae2:lime_lumen_paint_ball', + 'ae2:pink_lumen_paint_ball', + 'ae2:gray_lumen_paint_ball', + 'ae2:light_gray_lumen_paint_ball', + 'ae2:cyan_lumen_paint_ball', + 'ae2:purple_lumen_paint_ball', + 'ae2:blue_lumen_paint_ball', + 'ae2:brown_lumen_paint_ball', + 'ae2:green_lumen_paint_ball', + 'ae2:red_lumen_paint_ball', + 'ae2:black_lumen_paint_ball', +] + diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 3783b5981..693b85b89 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -16,4 +16,23 @@ global.GTCEU_DISABLED_ITEMS = [ 'gtceu:rubber_log', 'gtceu:rubber_leaves', 'gtceu:rubber_planks' +]; + +global.GTCEU_LIQUID_DYE = [ + 'gtceu:white_dye', + 'gtceu:orange_dye', + 'gtceu:magenta_dye', + 'gtceu:light_blue_dye', + 'gtceu:yellow_dye', + 'gtceu:lime_dye', + 'gtceu:pink_dye', + 'gtceu:gray_dye', + 'gtceu:light_gray_dye', + 'gtceu:cyan_dye', + 'gtceu:purple_dye', + 'gtceu:blue_dye', + 'gtceu:brown_dye', + 'gtceu:green_dye', + 'gtceu:red_dye', + 'gtceu:black_dye', ]; \ No newline at end of file diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index d2dd8786e..a6818ef3e 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -5,15 +5,21 @@ const $SimpleTieredMachine = Java.loadClass('com.gregtechceu.gtceu.api.machine.S /** * Событие регистрации предметов. */ -StartupEvents.registry('item', (event) => { -}) +StartupEvents.registry('item', (event) => {}) /** * Событие регистрации блоков. */ -StartupEvents.registry('block', (event) => { -}) +StartupEvents.registry('block', (event) => {}) +/** + * Событие регистрации жидкостей. + */ +StartupEvents.registry('fluid', (event) => {}) + +/** + * Событие регистрации типов рецептов GTCEu. + */ GTCEuStartupEvents.registry('gtceu:recipe_type', event => { event.create('saw_mill') .category('tfg') // Used in the GTlib / LDlib ui editor @@ -26,6 +32,9 @@ GTCEuStartupEvents.registry('gtceu:recipe_type', event => { .setSound(GTSoundEntries.CUT) }) +/** + * Событие регистрации машин GTCEu. + */ GTCEuStartupEvents.registry('gtceu:machine', event => { event.create('saw_mill', 'simple', GTValues.LV, GTValues.MV, GTValues.HV, GTValues.EV, GTValues.IV, GTValues.LuV, GTValues.ZPM, GTValues.UV) .editableUI($SimpleTieredMachine.EDITABLE_UI_CREATOR.apply(new ResourceLocation("gtceu"), GTRecipeTypes.get('saw_mill'))) diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 87e9df576..63f76ffc0 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -331,5 +331,24 @@ global.VANILLA_STONE_TYPES = [ "andesite", "diorite", "granite", - "tuff", + "tuff" +]; + +global.MINECRAFT_FORGE_DYES = [ + '#forge:dyes/white', + '#forge:dyes/orange', + '#forge:dyes/magenta', + '#forge:dyes/light_blue', + '#forge:dyes/yellow', + '#forge:dyes/lime', + '#forge:dyes/pink', + '#forge:dyes/gray', + '#forge:dyes/light_gray', + '#forge:dyes/cyan', + '#forge:dyes/purple', + '#forge:dyes/blue', + '#forge:dyes/brown', + '#forge:dyes/green', + '#forge:dyes/red', + '#forge:dyes/black' ]; diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 4c3f92554..8cf1ca5da 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -1249,6 +1249,25 @@ global.TFC_ORE_MATERIALS = [ "tetrahedrite" ]; +global.TFC_LIQUID_DYES = [ + 'tfc:white_dye', + 'tfc:orange_dye', + 'tfc:magenta_dye', + 'tfc:light_blue_dye', + 'tfc:yellow_dye', + 'tfc:lime_dye', + 'tfc:pink_dye', + 'tfc:gray_dye', + 'tfc:light_gray_dye', + 'tfc:cyan_dye', + 'tfc:purple_dye', + 'tfc:blue_dye', + 'tfc:brown_dye', + 'tfc:green_dye', + 'tfc:red_dye', + 'tfc:black_dye', +]; + global.TFC_UNFIRED_MOLDS = [ "tfc:ceramic/unfired_ingot_mold", "tfc:ceramic/unfired_pickaxe_head_mold", @@ -1290,4 +1309,4 @@ global.TFC_FIRED_MOLDS = [ global.calcAmountOfMetal = (defaultAmount, percents) => { const value = defaultAmount / (100 / percents) return (value % 2 == 0) ? value : Math.round(value) - 1 -} \ No newline at end of file +}