Merge branch 'main' into mv_superwire

Signed-off-by: Pyritie <pyritie@gmail.com>
This commit is contained in:
Pyritie 2025-01-17 17:52:01 +00:00 committed by GitHub
commit 5035130495
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
43 changed files with 777 additions and 213 deletions

View file

@ -35,8 +35,6 @@ const registerCreateRecipes = (event) => {
{ id: 'create:crafting/kinetics/deployer' },
{ id: 'create:crafting/kinetics/portable_storage_interface' },
{ id: 'create:crafting/kinetics/mechanical_roller' },
{ id: 'create:crafting/kinetics/sail_framefrom_conversion' },
{ id: 'create:crafting/kinetics/white_sailfrom_conversion' },
{ id: 'create:crafting/kinetics/sequenced_gearshift' },
{ id: 'create:crafting/kinetics/rotation_speed_controller' },
{ id: 'create:crafting/kinetics/track_signal' },
@ -590,16 +588,28 @@ const registerCreateRecipes = (event) => {
.duration(200)
.EUt(20)
// Парус ветряной мельницы
event.shaped('2x create:white_sail', [
'AB',
'BC'
// Create sail creation using custom sail items.
event.shaped('8x create:sail_frame',[
'ABA',
'BCB',
'ABA'
], {
A: '#minecraft:wool',
B: '#forge:rods/wooden',
C: '#forge:screws/wrought_iron'
A: '#forge:screws/wrought_iron',
B: '#tfc:lumber',
C: ''
}).id('tfg:create/shaped/sail_frame')
event.shaped('8x create:white_sail', [
'AAA',
'ABA',
'AAA'
], {
A: 'create:sail_frame',
B: '#tfg:usable_in_sail_frame'
}).id('tfg:create/shaped/white_sail')
// Андезитовый корпус
event.recipes.createItemApplication(['create:andesite_casing'], ['#minecraft:logs', '#forge:plates/wrought_iron'])
.id('tfg:create/item_application/andesite_casing')
@ -1037,7 +1047,7 @@ const registerCreateRecipes = (event) => {
.EUt(20)
// Деталь рельса
event.shaped('create:metal_girder', [
event.shaped('3x create:metal_girder', [
'AAA',
'BBB'
], {
@ -1217,4 +1227,96 @@ const registerCreateRecipes = (event) => {
.EUt(20)
//#endregion
// #region So-called "Shit Glass"
event.shaped('4x create:framed_glass',
[
'AA',
'AA'
], {
A: 'minecraft:glass'
}).id('tfg:create/framed_glass')
event.shaped('4x create:tiled_glass',
[
'A A',
' ',
'A A'
], {
A: 'minecraft:glass'
}).id('tfg:create/tiled_glass')
event.shaped('4x create:horizontal_framed_glass',
[
'AA',
' ',
'AA'
], {
A: 'minecraft:glass'
}).id('tfg:create/horizontal_framed_glass')
event.shaped('4x create:vertical_framed_glass',
[
'A A',
'A A'
], {
A: 'minecraft:glass'
}).id('tfg:create/vertical_framed_glass')
const CREATE_FRAMED_GLASS_WINDOWS =
[
'framed_glass',
'tiled_glass',
'horizontal_framed_glass',
'vertical_framed_glass'
]
CREATE_FRAMED_GLASS_WINDOWS.forEach(x => {
event.shapeless(`2x create:${x}_pane`,
[
`create:${x}`,
'#forge:tools/saws'
])
.id(`tfg:create/shapeless/${x}_pane`)
event.recipes.gtceu.cutter(`tfg:create/${x}_pane`)
.itemInputs(`3x create:${x}`)
.itemOutputs(`8x create:${x}_pane`)
.duration(40)
.EUt(20)
})
const CREATE_OTHER_GLASS_WINDOWS =
[
[ 'dark_oak', 'tfc:wood/lumber/hickory' ],
[ 'mangrove', 'tfc:wood/lumber/mangrove' ],
[ 'ornate_iron', 'gtceu:wrought_iron_rod' ]
]
CREATE_OTHER_GLASS_WINDOWS.forEach(x => {
event.shaped(`2x create:${x[0]}_window`,
[
' B ',
'BAB'
], {
A: 'minecraft:glass',
B: x[1]
}).id(`tfg:create/shaped/${x[0]}_window`)
event.shapeless(`2x create:${x[0]}_window_pane`,
[
`create:${x[0]}_window`,
'#forge:tools/saws'
])
.id(`tfg:create/shapeless/${x[0]}_window_pane`)
event.recipes.gtceu.cutter(`tfg:create/${x[0]}_window_pane`)
.itemInputs(`3x create:${x[0]}_window`)
.itemOutputs(`8x create:${x[0]}_window_pane`)
.duration(40)
.EUt(20)
})
// #endregion
}

View file

@ -14,6 +14,15 @@ const registerCreateItemTags = (event) => {
if (dye != 'white') event.add('tfg:colored_seats', `create:${dye}_seat`)
})
// Add "cloth" items so sails can be created with any kind of cloth instead of wool blocks
event.add('tfg:usable_in_sail_frame', 'tfc:burlap_cloth')
event.add('tfg:usable_in_sail_frame', 'tfc:wool_cloth')
event.add('tfg:usable_in_sail_frame', "tfc:silk_cloth")
event.add('minecraft:trimmable_armor', 'create:copper_diving_helmet')
event.add('minecraft:trimmable_armor', 'create:copper_diving_boots')
}
const registerCreateBlockTags = (event) => {
@ -41,4 +50,4 @@ const registerCreateFluidTags = (event) => {
// Добавляем тег для скрытия в EMI
event.add('c:hidden_from_recipe_viewers', 'create:chocolate')
event.add('c:hidden_from_recipe_viewers', 'create:honey')
}
}

View file

@ -0,0 +1,7 @@
const registerCreateConnectedItemTags = (event) => {
// Removes tags from the Cherry and Bamboo wooden panes added by Create Connected
event.removeAllTagsFrom("create_connected:cherry_window_pane")
event.add("c:hidden_from_recipe_viewers", "create_connected:cherry_window_pane")
event.removeAllTagsFrom("create_connected:bamboo_window_pane")
event.add("c:hidden_from_recipe_viewers", "create_connected:bamboo_window_pane")
}

View file

@ -0,0 +1,22 @@
// priority: 0
const registerEveryCompatRecipes = (event) => {
global.TFC_WOOD_TYPES.forEach(wood =>
{
event.remove({ id: `everycomp:c/tfc/${wood}_window_pane` })
event.shapeless(`2x everycomp:c/tfc/${wood}_window_pane`,
[
`everycomp:c/tfc/${wood}_window`,
'#forge:tools/saws'
])
.id(`tfg:everycompat/shapeless/${wood}_window_pane`)
event.recipes.gtceu.cutter(`tfg:everycompat/shapeless/${wood}_window_pane`)
.itemInputs(`3x everycomp:c/tfc/${wood}_window`)
.itemOutputs(`8x everycomp:c/tfc/${wood}_window_pane`)
.duration(40)
.EUt(20)
})
}

View file

@ -0,0 +1,9 @@
// priority: 0
const registerEveryCompatItemTags = (event) => {
event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window')
event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window_pane')
event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window')
event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window_pane')
}

View file

@ -33,6 +33,16 @@ const registerFirmaCivRecipes = (event) => {
event.recipes.tfc.heating('firmaciv:unfinished_nav_clock', 930)
.resultFluid(Fluid.of('gtceu:brass', 288))
.id(`firmaciv:heating/unfinished_nav_clock`)
event.replaceOutput( // This problem would come each time there's a double-plate recipe in an anvil. Dunno how to fix it other than that.
'gtceu:arc_furnace/arc_unfinished_nav_clock',
'gtceu:brass_ingot',
'2x gtceu:brass_ingot')
event.replaceOutput(
'gtceu:macerator/macerate_unfinished_nav_clock',
'gtceu:brass_dust',
'2x gtceu:brass_dust')
//#endregion
//#region Navigator Timepiece
@ -114,6 +124,16 @@ const registerFirmaCivRecipes = (event) => {
event.recipes.tfc.heating('firmaciv:anchor', 1535)
.resultFluid(Fluid.of('gtceu:steel', 288))
.id(`firmaciv:heating/anchor`)
event.replaceOutput(
'gtceu:arc_furnace/arc_anchor',
'gtceu:steel_ingot',
'2x gtceu:steel_ingot')
event.replaceOutput(
'gtceu:macerator/macerate_anchor',
'gtceu:steel_dust',
'2x gtceu:steel_dust')
//#endregion
//#region Cannon Barrel
@ -140,6 +160,16 @@ const registerFirmaCivRecipes = (event) => {
event.recipes.tfc.heating('firmaciv:cannonball', 1535)
.resultFluid(Fluid.of('gtceu:iron', 288))
.id(`firmaciv:heating/cannonball`)
event.replaceOutput(
'gtceu:arc_furnace/arc_cannon_barrel',
'gtceu:wrought_iron_ingot',
'2x gtceu:wrought_iron_ingot')
event.replaceOutput(
'gtceu:macerator/macerate_cannon_barrel',
'gtceu:iron_dust',
'2x gtceu:iron_dust')
//#endregion
//#region Cannon
@ -147,4 +177,4 @@ const registerFirmaCivRecipes = (event) => {
.resultFluid(Fluid.of('gtceu:iron', 1872))
.id(`firmaciv:heating/cannon`)
//#endregion
}
}

View file

@ -134,6 +134,56 @@ const registerFirmaLifeRecipes = (event) => {
//#region Рецепты теплиц
//#region Медная
event.shaped('firmalife:pumping_station',
[
' B ',
'ACA',
' D '
], {
A: 'firmalife:copper_pipe',
B: 'gtceu:bronze_plate',
C: '#tfc:barrels',
D: 'create:mechanical_pump'
}).id('tfg:shaped/pumping_station')
event.shaped('firmalife:pumping_station',
[
' B ',
'ACA',
' D '
], {
A: 'firmalife:copper_pipe',
B: 'gtceu:black_bronze_plate',
C: '#tfc:barrels',
D: 'create:mechanical_pump'
}).id('tfg:shaped/pumping_station2')
event.shaped('firmalife:pumping_station',
[
' B ',
'ACA',
' D '
], {
A: 'firmalife:copper_pipe',
B: 'gtceu:bismuth_bronze_plate',
C: '#tfc:barrels',
D: 'create:mechanical_pump'
}).id('tfg:shaped/pumping_station3')
event.recipes.gtceu.bender('tfg:firmalife/copper_pipe')
.itemInputs('gtceu:copper_plate')
.itemOutputs('8x firmalife:copper_pipe')
.circuit(3)
.duration(40)
.EUt(8)
event.recipes.gtceu.bender('tfg:firmalife/sprinkler')
.itemInputs('gtceu:copper_plate')
.itemOutputs('firmalife:sprinkler')
.circuit(4)
.duration(60)
.EUt(8)
// Стена
event.shaped('8x firmalife:copper_greenhouse_wall', [
@ -204,7 +254,7 @@ const registerFirmaLifeRecipes = (event) => {
}).id('firmalife:crafting/greenhouse/copper_greenhouse_door')
// Порт
event.shaped('8x firmalife:copper_greenhouse_port', [
event.shaped('firmalife:copper_greenhouse_port', [
'AA',
'BC',
'AA'
@ -287,7 +337,7 @@ const registerFirmaLifeRecipes = (event) => {
}).id('firmalife:crafting/greenhouse/iron_greenhouse_door')
// Порт
event.shaped('8x firmalife:iron_greenhouse_port', [
event.shaped('firmalife:iron_greenhouse_port', [
'AA',
'BC',
'AA'
@ -367,6 +417,7 @@ const registerFirmaLifeRecipes = (event) => {
.itemOutputs(element.output)
.duration(300)
.EUt(16)
.circuit(2)
})
//#endregion
@ -411,6 +462,7 @@ const registerFirmaLifeRecipes = (event) => {
.itemOutputs('firmalife:food/pumpkin_pie_dough')
.duration(300)
.EUt(16)
.circuit(2)
event.recipes.create.mixing('firmalife:food/pumpkin_pie_dough', ['#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)]
).id('firmalife:create/mixer/food/pumpkin_pie_dough')
@ -433,6 +485,7 @@ const registerFirmaLifeRecipes = (event) => {
.itemOutputs('firmalife:food/pie_dough')
.duration(300)
.EUt(16)
.circuit(2)
event.recipes.create.mixing('firmalife:food/pie_dough', ['#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)])
.id('firmalife:create/mixer/food/pie_dough')
@ -454,6 +507,7 @@ const registerFirmaLifeRecipes = (event) => {
.itemOutputs('4x firmalife:food/hardtack_dough')
.duration(300)
.EUt(16)
.circuit(2)
event.recipes.create.mixing('4x firmalife:food/hardtack_dough', ['tfc:powder/salt', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)])
.id('firmalife:create/mixer/food/hardtack_dough')
@ -465,6 +519,7 @@ const registerFirmaLifeRecipes = (event) => {
.outputFluids('firmalife:yeast_starter', 600)
.duration(1200)
.EUt(8)
.circuit(1)
event.recipes.create.mixing(Fluid.of('firmalife:yeast_starter', 600), ['#tfc:foods/flour', Fluid.of('firmalife:yeast_starter', 100)])
.id('firmalife:create/mixer/yeast_starter')

View file

@ -13,6 +13,8 @@ const registerFirmaLifeItemTags = (event) => {
event.add('c:hidden_from_recipe_viewers', item)
})
event.add('minecraft:trimmable_armor', '#firmalife:beekeeper_armor')
// Удаление тегов у руд
event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/")
}
@ -38,4 +40,4 @@ const registerFirmaLifeFluidTags = (event) => {
const registerFirmaLifePlacedFeatures = (event) => {
event.remove('tfc:in_biome/veins', 'firmalife:vein/normal_chromite')
event.remove('tfc:in_biome/veins', 'firmalife:vein/deep_chromite')
}
}

View file

@ -50,6 +50,18 @@ const registerGTCEURecipes = (event) => {
//#endregion
event.recipes.gtceu.macerator('flux')
.itemInputs('#tfc:fluxstone')
.itemOutputs('2x tfc:powder/flux')
.duration(30)
.EUt(2)
event.recipes.gtceu.forge_hammer('flux')
.itemInputs('#tfc:fluxstone')
.itemOutputs('2x tfc:powder/flux')
.duration(30)
.EUt(2)
//#region Выход: Диоксид силикона
event.recipes.gtceu.electrolyzer('sand_electrolysis')
@ -1833,4 +1845,29 @@ const registerGTCEURecipes = (event) => {
.EUt(480)
// #endregion
// #region Add all glass colors to macerator/hammer
event.remove({id: "gtceu:macerator/macerate_glass"});
event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass")
.itemInputs(
"#forge:glass"
)
.itemOutputs("gtceu:glass_dust")
.duration(20)
.EUt(2);
event.remove({id: "gtceu:macerator/macerate_glass_pane"});
event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass_pane")
.itemInputs(
"#forge:glass_panes"
)
.itemOutputs("3x gtceu:tiny_glass_dust")
.duration(6)
.EUt(2)
event.replaceInput({id: "gtceu:shaped/glass_dust_hammer"},
"minecraft:glass",
"#forge:glass"
);
// #endregion
}

View file

@ -12,6 +12,10 @@ const registerGTCEUItemTags = (event) => {
event.add('c:hidden_from_recipe_viewers', item)
})
global.GTCEU_ARMORS.forEach(item => {
event.add('minecraft:trimmable_armor', item)
})
// Добавление тега EMI для скрытия всех руд
event.add('c:hidden_from_recipe_viewers', '#forge:ores')

View file

@ -10,6 +10,8 @@ ServerEvents.tags('item', event => {
registerComputerCraftItemTags(event)
registerCreateItemTags(event)
registerCreateAdditionsItemTags(event)
registerCreateConnectedItemTags(event)
registerEveryCompatItemTags(event)
registerExtendedAE2ItemTags(event)
registerFirmaCivItemTags(event)
registerFirmaLifeItemTags(event)
@ -22,6 +24,7 @@ ServerEvents.tags('item', event => {
registerHotOrNotItemTags(event)
registerRailWaysItemTags(event)
registerSophisticatedBackpacksItemTags(event)
registerTFCAmbientalItemTags(event)
registerTFCItemTags(event)
})
@ -118,6 +121,7 @@ ServerEvents.recipes(event => {
registerCreateRecipes(event)
registerCreateAdditionsRecipes(event)
registerCreateConnectedRecipes(event)
registerEveryCompatRecipes(event)
registerExtendedAE2Recipes(event)
registerExposureRecipes(event)
registerEtchedRecipes(event)
@ -140,4 +144,4 @@ ServerEvents.recipes(event => {
registerToolBeltRecipes(event)
registerTreeTapRecipes(event)
registerWaterFlasksRecipes(event)
})
})

View file

@ -2206,9 +2206,8 @@ const registerMinecraftRecipes = (event) => {
//#region Выход: Тонированное стекло
event.recipes.gtceu.chemical_bath('tfg:minecraft/tinted_glass')
.itemInputs('minecraft:glass')
.inputFluids(Fluid.of('gtceu:black_dye', 144))
event.recipes.gtceu.alloy_smelter('tfg:minecraft/tinted_glass')
.itemInputs('minecraft:glass', 'tfc:powder/amethyst')
.itemOutputs('minecraft:tinted_glass')
.duration(260)
.EUt(16)
@ -2337,27 +2336,6 @@ const registerMinecraftRecipes = (event) => {
//#endregion
//#region Шаблоны брони
event.remove({id: 'minecraft:wild_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:wayfinder_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:ward_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:vex_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:tide_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:spire_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:snout_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:silence_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:shaper_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:sentry_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:rib_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:raiser_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:host_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:eye_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:dune_armor_trim_smithing_template_smithing_trim'})
event.remove({id: 'minecraft:coast_armor_trim_smithing_template_smithing_trim'})
//#endregion
//#region Кольчуга
event.remove({id: 'gtceu:shaped/chainmail_boots'})
@ -2506,28 +2484,6 @@ const registerMinecraftRecipes = (event) => {
//#endregion
//#region Выход: Шаблоны брони
event.remove({ id: 'minecraft:coast_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:vex_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:host_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:rib_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:spire_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:tide_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:eye_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:raiser_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:wild_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:shaper_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:snout_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:dune_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:netherite_upgrade_smithing_template' })
event.remove({ id: 'minecraft:wayfinder_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:ward_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:silence_armor_trim_smithing_template' })
event.remove({ id: 'minecraft:sentry_armor_trim_smithing_template' })
//#endregion
//#region Выход: Компаратор
event.remove({id: 'minecraft:comparator'})
@ -3270,4 +3226,8 @@ const registerMinecraftRecipes = (event) => {
.EUt(32)
//#endregion
// Nether Brick
event.smelting('minecraft:nether_brick', 'minecraft:netherrack')
}

View file

@ -241,9 +241,8 @@ const registerRailWaysRecipes = (event) => {
// Монорельс
event.recipes.createSequencedAssembly([
'6x railways:track_monorail',
'4x railways:track_monorail',
], 'create:metal_girder', [
event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', 'create:metal_bracket']),
event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']),
event.recipes.createPressing('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail']),
event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']),
@ -252,122 +251,113 @@ const registerRailWaysRecipes = (event) => {
event.recipes.gtceu.assembler('railways/monorail')
.itemInputs('create:metal_girder', '2x #forge:plates/wrought_iron')
.itemOutputs('6x railways:track_monorail')
.itemOutputs('4x railways:track_monorail')
.duration(250)
.EUt(32)
// Железнодорожное полотно (Узкое)
event.recipes.createSequencedAssembly([
'railways:track_create_andesite_narrow',
'8x railways:track_create_andesite_narrow',
], '#tfg:rock_slabs', [
event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']),
event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']),
event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']),
event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']),
event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_rod']),
event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', '#tfc:mortar']),
event.recipes.createPressing('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow']),
]).transitionalItem('railways:track_incomplete_create_andesite_narrow').loops(1).id('tfg:railways/sequenced_assembly/track_create_andesite_narrow_from_steel')
]).transitionalItem('railways:track_incomplete_create_andesite_narrow').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite_narrow_from_steel')
event.recipes.gtceu.assembler('railways/track_create_andesite_narrow_from_steel')
.itemInputs('#tfg:rock_slabs', '4x gtceu:steel_nugget')
.itemOutputs('railways:track_create_andesite_narrow')
event.recipes.gtceu.assembler('railways/track_create_andesite_narrow_from_steel')
.itemInputs('#tfg:rock_slabs', '2x gtceu:steel_rod')
.inputFluids(Fluid.of('gtceu:concrete', 144))
.itemOutputs('8x railways:track_create_andesite_narrow')
.duration(800)
.EUt(32)
.EUt(16)
.circuit(1)
// Железнодорожное полотно (Нормальное)
event.recipes.createSequencedAssembly([
'create:track',
], 'railways:track_create_andesite_narrow', [
event.recipes.createCutting('create:incomplete_track', 'create:incomplete_track').processingTime(100),
'8x 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.createPressing('create:incomplete_track', ['create:incomplete_track']),
]).transitionalItem('create:incomplete_track').loops(1).id('tfg:railways/sequenced_assembly/track_create_andesite')
]).transitionalItem('create:incomplete_track').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite')
event.recipes.gtceu.assembler('railways/track')
.itemInputs('railways:track_create_andesite_narrow')
event.recipes.gtceu.assembler('railways/track')
.itemInputs('3x #tfg:rock_slabs', '2x gtceu:steel_rod')
.inputFluids(Fluid.of('gtceu:concrete', 144))
.itemOutputs('create:track')
.itemOutputs('8x create:track')
.duration(800)
.EUt(16)
.circuit(2)
// Железнодорожное полотно (Широкое)
event.recipes.createSequencedAssembly([
'railways:track_create_andesite_wide',
], 'create:track', [
event.recipes.createCutting('railways:track_incomplete_create_andesite_wide', 'railways:track_incomplete_create_andesite_wide').processingTime(100),
event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfg:rock_slabs']),
'8x railways:track_create_andesite_wide',
], '#tfg:rock_slabs', [
event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#forge:stone']),
event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', 'gtceu:steel_rod']),
event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfc:mortar']),
event.recipes.createPressing('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide']),
]).transitionalItem('railways:track_incomplete_create_andesite_wide').loops(1).id('tfg:railways/sequenced_assembly/track_create_andesite_wide')
]).transitionalItem('railways:track_incomplete_create_andesite_wide').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite_wide')
event.recipes.gtceu.assembler('railways/track_create_andesite_wide')
.itemInputs('create:track')
event.recipes.gtceu.assembler('railways/track_create_andesite_wide')
.itemInputs('5x #tfg:rock_slabs', '2x gtceu:steel_rod')
.inputFluids(Fluid.of('gtceu:concrete', 144))
.itemOutputs('railways:track_create_andesite_wide')
.itemOutputs('8x railways:track_create_andesite_wide')
.duration(800)
.EUt(16)
.circuit(3)
// Железнодородные полотна из дерева
global.TFC_WOOD_TYPES.forEach(woodType => {
// Узкое
event.recipes.createSequencedAssembly([
`railways:track_tfc_${woodType}_narrow`,
`8x railways:track_tfc_${woodType}_narrow`,
], `tfc:wood/planks/${woodType}_slab`, [
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']),
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']),
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']),
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']),
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '4x #forge:screws']),
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_rod']),
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '#forge:screws']),
event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`]),
]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_narrow`).loops(1).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_narrow`)
]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_narrow`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_narrow`)
event.recipes.gtceu.assembler(`railways/track_create_${woodType}_narrow`)
.itemInputs(`tfc:wood/planks/${woodType}_slab`, '4x gtceu:steel_nugget', '4x #forge:screws')
.itemOutputs(`railways:track_tfc_${woodType}_narrow`)
event.recipes.gtceu.assembler(`railways/track_create_${woodType}_narrow`)
.itemInputs(`tfc:wood/planks/${woodType}_slab`, '2x gtceu:steel_rod', '2x #forge:screws')
.itemOutputs(`8x railways:track_tfc_${woodType}_narrow`)
.duration(800)
.EUt(32)
.EUt(16)
.circuit(1)
// Нормальное
event.recipes.createSequencedAssembly([
`railways:track_tfc_${woodType}`,
], `railways:track_tfc_${woodType}_narrow`, [
event.recipes.createCutting(`railways:track_incomplete_tfc_${woodType}`, `railways:track_incomplete_tfc_${woodType}`).processingTime(100),
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, `tfc:wood/planks/${woodType}_slab`]),
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '4x #forge:screws']),
event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`]),
]).transitionalItem(`railways:track_incomplete_tfc_${woodType}`).loops(1).id(`tfg:railways/sequenced_assembly/track_create_${woodType}`)
`8x railways:track_tfc_${woodType}`,
], `tfc:wood/planks/${woodType}_slab`, [
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, `tfc:wood/lumber/${woodType}`]),
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, 'gtceu:steel_rod']),
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '#forge:screws']),
event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`]),
]).transitionalItem(`railways:track_incomplete_tfc_${woodType}`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}`)
event.recipes.gtceu.assembler(`railways/track_${woodType}`)
.itemInputs(`railways:track_tfc_${woodType}_narrow`, '4x #forge:screws')
.itemOutputs(`railways:track_tfc_${woodType}`)
event.recipes.gtceu.assembler(`railways/track_${woodType}`)
.itemInputs(`tfc:wood/planks/${woodType}_slab`, `2x tfc:wood/lumber/${woodType}`, '2x gtceu:steel_rod', '2x #forge:screws')
.itemOutputs(`8x railways:track_tfc_${woodType}`)
.duration(800)
.EUt(16)
.circuit(2)
// Широкое
event.recipes.createSequencedAssembly([
`railways:track_tfc_${woodType}_wide`,
], `railways:track_tfc_${woodType}`, [
event.recipes.createCutting(`railways:track_incomplete_tfc_${woodType}_wide`, `railways:track_incomplete_tfc_${woodType}_wide`).processingTime(100),
`8x railways:track_tfc_${woodType}_wide`,
], `tfc:wood/planks/${woodType}_slab`, [
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `tfc:wood/planks/${woodType}_slab`]),
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, '4x #forge:screws']),
event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`]),
]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_wide`).loops(1).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_wide`)
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `gtceu:steel_rod`]),
event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, '#forge:screws']),
event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`])
]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_wide`).loops(2).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_wide`)
event.recipes.gtceu.assembler(`railways/track_${woodType}_wide`)
.itemInputs(`railways:track_tfc_${woodType}`, '4x #forge:screws')
.itemOutputs(`railways:track_tfc_${woodType}_wide`)
event.recipes.gtceu.assembler(`railways/track_${woodType}_wide`)
.itemInputs(`3x tfc:wood/planks/${woodType}_slab`, '2x gtceu:steel_rod', '2x #forge:screws')
.itemOutputs(`8x railways:track_tfc_${woodType}_wide`)
.duration(800)
.EUt(16)
.circuit(3)
});
}
/*
event.recipes.gtceu.assembler('')
.itemInputs('')
.itemOutputs('')
.duration()
.EUt()
*/

View file

@ -1579,49 +1579,28 @@ const registerTFCRecipes = (event) => {
//#region Земля
// Loam + Silt -> Silty Loam (Миксер)
event.recipes.gtceu.mixer('silty_loam_dirt')
event.recipes.gtceu.mixer('silty_loam_dirt')
.itemInputs('tfc:dirt/loam', 'tfc:dirt/silt')
.itemOutputs('tfc:dirt/silty_loam')
.duration(1600)
.EUt(12)
// Silty Loam + Sticks -> Rooted Silty Loam (Миксер)
event.recipes.gtceu.mixer('rooted_silty_loam_dirt')
.itemInputs('tfc:dirt/silty_loam', '#tfc:can_be_lit_on_torch')
.itemOutputs('tfc:rooted_dirt/silty_loam')
.duration(1600)
.EUt(12)
.duration(200)
.EUt(16)
// Loam + Sand -> Sandy Loam (Миксер)
event.recipes.gtceu.mixer('sandy_loam_dirt')
.itemInputs('tfc:dirt/loam', '#forge:sand')
.circuit(3)
.itemOutputs('tfc:dirt/sandy_loam')
.duration(1600)
.EUt(12)
.duration(200)
.EUt(16)
// Loam + Silt -> Silty Loam (Create Миксер)
event.recipes.gtceu.create_mixer('silty_loam_dirt')
.itemInputs('tfc:dirt/loam', 'tfc:dirt/silt')
.itemOutputs('tfc:dirt/silty_loam')
.duration(1600)
.EUt(12)
.rpm(60)
// Silty Loam + Sticks -> Rooted Silty Loam (Create Миксер)
event.recipes.gtceu.create_mixer('rooted_silty_loam_dirt')
.itemInputs('tfc:dirt/silty_loam', '#tfc:can_be_lit_on_torch')
.itemOutputs('tfc:rooted_dirt/silty_loam')
.duration(1600)
.EUt(12)
.rpm(60)
// Loam + Sand -> Sandy Loam (Create Миксер)
event.recipes.gtceu.create_mixer('sandy_loam_dirt')
.itemInputs('tfc:dirt/loam', '#forge:sand')
.itemOutputs('tfc:dirt/sandy_loam')
.duration(1600)
.EUt(12)
.rpm(60)
// Dirt + Sticks -> Rooted Dirt
global.TFC_MUD_TYPES.forEach(mud => {
event.recipes.gtceu.mixer(`${mud}_to_rooted`)
.itemInputs(`tfc:dirt/${mud}`, "#tfc:can_be_lit_on_torch")
.itemOutputs(`tfc:rooted_dirt/${mud}`)
.duration(200)
.EUt(16)
})
global.TFC_MUD_TYPES.forEach(mud => {
event.smelting(`tfc:dirt/${mud}`, `tfc:mud/${mud}`)
@ -1637,6 +1616,7 @@ const registerTFCRecipes = (event) => {
event.recipes.gtceu.mixer(`${mud}_grass_to_mud`)
.itemInputs(`tfc:dirt/${mud}`)
.inputFluids(Fluid.of('minecraft:water', 100))
.circuit(2)
.itemOutputs(`tfc:mud/${mud}`)
.duration(200)
.EUt(16)
@ -3001,6 +2981,7 @@ const registerTFCRecipes = (event) => {
.itemOutputs(element.output)
.duration(300)
.EUt(16)
.circuit(3)
})
//#endregion

View file

@ -54,6 +54,9 @@ const registerTFCItemTags = (event) => {
event.add('minecraft:logs_that_burn', `#tfc:${woodType}_logs`)
})
// Allows TFC stick bundles to be burned in the coke/pyrolyse ovens
event.add("minecraft:logs_that_burn", "tfc:stick_bundle");
// Определеяет какое оружие может появиться у зомбя/скелета в руках
// Мечи
event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_sword')

View file

@ -0,0 +1,21 @@
// priority: 0
const registerTFCAmbientalItemTags = (event) => {
event.add('minecraft:trimmable_armor', 'tfcambiental:wool_hat')
event.add('minecraft:trimmable_armor', 'tfcambiental:wool_sweater')
event.add('minecraft:trimmable_armor', 'tfcambiental:wool_pants')
event.add('minecraft:trimmable_armor', 'tfcambiental:wool_boots')
event.add('minecraft:trimmable_armor', 'tfcambiental:silk_cowl')
event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shirt')
event.add('minecraft:trimmable_armor', 'tfcambiental:silk_pants')
event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shoes')
event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_cowl')
event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shirt')
event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_pants')
event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shoes')
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_hat')
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')
}