This commit is contained in:
Pyritie 2025-08-07 13:01:29 +01:00
commit bfaad34f2d
473 changed files with 8159 additions and 6681 deletions

View file

@ -269,7 +269,7 @@ const registerAdAstraRecipes = (event) => {
.itemInputs(
'gtceu:carbon_fiber_mesh',
'#forge:aerogels',
'tfc:wool'//replace with glacian wool
'tfg:glacian_wool'
)
.itemOutputs('2x tfg:better_space_suit_fabric')
.duration(20 * 5)
@ -416,25 +416,25 @@ const registerAdAstraRecipes = (event) => {
event.recipes.gtceu.laser_engraver('ad_astra:photovoltaic_etrium_cell_silicon')
.itemInputs('gtceu:silicon_wafer', '#forge:glass_panes', 'gtceu:carbon_fiber_plate')
.itemOutputs('ad_astra:photovoltaic_etrium_cell')
.itemOutputs('tfg:photo_cell_t1')
.EUt(GTValues.VA[GTValues.MV])
.duration(100)
event.recipes.gtceu.laser_engraver('ad_astra:photovoltaic_etrium_cell_phosphorous')
.itemInputs('gtceu:phosphorus_wafer', '#forge:glass_panes', 'gtceu:carbon_fiber_plate')
.itemOutputs('2x ad_astra:photovoltaic_etrium_cell')
.itemOutputs('2x tfg:photo_cell_t1')
.EUt(GTValues.VA[GTValues.MV])
.duration(100)
event.recipes.gtceu.laser_engraver('ad_astra:photovoltaic_etrium_cell_naquadah')
.itemInputs('gtceu:naquadah_wafer', '#forge:glass_panes', 'gtceu:carbon_fiber_plate')
.itemOutputs('4x ad_astra:photovoltaic_etrium_cell')
.itemOutputs('4x tfg:photo_cell_t1')
.EUt(GTValues.VA[GTValues.MV])
.duration(100)
event.recipes.gtceu.laser_engraver('ad_astra:photovoltaic_etrium_cell_neutronium')
.itemInputs('gtceu:neutronium_wafer', '#forge:glass_panes', 'gtceu:carbon_fiber_plate')
.itemOutputs('8x ad_astra:photovoltaic_etrium_cell')
.itemOutputs('8x tfg:photo_cell_t1')
.EUt(GTValues.VA[GTValues.MV])
.duration(100)
@ -443,7 +443,7 @@ const registerAdAstraRecipes = (event) => {
' C ',
'BFE'
], {
A: 'ad_astra:photovoltaic_etrium_cell',
A: 'tfg:photo_cell_t1',
B: '#gtceu:batteries/mv',
C: '#forge:rods/long/aluminium',
E: '#gtceu:circuits/mv',

View file

@ -382,14 +382,26 @@ const registerAdAstraPlacedFeatures = (event) => {
event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_white_sand')
event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_black_sand')
// Mars
//#region Mars
// Vegetation
event.add("tfg:mars_amber_small_plants", "tfg:mars/crop/amber_root")
event.add("tfg:mars_amber_small_plants", "tfg:mars/crop/blossom_berry")
event.add("tfg:mars_amber_small_plants", "tfg:mars/crop/bolux_mushroom")
event.add("tfg:mars_amber_small_plants", "tfg:mars/crop/cave_pumpkin")
event.add("tfg:mars_amber_small_plants", "tfg:mars/crop/chorus_mushroom")
event.add("tfg:mars_amber_small_plants", "tfg:mars/surface/amber_grass")
event.add("tfg:mars_amber_small_plants", "tfg:mars/surface/flamaea")
event.add("tfg:mars_amber_small_plants", "tfg:mars/surface/flammalix")
event.add("tfg:mars_amber_small_plants", "tfg:mars/surface/lutebus")
event.add("tfg:mars_amber_small_plants", "tfg:mars/surface/orango")
event.add("tfg:mars_rusticus_small_plants", "tfg:mars/crop/amber_root")
event.add("tfg:mars_rusticus_small_plants", "tfg:mars/crop/blossom_berry")
event.add("tfg:mars_rusticus_small_plants", "tfg:mars/crop/bolux_mushroom")
event.add("tfg:mars_rusticus_small_plants", "tfg:mars/crop/chorus_mushroom")
event.add("tfg:mars_rusticus_small_plants", "tfg:mars/crop/shadow_berry")
event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/aeridium")
event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/flamaea")
event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/flammalix")
@ -397,16 +409,20 @@ const registerAdAstraPlacedFeatures = (event) => {
event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/lutebus")
event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/orango")
event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/ruscus")
event.add("tfg:mars_sangnum_small_plants", "tfg:mars/crop/blossom_berry")
event.add("tfg:mars_sangnum_small_plants", "tfg:mars/crop/bolux_mushroom")
event.add("tfg:mars_sangnum_small_plants", "tfg:mars/crop/cave_pumpkin")
event.add("tfg:mars_sangnum_small_plants", "tfg:mars/crop/chorus_mushroom")
event.add("tfg:mars_sangnum_small_plants", "tfg:mars/crop/shadow_berry")
event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/cave_grass")
event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/clawfern")
event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/flamaea")
event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/globulagus")
event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/ruscus")
event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/lamellarium")
event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/ruscus")
event.add("tfg:mars_global_small_plants", "tfg:mars/surface/small_amaranita_mushroom")
//event.add("tfg:mars_global_small_plants", "tfg:mars/surface/bolux_mushroom")
// TODO
event.add("tfg:mars_trees", "tfg:mars/surface/strophar_huge")
@ -414,11 +430,7 @@ const registerAdAstraPlacedFeatures = (event) => {
event.add("tfg:mars_trees", "species:alphacene_mushroom")
event.add("tfg:mars_global_small_plants", "tfg:mars/surface/aeronos_patch")
event.add("tfg:mars_global_small_plants", "tfg:mars/surface/strophar_patch")
// Temp
event.add('tfg:mars_small_rock_features', 'tfg:mars/no_op')
event.add('tfg:mars_veins', 'tfg:mars/no_op')
event.add("tfg:mars_amber_vegetal_decoration", "#tfg:mars_trees")
event.add("tfg:mars_amber_vegetal_decoration", "#tfg:mars_amber_small_plants")
event.add("tfg:mars_amber_vegetal_decoration", "#tfg:mars_global_small_plants")
@ -430,9 +442,13 @@ const registerAdAstraPlacedFeatures = (event) => {
event.add("tfg:mars_sangnum_vegetal_decoration", "#tfg:mars_trees")
event.add("tfg:mars_sangnum_vegetal_decoration", "#tfg:mars_sangnum_small_plants")
event.add("tfg:mars_sangnum_vegetal_decoration", "#tfg:mars_global_small_plants")
// Venus
// Top layer
event.add("tfg:mars_top_layer_modification", "tfc:surface_loose_rocks")
//#endregion
//#region Venus
event.add('tfg:venus_delta_surface_features', 'tfg:venus/surface/geyser_source_patch')
event.add('tfg:venus_delta_surface_features', 'tfg:venus/surface/stromatolite_cluster_patch')
event.add('tfg:venus_delta_surface_features', 'tfg:venus/surface/stromatolite_tower')
@ -447,4 +463,5 @@ const registerAdAstraPlacedFeatures = (event) => {
event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_geyserite')
event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_orange_sand')
event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_yellow_sand')
//#endregion
}

View file

@ -80,14 +80,6 @@ const registerAdvancedPeripheralsRecipes = (event) => {
.duration(1200)
.EUt(GTValues.VA[GTValues.HV])
//Chunk Controller
event.recipes.gtceu.assembler('advancedperipherals:assembler/chunk_controller')
.itemInputs('1x gtceu:hv_field_generator', '4x gtceu:hv_emitter', '4x gtceu:hv_sensor', '64x gtceu:ram_chip', '1x #forge:exquisite_gems/red_garnet', ChemicalHelper.get(TagPrefix.plate, GTMaterials.StainlessSteel, 4))
.circuit(4)
.itemOutputs('advancedperipherals:chunk_controller')
.duration(1200)
.EUt(GTValues.VA[GTValues.HV])
//End Automata Core
event.recipes.gtceu.assembler('advancedperipherals:assembler/end_automata_core')
.itemInputs('1x computercraft:wired_modem', '1x #forge:lenses/nether_star', '4x gtceu:quantum_eye', ChemicalHelper.get(TagPrefix.gear, GTMaterials.HSSS, 4), '1x gtceu:luv_robot_arm')
@ -112,14 +104,6 @@ const registerAdvancedPeripheralsRecipes = (event) => {
.duration(2400)
.EUt(GTValues.VA[GTValues.HV])
//Overpowered End Automata Core
event.recipes.gtceu.assembler('advancedperipherals:assembler/overpowered_end_automata_core')
.itemInputs('advancedperipherals:end_automata_core', ChemicalHelper.get(TagPrefix.gear, GTMaterials.Osmiridium, 4), '8x #gtceu:circuits/zpm')
.circuit(4)
.itemOutputs('advancedperipherals:overpowered_end_automata_core')
.duration(2400)
.EUt(GTValues.VA[GTValues.ZPM])
//Overpowered Husbandry Automata Core
event.recipes.gtceu.assembler('advancedperipherals:assembler/overpowered_husbandry_automata_core')
.itemInputs('advancedperipherals:husbandry_automata_core', ChemicalHelper.get(TagPrefix.gear, GTMaterials.HSSS, 4), '6x #gtceu:circuits/iv')

View file

@ -10,7 +10,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 12),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 5),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Emerald, 2)
)
)
.duration(GTMaterials.Aluminium.getMass() * 12)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -21,7 +21,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 12),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 5),
ChemicalHelper.get(TagPrefix.gemFlawless, GTMaterials.Emerald, 2)
)
)
.duration(GTMaterials.Aluminium.getMass() * 12)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -34,7 +34,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 19),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.MercuryBariumCalciumCuprate, 8),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 3)
)
)
.duration(GTMaterials.Electrum.getMass() * 24)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -46,7 +46,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 19),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.MercuryBariumCalciumCuprate, 8),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 3)
)
)
.duration(GTMaterials.Electrum.getMass() * 24)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -59,7 +59,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.CertusQuartz, 11),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 6),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 2)
)
)
.duration(GTMaterials.Aluminium.getMass() * 19)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -71,7 +71,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.gem, GTMaterials.CertusQuartz, 11),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 6),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 2)
)
)
.duration(GTMaterials.Aluminium.getMass() * 19)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -82,7 +82,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 8),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 2)
)
)
.duration(GTMaterials.StainlessSteel.getMass() * 8)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -92,7 +92,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 8),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 2)
)
)
.duration(GTMaterials.StainlessSteel.getMass() * 8)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -127,7 +127,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedAlloy, 6),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Brass, 5),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4)
)
)
.duration(GTMaterials.RedAlloy.getMass() * 6)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -138,7 +138,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedAlloy, 6),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Brass, 5),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4)
)
)
.duration(GTMaterials.RedAlloy.getMass() * 6)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -151,7 +151,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 6),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 2),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 1)
)
)
.duration(GTMaterials.Steel.getMass() * 6)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -163,7 +163,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 6),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 2),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 1)
)
)
.duration(GTMaterials.Steel.getMass() * 6)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -175,7 +175,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 11),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 4),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 3)
)
)
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -186,7 +186,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 11),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 4),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 3)
)
)
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -198,7 +198,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 10),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 1),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 1)
)
)
.duration(GTMaterials.StainlessSteel.getMass() * 10)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -209,43 +209,18 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 10),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 1),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 1)
)
)
.duration(GTMaterials.StainlessSteel.getMass() * 10)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// Chunk Controller
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/chunk_controller')
.itemInputs('advancedperipherals:chunk_controller')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 11),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 10),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.MercuryBariumCalciumCuprate, 4),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Gold, 2)
)
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/chunk_controller')
.itemInputs('advancedperipherals:chunk_controller')
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 11),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 10),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.MercuryBariumCalciumCuprate, 4),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Gold, 2)
)
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// Memory Card
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/memory_card')
.itemInputs('advancedperipherals:memory_card')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 2),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Gold, 1)
)
)
.duration(GTMaterials.Steel.getMass() * 2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -255,7 +230,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 2),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Gold, 1)
)
)
.duration(GTMaterials.Steel.getMass() * 2)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -268,7 +243,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruridit, 12),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.NiobiumTitanium, 3),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Samarium, 2)
)
)
.duration(GTMaterials.HSSS.getMass() * 37)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -280,7 +255,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ruridit, 12),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.NiobiumTitanium, 3),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Samarium, 2)
)
)
.duration(GTMaterials.HSSS.getMass() * 37)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -293,7 +268,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 6),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BlueSteel, 2),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 2)
)
)
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -305,7 +280,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 6),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlueSteel, 2),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 2)
)
)
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -318,7 +293,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 16),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 11),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 3)
)
)
.duration(GTMaterials.Electrum.getMass() * 22)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -330,36 +305,11 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 16),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 11),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 3)
)
)
.duration(GTMaterials.Electrum.getMass() * 22)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// Overpowered End Automata Core
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/overpowered_end_automata_core')
.itemInputs('advancedperipherals:overpowered_end_automata_core')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.HSSS, 37),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruridit, 12),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Osmiridium, 8),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.NiobiumTitanium, 3)
)
.duration(GTMaterials.HSSS.getMass() * 37)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/overpowered_end_automata_core')
.itemInputs('advancedperipherals:overpowered_end_automata_core')
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 37),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ruridit, 12),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Osmiridium, 8),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.NiobiumTitanium, 3)
)
.duration(GTMaterials.HSSS.getMass() * 37)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// Overpowered Husbandry Automata Core
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/overpowered_husbandry_automata_core')
.itemInputs('advancedperipherals:overpowered_husbandry_automata_core')
@ -368,7 +318,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.HSSS, 8),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BlueSteel, 2),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 2)
)
)
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -380,7 +330,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 8),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlueSteel, 2),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 2)
)
)
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@ -393,7 +343,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 16),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 11),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 8)
)
)
.duration(GTMaterials.Electrum.getMass() * 22)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@ -405,7 +355,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 16),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 11),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 8)
)
)
.duration(GTMaterials.Electrum.getMass() * 22)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])

View file

@ -246,6 +246,21 @@ const registerAFCRecipes = (event) => {
//#endregion
//region gt sap processing
event.recipes.gtceu.fluid_heater('maple_sap_condense')
.inputFluids(Fluid.of('afc:maple_sap', 4000))
.outputFluids(Fluid.of('afc:maple_syrup', 100))
.duration(20*25)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.fluid_heater('birch_sap_condense')
.inputFluids(Fluid.of('afc:birch_sap', 8000))
.outputFluids(Fluid.of('afc:birch_syrup', 100))
.duration(20*35)
.EUt(GTValues.VA[GTValues.ULV])
//endregion
event.recipes.gtceu.fluid_solidifier('maple_syrup')
.inputFluids(Fluid.of('afc:maple_syrup', 100))
.itemOutputs('afc:maple_sugar')

View file

@ -20,6 +20,20 @@ const registerBeneathRecipes = (event) => {
event.remove({ id: 'beneath:crafting/hellbricks' })
event.remove({ id: 'beneath:crafting/nether_brick' })
event.remove({ id: 'beneath:quern/slime' })
event.remove({ id: 'beneath:crafting/wood/crimson_planks' })
event.remove({ id: 'beneath:crafting/wood/crimson_slab' })
event.remove({ id: 'beneath:crafting/wood/crimson_button' })
event.remove({ id: 'beneath:crafting/wood/crimson_pressure_plate' })
event.remove({ id: 'beneath:crafting/wood/crimson_lumber_log' })
event.remove({ id: 'beneath:crafting/wood/crimson_lumber_planks' })
event.remove({ id: 'beneath:crafting/wood/crimson_slab_undo' })
event.remove({ id: 'beneath:crafting/wood/warped_planks' })
event.remove({ id: 'beneath:crafting/wood/warped_slab' })
event.remove({ id: 'beneath:crafting/wood/warped_button' })
event.remove({ id: 'beneath:crafting/wood/warped_pressure_plate' })
event.remove({ id: 'beneath:crafting/wood/warped_lumber_log' })
event.remove({ id: 'beneath:crafting/wood/warped_lumber_planks' })
event.remove({ id: 'beneath:crafting/wood/warped_slab_undo' })
event.shaped('beneath:unposter', [
'ABA',
@ -60,4 +74,64 @@ const registerBeneathRecipes = (event) => {
generateGreenHouseRecipe(event, '8x minecraft:crimson_fungus', 'tfg:semiheavy_ammoniacal_water', 16000,
'64x beneath:wood/log/crimson', 'tfg:green_house/crimson_fungus', 'ad_astra:mars', 8,
'16x minecraft:nether_wart_block', GTValues.VA[GTValues.MV])
// don't pass in the items like doors, trapdoors etc because beneath already has good recipes for those
woodBuilder(event, 'crimson', 'beneath:wood/lumber/crimson', '#tfc:crimson_logs', 'beneath:wood/log/crimson',
'beneath:wood/stripped_log/crimson', 'beneath:wood/planks/crimson', null,
'beneath:wood/planks/crimson_slab', null, null, null, null, null, 'beneath:wood/planks/crimson_pressure_plate',
'beneath:wood/planks/crimson_button')
event.recipes.gtceu.lathe(`tfg:cutter/crimson_stripped_wood_from_wood`)
.itemInputs('beneath:wood/wood/crimson')
.itemOutputs('beneath:wood/stripped_wood/crimson')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.custom({
type: 'vintageimprovements:turning',
ingredients: [{ item: 'beneath:wood/wood/crimson' }],
results: [{ item: 'beneath:wood/stripped_wood/crimson' }],
processingTime: 50
}).id(`tfg:vi/lathe/stripping_crimson_wood`)
event.shaped('beneath:wood/sewing_table/crimson', [
' AB',
'CCC',
'D D'
], {
A: '#forge:leather',
B: '#forge:shears',
C: 'beneath:wood/planks/crimson',
D: 'beneath:wood/log/crimson'
}).id('tfg:shaped/crimson_sewing_table')
woodBuilder(event, 'warped', 'beneath:wood/lumber/warped', '#tfc:warped_logs', 'beneath:wood/log/warped',
'beneath:wood/stripped_log/warped', 'beneath:wood/planks/warped', null,
'beneath:wood/planks/warped_slab', null, null, null, null, null, 'beneath:wood/planks/warped_pressure_plate',
'beneath:wood/planks/warped_button')
event.recipes.gtceu.lathe(`tfg:cutter/warped_stripped_wood_from_wood`)
.itemInputs('beneath:wood/wood/warped')
.itemOutputs('beneath:wood/stripped_wood/warped')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.custom({
type: 'vintageimprovements:turning',
ingredients: [{ item: 'beneath:wood/wood/warped' }],
results: [{ item: 'beneath:wood/stripped_wood/warped' }],
processingTime: 50
}).id(`tfg:vi/lathe/stripping_warped_wood`)
event.shaped('beneath:wood/sewing_table/warped', [
' AB',
'CCC',
'D D'
], {
A: '#forge:leather',
B: '#forge:shears',
C: 'beneath:wood/planks/warped',
D: 'beneath:wood/log/warped'
}).id('tfg:shaped/warped_sewing_table')
}

View file

@ -17,7 +17,7 @@ function registerBetterEndRecipes(event) {
.EUt(GTValues.VA[GTValues.MV])
.dimension('ad_astra:moon')
event.recipes.gtceu.greenhouse(`${recipeId }_helium`)
event.recipes.gtceu.greenhouse(`${recipeId}_helium`)
.notConsumable(element.id)
.inputFluids(Fluid.of('gtceu:helium_3', 500))
.itemOutputs(`8x ${element.id}`)
@ -28,4 +28,30 @@ function registerBetterEndRecipes(event) {
.EUt(GTValues.VA[GTValues.MV])
.dimension('ad_astra:moon')
});
Ingredient.of('#tfg:mars_plants').stacks.forEach(element => {
const itemId = element.id;
const recipeId = `greenhouse_${itemId.replace(':', '_')}`;
generateGreenHouseRecipe(event, itemId, 'tfg:semiheavy_ammoniacal_water', 8000, `8x ${itemId}`,
recipeId, 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]);
});
generateGreenHouseRecipe(event, '8x betterend:amber_root_seeds', 'tfg:semiheavy_ammoniacal_water', 8000,
'24x betterend:amber_root_product', 'amber_root', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV])
generateGreenHouseRecipe(event, '8x betterend:blossom_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000,
'24x betterend:blossom_berry_product', 'blossom_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV])
generateGreenHouseRecipe(event, '8x betterend:bolux_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000,
'24x betterend:bolux_mushroom_product', 'bolux_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV])
generateGreenHouseRecipe(event, '8x betterend:cave_pumpkin_plant_seeds', 'tfg:semiheavy_ammoniacal_water', 8000,
'24x betterend:cave_pumpkin', 'cave_pumpkin', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV])
generateGreenHouseRecipe(event, '8x betterend:chorus_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000,
'24x betterend:chorus_mushroom_product', 'chorus_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV])
generateGreenHouseRecipe(event, '8x betterend:shadow_berry', 'tfg:semiheavy_ammoniacal_water', 8000,
'24x betterend:shadow_berry_product', 'shadow_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV])
}

View file

@ -3,7 +3,39 @@
function registerBetterEndItemTags(event) {
event.add('tfg:moon_plants', 'betterend:chorus_lily')
event.add('tfg:moon_plants', 'betterend:inflexia')
event.add('tfg:moon_plants', 'betterend:chorus_grass')
event.add('forge:seeds', 'betterend:amber_root_seeds')
event.add('forge:seeds', 'betterend:blossom_berry_seeds')
event.add('forge:seeds', 'betterend:bolux_mushroom_seeds')
event.add('forge:seeds', 'betterend:cave_pumpkin_seeds')
event.add('forge:seeds', 'betterend:shadow_berry_seeds')
event.add('tfc:foods', 'betterend:amber_root_product')
event.add('tfc:foods/grains', 'betterend:amber_root_product')
event.add('tfc:foods', 'betterend:blossom_berry_product')
event.add('tfc:foods/fruit', 'betterend:blossom_berry_product')
event.add('tfc:foods', 'betterend:bolux_mushroom_product')
event.add('tfc:foods/vegetables', 'betterend:bolux_mushroom_product')
event.add('forge:mushrooms', 'betterend:bolux_mushroom_product')
event.add('tfc:foods', 'betterend:bolux_mushroom_cooked')
event.add('tfc:foods/vegetables', 'betterend:bolux_mushroom_cooked')
event.add('forge:mushrooms', 'betterend:bolux_mushroom_cooked')
event.add('tfc:foods', 'betterend:cave_pumpkin')
event.add('tfc:foods', 'betterend:cave_pumpkin_chunks')
event.add('tfc:foods/fruit', 'betterend:cave_pumpkin_chunks')
event.add('tfc:foods', 'betterend:cave_pumpkin_pie')
event.add('tfc:foods', 'betterend:chorus_mushroom_product')
event.add('tfc:foods/vegetables', 'betterend:chorus_mushroom_product')
event.add('forge:mushrooms', 'betterend:chorus_mushroom_product')
event.add('tfc:foods', 'betterend:chorus_mushroom_cooked')
event.add('tfc:foods/vegetables', 'betterend:chorus_mushroom_cooked')
event.add('forge:mushrooms', 'betterend:chorus_mushroom_cooked')
event.add('tfc:foods', 'betterend:shadow_berry_product')
event.add('tfc:foods/fruit', 'betterend:shadow_berry_product')
event.add('tfc:foods', 'betterend:shadow_berry_cooked')
event.add('tfc:foods/fruit', 'betterend:shadow_berry_cooked')
}

View file

@ -388,12 +388,12 @@ const registerCreateRecipes = (event) => {
A: 'create:andesite_casing',
B: 'firmaciv:rope_coil',
C: '#forge:plates/wrought_iron',
D: '#tfg:small_cogwheels',
D: '#forge:cogwheels',
E: '#forge:tools/wrenches'
}).id('tfg:create/shaped/rope_pulley')
event.recipes.gtceu.assembler('create:rope_pulley')
.itemInputs('create:andesite_casing', 'firmaciv:rope_coil', '#forge:plates/wrought_iron', '2x #tfg:small_cogwheels')
.itemInputs('create:andesite_casing', 'firmaciv:rope_coil', '#forge:plates/wrought_iron', '2x #forge:cogwheels')
.itemOutputs('create:rope_pulley')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
@ -408,13 +408,13 @@ const registerCreateRecipes = (event) => {
A: 'create:brass_casing',
B: 'firmaciv:rope_coil',
C: '#forge:plates/steel',
D: '#tfg:small_cogwheels',
D: '#forge:cogwheels',
E: '#forge:tools/wrenches',
F: 'create:electron_tube'
}).id('tfg:create/shaped/elevator_pulley')
event.recipes.gtceu.assembler('create:elevator_pulley')
.itemInputs('create:brass_casing', 'firmaciv:rope_coil', '#forge:plates/steel', '2x #tfg:small_cogwheels', 'create:electron_tube')
.itemInputs('create:brass_casing', 'firmaciv:rope_coil', '#forge:plates/steel', '2x #forge:cogwheels', 'create:electron_tube')
.itemOutputs('create:elevator_pulley')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
@ -500,7 +500,7 @@ const registerCreateRecipes = (event) => {
}).id('tfg:create/shaped/mechanical_drill')
event.recipes.gtceu.assembler('create:mechanical_drill')
.itemInputs('2x #forge:plates/wrought_iron', '#forge:drill_heads', '#tfg:small_cogwheels', 'create:andesite_casing', '#gtceu:circuits/ulv')
.itemInputs('2x #forge:plates/wrought_iron', '#forge:drill_heads', '#forge:cogwheels', 'create:andesite_casing', '#gtceu:circuits/ulv')
.itemOutputs('create:mechanical_drill')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
@ -517,11 +517,11 @@ const registerCreateRecipes = (event) => {
E: '#forge:tools/hammers',
F: '#forge:tools/wrenches',
G: '#forge:bolts/wrought_iron',
H: '#tfg:small_cogwheels'
H: '#forge:cogwheels'
}).id('tfg:create/shaped/mechanical_roller')
event.recipes.gtceu.assembler('create:mechanical_roller')
.itemInputs('2x #forge:plates/wrought_iron', 'tfc:metal/block/wrought_iron', 'create:andesite_casing', '2x #forge:bolts/wrought_iron', '#tfg:small_cogwheels')
.itemInputs('2x #forge:plates/wrought_iron', 'tfc:metal/block/wrought_iron', 'create:andesite_casing', '2x #forge:bolts/wrought_iron', '#forge:cogwheels')
.itemOutputs('create:mechanical_roller')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
@ -558,11 +558,11 @@ const registerCreateRecipes = (event) => {
C: '#forge:tools/hammers',
D: 'create:andesite_casing',
E: '#forge:tools/wrenches',
F: '#tfg:small_cogwheels'
F: '#forge:cogwheels'
}).id('tfg:create/shaped/mechanical_harvester')
event.recipes.gtceu.assembler('tfg:create/mechanical_harvester')
.itemInputs('3x #forge:shovel_heads', '2x #forge:plates/wrought_iron', '#tfg:small_cogwheels', 'create:andesite_casing')
.itemInputs('3x #forge:shovel_heads', '2x #forge:plates/wrought_iron', '#forge:cogwheels', 'create:andesite_casing')
.circuit(3)
.itemOutputs('create:mechanical_harvester')
.duration(200)
@ -579,11 +579,11 @@ const registerCreateRecipes = (event) => {
C: '#forge:tools/hammers',
D: 'create:andesite_casing',
E: '#forge:tools/wrenches',
F: '#tfg:small_cogwheels'
F: '#forge:cogwheels'
}).id('tfg:create/shaped/mechanical_plough')
event.recipes.gtceu.assembler('tfg:create/mechanical_plough')
.itemInputs('3x #forge:hoe_heads', '2x #forge:plates/wrought_iron', '#tfg:small_cogwheels', 'create:andesite_casing')
.itemInputs('3x #forge:hoe_heads', '2x #forge:plates/wrought_iron', '#forge:cogwheels', 'create:andesite_casing')
.circuit(5)
.itemOutputs('create:mechanical_plough')
.duration(200)
@ -682,7 +682,7 @@ const registerCreateRecipes = (event) => {
], {
A: '#forge:plates/brass',
B: '#forge:rods/wrought_iron',
C: '#tfg:shafts'
C: '#forge:shafts'
}).id('tfg:create/shaped/flywheel')
// Механическая рука
@ -994,7 +994,7 @@ const registerCreateRecipes = (event) => {
'DBF',
' CE'
], {
A: '#tfg:small_cogwheels',
A: '#forge:cogwheels',
B: 'gtceu:ulv_machine_casing',
C: 'create:brass_hand',
D: '#forge:tools/wrenches',
@ -1003,7 +1003,7 @@ const registerCreateRecipes = (event) => {
}).id('tfg:create/shaped/deployer')
event.recipes.gtceu.assembler('create:deployer')
.itemInputs('#tfg:small_cogwheels', 'gtceu:ulv_machine_casing', 'create:brass_hand', 'create:electron_tube')
.itemInputs('#forge:cogwheels', 'gtceu:ulv_machine_casing', 'create:brass_hand', 'create:electron_tube')
.itemOutputs('create:deployer')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
@ -1333,7 +1333,7 @@ const registerCreateRecipes = (event) => {
], {
A: 'minecraft:piston',
B: 'create:andesite_casing',
C: '#tfg:shafts'
C: '#forge:shafts'
}).id('tfg:create/shaped/mechanical_piston')
event.shaped('create:sticky_mechanical_piston', [
@ -1533,14 +1533,14 @@ const registerCreateRecipes = (event) => {
], {
A: 'gtceu:treated_wood_slab',
B: 'create:andesite_casing',
C: '#tfg:small_cogwheels',
C: '#forge:cogwheels',
D: '#forge:small_gears/brass',
E: '#forge:tools/hammers',
F: 'tfc:glue'
}).id('create:shaped/windmill_bearing')
event.recipes.gtceu.assembler('create:windmill_bearing')
.itemInputs('gtceu:treated_wood_slab', 'create:andesite_casing', '#tfg:small_cogwheels', '#forge:small_gears/brass')
.itemInputs('gtceu:treated_wood_slab', 'create:andesite_casing', '#forge:cogwheels', '#forge:small_gears/brass')
.inputFluids(Fluid.of('gtceu:glue', 50))
.itemOutputs('create:windmill_bearing')
.duration(50)
@ -1683,7 +1683,7 @@ const registerCreateRecipes = (event) => {
'CBC',
' A '
], {
A: '#tfg:large_cogwheels',
A: '#forge:large_cogwheels',
B: 'create:andesite_casing',
C: 'gtceu:treated_wood_plate',
D: '#forge:tools/wrenches',
@ -1991,7 +1991,7 @@ const registerCreateRecipes = (event) => {
], {
A: '#forge:rods/wooden',
B: '#forge:plates/brass',
C: '#tfg:small_cogwheels',
C: '#forge:cogwheels',
D: '#forge:tools/hammers'
}).id('tfg:create/shaped/wrench')
@ -2010,12 +2010,14 @@ const registerCreateRecipes = (event) => {
event.recipes.gtceu.assembler('create:goggles')
.itemInputs('2x #forge:rings/brass', '#forge:leather', '2x tfc:lens')
.itemOutputs('create:goggles')
.circuit(10)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.assembler('create:goggles_rubber')
.itemInputs('2x #forge:rings/brass', '#forge:foils/rubber', '2x tfc:lens')
.itemOutputs('create:goggles')
.circuit(10)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
@ -2084,12 +2086,12 @@ const registerCreateRecipes = (event) => {
C: '#forge:small_gears/red_alloy',
D: '#forge:tools/wrenches',
E: '#forge:small_springs/steel',
F: '#tfg:shafts',
F: '#forge:shafts',
G: '#forge:tools/hammers'
}).id('tfg:create/shaped/rotation_speed_controller')
event.recipes.gtceu.assembler('create:rotation_speed_controller')
.itemInputs('create:brass_casing', '2x #forge:small_gears/brass', '#forge:small_gears/red_alloy', '#tfg:shafts')
.itemInputs('create:brass_casing', '2x #forge:small_gears/brass', '#forge:small_gears/red_alloy', '#forge:shafts')
.itemOutputs('create:rotation_speed_controller')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
@ -2123,13 +2125,13 @@ const registerCreateRecipes = (event) => {
], {
A: 'create:brass_casing',
B: 'create:electron_tube',
C: '#tfg:small_cogwheels',
C: '#forge:cogwheels',
D: '#forge:tools/wrenches',
E: '#forge:tools/hammers'
}).id('tfg:create/shaped/sequenced_gearshift')
event.recipes.gtceu.assembler('create:sequenced_gearshift')
.itemInputs('create:brass_casing', 'create:electron_tube', '2x #tfg:small_cogwheels')
.itemInputs('create:brass_casing', 'create:electron_tube', '2x #forge:cogwheels')
.itemOutputs('create:sequenced_gearshift')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
@ -2142,12 +2144,12 @@ const registerCreateRecipes = (event) => {
A: 'create:andesite_casing',
B: '#forge:plates/wrought_iron',
C: 'tfc:glue',
D: '#tfg:small_cogwheels',
D: '#forge:cogwheels',
E: '#forge:tools/wrenches'
}).id('tfg:create/shaped/mechanical_bearing')
event.recipes.gtceu.assembler('create:mechanical_bearing')
.itemInputs('create:andesite_casing', '#forge:plates/wrought_iron', '#tfg:small_cogwheels')
.itemInputs('create:andesite_casing', '#forge:plates/wrought_iron', '#forge:cogwheels')
.inputFluids(Fluid.of('gtceu:glue', 50))
.itemOutputs('create:mechanical_bearing')
.duration(50)
@ -2160,14 +2162,14 @@ const registerCreateRecipes = (event) => {
' B '
], {
A: 'create:andesite_casing',
B: '#tfg:small_cogwheels',
B: '#forge:cogwheels',
C: '#minecraft:wooden_slabs',
D: 'tfc:glue',
E: '#forge:tools/hammers'
}).id('tfg:create/shaped/gantry_carriage')
event.recipes.gtceu.assembler('create:gantry_carriage')
.itemInputs('create:andesite_casing', '#tfg:small_cogwheels', '#minecraft:wooden_slabs')
.itemInputs('create:andesite_casing', '#forge:cogwheels', '#minecraft:wooden_slabs')
.inputFluids(Fluid.of('gtceu:glue', 50))
.itemOutputs('create:gantry_carriage')
.duration(50)
@ -2182,12 +2184,12 @@ const registerCreateRecipes = (event) => {
A: 'create:andesite_casing',
B: '#forge:plates/wrought_iron',
C: '#forge:springs/wrought_iron',
D: '#tfg:small_cogwheels',
D: '#forge:cogwheels',
E: '#forge:tools/wrenches'
}).id('tfg:create/shaped/weighted_ejector')
event.recipes.gtceu.assembler('create:weighted_ejector')
.itemInputs('create:andesite_casing', '#forge:plates/wrought_iron', '#forge:springs/wrought_iron', '#tfg:small_cogwheels')
.itemInputs('create:andesite_casing', '#forge:plates/wrought_iron', '#forge:springs/wrought_iron', '#forge:cogwheels')
.itemOutputs('create:weighted_ejector')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
@ -2215,14 +2217,14 @@ const registerCreateRecipes = (event) => {
' B '
], {
A: 'create:andesite_casing',
B: '#tfg:small_cogwheels',
B: '#forge:cogwheels',
C: 'minecraft:redstone',
D: '#forge:tools/wrenches',
E: '#forge:tools/hammers'
}).id('tfg:create/shaped/gearshift')
event.recipes.gtceu.assembler('create:gearshift')
.itemInputs('create:andesite_casing', '#tfg:small_cogwheels', 'minecraft:redstone')
.itemInputs('create:andesite_casing', '#forge:cogwheels', 'minecraft:redstone')
.itemOutputs('create:gearshift')
.circuit(5)
.duration(50)
@ -2234,14 +2236,14 @@ const registerCreateRecipes = (event) => {
' B '
], {
A: 'create:andesite_casing',
B: '#tfg:shafts',
B: '#forge:shafts',
C: 'minecraft:redstone',
D: '#forge:tools/wrenches',
E: '#forge:tools/hammers'
}).id('tfg:create/shaped/clutch')
event.recipes.gtceu.assembler('create:clutch')
.itemInputs('create:andesite_casing', '#tfg:shafts', 'minecraft:redstone')
.itemInputs('create:andesite_casing', '#forge:shafts', 'minecraft:redstone')
.itemOutputs('create:clutch')
.circuit(5)
.duration(50)

View file

@ -91,7 +91,7 @@ const registerCreateAdditionsRecipes = (event) => {
C: 'gtceu:ulv_voltage_coil',
D: 'gtceu:ulv_machine_hull',
E: 'gtceu:tin_single_cable',
F: '#tfg:shafts'
F: '#forge:shafts'
}).id('tfg:createadditions/shaped/alternator')
//#region Liquid blaze burners

View file

@ -19,22 +19,22 @@ const registerCreateConnectedRecipes = (event) => {
'create:andesite_casing',
'#forge:plates/wrought_iron',
'create:speedometer',
'#tfg:shafts',
'#forge:shafts',
]).id('create_connected:crafting/kinetics/centrifugal_clutch')
// Freewheel Clutch'
event.shapeless('create_connected:freewheel_clutch', [
'create:andesite_casing',
'#forge:plates/wrought_iron',
'#tfg:shafts',
'#tfg:small_cogwheels',
'#forge:shafts',
'#forge:cogwheels',
]).id('create_connected:crafting/kinetics/freewheel_clutch')
// Overstress Clutch
event.shapeless('create_connected:overstress_clutch', [
'create:andesite_casing',
'#forge:plates/wrought_iron',
'#tfg:shafts',
'#forge:shafts',
'create:electron_tube',
]).id('create_connected:crafting/kinetics/overstress_clutch')

View file

@ -45,4 +45,12 @@ function registerDiggerHelmetRecipes(event) {
B: '#forge:screws/wrought_iron',
C: '#forge:foils/rubber'
}).id('tfg:shaped/auto_drink_modifier_rubber')
event.recipes.tfc.damage_inputs_shapeless_crafting(
event.shapeless('diggerhelmet:silk_lining', ['tfcambiental:silk_cowl', '#forge:string', 'tfc:bone_needle'])
).id('tfg:shapeless/diggerhelmet/silk_lining')
event.recipes.tfc.damage_inputs_shapeless_crafting(
event.shapeless('diggerhelmet:wool_lining', ['tfcambiental:wool_hat', '#forge:string', 'tfc:bone_needle'])
).id('tfg:shapeless/diggerhelmet/wool_lining')
}

View file

@ -5,7 +5,6 @@ function registerDiggerHelmetItemTags(event) {
const DISABLED_ITEMS = [
'diggerhelmet:eternal_candle',
'diggerhelmet:wool_lining'
]
DISABLED_ITEMS.forEach(item => {

View file

@ -9,40 +9,75 @@ function registerGreateRecipes(event) {
removeGreateRecipes(event)
registerGreateRecyclingRecipes(event);
event.replaceInput({ input: 'create:cogwheel'}, 'create:cogwheel', '#tfg:small_cogwheels')
event.replaceInput({ input: 'create:large_cogwheel'}, 'create:large_cogwheel', '#tfg:large_cogwheels')
event.replaceInput({ input: 'create:shaft'}, 'create:shaft', '#tfg:shafts')
event.replaceInput({ input: 'create:cogwheel'}, 'create:cogwheel', '#forge:cogwheels')
event.replaceInput({ input: 'create:large_cogwheel'}, 'create:large_cogwheel', '#forge:large_cogwheels')
event.replaceInput({ input: 'create:shaft'}, 'create:shaft', '#forge:shafts')
// #region Shafts
event.shapeless('9x greate:andesite_alloy_shaft', ['#forge:plates/black_bronze', '#forge:tools/saws'])
.id('greate:shaped/andesite_alloy_shaft_black_bronze')
.id('gtceu:shaped/andesite_alloy_shaft_black_bronze')
event.shaped('9x greate:andesite_alloy_shaft', ['#forge:plates/bronze', '#forge:tools/saws'])
.id('greate:shaped/andesite_alloy_shaft_bronze')
event.shapeless('9x greate:andesite_alloy_shaft', ['#forge:plates/bronze', '#forge:tools/saws'])
.id('gtceu:shaped/andesite_alloy_shaft_bronze')
event.shaped('9x greate:andesite_alloy_shaft', ['#forge:plates/bismuth_bronze', '#forge:tools/saws'])
.id('greate:shaped/andesite_alloy_shaft_bismuth_bronze')
event.shapeless('9x greate:andesite_alloy_shaft', ['#forge:plates/bismuth_bronze', '#forge:tools/saws'])
.id('gtceu:shaped/andesite_alloy_shaft_bismuth_bronze')
event.shaped('9x greate:steel_shaft', ['#forge:plates/steel', '#forge:tools/saws'])
.id('greate:shaped/steel_shaft')
event.shapeless('9x greate:steel_shaft', ['#forge:plates/steel', '#forge:tools/saws'])
.id('gtceu:shaped/steel_shaft')
event.shaped('9x greate:aluminium_shaft', ['#forge:plates/aluminium', '#forge:tools/saws'])
.id('greate:shaped/aluminium_shaft')
event.shapeless('9x greate:aluminium_shaft', ['#forge:plates/aluminium', '#forge:tools/saws'])
.id('gtceu:shaped/aluminium_shaft')
event.shaped('9x greate:stainless_steel_shaft', ['#forge:plates/stainless_steel', '#forge:tools/saws'])
.id('greate:shaped/stainless_steel_shaft')
event.shapeless('9x greate:stainless_steel_shaft', ['#forge:plates/stainless_steel', '#forge:tools/saws'])
.id('gtceu:shaped/stainless_steel_shaft')
event.shaped('9x greate:titanium_shaft', ['#forge:plates/titanium', '#forge:tools/saws'])
.id('greate:shaped/titanium_shaft')
event.shapeless('9x greate:titanium_shaft', ['#forge:plates/titanium', '#forge:tools/saws'])
.id('gtceu: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')
event.recipes.gtceu.cutter('andesite_alloy_shaft')
.itemInputs('#forge:plates/bronze')
.itemOutputs('9x greate:andesite_alloy_shaft')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
.removePreviousMaterialInfo()
event.recipes.gtceu.cutter('andesite_alloy_shaft_black')
.itemInputs('#forge:plates/black_bronze')
.itemOutputs('9x greate:andesite_alloy_shaft')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.cutter('andesite_alloy_shaft_bismuth')
.itemInputs('#forge:plates/bismuth_bronze')
.itemOutputs('9x greate:andesite_alloy_shaft')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.cutter('steel_shaft')
.itemInputs('#forge:plates/steel')
.itemOutputs('9x greate:steel_shaft')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.cutter('aluminium_shaft')
.itemInputs('#forge:plates/aluminium')
.itemOutputs('9x greate:aluminium_shaft')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.cutter('stainless_steel_shaft')
.itemInputs('#forge:plates/stainless_steel')
.itemOutputs('9x greate:stainless_steel_shaft')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.cutter('titanium_shaft')
.itemInputs('#forge:plates/titanium')
.itemOutputs('9x greate:titanium_shaft')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
// #endregion
@ -88,29 +123,29 @@ function registerGreateRecipes(event) {
// #region Cogs
event.shapeless('greate:andesite_alloy_cogwheel', ['greate:andesite_alloy_shaft', '#forge:small_gears/wood'])
.id('greate:shapeless/andesite_alloy_cogwheel')
.id('tfg:shapeless/andesite_alloy_cogwheel')
event.shapeless('greate:large_andesite_alloy_cogwheel', ['greate:andesite_alloy_shaft', '#forge:gears/wood'])
.id('greate:shapeless/large_andesite_alloy_cogwheel');
.id('tfg:shapeless/large_andesite_alloy_cogwheel');
event.shapeless('greate:steel_cogwheel', ['greate:steel_shaft', '#forge:small_gears/wrought_iron'])
.id('greate:shapeless/steel_cogwheel')
.id('tfg:shapeless/steel_cogwheel')
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');
.id('tfg:shapeless/large_steel_cogwheel');
event.shapeless('greate:aluminium_cogwheel', ['greate:aluminium_shaft', '#forge:small_gears/steel'])
.id('greate:shapeless/aluminium_cogwheel')
.id('tfg:shapeless/aluminium_cogwheel')
event.shapeless('greate:large_aluminium_cogwheel', ['greate:aluminium_shaft', '#forge:small_gears/steel', '#forge:small_gears/steel'])
.id('greate:shapeless/large_aluminium_cogwheel');
.id('tfg:shapeless/large_aluminium_cogwheel');
event.shapeless('greate:stainless_steel_cogwheel', ['greate:stainless_steel_shaft', '#forge:small_gears/aluminium'])
.id('greate:shapeless/stainless_steel_cogwheel')
.id('tfg:shapeless/stainless_steel_cogwheel')
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');
.id('tfg:shapeless/large_stainless_steel_cogwheel');
event.shapeless('greate:titanium_cogwheel', ['greate:titanium_shaft', '#forge:small_gears/stainless_steel'])
.id('greate:shapeless/titanium_cogwheel')
.id('tfg:shapeless/titanium_cogwheel')
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');
.id('tfg:shapeless/large_titanium_cogwheel');
// #endregion
@ -222,7 +257,7 @@ function registerGreateRecipes(event) {
A: '#forge:plates/tin_alloy',
B: '#forge:storage_blocks/wrought_iron',
C: 'gtceu:lv_machine_hull',
}).id('greate:mechanical_crafting/steel_crushing_wheel')
}).id('greate:steel_crushing_wheel')
event.recipes.createMechanicalCrafting('2x greate:aluminium_crushing_wheel', [
' AAA ',
@ -234,7 +269,7 @@ function registerGreateRecipes(event) {
A: '#forge:plates/vanadium_steel',
B: '#forge:storage_blocks/steel',
C: 'gtceu:mv_machine_hull',
}).id('greate:mechanical_crafting/aluminium_crushing_wheel')
}).id('greate:aluminium_crushing_wheel')
event.recipes.createMechanicalCrafting('2x greate:stainless_steel_crushing_wheel', [
' AAA ',
@ -246,7 +281,7 @@ function registerGreateRecipes(event) {
A: '#forge:plates/blue_alloy',
B: '#forge:storage_blocks/aluminium',
C: 'gtceu:hv_machine_hull',
}).id('greate:mechanical_crafting/stainless_steel_crushing_wheel')
}).id('greate:stainless_steel_crushing_wheel')
event.recipes.createMechanicalCrafting('2x greate:titanium_crushing_wheel', [
' AAA ',
@ -258,7 +293,7 @@ function registerGreateRecipes(event) {
A: '#forge:plates/ultimet',
B: '#forge:storage_blocks/stainless_steel',
C: 'gtceu:ev_machine_hull',
}).id('greate:mechanical_crafting/titanium_crushing_wheel')
}).id('greate:titanium_crushing_wheel')
// #endregion
@ -283,26 +318,63 @@ function registerGreateRecipes(event) {
.duration(200)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:aluminium_encased_fan', [
' A ',
'BCB',
'DEF'
], {
A: 'greate:aluminium_shaft',
B: '#gtceu:circuits/mv',
C: 'gtceu:mv_machine_casing',
D: '#forge:tools/wrenches',
E: 'gtceu:aluminium_rotor',
F: '#forge:tools/hammers'
}).id('greate:shaped/aluminium_encased_fan')
event.recipes.gtceu.assembler('greate:aluminium_encased_fan')
.itemInputs('greate:aluminium_shaft', '2x #gtceu:circuits/mv', 'gtceu:mv_machine_casing', 'gtceu:aluminium_rotor')
.itemOutputs('greate:aluminium_encased_fan')
.duration(200)
.EUt(GTValues.VA[GTValues.LV])
event.shaped('greate:stainless_steel_encased_fan', [
' A ',
'BCB',
'DEF'
], {
A: 'greate:stainless_steel_shaft',
B: '#gtceu:circuits/hv',
C: 'gtceu:hv_machine_casing',
D: '#forge:tools/wrenches',
E: 'gtceu:stainless_steel_rotor',
F: '#forge:tools/hammers'
}).id('greate:shaped/stainless_steel_encased_fan')
event.recipes.gtceu.assembler('greate:stainless_steel_encased_fan')
.itemInputs('greate:stainless_steel_shaft', '2x #gtceu:circuits/hv', 'gtceu:hv_machine_casing', 'gtceu:stainless_steel_rotor')
.itemOutputs('greate:stainless_steel_encased_fan')
.duration(200)
.EUt(GTValues.VA[GTValues.MV])
event.shaped('greate:titanium_encased_fan', [
' A ',
'BCB',
'DEF'
], {
A: 'greate:titanium_shaft',
B: '#gtceu:circuits/ev',
C: 'gtceu:ev_machine_casing',
D: '#forge:tools/wrenches',
E: 'gtceu:titanium_rotor',
F: '#forge:tools/hammers'
}).id('greate:shaped/titanium_encased_fan')
event.recipes.gtceu.assembler('greate:titanium_encased_fan')
.itemInputs('greate:titanium_shaft', '2x #gtceu:circuits/ev', 'gtceu:ev_machine_casing', 'gtceu:titanium_rotor')
.itemOutputs('greate:titanium_encased_fan')
.duration(200)
.EUt(GTValues.VA[GTValues.HV])
// The other fans are fine as-is
// #endregion
// #region Mechanical saw
@ -414,23 +486,59 @@ function registerGreateRecipes(event) {
.duration(200)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:aluminium_mechanical_pump', [
' AB',
'CDE',
' AB'
], {
A: '#forge:rings/rubber',
B: '#forge:screws/aluminium',
C: '#forge:tools/wrenches',
D: 'create:fluid_pipe',
E: 'greate:aluminium_cogwheel'
}).id('greate:shaped/aluminium_mechanical_pump')
event.recipes.gtceu.assembler('greate:aluminium_mechanical_pump')
.itemInputs('2x #forge:rings/rubber', '2x #forge:screws/aluminium', 'create:fluid_pipe', 'greate:aluminium_cogwheel')
.itemOutputs('greate:aluminium_mechanical_pump')
.duration(200)
.EUt(GTValues.VA[GTValues.LV])
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:stainless_steel_mechanical_pump', [
' AB',
'CDE',
' AB'
], {
A: '#forge:rings/silicone_rubber',
B: '#forge:screws/stainless_steel',
C: '#forge:tools/wrenches',
D: 'create:fluid_pipe',
E: 'greate:stainless_steel_cogwheel'
}).id('greate:shaped/stainless_steel_mechanical_pump')
event.recipes.gtceu.assembler('greate:stainless_steel_mechanical_pump')
.itemInputs('2x #forge:rings/rubber', '2x #forge:screws/stainless_steel', 'create:fluid_pipe', 'greate:stainless_steel_cogwheel')
.itemInputs('2x #forge:rings/silicone_rubber', '2x #forge:screws/stainless_steel', 'create:fluid_pipe', 'greate:stainless_steel_cogwheel')
.itemOutputs('greate:stainless_steel_mechanical_pump')
.duration(200)
.EUt(GTValues.VA[GTValues.MV])
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:titanium_mechanical_pump', [
' AB',
'CDE',
' AB'
], {
A: '#forge:rings/silicone_rubber',
B: '#forge:screws/titanium',
C: '#forge:tools/wrenches',
D: 'create:fluid_pipe',
E: 'greate:titanium_cogwheel'
}).id('greate:shaped/titanium_mechanical_pump')
event.recipes.gtceu.assembler('greate:titanium_mechanical_pump')
.itemInputs('2x #forge:rings/rubber', '2x #forge:screws/titanium', 'create:fluid_pipe', 'greate:titanium_cogwheel')
.itemInputs('2x #forge:rings/silicone_rubber', '2x #forge:screws/titanium', 'create:fluid_pipe', 'greate:titanium_cogwheel')
.itemOutputs('greate:titanium_mechanical_pump')
.duration(200)
.EUt(GTValues.VA[GTValues.HV])
.EUt(GTValues.VA[GTValues.ULV])
// #endregion
@ -444,14 +552,14 @@ function registerGreateRecipes(event) {
A: '#forge:plates/rubber',
B: '#forge:tools/knives',
C: '#forge:tools/hammers',
}).id('greate:shaped/rubber_belt_connector')
}).id('gtceu:shaped/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])
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('3x greate:silicone_rubber_belt_connector', [
'C ',
@ -461,14 +569,14 @@ function registerGreateRecipes(event) {
A: '#forge:plates/silicone_rubber',
B: '#forge:tools/knives',
C: '#forge:tools/hammers',
}).id('greate:shaped/silicone_rubber_belt_connector')
}).id('gtceu:shaped/silicone_rubber_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])
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('3x greate:polyethylene_belt_connector', [
'C ',
@ -478,14 +586,14 @@ function registerGreateRecipes(event) {
A: '#forge:plates/styrene_butadiene_rubber',
B: '#forge:tools/knives',
C: '#forge:tools/hammers',
}).id('greate:shaped/polyethylene_belt_connector')
}).id('gtceu:shaped/polyethylene_belt_connector')
event.recipes.gtceu.assembler('polyethylene_belt_connector')
.itemInputs('#forge:plates/styrene_butadiene_rubber')
.itemOutputs('greate:polyethylene_belt_connector')
.circuit(11)
.duration(50)
.EUt(GTValues.VA[GTValues.LV])
.EUt(GTValues.VA[GTValues.ULV])
// #endregion
@ -506,28 +614,70 @@ function registerGreateRecipes(event) {
}).id('greate:shaped/steel_mechanical_mixer')
event.recipes.gtceu.assembler('greate:steel_mechanical_mixer')
.itemInputs('greate:steel_shaft', '2x #gtceu:circuits/ulv', 'gtceu:ulv_machine_hull', '2x #forge:plates/black_steel', 'gtceu:steel_wisk')
.itemInputs('greate:steel_shaft', '2x #gtceu:circuits/ulv', 'gtceu:ulv_machine_hull', 'gtceu:steel_whisk', '2x #forge:plates/black_steel')
.itemOutputs('greate:steel_mechanical_mixer')
.duration(200)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:aluminium_mechanical_mixer', [
'ABA',
'DCD',
'FEG'
], {
A: '#gtceu:circuits/mv',
B: 'greate:aluminium_shaft',
C: 'gtceu:mv_machine_hull',
D: '#forge:plates/vanadium_steel',
E: 'gtceu:aluminium_whisk',
F: '#forge:tools/wrenches',
G: '#forge:tools/hammers'
}).id('greate:shaped/aluminium_mechanical_mixer')
event.recipes.gtceu.assembler('greate:aluminium_mechanical_mixer')
.itemInputs('greate:aluminium_shaft', '2x #gtceu:circuits/mv', 'gtceu:mv_machine_hull', 'gtceu:aluminium_wisk')
.itemInputs('greate:aluminium_shaft', '2x #gtceu:circuits/mv', 'gtceu:mv_machine_hull', 'gtceu:aluminium_whisk', '2x #forge:plates/vanadium_steel')
.itemOutputs('greate:aluminium_mechanical_mixer')
.duration(200)
.EUt(GTValues.VA[GTValues.LV])
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:stainless_steel_mechanical_mixer', [
'ABA',
'DCD',
'FEG'
], {
A: '#gtceu:circuits/hv',
B: 'greate:stainless_steel_shaft',
C: 'gtceu:hv_machine_hull',
D: '#forge:plates/blue_alloy',
E: 'gtceu:stainless_steel_whisk',
F: '#forge:tools/wrenches',
G: '#forge:tools/hammers'
}).id('greate:shaped/stainless_steel_mechanical_mixer')
event.recipes.gtceu.assembler('greate:stainless_steel_mechanical_mixer')
.itemInputs('greate:stainless_steel_shaft', '2x #gtceu:circuits/hv', 'gtceu:hv_machine_hull', 'gtceu:stainless_steel_wisk')
.itemInputs('greate:stainless_steel_shaft', '2x #gtceu:circuits/hv', 'gtceu:hv_machine_hull', 'gtceu:stainless_steel_whisk', '2x #forge:plates/blue_alloy')
.itemOutputs('greate:stainless_steel_mechanical_mixer')
.duration(200)
.EUt(GTValues.VA[GTValues.MV])
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:titanium_mechanical_mixer', [
'ABA',
'DCD',
'FEG'
], {
A: '#gtceu:circuits/ev',
B: 'greate:titanium_shaft',
C: 'gtceu:ev_machine_hull',
D: '#forge:plates/ultimet',
E: 'gtceu:titanium_whisk',
F: '#forge:tools/wrenches',
G: '#forge:tools/hammers'
}).id('greate:shaped/titanium_mechanical_mixer')
event.recipes.gtceu.assembler('greate:titanium_mechanical_mixer')
.itemInputs('greate:titanium_shaft', '2x #gtceu:circuits/ev', 'gtceu:ev_machine_hull', 'gtceu:titanium_wisk')
.itemInputs('greate:titanium_shaft', '2x #gtceu:circuits/ev', 'gtceu:ev_machine_hull', 'gtceu:titanium_whisk', '2x #forge:plates/ultimet')
.itemOutputs('greate:titanium_mechanical_mixer')
.duration(200)
.EUt(GTValues.VA[GTValues.HV])
.EUt(GTValues.VA[GTValues.ULV])
// #endregion
@ -574,7 +724,7 @@ function registerGreateRecipes(event) {
.itemOutputs('gtceu:aluminium_whisk')
.circuit(2)
.duration(50)
.EUt(GTValues.VA[GTValues.LV])
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.extruder('gtceu:aluminium_whisk')
.itemInputs('4x #forge:ingots/aluminium')
@ -599,7 +749,7 @@ function registerGreateRecipes(event) {
.itemOutputs('gtceu:stainless_steel_whisk')
.circuit(2)
.duration(50)
.EUt(GTValues.VA[GTValues.MV])
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.extruder('gtceu:stainless_steel_whisk')
.itemInputs('4x #forge:ingots/stainless_steel')
@ -624,14 +774,14 @@ function registerGreateRecipes(event) {
.itemOutputs('gtceu:titanium_whisk')
.circuit(2)
.duration(50)
.EUt(GTValues.VA[GTValues.HV])
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.extruder('gtceu:titanium_whisk')
.itemInputs('4x #forge:ingots/titanium')
.notConsumable('tfg:whisk_extruder_mold')
.itemOutputs('gtceu:titanium_whisk')
.duration(GTMaterials.Titanium.getMass() * 3)
.EUt(GTValues.VA[GTValues.HV])
.EUt(GTValues.VA[GTValues.MV])
// #endregion
@ -644,7 +794,7 @@ function registerGreateRecipes(event) {
], {
A: '#tfg:any_bronze_frame',
B: 'greate:andesite_alloy_cogwheel',
C: '#tfg:any_iron_plate',
C: '#tfg:any_iron_double_ingot',
D: '#forge:tools/hammers',
E: '#minecraft:planks',
F: 'greate:andesite_alloy_shaft'
@ -663,6 +813,12 @@ function registerGreateRecipes(event) {
F: '#forge:tools/wrenches'
}).id('greate:shaped/steel_mechanical_press')
event.recipes.gtceu.assembler('greate:steel_mechanical_press')
.itemInputs('create:andesite_casing', 'greate:steel_shaft', '#forge:double_plates/steel', 'greate:steel_cogwheel')
.itemOutputs('greate:steel_mechanical_press')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:aluminium_mechanical_press', [
'GAD',
'EBF',
@ -677,6 +833,12 @@ function registerGreateRecipes(event) {
G: '#gtceu:circuits/mv'
}).id('greate:shaped/aluminium_mechanical_press')
event.recipes.gtceu.assembler('greate:aluminium_mechanical_press')
.itemInputs('gtceu:mv_machine_hull', 'greate:aluminium_shaft', '#forge:double_plates/vanadium_steel', 'greate:aluminium_cogwheel', '#gtceu:circuits/mv')
.itemOutputs('greate:aluminium_mechanical_press')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:stainless_steel_mechanical_press', [
'GAD',
'EBF',
@ -691,6 +853,12 @@ function registerGreateRecipes(event) {
G: '#gtceu:circuits/hv'
}).id('greate:shaped/stainless_steel_mechanical_press')
event.recipes.gtceu.assembler('greate:stainless_steel_mechanical_press')
.itemInputs('gtceu:hv_machine_hull', 'greate:stainless_steel_shaft', '#forge:double_plates/blue_alloy', 'greate:stainless_steel_cogwheel', '#gtceu:circuits/hv')
.itemOutputs('greate:stainless_steel_mechanical_press')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:titanium_mechanical_press', [
'GAD',
'EBF',
@ -705,5 +873,22 @@ function registerGreateRecipes(event) {
G: '#gtceu:circuits/ev'
}).id('greate:shaped/titanium_mechanical_press')
event.recipes.gtceu.assembler('greate:titanium_mechanical_press')
.itemInputs('gtceu:ev_machine_hull', 'greate:titanium_shaft', '#forge:double_plates/ultimet', 'greate:titanium_cogwheel', '#gtceu:circuits/ev')
.itemOutputs('greate:titanium_mechanical_press')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
// #endregion
event.shaped('greate:wire_coating_factory', [
'ABA',
'CDC',
'ABA'
], {
A: 'gtceu:watertight_casing',
B: '#gtceu:circuits/iv',
C: 'gtceu:iv_electric_pump',
D: 'create:spout'
}).id('tfg:shaped/toms_favourite_block')
}

View file

@ -16,24 +16,66 @@ function removeGreateRecipes(event) {
event.remove({ output: fluid })
})
global.GREATE_DISABLED_TAGS.forEach(tag => {
event.remove({ input: tag })
event.remove({ output: tag })
})
event.remove({ mod: 'greate', input: 'create:andesite_alloy' });
event.remove({ mod: 'greate', output: 'minecraft:bamboo_pressure_plate'})
event.remove({ id: 'greate:shapeless/large_andesite_alloy_cogwheel_from_little' })
event.remove({ id: 'greate:shapeless/large_steel_cogwheel_from_little' })
event.remove({ id: 'greate:shapeless/large_aluminium_cogwheel_from_little' })
event.remove({ id: 'greate:shapeless/large_stainless_steel_cogwheel_from_little' })
event.remove({ id: 'greate:shapeless/large_titanium_cogwheel_from_little' })
event.remove({ id: 'gtceu:shaped/andesite_alloy_shaft' })
event.remove({ id: 'gtceu:shaped/andesite_alloy_cogwheel' })
event.remove({ id: 'gtceu:shaped/andesite_alloy_large_cogwheel' })
event.remove({ id: 'gtceu:shaped/andesite_alloy_large_cogwheel_from_little' })
event.remove({ id: 'gtceu:shaped/steel_cogwheel' })
event.remove({ id: 'gtceu:shaped/steel_large_cogwheel' })
event.remove({ id: 'gtceu:shaped/steel_large_cogwheel_from_little' })
event.remove({ id: 'gtceu:shaped/aluminium_cogwheel' })
event.remove({ id: 'gtceu:shaped/aluminium_large_cogwheel' })
event.remove({ id: 'gtceu:shaped/aluminium_large_cogwheel_from_little' })
event.remove({ id: 'gtceu:shaped/stainless_steel_cogwheel' })
event.remove({ id: 'gtceu:shaped/stainless_steel_large_cogwheel' })
event.remove({ id: 'gtceu:shaped/stainless_steel_large_cogwheel_from_little' })
event.remove({ id: 'gtceu:shaped/titanium_cogwheel' })
event.remove({ id: 'gtceu:shaped/titanium_large_cogwheel' })
event.remove({ id: 'gtceu:shaped/titanium_large_cogwheel_from_little' })
removeCutterRecipe(event, "andesite_alloy_shaft")
removeCutterRecipe(event, "andesite_alloy_shaft_water")
removeCutterRecipe(event, "andesite_alloy_shaft_distilled_water")
removeCutterRecipe(event, "steel_shaft")
removeCutterRecipe(event, "steel_shaft_water")
removeCutterRecipe(event, "steel_shaft_distilled_water")
removeCutterRecipe(event, "aluminium_shaft")
removeCutterRecipe(event, "aluminium_shaft_water")
removeCutterRecipe(event, "aluminium_shaft_distilled_water")
removeCutterRecipe(event, "stainless_steel_shaft")
removeCutterRecipe(event, "stainless_steel_shaft_water")
removeCutterRecipe(event, "stainless_steel_shaft_distilled_water")
removeCutterRecipe(event, "titanium_shaft")
removeCutterRecipe(event, "titanium_shaft_water")
removeCutterRecipe(event, "titanium_shaft_distilled_water")
event.remove({ id: 'greate:shaped/andesite_alloy_shaft' })
event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_marble'})
// 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' })
event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_andesite_alloy' })
event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_chromatic_compound' })
event.remove({ id: 'gtceu:smelting/smelt_dust_andesite_alloy_to_ingot' })
event.remove({ id: 'gtceu:extractor/extract_andesite_alloy_shaft' })
removeMaceratorRecipe(event, 'macerate_andesite_alloy')
removeMaceratorRecipe(event, 'macerate_steel_alloy')
removeMaceratorRecipe(event, 'macerate_aluminium_alloy')
removeMaceratorRecipe(event, 'macerate_stainless_steel_alloy')
removeMaceratorRecipe(event, 'macerate_titanium_alloy')
removeMaceratorRecipe(event, 'macerate_tungsten_steel_alloy')
removeMaceratorRecipe(event, 'macerate_rhodium_plated_palladium_alloy')
removeMaceratorRecipe(event, 'macerate_naquadah_alloy_alloy')
removeMaceratorRecipe(event, 'macerate_darmstadtium_alloy')
removeMaceratorRecipe(event, 'macerate_neutronium_alloy')
event.remove({ id: /^greate:mixing\/integration\/create\/.*/ })
event.remove({ id: /^greate:sawing\/integration\/create\/.*/ })
@ -42,8 +84,12 @@ function removeGreateRecipes(event) {
event.remove({ id: /^greate:milling\/integration\/create\/.*/ })
event.remove({ id: /^greate:compacting\/integration\/.*/ })
event.remove({ id: /^greate:pressing\/integration\/.*/ })
event.remove({ id: /^greate:shaped\/.*/ })
event.remove({ id: /^greate:shapeless\/.*/ })
event.remove({ mod: 'greate', type: 'create:deploying' });
event.remove({ mod: 'greate', type: 'create:sequenced_assembly' });
event.remove({ mod: 'greate', type: 'gtceu:assembler' });
event.remove({ id: 'greate:cutting/integration/create/cutting/runtime_generated/compat/minecraft/bamboo_planks_to_bamboo_button' })
}

View file

@ -7,24 +7,6 @@ function registerGreateItemTags(event) {
event.removeAllTagsFrom(item)
event.add('c:hidden_from_recipe_viewers', item)
})
event.add('tfg:small_cogwheels', 'greate:andesite_alloy_cogwheel')
event.add('tfg:small_cogwheels', 'greate:steel_cogwheel')
event.add('tfg:small_cogwheels', 'greate:aluminium_cogwheel')
event.add('tfg:small_cogwheels', 'greate:stainless_steel_cogwheel')
event.add('tfg:small_cogwheels', 'greate:titanium_cogwheel')
event.add('tfg:large_cogwheels', 'greate:large_andesite_alloy_cogwheel')
event.add('tfg:large_cogwheels', 'greate:large_steel_cogwheel')
event.add('tfg:large_cogwheels', 'greate:large_aluminium_cogwheel')
event.add('tfg:large_cogwheels', 'greate:large_stainless_steel_cogwheel')
event.add('tfg:large_cogwheels', 'greate:large_titanium_cogwheel')
event.add('tfg:shafts', 'greate:andesite_alloy_shaft')
event.add('tfg:shafts', 'greate:steel_shaft')
event.add('tfg:shafts', 'greate:aluminium_shaft')
event.add('tfg:shafts', 'greate:stainless_steel_shaft')
event.add('tfg:shafts', 'greate:titanium_shaft')
}

View file

@ -115,6 +115,11 @@ const registerGTCEUMetals = (event) => {
event.metal('gtceu:red_alloy', 740, 0.01529, '#forge:ingots/red_alloy', '#forge:double_ingots/red_alloy', '#forge:plates/red_alloy', 2, 'tfg:red_alloy')
event.metal('gtceu:tin_alloy', 1250, 0.00829, '#forge:ingots/tin_alloy', '#forge:double_ingots/tin_alloy', '#forge:plates/tin_alloy', 3, 'tfg:tin_alloy')
event.metal('gtceu:lead', 330, 0.01729, '#forge:ingots/lead', '#forge:double_ingots/lead', '#forge:plates/lead', 2, 'tfg:lead')
event.metal('gtceu:invar', 1494, 0.00741, '#forge:ingots/invar', '#forge:double_ingots/invar', '#forge:plates/invar', 3, 'tfg:invar')
event.metal('gtceu:potin', 807, 0.0124, '#forge:ingots/potin', '#forge:double_ingots/potin', '#forge:plates/potin', 2, 'tfg:potin')
event.metal('gtceu:cobalt', 1495, 0.00857, '#forge:ingots/cobalt', '#forge:double_ingots/cobalt', '#forge:plates/cobalt', 3, 'tfg:cobalt')
event.metal('gtceu:cobalt_brass', 1060, 0.00857, '#forge:ingots/cobalt_brass', '#forge:double_ingots/cobalt_brass', '#forge:plates/cobalt_brass', 3, 'tfg:cobalt_brass')
event.metal('gtceu:aluminium_silicate', 1540, 0.00857, '#forge:ingots/aluminium_silicate', null, null, 1, 'tfg:aluminium_silicate')
}

View file

@ -451,6 +451,17 @@ const registerGTCEURecipes = (event) => {
D: 'gtceu:copper_single_cable'
}).id('gtceu:shaped/multi_furnace')
event.shaped('gtceu:multi_smelter', [
'AAA',
'BCB',
'DBD'
], {
A: 'gtceu:lv_electric_furnace',
B: '#gtceu:circuits/hv',
C: 'gtceu:heatproof_machine_casing',
D: 'gtceu:copper_single_cable'
}).id('gtceu:shaped/multi_furnace2')
// Electric Blast Furnace
event.shaped('gtceu:electric_blast_furnace', [
'AAA',
@ -463,6 +474,17 @@ const registerGTCEURecipes = (event) => {
D: 'gtceu:tin_single_cable'
}).id('gtceu:shaped/electric_blast_furnace')
event.shaped('gtceu:electric_blast_furnace', [
'AAA',
'BCB',
'DBD'
], {
A: 'gtceu:lv_electric_furnace',
B: '#gtceu:circuits/lv',
C: 'gtceu:heatproof_machine_casing',
D: 'gtceu:tin_single_cable'
}).id('gtceu:shaped/electric_blast_furnace2')
// Клей из ТФК клея
event.recipes.gtceu.extractor('tfg:glue_from_tfc_glue')
.itemInputs('tfc:glue')
@ -869,14 +891,14 @@ const registerGTCEURecipes = (event) => {
.fluidOutput(Fluid.of('tfg:vulcanized_latex', 1000))
.id('tfg:pot/vulcanized_latex')
event.recipes.gtceu.chemical_reactor('tfg:/latex_to_vulcanized_latex')
.duration(200)
event.recipes.gtceu.chemical_reactor('tfg:latex_to_vulcanized_latex')
.duration(100)
.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')
event.recipes.gtceu.fluid_solidifier('tfg:vulcanized_latex_to_raw_rubber_pulp')
.duration(100)
.EUt(20)
.inputFluids(Fluid.of('tfg:vulcanized_latex', 1000))
@ -1216,20 +1238,27 @@ const registerGTCEURecipes = (event) => {
event.recipes.gtceu.chemical_reactor('tfg:chlorine_pentafluoride')
.inputFluids(Fluid.of('gtceu:fluorine', 5000), Fluid.of('gtceu:chlorine', 1000))
.outputFluids(Fluid.of('tfg:chlorine_pentafluoride', 1000))
.duration(20*10)
.duration(20*5)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.chemical_reactor('tfg:chloryl_fluoride')
.inputFluids(Fluid.of('tfg:chlorine_pentafluoride', 1000), Fluid.of('minecraft:water', 2000))
.outputFluids(Fluid.of('tfg:chloryl_fluoride', 1000), Fluid.of('gtceu:hydrofluoric_acid', 4000))
.duration(20*10)
.duration(20*5)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.large_chemical_reactor('tfg:solar_coolant')
.inputFluids(Fluid.of('tfg:chloryl_fluoride', 3000), Fluid.of('gtceu:helium_3', 8000), Fluid.of('minecraft:water', 8000))
.outputFluids(Fluid.of('tfg:solar_coolant', 1000), Fluid.of('gtceu:hydrofluoric_acid', 3000), Fluid.of('gtceu:hypochlorous_acid', 3000))
.duration(20*10)
.EUt(GTValues.VA[GTValues.EV])
.duration(20*5)
.EUt(GTValues.VH[GTValues.EV])
event.recipes.gtceu.large_chemical_reactor('tfg:solar_coolant_t2')
.inputFluids(Fluid.of('tfg:solar_coolant', 1000), Fluid.of('gtceu:argon', 1000))
.itemInputs(Item.of('#forge:aerogels'))
.outputFluids(Fluid.of('tfg:solar_coolant_tier2', 1000))
.duration(20*15)
.EUt(GTValues.VH[GTValues.IV])
//#endregion
@ -1304,4 +1333,26 @@ const registerGTCEURecipes = (event) => {
F: 'gtceu:stainless_steel_huge_fluid_pipe'
}).id('tfg:shaped/large_centrifuge')
event.recipes.gtceu.extractor('tfg:logs_to_wood_gas')
.itemInputs('#minecraft:logs_that_burn')
.outputFluids('gtceu:wood_gas 100')
.duration(100)
.EUt(GTValues.VA[GTValues.LV])
// Buttons
event.replaceOutput({ id: 'gtceu:cutter/blackstone_button' }, 'minecraft:polished_blackstone_button', '6x minecraft:polished_blackstone_button')
event.replaceOutput({ id: 'gtceu:cutter/blackstone_button_water' }, 'minecraft:polished_blackstone_button', '6x minecraft:polished_blackstone_button')
event.replaceOutput({ id: 'gtceu:cutter/blackstone_button_distilled_water' }, 'minecraft:polished_blackstone_button', '6x minecraft:polished_blackstone_button')
removeCutterRecipe(event, 'blackstone_button')
removeCutterRecipe(event, 'blackstone_button_water')
removeCutterRecipe(event, 'blackstone_button_distilled_water')
event.replaceOutput({ id: 'gtceu:cutter/bamboo_button' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button')
event.replaceOutput({ id: 'gtceu:cutter/bamboo_button_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button')
event.replaceOutput({ id: 'gtceu:cutter/bamboo_button_distilled_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button')
event.replaceOutput({ id: 'gtceu:cutter/treated_button' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button')
event.replaceOutput({ id: 'gtceu:cutter/treated_button_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button')
event.replaceOutput({ id: 'gtceu:cutter/treated_button_distilled_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button')
}

View file

@ -687,8 +687,8 @@ function registerGTCEuMachineRecipes(event) {
.itemOutputs('gtceu:high_performance_computation_array')
.duration(60 * 20)
.EUt(100000)
["scannerResearch(java.util.function.UnaryOperator)"](b =>
b.researchStack(Item.of('gtceu:computer_monitor_cover')).EUt(GTValues.VA[GTValues.IV]).duration(120*20))
["scannerResearch(java.util.function.UnaryOperator)"](b =>
b.researchStack(Item.of('gtceu:computer_monitor_cover')).EUt(GTValues.VA[GTValues.IV]).duration(120 * 20))
event.remove({ id: 'gtceu:assembly_line/me_pattern_buffer' })
event.recipes.gtceu.assembly_line('me_pattern_buffer')
@ -705,8 +705,8 @@ function registerGTCEuMachineRecipes(event) {
.itemOutputs('gtceu:me_pattern_buffer')
.duration(30 * 20)
.EUt(GTValues.VA[GTValues.LuV])
["scannerResearch(java.util.function.UnaryOperator)"](b =>
b.researchStack(Item.of('gtceu:luv_dual_input_hatch')).EUt(GTValues.VA[GTValues.LuV]).duration(60*20))
["scannerResearch(java.util.function.UnaryOperator)"](b =>
b.researchStack(Item.of('gtceu:luv_dual_input_hatch')).EUt(GTValues.VA[GTValues.LuV]).duration(60 * 20))
event.remove({ id: 'gtceu:assembly_line/me_pattern_buffer_proxy' })
event.recipes.gtceu.assembly_line('me_pattern_buffer_proxy')
@ -893,19 +893,19 @@ function registerGTCEuMachineRecipes(event) {
event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_input_hatch' }, 'gtceu:steel_dust', '6x gtceu:steel_dust')
event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_input_hatch' }, 'gtceu:steel_block', '6x gtceu:steel_ingot')
event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_input_hatch'}, 'gtceu:steel_dust', '6x gtceu:steel_dust')
event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_input_hatch'}, 'gtceu:steel_block', '6x gtceu:steel_ingot')
event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_input_hatch' }, 'gtceu:steel_dust', '6x gtceu:steel_dust')
event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_input_hatch' }, 'gtceu:steel_block', '6x gtceu:steel_ingot')
// #region Bedrock Miner
event.recipes.gtceu.assembler('gtceu:mv_bedrock_miner')
.itemInputs('1x gtceu:hv_machine_hull',
'4x #forge:frames/steel',
'4x #gtceu:circuits/iv',
'4x gtceu:hv_electric_motor',
'4x gtceu:hv_robot_arm',
'4x gtceu:hv_conveyor_module',
'4x #forge:gears/blue_steel')
'4x #forge:frames/steel',
'4x #gtceu:circuits/iv',
'4x gtceu:hv_electric_motor',
'4x gtceu:hv_robot_arm',
'4x gtceu:hv_conveyor_module',
'4x #forge:gears/blue_steel')
.itemOutputs('gtceu:mv_bedrock_ore_miner')
.duration(400)
.EUt(GTValues.VA[GTValues.HV])
@ -913,12 +913,12 @@ function registerGTCEuMachineRecipes(event) {
event.recipes.gtceu.assembler('gtceu:hv_bedrock_miner')
.itemInputs('1x gtceu:ev_machine_hull',
'4x #forge:frames/titanium',
'4x #gtceu:circuits/luv',
'4x gtceu:luv_electric_motor',
'4x gtceu:luv_robot_arm',
'4x gtceu:luv_conveyor_module',
'4x #forge:gears/ruridit')
'4x #forge:frames/titanium',
'4x #gtceu:circuits/luv',
'4x gtceu:luv_electric_motor',
'4x gtceu:luv_robot_arm',
'4x gtceu:luv_conveyor_module',
'4x #forge:gears/ruridit')
.itemOutputs('gtceu:hv_bedrock_ore_miner')
.duration(400)
.EUt(GTValues.VA[GTValues.IV])
@ -926,12 +926,12 @@ function registerGTCEuMachineRecipes(event) {
event.recipes.gtceu.assembler('gtceu:ev_bedrock_miner')
.itemInputs('1x gtceu:iv_machine_hull',
'4x #forge:frames/tungsten_steel',
'4x #gtceu:circuits/zpm',
'4x gtceu:zpm_electric_motor',
'4x gtceu:zpm_robot_arm',
'4x gtceu:zpm_conveyor_module',
'4x #forge:gears/osmiridium')
'4x #forge:frames/tungsten_steel',
'4x #gtceu:circuits/zpm',
'4x gtceu:zpm_electric_motor',
'4x gtceu:zpm_robot_arm',
'4x gtceu:zpm_conveyor_module',
'4x #forge:gears/osmiridium')
.itemOutputs('gtceu:ev_bedrock_ore_miner')
.duration(400)
.EUt(GTValues.VA[GTValues.ZPM])
@ -941,21 +941,21 @@ function registerGTCEuMachineRecipes(event) {
event.recipes.gtceu.mixer('gtceu:chipboard_composite_wax')
.itemInputs('2x #tfg:wood_dusts',
'1x #forge:wax')
'1x #forge:wax')
.itemOutputs('2x tfg:chipboard_composite')
.duration(100)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.mixer('gtceu:chipboard_composite_resin')
.itemInputs('4x #tfg:wood_dusts',
'1x gtceu:sticky_resin')
'1x gtceu:sticky_resin')
.itemOutputs('4x tfg:chipboard_composite')
.duration(100)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.mixer('gtceu:chipboard_composite_glue')
.itemInputs('2x #tfg:wood_dusts',
'1x tfc:glue')
'1x tfc:glue')
.itemOutputs('2x tfg:chipboard_composite')
.duration(100)
.EUt(GTValues.VA[GTValues.LV])
@ -989,26 +989,42 @@ function registerGTCEuMachineRecipes(event) {
//#region New Casings
event.recipes.gtceu.assembler('red_solar_casing')
.itemInputs('gtceu:steel_machine_casing', 'ad_astra:photovoltaic_vesnium_cell')
event.recipes.gtceu.assembler('basic_solar_casing')
.itemInputs('gtceu:steel_machine_casing', 'tfg:photo_cell_t1')
.itemOutputs('8x tfg:casings/machine_casing_blue_solar_panel')
.inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
.circuit(6)
.duration(2.5 * 20)
.EUt(16)
event.recipes.gtceu.assembler('advanced_solar_casing')
.itemInputs('8x tfg:casings/machine_casing_blue_solar_panel', 'ad_astra:photovoltaic_etrium_cell')
.itemOutputs('8x tfg:casings/machine_casing_green_solar_panel')
.inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
.circuit(6)
.duration(2.5 * 20)
.EUt(16)
event.recipes.gtceu.assembler('elite_solar_casing')
.itemInputs('8x tfg:casings/machine_casing_green_solar_panel', 'ad_astra:photovoltaic_vesnium_cell')
.itemOutputs('8x tfg:casings/machine_casing_red_solar_panel')
.inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
.circuit(6)
.duration(2.5*20)
.duration(2.5 * 20)
.EUt(16)
event.recipes.gtceu.assembler('iron_desh_casing')
.itemInputs(ChemicalHelper.get(TagPrefix.plate, GTMaterials.Steel, 6), 'gtceu:desh_frame')
.itemOutputs('2x tfg:casings/machine_casing_iron_desh')
.circuit(6)
.duration(2.5*20)
.duration(2.5 * 20)
.EUt(16)
event.recipes.gtceu.assembler('steel_machine_casing')
.itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4))
.itemOutputs('gtceu:steel_machine_casing')
.circuit(4)
.duration(2.5*20)
.duration(2.5 * 20)
.EUt(16)
//#endregion
@ -1016,54 +1032,123 @@ function registerGTCEuMachineRecipes(event) {
//#region Large Solar Panel
event.shaped(
'gtceu:large_solar_panel',
['WSW', 'TZT', 'WUW'],
{
S: 'ad_astra:photovoltaic_vesnium_cell',
Z: 'ad_astra:solar_panel',
W: '#gtceu:circuits/ev',
U: '#forge:gears/rocket_alloy_t1',
T: '#forge:gears/desh'
}
'gtceu:large_solar_panel',
['WSW', 'TZT', 'WUW'],
{
S: 'tfg:photo_cell_t1',
Z: 'ad_astra:solar_panel',
W: '#gtceu:circuits/ev',
U: '#forge:gears/rocket_alloy_t1',
T: '#forge:gears/desh'
}
).id('gtceu:shaped/large_solar_panel')
event.shaped(
'gtceu:large_solar_panel_tier2',
['WSW', 'TZT', 'WUW'],
{
S: 'ad_astra:photovoltaic_etrium_cell',
Z: 'gtceu:large_solar_panel',
W: '#gtceu:circuits/iv',
U: '#forge:gears/rocket_alloy_t1',
T: '#forge:gears/desh'
}
).id('gtceu:shaped/large_solar_panel_tier2')
event.shaped(
'gtceu:large_solar_panel_tier3',
['WSW', 'TZT', 'WUW'],
{
S: 'ad_astra:photovoltaic_vesnium_cell',
Z: 'gtceu:large_solar_panel_tier2',
W: '#gtceu:circuits/luv',
U: '#forge:gears/rocket_alloy_t1',
T: '#forge:gears/desh'
}
).id('gtceu:shaped/large_solar_panel_tier3')
event.recipes.gtceu.chemical_reactor('advanced_photovoltaic_cell')
.itemInputs('ad_astra:photovoltaic_etrium_cell',
'6x gtceu:energium_dust',
'gtceu:carbon_fiber_plate')
.inputFluids(Fluid.of('gtceu:helium_3', 128))
.itemOutputs('ad_astra:photovoltaic_vesnium_cell')
.duration(20*10)
.EUt(GTValues.VA[GTValues.HV])
.itemInputs('8x tfg:photo_cell_t1',
'6x #forge:dusts/vanadium_gallium',
'#forge:insulation_t2/sheet')
.inputFluids(Fluid.of('gtceu:helium_3', 1000))
.itemOutputs('8x ad_astra:photovoltaic_etrium_cell')
.duration(20 * 10)
.EUt(GTValues.VA[GTValues.EV])
event.recipes.gtceu.chemical_reactor('expert_photovoltaic_cell')
.itemInputs('8x ad_astra:photovoltaic_etrium_cell',
'6x gtceu:energium_dust',
'#forge:insulation_t3/sheet')
.inputFluids(Fluid.of('tfg:cryogenized_fluix', 1000))
.itemOutputs('8x ad_astra:photovoltaic_vesnium_cell')
.duration(20 * 10)
.EUt(GTValues.VA[GTValues.IV])
// LSP Generating recipes
event.recipes.gtceu.large_solar_panel('solar_panel_t1')
.circuit(1)
.chancedInput('ad_astra:photovoltaic_vesnium_cell', 5, 0) // Slightly lower
.duration(20*20)
//.daytime(false)
.dimension('ad_astra:moon')
.EUt(-32*64/2)
event.recipes.gtceu.large_solar_panel('solar_panel_t2')
.circuit(2)
.notConsumable(InputItem.of('ad_astra:photovoltaic_vesnium_cell'))
.chancedFluidInput('tfg:solar_coolant 100', 5000, 0)
.duration(20*20)
//.daytime(false)
.dimension('ad_astra:moon')
.EUt(-((GTValues.V[GTValues.IV])/2))
// Solar T1
event.recipes.gtceu.large_solar_panel('solar_panel_t3')
.circuit(3)
.notConsumable(InputItem.of('ad_astra:photovoltaic_vesnium_cell'))
.chancedFluidInput(Fluid.of('tfg:solar_coolant', 100), 5000, 0)
.inputFluids(Fluid.of('tfg:cryogenized_fluix', 144))
.chancedFluidOutput('tfg:fluix 36', 7500, 0)
.duration(20*20)
//.daytime(false)
event.recipes.gtceu.large_solar_panel('solar_panel_t1_cheap')
.notConsumable('tfg:photo_cell_t1')
.duration(20 * 20)
.daytime(false)
.dimension('ad_astra:moon')
.EUt(-((GTValues.V[GTValues.LuV])/2))
.EUt(-(GTValues.V[GTValues.HV]), 2)
.circuit(1)
event.recipes.gtceu.large_solar_panel('solar_panel_t1')
.chancedInput('tfg:photo_cell_t1', 500, 0)
.duration(20 * 20)
.daytime(false)
.dimension('ad_astra:moon')
.EUt(-((GTValues.V[GTValues.EV])), 2)
.circuit(2)
// Solar T2
event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_cheap')
.chancedInput('ad_astra:photovoltaic_etrium_cell', 500, 0)
.duration(20 * 20)
.daytime(false)
.dimension('ad_astra:moon')
.EUt(-(GTValues.V[GTValues.EV]), 2)
.circuit(1)
event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2')
.notConsumable('ad_astra:photovoltaic_etrium_cell')
.perTick(true)
.chancedFluidInput('tfg:solar_coolant 10', 5000, 0)
.inputFluids('tfg:cryogenized_fluix 40')
.outputFluids('tfg:fluix 10')
.perTick(false)
.duration(20 * 20)
.daytime(false)
.dimension('ad_astra:moon')
.EUt(-(GTValues.V[GTValues.IV]), 2)
.circuit(2)
// Solar T3
event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_cheap')
.chancedInput('ad_astra:photovoltaic_vesnium_cell', 500, 0)
.duration(20 * 20)
.daytime(false)
.dimension('ad_astra:moon')
.EUt(-(GTValues.V[GTValues.IV]), 2)
.circuit(1)
event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3')
.notConsumable('ad_astra:photovoltaic_vesnium_cell')
.perTick(true)
.chancedFluidInput('tfg:solar_coolant_tier2 10', 5000, 0)
.inputFluids('tfg:cryogenized_fluix 40')
.outputFluids('tfg:fluix 10')
.perTick(false)
.duration(20 * 20)
.daytime(false)
.dimension('ad_astra:moon')
.EUt(-(GTValues.V[GTValues.LuV]), 2)
.circuit(2)
}

View file

@ -99,22 +99,22 @@ function registerGTCEUMetalRecipes(event) {
results: [toolHeadItem],
processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
}).id(`tfg:vi/curving/${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`)
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`)
.itemInputs(toolHeadItem)
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, materialAmount))
.duration(material.getMass() * 6 * materialAmount)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace(`tfg:arc_furnace_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`)
.itemInputs(toolHeadItem)
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, materialAmount))
.duration(material.getMass() * 6 * materialAmount)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
if (GTMaterials.Stone !== material) {
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`)
.itemInputs(toolHeadItem)
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, materialAmount))
.duration(material.getMass() * 6 * materialAmount)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace(`tfg:arc_furnace_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`)
.itemInputs(toolHeadItem)
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, materialAmount))
.duration(material.getMass() * 6 * materialAmount)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`)
.itemInputs(toolHeadItem)
.outputFluids(Fluid.of(material.getFluid(), materialAmount * 144))
@ -241,10 +241,10 @@ function registerGTCEUMetalRecipes(event) {
event.remove({ id: `gtceu:shaped/plate_double_${material.getName()}` })
if (material === GTMaterials.CobaltBrass || material === GTMaterials.Potin) {
if (material.getProperty(TFGPropertyKey.TFC_PROPERTY) === null) {
event.recipes.greate.compacting(doublePlateItem, [plateItem, plateItem, 'tfc:powder/flux'])
.heated()
.recipeTier(1)
.recipeTier(2)
.id(`greate:compacting/${material.getName()}_double_plate`)
event.remove({ id: `gtceu:bender/bend_${material.getName()}_plate_to_double_plate` })
@ -254,11 +254,6 @@ function registerGTCEUMetalRecipes(event) {
.circuit(2)
.duration(20 * 5.8)
.EUt(24)
} else if (material.getProperty(TFGPropertyKey.TFC_PROPERTY) === null) {
event.recipes.greate.compacting(doublePlateItem, [plateItem, plateItem, 'tfc:powder/flux'])
.heated()
.recipeTier(2)
.id(`greate:compacting/${material.getName()}_double_plate`)
}
}
@ -305,7 +300,7 @@ function registerGTCEUMetalRecipes(event) {
event.remove({ id: `gtceu:shaped/stick_long_stick_${material.getName()}` })
// Rod welding recipes for all of the other non-tfc materials, since those were handled in tfc/recipes.materials.js
if (material.getProperty(TFGPropertyKey.TFC_PROPERTY) === null) {
if (!material.hasProperty(TFGPropertyKey.TFC_PROPERTY)) {
event.recipes.greate.compacting(longRodItem, [shortRodItem, shortRodItem, 'tfc:powder/flux'])
.heated()
.recipeTier(1)
@ -1078,7 +1073,7 @@ function registerGTCEUMetalRecipes(event) {
const doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1)
if (buzzsawBladeItem === null || doublePlateItem === null) return;
let isLowTier = material === GTMaterials.CobaltBrass || material.hasProperty(TFGPropertyKey.TFC_PROPERTY)
let isLowTier = material.hasProperty(TFGPropertyKey.TFC_PROPERTY)
event.recipes.gtceu.lathe(`buzzsaw_gear_${material.getName()}`)
.itemInputs(doublePlateItem)
@ -1095,6 +1090,30 @@ function registerGTCEUMetalRecipes(event) {
}).id(`tfg:vi/lathe/${material.getName()}_buzzsaw`)
}
removeMaceratorRecipe(event, `macerate_${material.getName()}_buzz_saw_blade`)
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_buzz_saw_blade`)
.itemInputs(buzzsawBladeItem)
.itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 2))
.duration(material.getMass() * 6 * 2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.remove({ id: `gtceu:arc_furnace/arc_${material.getName()}_buzz_saw_blade` })
event.recipes.gtceu.arc_furnace(`tfg:arc_furnace_${material.getName()}_buzz_saw_blade`)
.itemInputs(buzzsawBladeItem)
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 2))
.duration(material.getMass() * 6 * 2)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
event.remove({ id: `gtceu:extractor/extract_${material.getName()}_buzz_saw_blade` })
event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_buzz_saw_blade`)
.itemInputs(buzzsawBladeItem)
.outputFluids(Fluid.of(material.getFluid(), 2 * 144))
.duration(material.getMass() * 6 * 2)
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
.EUt(material.hasProperty(PropertyKey.BLAST) ? GTValues.VA[GTValues.MV] : GTValues.VA[GTValues.ULV])
event.remove({ id: `gtceu:shaped/buzzsaw_blade_${material.getName()}` })
}
@ -1110,8 +1129,8 @@ function registerGTCEUMetalRecipes(event) {
event.remove({ id: `gtceu:arc_furnace/arc_iv_${material.getName()}_wrench` })
removeMaceratorRecipe(event, `macerate_lv_${material.getName()}_chainsaw`)
event.remove({ id: `gtceu:arc_furnace/arc_lv_${material.getName()}_chainsaw` })
removeMaceratorRecipe(event, `macerate_lv_${material.getName()}_buzzsaw`)
event.remove({ id: `gtceu:arc_furnace/arc_lv_${material.getName()}_buzzsaw` })
removeMaceratorRecipe(event, `macerate_${material.getName()}_buzzsaw`)
event.remove({ id: `gtceu:arc_furnace/arc_${material.getName()}_buzzsaw` })
removeMaceratorRecipe(event, `macerate_lv_${material.getName()}_drill`)
event.remove({ id: `gtceu:arc_furnace/arc_lv_${material.getName()}_drill` })
removeMaceratorRecipe(event, `macerate_mv_${material.getName()}_drill`)
@ -1133,9 +1152,17 @@ function registerGTCEUMetalRecipes(event) {
}
forEachMaterial(material => {
// greate moment
if (material === GTMaterials.get("andesite_alloy")
|| material === GTMaterials.get("refined_radiance")
|| material === GTMaterials.get("shadow_steel")
|| material === GTMaterials.get("chromatic_compound"))
{ return; }
const toolProperty = material.getProperty(PropertyKey.TOOL)
const ingotProperty = material.getProperty(PropertyKey.INGOT)
const oreProperty = material.getProperty(PropertyKey.ORE)
if (toolProperty !== null) {
let circuit = 1;
makeToolRecipe(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, 'tfg:sword_head_extruder_mold', circuit++, material)

View file

@ -603,6 +603,8 @@ function removeGTCEURecipes(event) {
event.remove({ id: 'gtceu:shaped/gear_diamond' })
event.remove({ id: 'gtceu:shaped/buzzsaw_blade_diamond' })
event.remove({ id: 'gtceu:shaped/purpur_stair_saw' })
event.remove({ id: 'gtceu:shaped/bamboo_button' })
event.remove({ id: 'gtceu:shaped/treated_button' })
event.remove({ id: 'gtceu:shapeless/glass_full_dust_flint' })
@ -674,6 +676,8 @@ function removeGTCEURecipes(event) {
event.remove({ id: 'gtceu:rock_breaker/red_granite' })
event.remove({ id: 'gtceu:lathe/stone_rod_from_cobblestone' })
// who the hell is grinding metal ingots with their bare hands?
event.remove({ id: 'gtceu:shaped/mortar_grind_antimony' })
event.remove({ id: 'gtceu:shaped/mortar_grind_copper' })
@ -730,18 +734,18 @@ function removeGTCEURecipes(event) {
//removes metal armor
const armor = [
'gtceu:bronze_helmet',
'gtceu:bronze_chestplate',
'gtceu:bronze_leggings',
'gtceu:bronze_boots',
'gtceu:steel_helmet',
'gtceu:steel_chestplate',
'gtceu:steel_leggings',
'gtceu:steel_boots',
'gtceu:titanium_helmet',
'gtceu:titanium_chestplate',
'gtceu:titanium_leggings',
'gtceu:titanium_boots'
'gtceu:bronze_helmet',
'gtceu:bronze_chestplate',
'gtceu:bronze_leggings',
'gtceu:bronze_boots',
'gtceu:steel_helmet',
'gtceu:steel_chestplate',
'gtceu:steel_leggings',
'gtceu:steel_boots',
'gtceu:titanium_helmet',
'gtceu:titanium_chestplate',
'gtceu:titanium_leggings',
'gtceu:titanium_boots'
];
armor.forEach(armor => {
event.remove({ output: armor})

View file

@ -25,14 +25,14 @@ function registerGTCEuTFCMetalsRecipes(event) {
.itemOutputs('tfc:metal/ingot/red_steel')
.inputFluids(Fluid.of('gtceu:oxygen', 72))
.duration(700)
.EUt(32)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.arc_furnace('tfg:blue_steel_dust_to_ingot')
.itemInputs('gtceu:blue_steel_dust')
.itemOutputs('tfc:metal/ingot/blue_steel')
.inputFluids(Fluid.of('gtceu:oxygen', 72))
.duration(700)
.EUt(32)
.EUt(GTValues.VA[GTValues.LV])
//#endregion
@ -292,4 +292,4 @@ function registerGTCEuTFCMetalsRecipes(event) {
.category(GTRecipeCategories.MACERATOR_RECYCLING)
//#endregion
}
}

View file

@ -323,6 +323,13 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair,
.itemOutputs(stripped_log)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.custom({
type: 'vintageimprovements:turning',
ingredients: [{ item: log }],
results: [{ item: stripped_log }],
processingTime: 50
}).id(`tfg:vi/lathe/stripping_${name}_log`)
}
if (logs && lumber && name) {

View file

@ -249,6 +249,7 @@ ServerEvents.recipes(event => {
registerSpeciesRecipes(event)
registerTACZRecipes(event)
registerTFCRecipes(event)
registerTFCAmbientalRecipes(event)
registerTFCBetterBFRecipes(event)
registerTFCLunchBoxRecipes(event)
registerTFCGroomingStationRecipes(event)
@ -270,4 +271,14 @@ TaCZServerEvents.ammoIndexLoad((event) => {
TaCZServerEvents.attachmentIndexLoad((event) => {
attachmentIndexLogic(event)
})
})
TaCZServerEvents.gunDataLoad((event) => {
gunDataLogic(event)
})
TaCZServerEvents.attachmentDataLoad((event) => {
attachmentDataLogic(event)
})

View file

@ -1115,6 +1115,8 @@ const registerMinecraftRecipes = (event) => {
event.shapeless('8x minecraft:bone_meal', ['#forge:tools/mortars', 'minecraft:skeleton_skull'])
event.replaceInput({ id: 'minecraft:writable_book' }, 'minecraft:ink_sac', '#forge:dyes/black')
//Pressure Plates
const PRESSURE_PLATES = [
{type: 'bamboo', material: 'minecraft:bamboo_slab'},

View file

@ -81,6 +81,8 @@ const registerMinecraftItemTags = (event) => {
event.add('tfc:compost_greens', 'minecraft:nether_wart_block')
event.add('tfc:compost_greens', 'minecraft:warped_wart_block')
event.add('forge:dyes/black', 'minecraft:ink_sac')
}
const registerMinecraftBlockTags = (event) => {

View file

@ -134,14 +134,14 @@ const registerRailWaysRecipes = (event) => {
], {
A: 'minecraft:lever',
B: '#forge:bolts/wrought_iron',
C: '#tfg:small_cogwheels',
C: '#forge:cogwheels',
D: 'create:andesite_casing',
E: '#forge:tools/screwdrivers',
F: '#forge:tools/hammers',
}).id('tfg:railways/shaped/track_switch_andesite')
event.recipes.gtceu.assembler('tfg:railways/track_switch_andesite')
.itemInputs('minecraft:lever', '2x #forge:bolts/wrought_iron', '2x #tfg:small_cogwheels', 'create:andesite_casing')
.itemInputs('minecraft:lever', '2x #forge:bolts/wrought_iron', '2x #forge:cogwheels', 'create:andesite_casing')
.circuit(3)
.itemOutputs('railways:track_switch_andesite')
.duration(200)
@ -155,14 +155,14 @@ const registerRailWaysRecipes = (event) => {
], {
A: 'minecraft:lever',
B: '#forge:bolts/brass',
C: '#tfg:small_cogwheels',
C: '#forge:cogwheels',
D: 'create:brass_casing',
E: '#forge:tools/screwdrivers',
F: '#forge:tools/hammers',
}).id('tfg:railways/shaped/track_switch_brass')
event.recipes.gtceu.assembler('tfg:railways/track_switch_brass')
.itemInputs('minecraft:lever', '2x #forge:bolts/brass', '2x #tfg:small_cogwheels', 'create:brass_casing')
.itemInputs('minecraft:lever', '2x #forge:bolts/brass', '2x #forge:cogwheels', 'create:brass_casing')
.circuit(3)
.itemOutputs('railways:track_switch_brass')
.duration(200)
@ -357,11 +357,11 @@ const registerRailWaysRecipes = (event) => {
event.recipes.createSequencedAssembly([
'16x create:track',
], '#tfg:rock_slabs', [
event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfg:rock_slabs']),
event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', 'gtceu:steel_rod']),
event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfc:mortar']),
event.recipes.greate.pressing('create:incomplete_track', 'create:incomplete_track'),
]).transitionalItem('create:incomplete_track').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite')
event.recipes.createDeploying('railways:track_incomplete_blackstone', ['railways:track_incomplete_blackstone', '#tfg:rock_slabs']),
event.recipes.createDeploying('railways:track_incomplete_blackstone', ['railways:track_incomplete_blackstone', 'gtceu:steel_rod']),
event.recipes.createDeploying('railways:track_incomplete_blackstone', ['railways:track_incomplete_blackstone', '#tfc:mortar']),
event.recipes.greate.pressing('railways:track_incomplete_blackstone', 'railways:track_incomplete_blackstone'),
]).transitionalItem('railways:track_incomplete_blackstone').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite')
event.recipes.gtceu.assembler('railways/track')
.itemInputs('3x #tfg:rock_slabs', '2x gtceu:steel_rod')
@ -442,6 +442,81 @@ const registerRailWaysRecipes = (event) => {
.circuit(3)
});
const OTHER_TRACKS = [
{ rail: 'blackstone', slab: 'minecraft:blackstone_slab', block: 'minecraft:blackstone' },
{ rail: 'acacia', slab: 'afc:wood/planks/baobab_slab', block: 'afc:wood/planks/baobab' },
{ rail: 'birch', slab: 'afc:wood/planks/eucalyptus_slab', block: 'afc:wood/planks/eucalyptus' },
{ rail: 'cherry', slab: 'afc:wood/planks/fig_slab', block: 'afc:wood/planks/fig' },
{ rail: 'jungle', slab: 'afc:wood/planks/teak_slab', block: 'afc:wood/planks/teak' },
{ rail: 'spruce', slab: 'afc:wood/planks/cypress_slab', block: 'afc:wood/planks/cypress' },
{ rail: 'crimson', slab: 'beneath:wood/planks/crimson_slab', block: 'beneath:wood/planks/crimson' },
{ rail: 'warped', slab: 'beneath:wood/planks/warped_slab', block: 'beneath:wood/planks/warped' },
{ rail: 'stripped_bamboo', slab: 'minecraft:bamboo_slab', block: 'minecraft:bamboo_planks' },
{ rail: 'bamboo', slab: 'minecraft:bamboo_block', block: 'minecraft:stripped_bamboo_block' },
{ rail: 'tieless', slab: 'framedblocks:framed_slab', block: 'framedblocks:framed_cube' }
]
OTHER_TRACKS.forEach(x => {
event.recipes.createSequencedAssembly([
`16x railways:track_${x.rail}_narrow`,
], x.slab, [
event.recipes.createDeploying(`railways:track_incomplete_${x.rail}_narrow`, [`railways:track_incomplete_${x.rail}_narrow`, `gtceu:steel_rod`]),
event.recipes.createDeploying(`railways:track_incomplete_${x.rail}_narrow`, [`railways:track_incomplete_${x.rail}_narrow`, `#tfc:mortar`]),
event.recipes.greate.pressing(`railways:track_incomplete_${x.rail}_narrow`, `railways:track_incomplete_${x.rail}_narrow`),
]).transitionalItem(`railways:track_incomplete_${x.rail}_narrow`).loops(2).id(`tfg:railways/sequenced_assembly/track_${x.rail}_narrow_alt`)
event.recipes.gtceu.assembler(`tfg:railways/track_${x.rail}_narrow_alt`)
.itemInputs(x.slab, `2x gtceu:steel_rod`)
.inputFluids(Fluid.of(`gtceu:concrete`, 144))
.itemOutputs(`16x railways:track_${x.rail}_narrow`)
.duration(800)
.EUt(16)
.circuit(1)
event.recipes.createSequencedAssembly([
`16x railways:track_${x.rail}`,
], x.slab, [
event.recipes.createDeploying(`railways:track_incomplete_${x.rail}`, [`railways:track_incomplete_${x.rail}`, x.slab]),
event.recipes.createDeploying(`railways:track_incomplete_${x.rail}`, [`railways:track_incomplete_${x.rail}`, `gtceu:steel_rod`]),
event.recipes.createDeploying(`railways:track_incomplete_${x.rail}`, [`railways:track_incomplete_${x.rail}`, `#tfc:mortar`]),
event.recipes.greate.pressing(`railways:track_incomplete_${x.rail}`, `railways:track_incomplete_${x.rail}`),
]).transitionalItem(`railways:track_incomplete_${x.rail}`).loops(2).id(`tfg:railways/sequenced_assembly/track_${x.rail}_alt`)
event.recipes.gtceu.assembler(`tfg:railways/track_${x.rail}_normal_alt`)
.itemInputs(`3x ${x.slab}`, `2x gtceu:steel_rod`)
.inputFluids(Fluid.of(`gtceu:concrete`, 144))
.itemOutputs(`16x railways:track_${x.rail}`)
.duration(800)
.EUt(16)
.circuit(2)
event.recipes.createSequencedAssembly([
`16x railways:track_${x.rail}_wide`,
], x.slab, [
event.recipes.createDeploying(`railways:track_incomplete_${x.rail}_wide`, [`railways:track_incomplete_${x.rail}_wide`, x.block]),
event.recipes.createDeploying(`railways:track_incomplete_${x.rail}_wide`, [`railways:track_incomplete_${x.rail}_wide`, `gtceu:steel_rod`]),
event.recipes.createDeploying(`railways:track_incomplete_${x.rail}_wide`, [`railways:track_incomplete_${x.rail}_wide`, `#tfc:mortar`]),
event.recipes.greate.pressing(`railways:track_incomplete_${x.rail}_wide`, `railways:track_incomplete_${x.rail}_wide`),
]).transitionalItem(`railways:track_incomplete_${x.rail}_wide`).loops(2).id(`tfg:railways/sequenced_assembly/track_${x.rail}_wide_alt`)
event.recipes.gtceu.assembler(`tfg:railways/track_${x.rail}_wide_alt`)
.itemInputs(`5x ${x.slab}`, `2x gtceu:steel_rod`)
.inputFluids(Fluid.of(`gtceu:concrete`, 144))
.itemOutputs(`16x railways:track_${x.rail}_wide`)
.duration(800)
.EUt(16)
.circuit(3)
})
event.recipes.gtceu.assembler('tfg:railways/phantom_tracks')
.itemInputs('32x create:track', 'ae2:ender_dust')
.itemOutputs('32x railways:track_phantom')
.duration(100)
.EUt(16)
event.shapeless('8x railways:track_phantom', ['#forge:small_dusts/ender_pearl', '8x create:track'])
.id('tfg:shapeless/phantom_tracks')
event.shaped('1x railways:handcar', [
'EFE',
'BAA',

View file

@ -1,24 +1,78 @@
"use strict";
//IndexLogic is used mainly for the removal of tacz items
// const json = JSON.parse(event.getStdJson());
// console.log(json);
// return event.setJson(JSON.stringify(json));
//This can be used to read what the json contains for any given id
const ammoIndexLogic = (event) => {
const id = event.getId().toString();
if (!global.TACZ_ENABLED_AMMO.includes(id)) {
return event.removeAmmo();
}
}
const attachmentIndexLogic = (event) => {
const id = event.getId().toString();
const id = event.getId().toString();
if (!global.TACZ_ENABLED_ATTACH.includes(id)) {
return event.removeAttachment();
}
const json = JSON.parse(event.getStdJson());
switch(id) {
//Scope Sorting
case "create_armorer:sight_simple": json.sort = 100; break;
case "create_armorer:sight_reflex": json.sort = 101; break;
case "applied_armorer:si_pricision": json.sort = 102; break;
case "applied_armorer:si_double_sided_mirror": json.sort = 103; break;
case "create_armorer:sight_standard": json.sort = 200; break;
case "applied_armorer:si_ms_12": json.sort = 201; break;
case "create_armorer:sight_medium_distance": json.sort = 400; break;
case "applied_armorer:scope_ms_14": json.sort = 401; break;
case "tacz:scope_1873_6x": json.sort = 600; break;
case "create_armorer:scope_telephoto": json.sort = 800; break;
case "applied_armorer:scope_xgs_905": json.sort = 801; break;
//Muzzle Sorting
case "create_armorer:muzzle_refit_bigger_cylinder": json.sort = 100; break;
case "create_armorer:muzzle_refit_lava_perfusion_bottle": json.sort = 101; break;
case "applied_armorer:muzzle_ns_1": json.sort = 201; break;
case "applied_armorer:muzzle_classic": json.sort = 202; break;
case "applied_armorer:muzzle_bs_mod4": json.sort = 203; break;
case "applied_armorer:muzzle_commander": json.sort = 204; break;
//Grip Sorting
case "create_armorer:grip_wooden": json.sort = 100; break;
case "create_armorer:grip_gantry_shaft": json.sort = 101; break;
case "applied_armorer:grip_light": json.sort = 102; break;
case "applied_armorer:grip_stable": json.sort = 103; break;
case "create_armorer:grip_shaft": json.sort = 200; break;
case "applied_armorer:grip_hf_17": json.sort = 201; break;
case "applied_armorer:grip_lf11": json.sort = 300; break;
case "applied_armorer:grip_sl_2": json.sort = 301; break;
//Mag Sorting
case "applied_armorer:extended_mag_aa_1": json.sort = 401; break;
case "applied_armorer:extended_mag_aa_2": json.sort = 402; break;
case "applied_armorer:extended_mag_aa_3": json.sort = 403; break;
case "applied_armorer:extended_mid_mag_aa_1": json.sort = 404; break;
case "applied_armorer:extended_mid_mag_aa_2": json.sort = 405; break;
case "applied_armorer:extended_mid_mag_aa_3": json.sort = 406; break;
}
return event.setJson(JSON.stringify(json));
}
const gunIndexLogic = (event) => {
@ -28,6 +82,75 @@ const gunIndexLogic = (event) => {
return event.removeGun();
}
}
const attachmentDataLogic = (event) => {
}
const gunDataLogic = (event) => {
const id = event.getId().toString();
const json = JSON.parse(event.getStdJson());
}
if(id === "create_armorer:pistol_revolver_torque_data"){
json.bullet.extra_damage.armor_ignore = 0.25;
}
if(id === "create_armorer:sniper_semi_clockwork_data"){
json.bullet.extra_damage.armor_ignore = 0.30;
json.bullet.damage = 22;
json.bullet.extra_damage.damage_adjust =
[
{"distance": 60, "damage": 22},
{"distance": 120, "damage": 19},
{"distance": "infinite", "damage": 17}
]
json.builtin_attachments = {};
json.builtin_attachments.scope = "create_armorer:sight_simple";
}
if(id === "applied_armorer:moritz_rifle_ar77_data") {
json.ammo = "applied_armorer:hard_core_quartz_bullet";
json.bullet.damage = 13;
json.bullet.extra_damage.armor_ignore = 0.35;
json.bullet.extra_damage.head_shot_multiplier = 1.75;
json.bullet.extra_damage.damage_adjust =
[
{"distance": 80, "damage": 13},
{"distance": 120, "damage": 11},
{"distance": "infinite", "damage": 9}
]
}
if(id === "tacz:db_long_data"){
json.bullet.extra_damage.armor_ignore = 0.22;
}
if(id === "tacz:db_short_data"){
json.bullet.extra_damage.armor_ignore = 0.22;
}
if(id === "create_armorer:cannon_40mm_salamander_data"){
json.bullet.damage = 50;
json.bullet.extra_damage.damage_adjust =
[
{"distance": 200, "damage": 50},
{"distance": "infinite", "damage": 45}
]
json.builtin_attachments = {};
json.builtin_attachments.scope = "create_armorer:sight_simple";
}
if(id === "applied_armorer:moritz_gernade_gl3_data"){
json.ammo_amount = 2;
json.extended_mag_ammo_amount =
[
3,
4,
5
]
}
return event.setJson(JSON.stringify(json));
}

View file

@ -71,6 +71,13 @@ function registerTACZAmmoRecipes(event){
'{AmmoId:"create_armorer:rbapb"}'))
.EUt(GTValues.VA[GTValues.MV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:rb_small_nc')
.itemInputs('8x #forge:nuggets/lead','4x #forge:foils/copper', '8x tfg:small_bullet_casing',
'tfg:nitrocellulose')
.itemOutputs(Item.of('tacz:ammo', 8,
'{AmmoId:"create_armorer:rbapb"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:slap_large')
.itemInputs('4x #forge:nuggets/lead','4x #forge:foils/copper', '4x tfg:large_bullet_casing',
'#forge:dusts/gunpowder')
@ -78,54 +85,102 @@ function registerTACZAmmoRecipes(event){
'{AmmoId:"create_armorer:slap"}'))
.EUt(GTValues.VA[GTValues.MV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:12g_shell_peth')
.itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', '#forge:dusts/gunpowder')
.inputFluids(Fluid.of('gtceu:polyethylene', 288))
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"tacz:12g"}'))
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.assembler('tfg_tacz:slap_large_nc')
.itemInputs('8x #forge:nuggets/lead','8x #forge:foils/copper', '8x tfg:large_bullet_casing',
'tfg:nitrocellulose')
.itemOutputs(Item.of('tacz:ammo', 8,
'{AmmoId:"create_armorer:slap"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:12g_shell_pvc')
.itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', '#forge:dusts/gunpowder')
.inputFluids(Fluid.of('gtceu:polyvinyl_chloride', 144))
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"tacz:12g"}'))
.EUt(GTValues.VA[GTValues.MV])
.duration(30)
//Certus era
event.recipes.gtceu.assembler('tfg_tacz:fluix_grenade')
.itemInputs('#forge:ingots/magnalium', '4x gtceu:gelled_toluene', 'tfg:nitrocellulose')
.itemInputs('#forge:ingots/magnalium', '2x gtceu:gelled_toluene', '4x tfg:nitrocellulose')
.inputFluids(Fluid.of('tfg:fluix', 720))
.itemOutputs(Item.of('tacz:ammo',
'{AmmoId:"applied_armorer:fluix_infused_grenade"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
.duration(40)
event.recipes.gtceu.assembler('tfg_tacz:40mm_he')
.itemInputs('#forge:ingots/brass', '#forge:ingots/steel', '8x gtceu:gelled_toluene',
'6x tfg:nitrocellulose')
.itemOutputs(Item.of('tacz:ammo',
'{AmmoId:"create_armorer:40mmhe"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(40)
event.recipes.gtceu.assembler('tfg_tacz:etched_quartz_small')
.itemInputs('2x ae2:certus_quartz_crystal', '4x tfg:small_bullet_casing', 'tfg:nitrocellulose')
.itemInputs('2x #forge:flawless_gems/certus_quartz', '4x tfg:small_bullet_casing', '2x tfg:nitrocellulose')
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"applied_armorer:etched_quartz_bullet"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:hard_quartz_large')
.itemInputs('4x ae2:charged_certus_quartz_crystal', '4x tfg:large_bullet_casing', 'tfg:nitrocellulose')
.itemInputs('4x #forge:exquisite_gems/certus_quartz', '8x #forge:bolts/tungsten', '4x tfg:large_bullet_casing',
'2x tfg:nitrocellulose')
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"applied_armorer:hard_core_quartz_bullet"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:cluster_quartz_shell_ptfe')
.itemInputs('16x gtceu:chipped_certus_quartz_gem', '4x tfg:shell_bullet_casing', 'tfg:nitrocellulose')
.itemInputs('16x gtceu:chipped_certus_quartz_gem', '4x tfg:shell_bullet_casing', '2x tfg:nitrocellulose')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144))
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"applied_armorer:cluster_quartz_bullet"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:cluster_quartz_shell_pbi')
.itemInputs('16x gtceu:chipped_certus_quartz_gem', '4x tfg:shell_bullet_casing', 'tfg:nitrocellulose')
.itemInputs('16x gtceu:chipped_certus_quartz_gem', '4x tfg:shell_bullet_casing', '2x tfg:nitrocellulose')
.inputFluids(Fluid.of('gtceu:polybenzimidazole', 72))
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"applied_armorer:cluster_quartz_bullet"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(30)
//12gauge shell
event.recipes.gtceu.assembler('tfg_tacz:12g_shell_peth')
.itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', '2x #forge:dusts/gunpowder')
.inputFluids(Fluid.of('gtceu:polyethylene', 288))
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"tacz:12g"}'))
.EUt(GTValues.VA[GTValues.MV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:12g_shell_pvc')
.itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', '2x #forge:dusts/gunpowder')
.inputFluids(Fluid.of('gtceu:polyvinyl_chloride', 144))
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"tacz:12g"}'))
.EUt(GTValues.VA[GTValues.MV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:12g_shell_ptfe')
.itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', '2x #forge:dusts/gunpowder')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 72))
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"tacz:12g"}'))
.EUt(GTValues.VA[GTValues.HV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:12g_shell_pbi')
.itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', '2x #forge:dusts/gunpowder')
.inputFluids(Fluid.of('gtceu:polybenzimidazole', 36))
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"tacz:12g"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:12g_shell_nc_ptfe')
.itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', 'tfg:nitrocellulose')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 72))
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"tacz:12g"}'))
.EUt(GTValues.VA[GTValues.HV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:12g_shell_nc_pbi')
.itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', 'tfg:nitrocellulose')
.inputFluids(Fluid.of('gtceu:polybenzimidazole', 36))
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"tacz:12g"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
}

View file

@ -16,7 +16,6 @@ function registerTACZAttachRecipes(event){
F: '#forge:tools/files'
}).id('tfg_tacz:trapdoor_scope');
event.recipes.gtceu.assembler('tfg_tacz:ca_reflex')
.itemInputs('tfc:lens', '#forge:rings/brass', '#forge:plates/steel')
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:sight_reflex"}'))
@ -44,6 +43,12 @@ function registerTACZAttachRecipes(event){
.circuit(4)
.EUt(GTValues.VA[GTValues.MV])
.duration(10);
event.recipes.gtceu.assembler('tfg_tacz:ca_simple')
.itemInputs('#forge:rings/brass', '2x #forge:screws/black_steel', '2x #forge:plates/steel')
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:sight_simple"}'))
.circuit(5)
.EUt(GTValues.VA[GTValues.MV])
.duration(10)
event.recipes.gtceu.assembler('tfg_tacz:aa_pricision')
@ -134,11 +139,116 @@ function registerTACZAttachRecipes(event){
event.recipes.gtceu.assembler('tfg_tacz:wooden_grip')
.itemInputs('gtceu:treated_wood_planks', '2x #forge:ingots/steel')
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:grip_wooden"}'))
.circuit(1)
.EUt(GTValues.VA[GTValues.MV])
.duration(10)
event.recipes.gtceu.assembler('tfg_tacz:gantry_grip')
.itemInputs('create:gantry_shaft', '2x #forge:ingots/steel')
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:grip_gantry_shaft"}'))
.circuit(2)
.EUt(GTValues.VA[GTValues.MV])
.duration(10)
event.recipes.gtceu.assembler('tfg_tacz:grip_shaft')
.itemInputs('greate:aluminium_shaft', '#forge:ingots/steel', '#forge:leather')
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:grip_shaft"}'))
.circuit(3)
.EUt(GTValues.VA[GTValues.MV])
.duration(10)
event.recipes.gtceu.assembler('tfg_tacz:light_grip')
.itemInputs('#forge:ingots/tungsten', '2x #forge:screws/tungsten')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*2))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:grip_light"}'))
.circuit(1)
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:stable_grip')
.itemInputs('2x #forge:ingots/tungsten', '4x #forge:screws/tungsten')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*4))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:grip_stable"}'))
.circuit(2)
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:hf17_grip')
.itemInputs('2x #forge:ingots/tungsten', '4x #forge:screws/tungsten')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*6))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:grip_hf_17"}'))
.circuit(3)
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:laser_a_grip')
.itemInputs('2x #forge:ingots/tungsten', '8x #forge:screws/tungsten', '#forge:lenses/light_blue',
'#gtceu:batteries/ev', '8x #forge:fine_wires/aluminium')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*4))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:grip_lf11"}'))
.circuit(4)
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:laser_b_grip')
.itemInputs('3x #forge:ingots/tungsten', '10x #forge:screws/tungsten', '#forge:lenses/light_blue',
'2x #gtceu:batteries/ev', '16x #forge:fine_wires/aluminium')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*8))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:grip_sl_2"}'))
.circuit(5)
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
//Mags
event.recipes.gtceu.assembler('tfg_tacz:invar_mag')
.itemInputs('4x #forge:ingots/invar', '#forge:springs/kanthal')
.inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:extended_mag_ca_1"}'))
.EUt(GTValues.VA[GTValues.MV])
.duration(60)
event.recipes.gtceu.assembler('tfg_tacz:copper_mag')
.itemInputs('6x #forge:ingots/stainless_steel', '6x #forge:plates/copper', '#forge:springs/nichrome')
.inputFluids(Fluid.of('gtceu:soldering_alloy', 432))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:extended_mag_ca_2"}'))
.EUt(GTValues.VA[GTValues.HV])
.duration(60)
event.recipes.gtceu.assembler('tfg_tacz:brass_mag')
.itemInputs('8x #forge:ingots/titanium', '8x #forge:plates/brass', '#forge:springs/niobium_titanium')
.inputFluids(Fluid.of('gtceu:soldering_alloy', 576))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:extended_mag_ca_3"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(60)
event.recipes.gtceu.assembler('tfg_tacz:fluix_mag_1')
.itemInputs('6x #forge:ingots/titanium', '4x #forge:exquisite_gems/fluix', '#forge:springs/niobium_titanium')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*6))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:extended_mid_mag_aa_1"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(60)
event.recipes.gtceu.assembler('tfg_tacz:fluix_mag_2')
.itemInputs('8x #forge:ingots/tungsten_steel', '6x #forge:exquisite_gems/fluix', '#forge:springs/hssg')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*8))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:extended_mid_mag_aa_2"}'))
.EUt(GTValues.VA[GTValues.IV])
.duration(60)
event.recipes.gtceu.assembler('tfg_tacz:fluix_mag_3')
.itemInputs('10x #forge:ingots/rhodium_plated_palladium', '8x #forge:exquisite_gems/fluix', '#forge:springs/naquadah')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*10))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:extended_mid_mag_aa_3"}'))
.EUt(GTValues.VA[GTValues.LuV])
.duration(60)
event.recipes.gtceu.assembler('tfg_tacz:certus_mag_1')
.itemInputs('4x #forge:ingots/titanium', '2x #forge:exquisite_gems/certus_quartz', '#forge:springs/niobium_titanium')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*4))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:extended_mag_aa_1"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(60)
event.recipes.gtceu.assembler('tfg_tacz:certus_mag_2')
.itemInputs('6x #forge:ingots/tungsten_steel', '4x #forge:exquisite_gems/certus_quartz', '#forge:springs/hssg')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*6))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:extended_mag_aa_2"}'))
.EUt(GTValues.VA[GTValues.IV])
.duration(60)
event.recipes.gtceu.assembler('tfg_tacz:certus_mag_3')
.itemInputs('8x #forge:ingots/rhodium_plated_palladium', '6x #forge:exquisite_gems/certus_quartz', '#forge:springs/naquadah')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*8))
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:extended_mag_aa_3"}'))
.EUt(GTValues.VA[GTValues.LuV])
.duration(60)
}

View file

@ -48,6 +48,26 @@ function registerTACZGunRecipes(event){
}).id('tacz:trapdoor_rifle');
//DB shotguns
event.recipes.gtceu.assembler('tfg_tacz:db_short')
.itemInputs('2x gtceu:steel_small_fluid_pipe', '4x #forge:ingots/black_steel', '#forge:rods/black_steel',
'3x gtceu:treated_wood_planks', '10x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism')
.inputFluids(Fluid.of('gtceu:soldering_alloy', 432))
.itemOutputs(Item.of('tacz:modern_kinetic_gun',
'{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"tacz:db_short",HasBulletInBarrel:1b}'))
.circuit(1)
.EUt(GTValues.VA[GTValues.MV])
.duration(60)
event.recipes.gtceu.assembler('tfg_tacz:db_long')
.itemInputs('4x gtceu:steel_small_fluid_pipe', '4x #forge:ingots/black_steel', '#forge:rods/black_steel',
'6x gtceu:treated_wood_planks', '14x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism')
.inputFluids(Fluid.of('gtceu:soldering_alloy', 576))
.itemOutputs(Item.of('tacz:modern_kinetic_gun',
'{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"tacz:db_long",HasBulletInBarrel:1b}'))
.circuit(2)
.EUt(GTValues.VA[GTValues.MV])
.duration(100)
//Region clockwork era
event.recipes.gtceu.assembler('tfg_tacz:ca_torque_revo')
.itemInputs('gtceu:steel_small_fluid_pipe', '4x #forge:ingots/aluminium', '2x #forge:plates/brass',
@ -170,8 +190,18 @@ function registerTACZGunRecipes(event){
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 2304))
.itemOutputs(Item.of('tacz:modern_kinetic_gun',
'{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"applied_armorer:moritz_gernade_gl3",HasBulletInBarrel:1b}'))
.circuit(7)
.circuit(8)
.EUt(GTValues.VA[GTValues.EV])
.duration(240)
event.recipes.gtceu.assembler('tfg_tacz:ca_cannon')
.itemInputs('2x gtceu:tungsten_large_fluid_pipe', '2x gtceu:tungsten_normal_fluid_pipe', '10x #forge:ingots/titanium',
'4x #forge:ingots/tungsten', '10x #forge:plates/brass', 'create:gantry_shaft',
'4x gtceu:treated_wood_planks', '30x #forge:screws/tungsten', '3x tfg:advanced_clockwork_mechanism')
.inputFluids(Fluid.of('gtceu:soldering_alloy', 3024))
.itemOutputs(Item.of('tacz:modern_kinetic_gun',
'{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"create_armorer:cannon_40mm_salamander",HasBulletInBarrel:1b}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(300)
}

View file

@ -78,6 +78,10 @@ const registerTFCItemSize = (event) => {
event.itemSize('#tfc:foods/sealed_preserves', 'tiny', 'medium', 'sealed_preserves')
event.itemSize('#tfc:foods/preserves', 'tiny', 'medium', 'preserves')
event.itemSize('#forge:tools/wrenches', 'very_large', 'very_heavy', 'wrenches')
event.itemSize('#forge:tools/mining_hammers', 'very_large', 'very_heavy', 'mining_hammers')
event.itemSize('#forge:tools/spades', 'very_large', 'very_heavy', 'spades')
}

View file

@ -39,6 +39,21 @@ function registerTFCAlabasterRecipes(event) {
}
// Raw Alabaster
event.remove({ id: 'tfc:barrel/raw_alabaster' })
event.recipes.tfc.barrel_sealed(1000)
.inputs('gtceu:poor_raw_gypsum', TFC.fluidStackIngredient('tfc:limewater', 50))
.outputItem('tfc:alabaster/raw')
.id('tfg:barrel/poor_raw_ore_alabaster')
event.recipes.tfc.barrel_sealed(1000)
.inputs('gtceu:raw_gypsum', TFC.fluidStackIngredient('tfc:limewater', 100))
.outputItem('2x tfc:alabaster/raw')
.id('tfg:barrel/raw_ore_alabaster')
event.recipes.tfc.barrel_sealed(1000)
.inputs('gtceu:rich_raw_gypsum', TFC.fluidStackIngredient('tfc:limewater', 150))
.outputItem('3x tfc:alabaster/raw')
.id('tfg:barrel/rich_raw_ore_alabaster')
event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/poor_raw_gypsum')
.itemInputs('gtceu:poor_raw_gypsum')
.inputFluids(Fluid.of('tfc:limewater', 50))
@ -93,4 +108,4 @@ function registerTFCAlabasterRecipes(event) {
.EUt(7)
.category(GTRecipeCategories.CHEM_DYES)
}
}
}

View file

@ -131,12 +131,12 @@ const registerTFCRecipes = (event) => {
// Тыква -> Кусочки тыквы
event.recipes.tfc.advanced_shapeless_crafting(
TFC.itemStackProvider.of('5x tfc:food/pumpkin_chunks').copyFood(),
TFC.itemStackProvider.of('4x tfc:food/pumpkin_chunks').copyFood(),
[TFC.ingredient.notRotten('tfc:pumpkin'), '#forge:tools/hammers'], 'tfc:pumpkin')
.id(`tfc:crafting/pumpkin_chunks_hammer`)
event.recipes.tfc.advanced_shapeless_crafting(
TFC.itemStackProvider.of('5x tfc:food/pumpkin_chunks').copyFood(),
TFC.itemStackProvider.of('4x tfc:food/pumpkin_chunks').copyFood(),
[TFC.ingredient.notRotten('tfc:pumpkin'), '#tfc:knives'], 'tfc:pumpkin')
.id(`tfc:crafting/pumpkin_chunks_knife`)

View file

@ -9,7 +9,7 @@ function registerTFCMaterialsRecipes(event) {
if (tfcProperty === null) {
return;
}
let outputMaterial = (tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial()
// Ingots
@ -238,6 +238,24 @@ function registerTFCMaterialsRecipes(event) {
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_tuyere`)
// These aren't TFC recipes but they go here since they don't have a tag prefix
// and I'm too lazy to make them one
event.custom({
type: 'vintageimprovements:curving',
ingredients: [doublePlateItem],
// tuyeres are roughly bottle shaped, right?
// (there's no other mold that wouldn't conflict and this seems close enough)
itemAsHead: 'gtceu:bottle_extruder_mold',
results: [{ item: `tfc:metal/tuyere/${material.getName()}` }],
processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
}).id(`tfg:vi/curving/${material.getName()}_tuyere`)
event.recipes.gtceu.extruder(`tfg:${material.getName()}_tuyere`)
.itemInputs(doublePlateItem)
.notConsumable('gtceu:bottle_extruder_mold')
.itemOutputs(`tfc:metal/tuyere/${material.getName()}`)
.duration(material.getMass() * 6)
.EUt(GTValues.VA[GTValues.LV])
//#endregion
//#region Щит
@ -307,7 +325,7 @@ function registerTFCMaterialsRecipes(event) {
}
// Tools (From Double Ingots)
if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) {
if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL) || material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) {
//#region Меч
// Крафт инструмента
@ -357,32 +375,32 @@ function registerTFCMaterialsRecipes(event) {
//#region Дубина
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/mace/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_mace`)
if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) {
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/mace/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_mace`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(`tfc:metal/mace_head/${material.getName()}`, 'tfc:ceramic/mace_head_mold', Fluid.of(outputMaterial.getFluid(), 288), 1)
.id(`tfc:casting/${material.getName()}_mace_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(`tfc:metal/mace_head/${material.getName()}`, 'tfc:ceramic/mace_head_mold', Fluid.of(outputMaterial.getFluid(), 288), 1)
.id(`tfc:casting/${material.getName()}_mace_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/mace_head_mold', getFillingNBT(outputMaterial, 288)),
[
Fluid.of(outputMaterial.getFluid(), 288),
Item.of('tfc:ceramic/mace_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_mace_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/mace_head_mold', getFillingNBT(outputMaterial, 288)),
[
Fluid.of(outputMaterial.getFluid(), 288),
Item.of('tfc:ceramic/mace_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_mace_head`)
}
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/mace_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.id(`tfc:heating/metal/${material.getName()}_mace_head`)
}
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/mace_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.id(`tfc:heating/metal/${material.getName()}_mace_head`)
//#endregion
//#region Мясницкий нож
@ -622,7 +640,7 @@ function registerTFCMaterialsRecipes(event) {
}
// Tools (From Ingot)
if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) {
if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL) || material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) {
//#region pickaxe
@ -672,14 +690,16 @@ function registerTFCMaterialsRecipes(event) {
//#endregion
// #region mattock
event.recipes.tfc.heating(`rnr:metal/mattock/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`rnr:heating/metal/${material.getName()}_mattock`)
if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) {
event.recipes.tfc.heating(`rnr:metal/mattock/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`rnr:heating/metal/${material.getName()}_mattock`)
event.recipes.tfc.heating(`rnr:metal/mattock_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`rnr:heating/metal/${material.getName()}_mattock_head`)
event.recipes.tfc.heating(`rnr:metal/mattock_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`rnr:heating/metal/${material.getName()}_mattock_head`)
}
//#endregion
// #region screwdriver
@ -1083,20 +1103,27 @@ function registerTFCMaterialsRecipes(event) {
//#region shears
// Сварка оголовий
event.recipes.tfc.welding(`tfc:metal/shears/${material.getName()}`, knifeHeadItem, knifeHeadItem, tfcProperty.getTier())
.id(`tfc:welding/${material.getName()}_shears`)
if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) {
event.recipes.tfc.welding(`tfc:metal/shears/${material.getName()}`, knifeHeadItem, knifeHeadItem, tfcProperty.getTier())
.id(`tfc:welding/${material.getName()}_shears`)
event.recipes.greate.compacting(`tfc:metal/shears/${material.getName()}`, [knifeHeadItem, knifeHeadItem, 'tfc:powder/flux'])
.heated()
.recipeTier(tfcProperty.getTier() < 4 ? 0 : 1)
.id(`greate:compacting/${material.getName()}_shears`)
event.recipes.greate.compacting(`tfc:metal/shears/${material.getName()}`, [knifeHeadItem, knifeHeadItem, 'tfc:powder/flux'])
.heated()
.recipeTier(tfcProperty.getTier() < 4 ? 0 : 1)
.id(`greate:compacting/${material.getName()}_shears`)
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/shears/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_shears`)
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/shears/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_shears`)
event.recipes.gtceu.forge_hammer(`tfc:metal/shears/${material.getName()}`)
.itemInputs(knifeHeadItem.withCount(2))
.itemOutputs(`tfc:metal/shears/${material.getName()}`)
.duration(40)
.EUt(7)
}
//#endregion
}
@ -1105,89 +1132,90 @@ function registerTFCMaterialsRecipes(event) {
//#region prospector pick
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/propick/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_propick`)
if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) {
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/propick/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_propick`)
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/propick_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_propick_head`)
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/propick_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_propick_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(`tfc:metal/propick_head/${material.getName()}`, 'tfc:ceramic/propick_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_propick_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(`tfc:metal/propick_head/${material.getName()}`, 'tfc:ceramic/propick_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_propick_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/propick_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/propick_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_propick_head_mold`)
event.recipes.create.filling(
Item.of('tfc:ceramic/propick_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/propick_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_propick_head_mold`)
}
}
//#endregion
//#region chisel
if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) {
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/chisel/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_chisel`)
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/chisel/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_chisel`)
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/chisel_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_chisel_head`)
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/chisel_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_chisel_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(`tfc:metal/chisel_head/${material.getName()}`, 'tfc:ceramic/chisel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_chisel_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(`tfc:metal/chisel_head/${material.getName()}`, 'tfc:ceramic/chisel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_chisel_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/chisel_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/chisel_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_chisel_head_mold`)
event.recipes.create.filling(
Item.of('tfc:ceramic/chisel_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/chisel_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_chisel_head_mold`)
}
}
//#endregion
//#region javelin
if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) {
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/javelin/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_javelin`)
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`tfc:metal/javelin/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.useDurability(true)
.id(`tfc:heating/metal/${material.getName()}_javelin`)
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/javelin_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_javelin_head`)
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`tfc:metal/javelin_head/${material.getName()}`, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_javelin_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(`tfc:metal/javelin_head/${material.getName()}`, 'tfc:ceramic/javelin_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_javelin_head`)
// Металл + Форма -> Оголовье
if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
event.recipes.tfc.casting(`tfc:metal/javelin_head/${material.getName()}`, 'tfc:ceramic/javelin_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
.id(`tfc:casting/${material.getName()}_javelin_head`)
event.recipes.create.filling(
Item.of('tfc:ceramic/javelin_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/javelin_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_javelin_head_mold`)
event.recipes.create.filling(
Item.of('tfc:ceramic/javelin_head_mold', getFillingNBT(outputMaterial, 144)),
[
Fluid.of(outputMaterial.getFluid(), 144),
Item.of('tfc:ceramic/javelin_head_mold').strongNBT()
]
).id(`tfg:tfc/filling/${material.getName()}_javelin_head_mold`)
}
}
//#endregion
}
}

View file

@ -3,7 +3,21 @@
function registerTFCMetalsRecipes(event) {
//#region Рецепты для новых сплавов
//#region Alloying
// Fix ratios of TFC alloys to match GT's
event.recipes.tfc.alloy('tfc:bronze', [
TFC.alloyPart('tfc:copper', 0.7, 0.8),
TFC.alloyPart('tfc:tin', 0.2, 0.3)
]).id('tfc:alloy/bronze')
event.recipes.tfc.alloy('tfc:brass', [
TFC.alloyPart('tfc:copper', 0.7, 0.8),
TFC.alloyPart('tfc:zinc', 0.2, 0.3)
]).id('tfc:alloy/brass')
// New alloys
event.recipes.tfc.alloy('tfg:red_alloy', [
TFC.alloyPart('tfg:redstone', 0.75, 0.85),
@ -15,6 +29,23 @@ function registerTFCMetalsRecipes(event) {
TFC.alloyPart('tfc:cast_iron', 0.45, 0.55)
]).id('tfg:alloy/tin_alloy')
event.recipes.tfc.alloy('tfg:invar', [
TFC.alloyPart('tfc:nickel', 0.60, 0.70),
TFC.alloyPart('tfc:cast_iron', 0.30, 0.40)
]).id('tfg:alloy/invar')
event.recipes.tfc.alloy('tfg:potin', [
TFC.alloyPart('tfc:copper', 0.63, 0.69),
TFC.alloyPart('tfc:tin', 0.19, 0.25),
TFC.alloyPart('tfg:lead', 0.08, 0.14)
]).id('tfg:alloy/potin')
event.recipes.tfc.alloy('tfg:cobalt_brass', [
TFC.alloyPart('tfc:brass', 0.74, 0.81),
TFC.alloyPart('tfg:cobalt', 0.08, 0.14),
TFC.alloyPart('tfg:aluminium_silicate', 0.08, 0.14)
]).id('tfg:alloy/cobalt_brass')
//#endregion

View file

@ -149,6 +149,7 @@ function removeTFCRecipes(event) {
event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_minecart' })
event.remove({ id: 'tfc:crafting/vanilla/redstone/minecart' })
event.remove({ id: 'tfc:crafting/cake' })
event.remove({ id: 'tfc:crafting/pumpkin_chunks' })
event.remove({ id: /^tfc:crafting\/dough\/.*/ })

View file

@ -73,6 +73,11 @@ const registerTFCItemTags = (event) => {
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('tfc:pileable_double_ingots', 'gtceu:lead_double_ingot')
event.add('tfc:pileable_double_ingots', 'gtceu:invar_double_ingot')
event.add('tfc:pileable_double_ingots', 'gtceu:potin_double_ingot')
event.add('tfc:pileable_double_ingots', 'gtceu:cobalt_double_ingot')
event.add('tfc:pileable_double_ingots', 'gtceu:cobalt_brass_double_ingot')
// Рыба
event.add('minecraft:fishes', 'tfc:food/calamari')
@ -487,6 +492,11 @@ const registerTFCFluidTags = (event) => {
event.add('tfc:usable_in_ingot_mold', 'gtceu:red_alloy')
event.add('tfc:usable_in_ingot_mold', 'gtceu:tin_alloy')
event.add('tfc:usable_in_ingot_mold', 'gtceu:lead')
event.add('tfc:usable_in_ingot_mold', 'gtceu:invar')
event.add('tfc:usable_in_ingot_mold', 'gtceu:potin')
event.add('tfc:usable_in_ingot_mold', 'gtceu:cobalt')
event.add('tfc:usable_in_ingot_mold', 'gtceu:cobalt_brass')
event.add('tfc:usable_in_ingot_mold', 'gtceu:aluminium_silicate')
event.add('tfc:usable_in_bell_mold', 'gtceu:bronze')
event.add('tfc:usable_in_bell_mold', 'gtceu:gold')

View file

@ -0,0 +1,9 @@
// priority: 0
"use strict";
function registerTFCAmbientalRecipes(event) {
event.replaceInput({ id: 'tfcambiental:crafting/silk_cowl' }, 'tfc:silk_cloth', '#tfg:lightweight_cloth')
event.replaceInput({ id: 'tfcambiental:crafting/silk_shirt' }, 'tfc:silk_cloth', '#tfg:lightweight_cloth')
event.replaceInput({ id: 'tfcambiental:crafting/silk_pants' }, 'tfc:silk_cloth', '#tfg:lightweight_cloth')
event.replaceInput({ id: 'tfcambiental:crafting/silk_shoes' }, 'tfc:silk_cloth', '#tfg:lightweight_cloth')
}

View file

@ -19,4 +19,8 @@ const registerTFCAmbientalItemTags = (event) => {
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_tunic')
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_pants')
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_boots')
event.add('tfg:lightweight_cloth', 'tfc:silk_cloth')
event.add('tfg:lightweight_cloth', 'tfg:phantom_silk')
event.add('tfg:lightweight_cloth', 'tfg:polycaprolactam_fabric')
}

View file

@ -44,12 +44,18 @@ const registerTFGItemSize = (event) => {
event.itemSize('tfg:trowel', 'large', 'medium', 'trowel')
event.itemSize('tfg:railgun_ammo_shell', 'large', 'heavy', 'trowel')
event.itemSize('tfg:harvest_basket', 'large', 'medium', 'harvest_basket')
event.itemSize('tfg:aluminium_harvest_basket', 'large', 'medium', 'aluminium_harvest_basket')
event.itemSize('tfg:rapeseed_product', 'small', 'light', 'rapeseed_product')
event.itemSize('tfg:sunflower_product', 'small', 'light', 'sunflower_product')
event.itemSize('betterend:amber_roots', 'small', 'light', 'amber_roots')
event.itemSize('betterend:amber_root_product', 'small', 'light', 'amber_roots')
event.itemSize('betterend:blossom_berry_product', 'small', 'light', 'amber_roots')
event.itemSize('betterend:cave_pumpkin', 'small', 'light', 'amber_roots')
event.itemSize('betterend:chorus_mushroom_product', 'small', 'light', 'amber_roots')
event.itemSize('betterend:shadow_berry_product', 'small', 'light', 'amber_roots')
}
@ -436,7 +442,7 @@ const registerTFGFLPlanters = (event) => {
0.15,
'betterend:bolux_mushroom_seeds',
'betterend:bolux_mushroom_product',
'phosphorus',
'phosphorous',
[
// TODO: all
'betterend:block/bolux_mushroom_greenhouse_0',
@ -455,7 +461,7 @@ const registerTFGFLPlanters = (event) => {
0.15,
'betterend:chorus_mushroom_seeds',
'betterend:chorus_mushroom_product',
'phosphorus',
'phosphorous',
[
'betterend:block/chorus_mushroom_0',
'betterend:block/chorus_mushroom_1',
@ -473,7 +479,7 @@ const registerTFGFLPlanters = (event) => {
0.15,
'betterend:cave_pumpkin_seeds',
'betterend:cave_pumpkin',
'phosphorus',
'phosphorous',
[
// TODO: all
'betterend:block/cave_pumpkin_greenhouse_0',

View file

@ -1,6 +1,36 @@
// priority: 0
"use strict";
const $HeightMap = Java.loadClass("net.minecraft.world.level.levelgen.Heightmap")
const ROCK_LAYER_HEIGHT = 40;
// Bare minimum
TFCEvents.createChunkDataProvider('moon', event => {
var aquifer = [];
let i = 0;
while (i < 16) {
aquifer.push(32);
i++;
}
var heights = [];
for (let x = 0 ; x < 16 ; x++) {
for (let z = 0 ; z < 16 ; z++) {
heights[x + 16 * z] = 80;
}
}
event.partial((data, chunk) => {
data.generatePartial(0, 0, 0, 0, 0)
})
event.full((data, chunk) => {
data.generateFull(heights, aquifer)
})
event.rocks((x, y, z, surfaceY, cache, rockLayers) => {
return rockLayers.sampleAtLayer(0, 0)
})
})
TFCEvents.createChunkDataProvider('mars', event => {
const rain = TFC.misc.lerpFloatLayer(0, 0, 0, 0);
@ -14,15 +44,14 @@ TFCEvents.createChunkDataProvider('mars', event => {
.affine(6, 12)
.scaled(6, 18, 0, 1)
// Precompute the surface & aquifer heights as constants as this is nether and does not realistically change
let heights = [];
const rockNoise = TFC.misc.newOpenSimplex2D(event.worldSeed + 8008135)
.octaves(3)
.scaled(0x80000000, 0x7fffffff) // Integer.MIN_VALUE to Integer.MAX_VALUE
.spread(0.00001) // spread it out so the vaiance is small
// Precompute the aquifer heights as constants as this is not used
var aquifer = [];
let i = 0;
while (i < 256) {
heights.push(127);
i++;
}
let aquifer = [];
i = 0;
while (i < 16) {
aquifer.push(32);
i++;
@ -49,10 +78,16 @@ TFCEvents.createChunkDataProvider('mars', event => {
});
event.full((data, chunk) => {
let heights = [];
for (let z = 0; z < 16; z++) {
for (let x = 0; x < 16; x++) {
heights[x + 16 * z] = chunk.getHeight($HeightMap.Types.OCEAN_FLOOR_WG, x, z);
}
}
data.generateFull(heights, aquifer);
});
event.rocks((x, y, z, surfaceY, cache, rockLayers) => {
return rockLayers.sampleAtLayer(0, 0);
return rockLayers.sampleAtLayer(rockNoise.noise(x, z), (surfaceY - y) / ROCK_LAYER_HEIGHT);
});
})

View file

@ -134,11 +134,14 @@ function registerTFGFoodRecipes(event) {
itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_flour`).copyOldestFood()
})
event.recipes.tfc.advanced_shapeless_crafting(
event.recipes.tfc.advanced_shaped_crafting(
TFC.isp.of(`tfc:food/${grain}_flour`).copyFood(), [
TFC.ingredient.notRotten(`tfc:food/${grain}_grain`),
'#forge:tools/mortars'
]).id(`tfg:mortar/${grain}_flour`)
'A',
'B'
], {
A: TFC.ingredient.notRotten(`tfc:food/${grain}_grain`),
B: '#forge:tools/mortars'
}, 0, 0).id(`tfg:mortar/${grain}_flour`)
// Flatbread dough
processorRecipe(`${grain}_flatbread_dough`, 300, 8, {
@ -511,23 +514,23 @@ function registerTFGFoodRecipes(event) {
itemOutputProvider: TFC.isp.of(`4x firmalife:food/masa_flour`).copyOldestFood()
})
event.recipes.tfc.advanced_shapeless_crafting(
TFC.isp.of(`4x firmalife:food/masa_flour`).copyFood(), [
TFC.ingredient.notRotten(`firmalife:food/nixtamal`),
'#forge:tools/mortars'
]).id(`tfg:mortar/masa_flour`)
event.recipes.tfc.advanced_shaped_crafting(
TFC.isp.of(`4x firmalife:food/masa_flour`).copyFood(), ['A', 'B'], {
A: TFC.ingredient.notRotten(`firmalife:food/nixtamal`),
B: '#forge:tools/mortars'
}, 0, 0).id(`tfg:mortar/masa_flour`)
event.recipes.tfc.advanced_shapeless_crafting(
TFC.isp.of(`4x firmalife:food/soybean_paste`).copyFood(), [
TFC.ingredient.notRotten(`firmalife:food/dehydrated_soybeans`),
'#forge:tools/mortars'
]).id(`tfg:mortar/soybean_paste`)
event.recipes.tfc.advanced_shaped_crafting(
TFC.isp.of(`4x firmalife:food/soybean_paste`).copyFood(), ['A', 'B'], {
A: TFC.ingredient.notRotten(`firmalife:food/dehydrated_soybeans`),
B: '#forge:tools/mortars'
}, 0, 0).id(`tfg:mortar/soybean_paste`)
event.recipes.tfc.advanced_shapeless_crafting(
TFC.isp.of(`2x tfc:olive_paste`).copyFood(), [
TFC.ingredient.notRotten(`tfc:food/olive`),
'#forge:tools/mortars'
]).id(`tfg:mortar/olive_paste`)
event.recipes.tfc.advanced_shaped_crafting(
TFC.isp.of(`2x tfc:olive_paste`).copyFood(), ['A', 'B'], {
A: TFC.ingredient.notRotten(`tfc:food/olive`),
B: '#forge:tools/mortars'
}, 0, 0).id(`tfg:mortar/olive_paste`)
processorRecipe('firmalife_masa', 300, 2, {
circuit: 3,
@ -560,6 +563,7 @@ function registerTFGFoodRecipes(event) {
itemInputs: ['tfc:food/olive'],
itemOutputs: ['2x tfc:olive_paste'],
itemOutputProvider: TFC.isp.of('2x tfc:olive_paste'),
circuit: 3
})
processorRecipe("soybean_paste", 60, 8, {
@ -714,7 +718,7 @@ function registerTFGFoodRecipes(event) {
circuit: 10,
itemInputs: ['#tfc:foods/fruits'],
fluidInputs: ['#tfg:clean_water 100'],
fluidOutputs: [Fluid.of('firmalife:yeast_starter', 600)],
fluidOutputs: [Fluid.of('firmalife:yeast_starter', 100)],
})
processorRecipe("cocoa_dust", 100, 4, {
@ -869,7 +873,7 @@ function registerTFGFoodRecipes(event) {
.itemOutput('tfg:food/ice_soup')
.id('tfg:pot/ice_soup')
event.shapeless('4x tfc:powder/salt', ['#forge:dusts/salt', '#forge:tools/mortars'])
event.shaped('4x tfc:powder/salt', ['A', 'B'], {A: '#forge:dusts/salt', B: '#forge:tools/mortars'})
.id(`tfg:mortar/salt`)
//#endregion
@ -943,6 +947,17 @@ function registerTFGFoodRecipes(event) {
.circuit(7)
.EUt(GTValues.VA[GTValues.LV])
event.shaped('tfg:electric_greenhouse', [
'ABA',
'CDC',
'BCB'
], {
A: '#gtceu:circuits/mv',
B: '#forge:single_cables/copper',
C: 'tfc:compost',
D: 'gtceu:steel_machine_casing'
}).id('tfg:shaped/electric_greenhouse')
// Tweaks to the machine crafts that are more annoying to do in java
event.replaceInput({id: 'gtceu:shaped/lv_food_processor'}, 'gtceu:lv_electric_piston', 'gtceu:steel_whisk')
event.replaceInput({id: 'gtceu:shaped/mv_food_processor'}, 'gtceu:mv_electric_piston', 'gtceu:aluminium_whisk')

View file

@ -43,6 +43,13 @@ function registerTFGMiscellaneousRecipes(event) {
event.recipes.tfc.pot('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000), 1200, 300)
.itemOutput('tfg:conifer_rosin')
.id('tfg:pot/conifer_pitch_to_rosin')
event.recipes.gtceu.fluid_solidifier('tfg:pitch_to_rosin')
.inputFluids(Fluid.of('tfg:conifer_pitch', 1000))
.itemInputs('tfc:powder/charcoal')
.itemOutputs('tfg:conifer_rosin')
.duration(20*24)
.EUt(GTValues.VA[GTValues.LV])
// Decorative Vases
global.MINECRAFT_DYE_NAMES.forEach(color => {
@ -990,6 +997,7 @@ function registerTFGMiscellaneousRecipes(event) {
.EUt(GTValues.VA[GTValues.EV])
//endregion
//#region Casings
global.GTCEU_SUPERCONDUCTORS.forEach((type, index) => {
const multiplier = index + 1
@ -1000,7 +1008,7 @@ function registerTFGMiscellaneousRecipes(event) {
ChemicalHelper.get(TagPrefix.rod, GTMaterials.SteelMagnetic, 1),
ChemicalHelper.get(TagPrefix.wireFine, GTMaterials[type.materialId], 4)
)
.inputFluids(Fluid.of('gtceu:silicone_rubber', 144))
.inputFluids(Fluid.of('gtceu:epoxy', 144))
.itemOutputs(Item.of('tfg:superconductor_coil_small', 4 * multiplier))
.circuit(4)
.duration(400)
@ -1012,7 +1020,7 @@ function registerTFGMiscellaneousRecipes(event) {
ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2),
ChemicalHelper.get(TagPrefix.rod, GTMaterials.SteelMagnetic, 1),
ChemicalHelper.get(TagPrefix.wireGtSingle, GTMaterials[type.materialId], 4))
.inputFluids(Fluid.of('gtceu:silicone_rubber', 144))
.inputFluids(Fluid.of('gtceu:epoxy', 144))
.itemOutputs(Item.of('tfg:superconductor_coil_large', 4 * multiplier))
.circuit(7)
.duration(600)
@ -1031,6 +1039,18 @@ function registerTFGMiscellaneousRecipes(event) {
.circuit(4)
.duration(800)
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.assembler('tfg:assembler/machine_casing_aluminium_plated_steel')
.itemInputs(
ChemicalHelper.get(TagPrefix.plate, GTMaterials.Aluminium, 6),
ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.Steel, 1),
)
.inputFluids(Fluid.of('gtceu:silicon', 72))
.itemOutputs('2x tfg:machine_casing_aluminium_plated_steel')
.circuit(6)
.duration(20 * (2.5))
.EUt(GTValues.VH[GTValues.LV])
//#endregion
//region ammonia borane
event.recipes.gtceu.chemical_reactor('tfg:sodium_hydride_synthesis')
@ -1137,57 +1157,130 @@ function registerTFGMiscellaneousRecipes(event) {
//Tier 3 insulation
event.recipes.gtceu.forming_press('tfg:mli_shielding')
.itemInputs('4x #forge:dusts/ammonia_borane', '2x tfg:aes_polyurethane', '4x gtceu:carbon_fiber_plate')
.itemInputs('4x #forge:plates/ammonia_borane', '2x tfg:aes_polyurethane', '4x gtceu:carbon_fiber_plate')
.itemOutputs('tfg:mli_shielding')
.duration(100)
.EUt(GTValues.VA[GTValues.IV])
//endregion
// Universal compost
const COMPOST_COLORS = ['browns', 'greens'];
COMPOST_COLORS.forEach(color => {
//#region Universal compost
//Greens
// Lows via crafting with mortar
event.shapeless(Item.of(`tfg:universal_compost_${color}`, 1), [
Ingredient.of([`#tfc:compost_${color}_low`]).subtract([`tfg:universal_compost_${color}`]),
'#forge:tools/mortars'
])
.id(`tfg:shapeless/universal_compost_${color}_low`)
event.shaped(Item.of('tfg:universal_compost_greens', 1), [
'AB'
], {
A: Ingredient.of(['#tfc:compost_greens_low']).subtract(['tfg:universal_compost_greens']),
B: '#forge:tools/mortars'
}).id('tfg:shaped/universal_compost_greens_from_low')
// Mediums via crafting with mortar
event.shapeless(Item.of(`tfg:universal_compost_${color}`, 2), [
`#tfc:compost_${color}`,
'#forge:tools/mortars'
])
.id(`tfg:shapeless/universal_compost_${color}_medium`)
event.shaped(Item.of('tfg:universal_compost_greens', 2), [
'AB'
], {
A: '#tfc:compost_greens',
B: '#forge:tools/mortars'
}).id('tfg:shaped/universal_compost_greens_from_medium')
// Highs via crafting with mortar
event.shapeless(Item.of(`tfg:universal_compost_${color}`, 4), [
`#tfc:compost_${color}_high`,
'#forge:tools/mortars'
])
.id(`tfg:shapeless/universal_compost_${color}_high`)
event.shaped(Item.of('tfg:universal_compost_greens', 4), [
'AB'
], {
A: '#tfc:compost_greens_high',
B: '#forge:tools/mortars'
}).id('tfg:shaped/universal_compost_greens_from_high')
// Filters
const greens_low = Ingredient.of('#tfc:compost_greens_low')
const browns_low = Ingredient.of('#tfc:compost_browns_low').itemIds
const greens_medium = Ingredient.of('#tfc:compost_greens')
const browns_medium = Ingredient.of('#tfc:compost_browns').itemIds
const greens_high = Ingredient.of('#tfc:compost_greens_high')
const browns_high = Ingredient.of('#tfc:compost_browns_high').itemIds
let low_filtered = greens_low
let medium_filtered = greens_medium
let high_filtered = greens_high
browns_low.forEach(item => {
low_filtered = low_filtered.subtract(item)
low_filtered = low_filtered.subtract('tfg:universal_compost_greens')
})
browns_medium.forEach(item => {
medium_filtered = medium_filtered.subtract(item)
})
browns_high.forEach(item => {
high_filtered = high_filtered.subtract(item)
})
// Lows via forge hammer
event.recipes.gtceu.forge_hammer(`tfg:universal_compost_${color}_low`)
.itemInputs(Ingredient.of(`#tfc:compost_${color}_low`).subtract(`tfg:universal_compost_${color}`))
.itemOutputs(`tfg:universal_compost_${color}`)
event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_low')
.itemInputs(low_filtered)
.itemOutputs('tfg:universal_compost_greens')
.duration(20)
.EUt(8)
// Mediums via forge hammer
event.recipes.gtceu.forge_hammer(`tfg:universal_compost_${color}_medium`)
.itemInputs(`#tfc:compost_${color}`)
.itemOutputs(Item.of(`tfg:universal_compost_${color}`, 2))
event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_medium')
.itemInputs(medium_filtered)
.itemOutputs(Item.of('tfg:universal_compost_greens', 2))
.duration(20)
.EUt(8)
// Highs via forge hammer
event.recipes.gtceu.forge_hammer(`tfg:universal_compost_${color}_high`)
.itemInputs(`#tfc:compost_${color}_high`)
.itemOutputs(Item.of(`tfg:universal_compost_${color}`, 4))
event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_high')
.itemInputs(high_filtered)
.itemOutputs(Item.of('tfg:universal_compost_greens', 4))
.duration(20)
.EUt(8)
})
//Browns
// Lows via crafting with mortar
event.shaped(Item.of('tfg:universal_compost_browns', 1), [
'BA'
], {
A: Ingredient.of(['#tfc:compost_browns_low']).subtract(['tfg:universal_compost_browns']),
B: '#forge:tools/mortars'
}).id('tfg:shaped/universal_compost_browns_from_low')
// Mediums via crafting with mortar
event.shaped(Item.of('tfg:universal_compost_browns', 2), [
'BA'
], {
A: '#tfc:compost_browns',
B: '#forge:tools/mortars'
}).id('tfg:shaped/universal_compost_browns_from_medium')
// Highs via crafting with mortar
event.shaped(Item.of('tfg:universal_compost_browns', 4), [
'BA'
], {
A: '#tfc:compost_browns_high',
B: '#forge:tools/mortars'
}).id('tfg:shaped/universal_compost_browns_from_high')
// Lows via forge hammer
event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_low')
.itemInputs('#tfc:compost_browns_low')
.itemOutputs('tfg:universal_compost_browns')
.duration(20)
.EUt(8)
// Mediums via forge hammer
event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_medium')
.itemInputs('#tfc:compost_browns')
.itemOutputs(Item.of('tfg:universal_compost_browns', 2))
.duration(20)
.EUt(8)
// Highs via forge hammer
event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_high')
.itemInputs('#tfc:compost_browns_high')
.itemOutputs(Item.of('tfg:universal_compost_browns', 4))
.duration(20)
.EUt(8)
//#endregion
// Etching Tip
event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('tfg:etching_diamond_tip',[

View file

@ -95,6 +95,53 @@ function registerTFGSpaceRecipes(event) {
.addDataString("fluidA", "minecraft:lava")
.outputFluids(Fluid.of("minecraft:lava", 1000))
event.recipes.gtceu.aqueous_accumulator('water_moon')
.circuit(aaCircuit++)
.dimension('ad_astra:moon')
.duration(20*5)
.EUt(GTValues.VHA[GTValues.MV])
.addDataString("fluidA", "minecraft:water")
.outputFluids(Fluid.of("minecraft:water", 1000))
event.recipes.gtceu.aqueous_accumulator('sea_water_moon')
.circuit(aaCircuit++)
.dimension('ad_astra:moon')
.duration(20*5)
.EUt(GTValues.VA[GTValues.MV])
.addDataString("fluidA", "tfc:salt_water")
.outputFluids(Fluid.of("tfc:salt_water", 1000))
event.recipes.gtceu.aqueous_accumulator('water_orbit')
.circuit(aaCircuit++)
.dimension('ad_astra:earth_orbit')
.dimension('ad_astra:moon_orbit')
.dimension('ad_astra:mars_orbit')
.dimension('ad_astra:venus_orbit')
.dimension('ad_astra:mercury_orbit')
.duration(20*5)
.EUt(GTValues.VHA[GTValues.MV])
.addDataString("fluidA", "minecraft:water")
.outputFluids(Fluid.of("minecraft:water", 1000))
event.recipes.gtceu.aqueous_accumulator('sea_water_orbit')
.circuit(aaCircuit)
.dimension('ad_astra:earth_orbit')
.dimension('ad_astra:moon_orbit')
.dimension('ad_astra:mars_orbit')
.dimension('ad_astra:venus_orbit')
.dimension('ad_astra:mercury_orbit')
.duration(20*5)
.EUt(GTValues.VA[GTValues.MV])
.addDataString("fluidA", "tfc:salt_water")
.outputFluids(Fluid.of("tfc:salt_water", 1000))
event.recipes.gtceu.aqueous_accumulator('semiheavy_water_mars')
.dimension('ad_astra:mars')
.duration(20)
.EUt(GTValues.VHA[GTValues.ULV])
.addDataString("fluidA", "tfg:semiheavy_ammoniacal_water")
.outputFluids(Fluid.of("tfg:semiheavy_ammoniacal_water", 1000))
// Plants - Can't use the default builder here because fertiliser is much harder to get on the moon,
// and we're using helium-3 as the fertiliser
@ -214,4 +261,84 @@ function registerTFGSpaceRecipes(event) {
.duration(300)
.EUt(GTValues.VA[GTValues.EV])
.cleanroom(CleanroomType.CLEANROOM)
// Railgun stuff
event.recipes.gtceu.assembler('tfg:railgun_ammo_basic')
.itemInputs('#forge:double_plates/steel', '2x #forge:rods/magnetic_iron', '2x #forge:fine_wires/annealed_copper')
.inputFluids('gtceu:rocket_fuel 250')
.itemOutputs('tfg:railgun_ammo_shell')
.duration(20 * 10)
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.assembler('tfg:railgun_ammo_advanced')
.itemInputs('#forge:double_plates/titanium', '2x #forge:rods/magnetic_steel', '2x #forge:fine_wires/gold')
.inputFluids('gtceu:rocket_fuel 250')
.itemOutputs('4x tfg:railgun_ammo_shell')
.duration(20 * 10)
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.assembler('tfg:railgun_ammo_best')
.itemInputs('#forge:double_plates/tungsten', '2x #forge:rods/magnetic_neodymium', '2x #forge:fine_wires/aluminium')
.inputFluids('gtceu:rocket_fuel 250')
.itemOutputs('8x tfg:railgun_ammo_shell')
.duration(20 * 10)
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.assembler('tfg:railgun_ammo_moon')
.itemInputs('#forge:double_plates/steel', '2x ae2:charged_certus_quartz_crystal', '2x ae2:quartz_fiber')
.inputFluids('gtceu:rocket_fuel 250')
.itemOutputs('4x tfg:railgun_ammo_shell')
.dimension('ad_astra:moon')
.duration(20 * 10)
.EUt(GTValues.VA[GTValues.MV])
event.shaped('tfg:railgun_ammo_loader', [
'RMR',
'MBM',
'CCC'
], {
B: 'gtceu:mv_input_bus',
R: 'gtceu:mv_robot_arm',
M: 'gtceu:mv_electric_motor',
C: '#forge:single_cables/annealed_copper'
}).id('tfg:shaped/railgun_ammo_loader')
event.shaped('tfg:interplanetary_logistics_monitor', [
'CDC',
'SHE',
'WCW'
], {
C: '#gtceu:circuits/hv',
D: 'gtceu:computer_monitor_cover',
S: 'gtceu:hv_sensor',
H: 'gtceu:hv_machine_hull',
E: 'gtceu:hv_emitter',
W: '#forge:single_cables/silver'
}).id('tfg:shaped/interplanetary_logistics_monitor')
event.shaped('tfg:interplanetary_item_launcher', [
'NSN',
'CHC',
'NEN'
], {
C: '#gtceu:circuits/iv',
S: 'gtceu:hv_sensor',
E: 'gtceu:hv_emitter',
H: 'gtceu:ev_machine_hull',
N: '#forge:plates/hsla_steel'
}).id('tfg:shaped/interplanetary_item_launcher')
event.shaped('tfg:interplanetary_item_receiver', [
'CSC',
'WHW',
'CSC'
], {
C: '#gtceu:circuits/mv',
S: 'gtceu:mv_sensor',
W: '#forge:double_cables/copper',
H: 'gtceu:mv_machine_hull'
}).id('tfg:shaped/interplanetary_item_receiver')
// the railgun inputs and outputs are in tfg-core
}

View file

@ -47,7 +47,7 @@ function registerTFGSupportRecipes(event) {
}).id('tfg:shaped/light_concrete_support'))
event.recipes.gtceu.assembler('tfg:gtceu/assembler/light_concrete_support')
.circuit(4)
.circuit(11)
.inputFluids(Fluid.of('gtceu:concrete', 36))
.itemOutputs('8x tfg:light_concrete_support')
.itemInputs('3x gtceu:light_concrete')
@ -66,7 +66,7 @@ function registerTFGSupportRecipes(event) {
}).id('tfg:shaped/dark_concrete_support'))
event.recipes.gtceu.assembler('tfg:gtceu/assembler/dark_concrete_support')
.circuit(4)
.circuit(11)
.inputFluids(Fluid.of('gtceu:concrete', 36))
.itemOutputs('8x tfg:dark_concrete_support')
.itemInputs('3x gtceu:dark_concrete')
@ -98,7 +98,7 @@ function registerTFGSupportRecipes(event) {
}).id(`tfg:shaped/mossy/${stone}_support`))
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/${stone}_support`)
.circuit(4)
.circuit(11)
.inputFluids(Fluid.of('gtceu:concrete', 36))
.itemOutputs(`8x tfg:${stone}_support`)
.itemInputs(`3x tfc:rock/loose/${stone}`)
@ -106,7 +106,7 @@ function registerTFGSupportRecipes(event) {
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/mossy/${stone}_support`)
.circuit(4)
.circuit(11)
.inputFluids(Fluid.of('gtceu:concrete', 36))
.itemOutputs(`8x tfg:${stone}_support`)
.itemInputs(`3x tfc:rock/mossy_loose/${stone}`)
@ -126,7 +126,7 @@ function registerTFGSupportRecipes(event) {
}).id('tfg:shaped/travertine_support'))
event.recipes.gtceu.assembler('tfg:gtceu/assembler/travertine_support')
.circuit(4)
.circuit(11)
.inputFluids(Fluid.of('gtceu:concrete', 36))
.itemOutputs('8x tfg:travertine_support')
.itemInputs('3x tfg:loose/dripstone')
@ -145,7 +145,7 @@ function registerTFGSupportRecipes(event) {
}).id('tfg:shaped/migmatite_support'))
event.recipes.gtceu.assembler('tfg:gtceu/assembler/migmatite_support')
.circuit(4)
.circuit(11)
.inputFluids(Fluid.of('gtceu:concrete', 36))
.itemOutputs('8x tfg:migmatite_support')
.itemInputs('3x tfg:loose/deepslate')
@ -164,7 +164,7 @@ function registerTFGSupportRecipes(event) {
}).id('tfg:shaped/pyroxenite_support'))
event.recipes.gtceu.assembler('tfg:gtceu/assembler/pyroxenite_support')
.circuit(4)
.circuit(11)
.inputFluids(Fluid.of('gtceu:concrete', 36))
.itemOutputs('8x tfg:pyroxenite_support')
.itemInputs('3x beneath:blackstone_pebble')
@ -182,7 +182,7 @@ function registerTFGSupportRecipes(event) {
}).id('tfg:shaped/rebar_support')
event.recipes.gtceu.assembler('tfg:gtceu/assembler/rebar_support')
.circuit(4)
.circuit(11)
.itemOutputs('8x tfg:rebar_support')
.itemInputs(ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2), ChemicalHelper.get(TagPrefix.wireFine, GTMaterials.Steel, 1))
.duration(100)
@ -199,7 +199,7 @@ function registerTFGSupportRecipes(event) {
.id('tfg:anvil/steel_support')
event.recipes.gtceu.assembler('tfg:gtceu/assembler/steel_support')
.circuit(4)
.circuit(11)
.itemOutputs('4x tfg:steel_support')
.itemInputs('2x #forge:double_ingots/steel')
.duration(100)
@ -229,4 +229,4 @@ function registerTFGSupportRecipes(event) {
.duration(GTMaterials.Steel.getMass() * 2)
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
}
}

View file

@ -191,9 +191,6 @@ const registerTFGItemTags = (event) => {
event.add('tfg:any_iron_double_ingot', '#forge:double_ingots/iron')
event.add('tfg:any_iron_double_ingot', '#forge:double_ingots/wrought_iron')
event.add('tfg:any_iron_plate', '#forge:double_plates/iron')
event.add('tfg:any_iron_plate', '#forge:double_plates/wrought_iron')
event.add('tfg:any_bronze_frame', '#forge:frames/bronze')
event.add('tfg:any_bronze_frame', '#forge:frames/bismuth_bronze')
event.add('tfg:any_bronze_frame', '#forge:frames/black_bronze')
@ -243,6 +240,34 @@ const registerTFGItemTags = (event) => {
event.add('tfg:foods/usable_in_meal_bag', 'tfc:food/boiled_egg');
//#endregion
//#region Blacklisted from the railgun
event.add('tfg:cannot_launch_in_railgun', '#tfc:vessels')
event.add('tfg:cannot_launch_in_railgun', '#tfc:large_vessels')
event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_1k')
event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_4k')
event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_16k')
event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_64k')
event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_256k')
event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_1k')
event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_4k')
event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_16k')
event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_64k')
event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_256k')
event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_2')
event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_16')
event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_128')
event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_1m')
event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_4m')
event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_16m')
event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_64m')
event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_1m')
event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_4m')
event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_16m')
event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_64m')
event.add('tfg:cannot_launch_in_railgun', 'create:minecart_contraption')
event.add('tfg:cannot_launch_in_railgun', 'tfg:railgun_ammo_shell')
//#endregion
// #region Space blocks
event.add('tfg:moon_plants', 'tfg:lunar_roots')
event.add('tfg:moon_plants', 'tfg:lunar_sprouts')
@ -415,6 +440,11 @@ const registerTFGBlockTags = (event) => {
event.add('tfg:harvester_harvestable', '#tfc:fruit_tree_leaves')
event.add('tfg:harvester_harvestable', '#tfc:berry_bushes')
event.add('tfg:harvester_harvestable', '#tfc:any_spreading_bush')
event.add('tfg:harvester_harvestable', '#firmalife:grape_strings')
event.add('tfg:harvester_harvestable', '#firmalife:grape_trellis_posts_plant')
//added for QOL but doesnt harvest anything
event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_red')
event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_white')
event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_large')
event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_small')

View file

@ -267,6 +267,8 @@ function registerVintageImprovementsRecipes(event) {
forEachMaterial(material => {
if (material == GTMaterials.get("andesite_alloy"))
return;
const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1);
if (ingotItem !== null && ingotItem.hasTag('c:hidden_from_recipe_viewers'))