Release: 0.9.6 (#1020)

* - Fixed hide duping recipes.
- Added quest book and field guide instances for fishing nets.
- Fixed rebar support recipe crash.
- Fixed red steel flask dupe.
- Fixed red alloy recipe inconsistency.

* - Fixed blue steel backpack block lang

* - Added max vessel fluid warning to small vessels.

* - Moved red steel flask recipe

* Update pakku.json

* fixed vessel tooltips so they display on the uncolored vessel too

* fixed inconsistent small spring recipe with the coiling machine

* fixed chiseling non-tfc blocks into slabs was only returning 1 slab instead of both

* Field guide updates (#973)

* added detected-setblock-be-gone to pakku server

* added "requiresNaturalLog" config to afc tree tapping recipes so you can't tap your house

* fixed missing tooltips on AFC wooden supports

* added recipes for greenhouse ports, added recipes for stainless steel greenhouse (if you want to be fancy)

* quest fixes, lang strings

* added assembler recipes for most create things, made steam engines, blaze burners, and alternators cheaper, made firmaciv sails use any fabric

* langs

* removed gt compressed clay, fixed assembler recipe for clay bricks

* removed the leather armor recycling because it's basically infinite armor

* fixed iron door inconsistency

* hopper in assembler now has a circuit condition

* fixes #931

* Buff Large Boiler Fuel Efficiency (#977)

* bufflargeboilers

* formatting

* oh so THAT's why the recycling recipes weren't working...

* made the steam multiblock inputs/outputs significantly cheaper

* changed default flywheel setting back to instanced

* added assembler recipes for greate things

* updated changelog

* added recipes for the other millstones

* - Fixed fishing nets event function

* Update queststfc_tips.snbt

Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>

* Update en_us.json

Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>

* - Added item to summon armor stands with arms

* - Added recipes to empty vessels and molds

* - Added recipes for extracting/ forming magma blocks.

* - Added recipes for extracting/ forming magma blocks.

* - Nerfed steel support recipe output.

* Fixes and features (#987)

* - Fixed hide duping recipes.
- Added quest book and field guide instances for fishing nets.
- Fixed rebar support recipe crash.
- Fixed red steel flask dupe.
- Fixed red alloy recipe inconsistency.

* - Fixed blue steel backpack block lang

* - Added max vessel fluid warning to small vessels.

* - Moved red steel flask recipe

* - Fixed fishing nets event function

* Update queststfc_tips.snbt

Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>

* Update en_us.json

Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>

* - Added item to summon armor stands with arms

* - Added recipes to empty vessels and molds

* - Added recipes for extracting/ forming magma blocks.

* - Added recipes for extracting/ forming magma blocks.

* - Nerfed steel support recipe output.

---------

Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>

* Add wrought iron alternatives for early game cast iron recipes (#985)

* Add wrought iron alternatives for early game cast iron recipes

* Change doulbe iron ingots tag to use #forge item tags

* salt water fast fix (#992)

no more circuits

Signed-off-by: SverhRazum-Nah <leon.trol@mail.ru>

* - Revert mold changes from #987

* Branch merge (#995)

* Some recipe changes (#1003)

* misc recipes

* add saw to jar lid recipe

* revert table salt name changing that didn't work

* fixed the basin having the wrong tag to be used with the charcoal forge

* removed obsidian framed pressure plate - idk what it even does, but it's causing crashes
fixes #1006

* Fix for Create Deco bricks conflict with Minecraft bricks in the assembler (#1005)

Signed-off-by: TomPlop <tomdidome@gmail.com>

* removing the gregtech material error suppression because it's just causing more confusion

* updated changelog

* Update CHANGELOG.md

* Update ENHANCEMENT.yml

* Update ENHANCEMENT.yml

* Update ENHANCEMENT.yml

* Update ENHANCEMENT.yml

* Update ENHANCEMENT.yml

* Update ENHANCEMENT.yml

* Update ENHANCEMENT.yml

* Update ENHANCEMENT.yml

* Update ENHANCEMENT.yml

* Update ENHANCEMENT.yml

* ISSUE_TEMPLATE

* tweaked Y levels of the overworld <-> beneath teleporting

* ISSUE_TEMPLATE

* github

* langs, quest tweaks, updated field guide for sprinklers

* put tin jar lid recycling in the right category

* hid the new space tfg blocks

* updated pakku

* I FORGOT TO ADD PUNISHMENT FOR DEATH

* aa

* Update mods

* CHANGELOG

---------

Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com>
Signed-off-by: SverhRazum-Nah <leon.trol@mail.ru>
Signed-off-by: TomPlop <tomdidome@gmail.com>
Co-authored-by: Redeix <brayden.j.m.ford@gmail.com>
Co-authored-by: Xikaro <os.valerievich@ya.ru>
Co-authored-by: Risuga <oosyrag@gmail.com>
Co-authored-by: Redeix <59435925+Redeix@users.noreply.github.com>
Co-authored-by: Zack <93035068+ZackH01@users.noreply.github.com>
Co-authored-by: SverhRazum-Nah <leon.trol@mail.ru>
Co-authored-by: TomPlop <tomdidome@gmail.com>
This commit is contained in:
Pyritie 2025-05-16 14:49:23 +01:00 committed by GitHub
parent 75ac3d1877
commit e6c971f197
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
59 changed files with 1564 additions and 656 deletions

View file

@ -91,29 +91,35 @@ const registerAFCRecipes = (event) => {
event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/hevea"))
.resultFluid(Fluid.of("tfg:latex", 3))
.minTemp(22)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/latex/hevea")
event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_hevea"))
.resultFluid(Fluid.of("tfg:latex", 3))
.minTemp(22)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/latex/ancient_hevea")
event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/rubber_fig"))
.resultFluid(Fluid.of("tfg:latex", 2))
.minTemp(12)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/latex/rubber_fig")
event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_rubber_fig"))
.resultFluid(Fluid.of("tfg:latex", 2))
.minTemp(12)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/latex/ancient_rubber_fig")
//Kapok Grandfathered, least efficient but works as long as the temperature is not freezing
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/kapok"))
.resultFluid(Fluid.of("tfg:latex", 1))
.minTemp(1)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/kapok_latex")
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_kapok"))
.resultFluid(Fluid.of("tfg:latex", 1))
.minTemp(1)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/ancient_kapok_latex")
@ -121,61 +127,47 @@ const registerAFCRecipes = (event) => {
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/aspen"))
.resultFluid(Fluid.of('tfg:conifer_pitch', 2))
.minTemp(-10)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/aspen_resin")
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_aspen"))
.resultFluid(Fluid.of('tfg:conifer_pitch', 2))
.minTemp(-10)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/ancient_aspen_resin")
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/spruce"))
.resultFluid(Fluid.of('tfg:conifer_pitch', 4))
.minTemp(-15)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/spruce_resin")
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_spruce"))
.resultFluid(Fluid.of('tfg:conifer_pitch', 4))
.minTemp(-15)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/ancient_spruce_resin")
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/white_cedar"))
.resultFluid(Fluid.of('tfg:conifer_pitch', 3))
.minTemp(-8)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/white_cedar_resin")
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_white_cedar"))
.resultFluid(Fluid.of('tfg:conifer_pitch', 3))
.minTemp(-8)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/ancient_white_cedar_resin")
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/douglas_fir"))
.resultFluid(Fluid.of('tfg:conifer_pitch', 2))
.minTemp(-8)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/douglas_fir_resin")
event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/ancient_douglas_fir"))
.resultFluid(Fluid.of('tfg:conifer_pitch', 2))
.minTemp(-8)
.requiresNaturalLog(true)
.id("tfg:tree_tapping/ancient_douglas_fir_resin")
//#region Выход: Сырая резиновая пыль
// Removed in favor of making these output latex
// // Из бревна капока
// event.recipes.gtceu.extractor('raw_rubber_from_log')
// .itemInputs('#tfg:latex_logs')
// .itemOutputs('gtceu:raw_rubber_dust')
// .duration(300)
// .EUt(2)
// // Из саженца капока
// event.recipes.gtceu.extractor('raw_rubber_from_sapling')
// .itemInputs('1x #tfg:rubber_saplings')
// .itemOutputs('gtceu:raw_rubber_dust')
// .duration(300)
// .EUt(2)
// // Из листвы капока
// event.recipes.gtceu.extractor('raw_rubber_from_leaves')
// .itemInputs('16x #tfg:rubber_leaves')
// .itemOutputs('gtceu:raw_rubber_dust')
// .duration(300)
// .EUt(2)
event.recipes.gtceu.extractor('latex_from_log')
.itemInputs('4x #tfg:latex_logs')

View file

@ -72,14 +72,19 @@ const registerCreateRecipes = (event) => {
// Стол для схематик
event.shaped('create:schematic_table', [
'AAA',
'CB ',
' B '
'CB '
], {
A: '#minecraft:wooden_slabs',
B: '#tfg:rock_walls',
B: '#minecraft:logs',
C: '#forge:tools/saws'
}).id('tfg:create/shaped/schematic_table')
event.recipes.gtceu.assembler('create:schematic_table')
.itemInputs('3x #minecraft:wooden_slabs', '1x #minecraft:logs')
.itemOutputs('create:schematic_table')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Внутриблочный двигатель цепи
event.shapeless('create:encased_chain_drive', [
'create:andesite_casing',
@ -224,6 +229,13 @@ const registerCreateRecipes = (event) => {
E: '#forge:tools/wrenches'
}).id('tfg:create/shaped/fluid_tank')
event.recipes.gtceu.assembler('create:fluid_tank')
.itemInputs('2x #forge:screws/copper', '2x #forge:plates/copper', '#forge:glass_panes')
.itemOutputs('create:fluid_tank')
.circuit(3)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Шкив для шланга
event.shaped('create:hose_pulley', [
'DAE',
@ -238,6 +250,13 @@ const registerCreateRecipes = (event) => {
F: 'minecraft:bucket'
}).id('tfg:create/shaped/hose_pulley')
event.recipes.gtceu.assembler('create:hose_pulley')
.itemInputs('create:copper_casing', '#forge:foils/rubber', '2x #forge:plates/copper', 'minecraft:bucket')
.itemOutputs('create:hose_pulley')
.duration(50)
.circuit(1)
.EUt(GTValues.VA[GTValues.ULV])
// Слив из предметов
event.shaped('create:item_drain', [
'A',
@ -258,23 +277,28 @@ const registerCreateRecipes = (event) => {
D: '#forge:tools/screwdrivers'
}).id('tfg:create/shaped/spout')
event.recipes.gtceu.assembler('create:spout')
.itemInputs('create:fluid_tank', '#forge:foils/rubber')
.itemOutputs('create:spout')
.duration(50)
.circuit(2)
.EUt(GTValues.VA[GTValues.ULV])
// Паровой двигатель
event.shaped('create:steam_engine', [
'ABA',
'CDC',
'EFG'
' A',
'DCC',
'FE '
], {
A: '#forge:screws/wrought_iron',
B: '#forge:plates/brass',
C: '#forge:rods/black_steel',
C: '#forge:rods/brass',
D: '#forge:small_gears/steel',
E: '#forge:tools/hammers',
F: '#forge:storage_blocks/copper',
G: '#forge:tools/screwdrivers',
F: '#forge:double_ingots/copper'
}).id('tfg:create/shaped/steam_engine')
event.recipes.gtceu.assembler('tfg:create/steam_engine')
.itemInputs('2x #forge:screws/wrought_iron', '#forge:plates/brass', '2x #forge:rods/black_steel', '#forge:small_gears/steel', '#forge:storage_blocks/copper')
.itemInputs('1x #forge:screws/wrought_iron', '2x #forge:rods/brass', '#forge:small_gears/steel', '#forge:double_ingots/copper')
.circuit(3)
.itemOutputs('create:steam_engine')
.duration(200)
@ -347,6 +371,12 @@ const registerCreateRecipes = (event) => {
E: '#forge:tools/wrenches'
}).id('tfg:create/shaped/rope_pulley')
event.recipes.gtceu.assembler('create:rope_pulley')
.itemInputs('create:andesite_casing', 'firmalife:rope_coil', '#forge:plates/wrought_iron', '2x #tfg:small_cogwheels')
.itemOutputs('create:rope_pulley')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Шкиф подъемника
event.shaped('create:elevator_pulley', [
'EAF',
@ -361,6 +391,12 @@ const registerCreateRecipes = (event) => {
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')
.itemOutputs('create:elevator_pulley')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Сборщик вагонеток
event.shaped('create:cart_assembler', [
' D ',
@ -373,6 +409,12 @@ const registerCreateRecipes = (event) => {
D: '#forge:tools/wrenches'
}).id('tfg:create/shaped/cart_assembler')
event.recipes.gtceu.assembler('create:cart_assembler')
.itemInputs('2x #forge:plates/steel', 'gtceu:red_alloy_single_wire', '2x #minecraft:logs')
.itemOutputs('create:cart_assembler')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Контроллер рельсы
event.shaped('create:controller_rail', [
'ABA',
@ -433,6 +475,12 @@ const registerCreateRecipes = (event) => {
H: '#gtceu:circuits/ulv'
}).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')
.itemOutputs('create:mechanical_drill')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:mechanical_roller', [
'GBG',
'ADA',
@ -447,6 +495,12 @@ const registerCreateRecipes = (event) => {
H: '#tfg:small_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')
.itemOutputs('create:mechanical_roller')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Редстоуновый контакт
event.shaped('2x create:redstone_contact', [
'DCE',
@ -588,6 +642,12 @@ const registerCreateRecipes = (event) => {
F: '#forge:small_gears/brass'
}).id('tfg:create/shaped/mechanical_crafter')
event.recipes.gtceu.assembler('create:mechanical_crafter')
.itemInputs('create:electron_tube', '#tfc:workbenches', '#forge:small_gears/brass')
.itemOutputs('create:mechanical_crafter')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Маховик
event.shaped('create:flywheel', [
'ABA',
@ -601,22 +661,19 @@ const registerCreateRecipes = (event) => {
// Механическая рука
event.shaped('create:mechanical_arm', [
'AHB',
'AGE',
'CDF'
'AAB',
'C ',
' DF'
], {
A: '#forge:plates/brass',
A: '#forge:rods/brass',
B: '#forge:rods/wrought_iron',
C: 'create:precision_mechanism',
D: 'create:brass_casing',
E: '#forge:tools/hammers',
F: '#forge:tools/wrenches',
G: '#forge:screws/wrought_iron',
H: 'create:electron_tube'
F: '#forge:tools/wrenches'
}).id('tfg:create/shaped/mechanical_arm')
event.recipes.gtceu.assembler('tfg:create/mechanical_arm')
.itemInputs('2x #forge:plates/brass', '#forge:rods/wrought_iron', 'create:precision_mechanism', 'create:brass_casing', '#forge:screws/wrought_iron', 'create:electron_tube')
.itemInputs('2x #forge:rods/brass', '#forge:rods/wrought_iron', 'create:precision_mechanism', 'create:brass_casing')
.circuit(3)
.itemOutputs('create:mechanical_arm')
.duration(200)
@ -658,6 +715,13 @@ const registerCreateRecipes = (event) => {
D: '#forge:tools/knives'
}).id('tfg:create/shaped/andesite_funnel')
event.recipes.gtceu.assembler('create:andesite_funnel')
.itemInputs('#forge:plates/wrought_iron', '#forge:foils/rubber')
.itemOutputs('create:andesite_funnel')
.circuit(4)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('2x create:andesite_funnel', [
'AAD',
'BBC'
@ -668,6 +732,13 @@ const registerCreateRecipes = (event) => {
D: '#forge:tools/knives'
}).id('tfg:create/shaped/andesite_funnel_leather')
event.recipes.gtceu.assembler('create:andesite_funnel_leather')
.itemInputs('#forge:plates/wrought_iron', '#forge:leather')
.itemOutputs('create:andesite_funnel')
.circuit(4)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Умный раздатчик/приемник из латуни
event.shaped('2x create:brass_funnel', [
' E ',
@ -681,6 +752,13 @@ const registerCreateRecipes = (event) => {
E: 'create:electron_tube'
}).id('tfg:create/shaped/brass_funnel')
event.recipes.gtceu.assembler('create:brass_funnel')
.itemInputs('2x #forge:plates/brass', '2x #forge:foils/rubber', 'create:electron_tube')
.itemOutputs('2x create:brass_funnel')
.circuit(4)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('2x create:brass_funnel', [
' E ',
'AAD',
@ -693,6 +771,13 @@ const registerCreateRecipes = (event) => {
E: 'create:electron_tube'
}).id('tfg:create/shaped/brass_funnel_leather')
event.recipes.gtceu.assembler('create:brass_funnel_leather')
.itemInputs('2x #forge:plates/brass', '2x #forge:leather', 'create:electron_tube')
.itemOutputs('2x create:brass_funnel')
.circuit(4)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Тунель из железа
event.shaped('create:andesite_tunnel', [
' D',
@ -704,6 +789,13 @@ const registerCreateRecipes = (event) => {
D: '#forge:tools/wrenches'
}).id('tfg:create/shaped/andesite_tunnel')
event.recipes.gtceu.assembler('create:andesite_tunnel')
.itemInputs('#forge:plates/wrought_iron', '#forge:foils/rubber')
.itemOutputs('create:andesite_tunnel')
.circuit(5)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:andesite_tunnel', [
' D',
'AA',
@ -714,6 +806,13 @@ const registerCreateRecipes = (event) => {
D: '#forge:tools/wrenches'
}).id('tfg:create/shaped/andesite_tunnel_leather')
event.recipes.gtceu.assembler('create:andesite_tunnel_leather')
.itemInputs('#forge:plates/wrought_iron', '#forge:leather')
.itemOutputs('create:andesite_tunnel')
.circuit(5)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Тунель из латуни
event.shaped('create:brass_tunnel', [
'CD',
@ -726,6 +825,13 @@ const registerCreateRecipes = (event) => {
D: '#forge:tools/wrenches'
}).id('tfg:create/shaped/brass_tunnel')
event.recipes.gtceu.assembler('create:brass_tunnel')
.itemInputs('2x #forge:plates/brass', '2x #forge:foils/rubber', 'create:electron_tube')
.itemOutputs('2x create:brass_tunnel')
.circuit(5)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:brass_tunnel', [
'CD',
'AA',
@ -737,6 +843,13 @@ const registerCreateRecipes = (event) => {
D: '#forge:tools/wrenches'
}).id('tfg:create/shaped/brass_tunnel_leather')
event.recipes.gtceu.assembler('create:brass_tunnel_leather')
.itemInputs('2x #forge:plates/brass', '2x #forge:leather', 'create:electron_tube')
.itemOutputs('2x create:brass_tunnel')
.circuit(5)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Дисплей столешница (чзх)
event.shaped('create:display_board', [
'DA ',
@ -749,6 +862,12 @@ const registerCreateRecipes = (event) => {
D: '#forge:tools/wrenches'
}).id('tfg:create/shaped/display_board')
event.recipes.gtceu.assembler('create:display_board')
.itemInputs('2x #forge:plates/wrought_iron', '2x #forge:rings/wrought_iron', '#forge:small_gears')
.itemOutputs('create:display_board')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Латунная рука
event.shaped('create:brass_hand', [
' AB',
@ -855,6 +974,12 @@ const registerCreateRecipes = (event) => {
F: 'create:electron_tube'
}).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')
.itemOutputs('create:deployer')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// Соединятор вагонеток
event.shapeless('create:minecart_coupling', [
'#tfg:metal_chains',
@ -912,7 +1037,17 @@ const registerCreateRecipes = (event) => {
B: 'tfc:metal/boots/copper',
C: '#forge:ingots/iron',
D: 'firmaciv:large_waterproof_hide'
}).id('tfg:create/shaped/copper_diving_boots')
}).id('tfg:create/shaped/copper_diving_boots_cast_iron')
event.shaped('create:copper_diving_boots', [
'ABA',
'CDC'
], {
A: '#forge:screws/copper',
B: 'tfc:metal/boots/copper',
C: '#forge:ingots/wrought_iron',
D: 'firmaciv:large_waterproof_hide'
}).id('tfg:create/shaped/copper_diving_boots_wrought_iron')
// Netherite backtank
event.shaped('create:netherite_backtank', [
@ -1178,13 +1313,13 @@ const registerCreateRecipes = (event) => {
event.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_liquid_glue')
.itemInputs('create:mechanical_piston')
.inputFluids(Fluid.of('gtceu:glue', 100))
.inputFluids(Fluid.of('gtceu:glue', 50))
.itemOutputs('create:sticky_mechanical_piston')
.duration(100)
.EUt(4)
event.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_slimeball')
.itemInputs('create:mechanical_piston', 'minecraft:slimeball')
.itemInputs('create:mechanical_piston', 'tfc:glue')
.itemOutputs('create:sticky_mechanical_piston')
.duration(100)
.EUt(4)
@ -1308,6 +1443,13 @@ const registerCreateRecipes = (event) => {
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')
.inputFluids(Fluid.of('gtceu:glue', 50))
.itemOutputs('create:windmill_bearing')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// #endregion
//#region Blaze burner
@ -1315,13 +1457,20 @@ const registerCreateRecipes = (event) => {
event.shaped('create:blaze_burner', [
'B B',
'BAB',
'CCC'
'DCD'
], {
A: '#forge:storage_blocks/coke',
B: '#forge:rods/black_steel',
B: 'tfc:metal/bars/black_steel',
C: '#forge:plates/black_steel',
D: '#forge:plates/steel'
}).id('tfg:create/shaped/blaze_burner')
event.recipes.gtceu.assembler('create:blaze_burner')
.itemInputs('#forge:storage_blocks/coke', '4x tfc:metal/bars/black_steel', '#forge:plates/black_steel')
.itemOutputs('create:blaze_burner')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
//#endregion
// #region So-called "Shit Glass"
@ -1492,6 +1641,12 @@ const registerCreateRecipes = (event) => {
D: '#forge:tools/hammers'
}).id('tfg:create/shaped/white_seat')
event.recipes.gtceu.assembler('create:white_seat')
.itemInputs('#tfc:high_quality_cloth', '#minecraft:wooden_slabs', '2x #forge:screws')
.itemOutputs('create:white_seat')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:brown_toolbox', [
'CEC',
'BAB',
@ -1504,6 +1659,12 @@ const registerCreateRecipes = (event) => {
E: '#forge:tools/screwdrivers'
}).id('tfg:create/shaped/brown_toolbox')
event.recipes.gtceu.assembler('create:brown_toolbox')
.itemInputs('2x #forge:chests/wooden', '2x #forge:plates/brass', '2x #forge:bolts/brass', '2x #forge:screws')
.itemOutputs('create:brown_toolbox')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:contraption_controls', [
'EAF',
'DBD',
@ -1517,6 +1678,12 @@ const registerCreateRecipes = (event) => {
F: '#forge:tools/wrenches'
}).id('tfg:create/shaped/contraption_controls')
event.recipes.gtceu.assembler('create:contraption_controls')
.itemInputs('#minecraft:buttons', 'create:andesite_casing', 'create:electron_tube', '2x #forge:plates/wrought_iron')
.itemOutputs('create:contraption_controls')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:wrench', [
' BB',
' C ',
@ -1540,6 +1707,18 @@ const registerCreateRecipes = (event) => {
E: '#forge:tools/hammers'
}).id('tfg:create/shaped/goggles')
event.recipes.gtceu.assembler('create:goggles')
.itemInputs('2x #forge:rings/brass', '#forge:leather', '2x tfc:lens')
.itemOutputs('create:goggles')
.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')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:analog_lever', [
'CA',
'DB'
@ -1550,6 +1729,12 @@ const registerCreateRecipes = (event) => {
D: 'minecraft:redstone'
}).id('tfg:create/shaped/analog_lever')
event.recipes.gtceu.assembler('create:analog_lever')
.itemInputs('minecraft:lever', 'create:andesite_casing', 'minecraft:redstone')
.itemOutputs('create:analog_lever')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:redstone_link', [
'FCB',
'DAD',
@ -1563,10 +1748,16 @@ const registerCreateRecipes = (event) => {
F: '#forge:tools/screwdrivers'
}).id('tfg:create/shaped/redstone_link')
event.recipes.gtceu.assembler('create:redstone_link')
.itemInputs('create:brass_casing', '#gtceu:circuits/ulv', '#forge:small_springs', '2x #forge:plates/wrought_iron')
.itemOutputs('create:redstone_link')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:display_link', [
'FED',
'BAB',
'EC '
' C '
], {
A: 'create:brass_casing',
B: '#forge:springs/copper',
@ -1576,6 +1767,12 @@ const registerCreateRecipes = (event) => {
F: '#forge:tools/wrenches'
}).id('tfg:create/shaped/display_link')
event.recipes.gtceu.assembler('create:display_link')
.itemInputs('create:brass_casing', '2x #forge:springs/copper', '#forge:plates/brass', 'create:electron_tube')
.itemOutputs('create:display_link')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:rotation_speed_controller', [
'ECE',
'BAB',
@ -1590,6 +1787,12 @@ const registerCreateRecipes = (event) => {
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')
.itemOutputs('create:rotation_speed_controller')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:sequenced_gearshift', [
'DBE',
'CAC',
@ -1602,6 +1805,12 @@ const registerCreateRecipes = (event) => {
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')
.itemOutputs('create:sequenced_gearshift')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:mechanical_bearing', [
'CBE',
' A ',
@ -1614,6 +1823,13 @@ const registerCreateRecipes = (event) => {
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')
.inputFluids(Fluid.of('gtceu:glue', 50))
.itemOutputs('create:mechanical_bearing')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:gantry_carriage', [
'DCE',
' A ',
@ -1626,6 +1842,13 @@ const registerCreateRecipes = (event) => {
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')
.inputFluids(Fluid.of('gtceu:glue', 50))
.itemOutputs('create:gantry_carriage')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:weighted_ejector', [
' B ',
' CE',
@ -1638,6 +1861,12 @@ const registerCreateRecipes = (event) => {
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')
.itemOutputs('create:weighted_ejector')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:turntable', [
'DA ',
'CBC'
@ -1648,6 +1877,12 @@ const registerCreateRecipes = (event) => {
D: '#forge:tools/hammers'
}).id('tfg:create/shaped/turntable')
event.recipes.gtceu.assembler('create:turntable')
.itemInputs('#create:seats', '#minecraft:wooden_slabs', '2x #forge:screws')
.itemOutputs('create:turntable')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:gearshift', [
' C ',
'DAE',
@ -1660,6 +1895,13 @@ const registerCreateRecipes = (event) => {
E: '#forge:tools/hammers'
}).id('tfg:create/shaped/gearshift')
event.recipes.gtceu.assembler('create:gearshift')
.itemInputs('create:andesite_casing', '#tfg:small_cogwheels', 'minecraft:redstone')
.itemOutputs('create:gearshift')
.circuit(5)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('create:clutch', [
' C ',
'DAE',
@ -1672,6 +1914,13 @@ const registerCreateRecipes = (event) => {
E: '#forge:tools/hammers'
}).id('tfg:create/shaped/clutch')
event.recipes.gtceu.assembler('create:clutch')
.itemInputs('create:andesite_casing', '#tfg:shafts', 'minecraft:redstone')
.itemOutputs('create:clutch')
.circuit(5)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.stonecutting('2x create:andesite_scaffolding', '#forge:ingots/tin_alloy')
event.stonecutting('2x create:andesite_ladder', '#forge:ingots/tin_alloy')
event.stonecutting('2x create:andesite_bars', '#forge:ingots/tin_alloy')

View file

@ -79,6 +79,8 @@ const registerCreateBlockTags = (event) => {
// Disable bulk blasting
event.removeAll('create:fan_processing_catalysts/blasting')
event.add('tfc:forge_invisible_whitelist', 'create:basin')
}

View file

@ -81,15 +81,15 @@ const registerCreateAdditionsRecipes = (event) => {
}).id('tfg:createadditions/shaped/electric_motor')
event.shaped('createaddition:alternator', [
'AEA',
'ABA',
'CDC',
'BFB'
'EFE'
], {
A: '#gtceu:resistors',
B: '#gtceu:circuits/lv',
C: 'gtceu:ulv_voltage_coil',
D: 'gtceu:lv_machine_hull',
D: 'gtceu:ulv_machine_hull',
E: 'gtceu:tin_single_cable',
F: 'greate:steel_shaft'
F: '#tfg:shafts'
}).id('tfg:createadditions/shaped/alternator')
}

View file

@ -47,6 +47,7 @@ const registerCreatedecoRecipes = (event) => {
event.remove({ id: 'createdeco:industrial_iron_bars' })
event.remove({ id: 'createdeco:zinc_bars_overlay' })
event.remove({ id: 'createdeco:zinc_bars' })
event.remove({ id: 'gtceu:assembler/bricks' })
event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/tin_alloy' })
event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/brass' })
event.remove({ type: 'minecraft:stonecutting', input: '#forge:storage_blocks/wrought_iron' })
@ -130,6 +131,14 @@ const registerCreatedecoRecipes = (event) => {
const brickTypes = ['blue', 'verdant', 'pearl', 'dean', 'dusk', 'scarlet', 'umber']
const powderTypes = ['lapis_lazuli', 'malachite', 'soda_ash', 'limonite', 'charcoal', 'hematite', 'cassiterite']
event.recipes.gtceu.assembler(`assembler_bricks`)
.itemInputs('5x minecraft:brick')
.inputFluids(Fluid.of('gtceu:concrete', 144))
.itemOutputs(`4x minecraft:bricks`)
.duration(50)
.circuit(2)
.EUt(7)
brickTypes.forEach(type => {
event.remove({ output: `createdeco:${type}_bricks` });
});
@ -295,4 +304,4 @@ const registerCreatedecoRecipes = (event) => {
})
// #endregion
};
};

View file

@ -112,4 +112,6 @@ const registerFirmaCivRecipes = (event) => {
B: '#forge:wax'
}).id('tfg:firmaciv/rope_coil_from_cloth')
// #endregion
event.replaceInput({id: 'firmaciv:crafting/small_triangular_sail'}, 'tfc:wool_cloth', '#forge:cloth')
}

View file

@ -79,6 +79,7 @@ const registerFirmaLifeRecipes = (event) => {
.itemInputs('tfc:jar_lid')
.outputFluids(Fluid.of('gtceu:tin', 9))
.duration(50)
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
.EUt(2)
event.recipes.gtceu.fluid_solidifier(`firmalife:firmalife/stainless_steel_jar_lid`)
@ -128,10 +129,19 @@ const registerFirmaLifeRecipes = (event) => {
.duration(10)
.EUt(2)*/
//#region Рецепты теплиц
//#region Рецепты теплиц / Greenhouse
//#region Медная
//#region Treated Wood
event.shapeless('firmalife:treated_wood_greenhouse_port', [
'firmalife:treated_wood_greenhouse_wall',
'#forge:tiny_fluid_pipes/copper'
])
.id('firmalife:crafting/greenhouse/treated_wood_greenhouse_port')
//#endregion Treated Wood
//#region Медная / Copper
event.recipes.gtceu.bender('tfg:firmalife/sprinkler')
.itemInputs('#forge:plates/copper')
@ -208,9 +218,15 @@ const registerFirmaLifeRecipes = (event) => {
B: 'minecraft:glass'
}).id('firmalife:crafting/greenhouse/copper_greenhouse_door')
event.shapeless('firmalife:copper_greenhouse_port', [
'firmalife:copper_greenhouse_wall',
'#forge:tiny_fluid_pipes/copper'
])
.id('firmalife:crafting/greenhouse/copper_greenhouse_port')
//#endregion
//#region Железная
//#region Железная / Iron
// Стена
event.shaped('8x firmalife:iron_greenhouse_wall', [
@ -280,18 +296,85 @@ const registerFirmaLifeRecipes = (event) => {
B: 'minecraft:glass'
}).id('firmalife:crafting/greenhouse/iron_greenhouse_door')
event.shapeless('firmalife:iron_greenhouse_port', [
'firmalife:iron_greenhouse_wall',
'#forge:tiny_fluid_pipes/copper'
])
.id('firmalife:crafting/greenhouse/iron_greenhouse_port')
//#endregion
//#region Нержавеющая теплица
//#region Нержавеющая теплица / Stainless Steel
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_wall' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_wall' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_roof' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof_top' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_trapdoor' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_door' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_port' })
event.shaped('8x firmalife:stainless_steel_greenhouse_wall', [
'ABA',
'ABA',
'ABA'
], {
A: '#forge:rods/stainless_steel',
B: 'minecraft:glass'
}).id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_wall')
event.shaped('8x firmalife:stainless_steel_greenhouse_panel_wall', [
'ABA',
'ABA',
'ABA'
], {
A: '#forge:rods/stainless_steel',
B: 'firmalife:reinforced_glass'
}).id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_wall')
event.shaped('4x firmalife:stainless_steel_greenhouse_panel_roof', [
'A ',
'BA ',
'BBA'
], {
A: 'firmalife:reinforced_glass',
B: '#forge:rods/stainless_steel'
}).id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_roof')
event.shaped('4x firmalife:stainless_steel_greenhouse_roof', [
'A ',
'BA ',
'BBA'
], {
A: '#forge:rods/stainless_steel',
B: 'firmalife:reinforced_glass'
}).id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof')
// Верхушка крыши
event.shaped('8x firmalife:stainless_steel_greenhouse_roof_top', [
'ABA',
'BAB'
], {
A: '#forge:rods/stainless_steel',
B: 'firmalife:reinforced_glass'
}).id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof_top')
// Люк
event.shaped('8x firmalife:stainless_steel_greenhouse_trapdoor', [
'ABA',
'BAB'
], {
A: 'firmalife:reinforced_glass',
B: '#forge:rods/stainless_steel'
}).id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_trapdoor')
// Дверь
event.shaped('2x firmalife:stainless_steel_greenhouse_door', [
'AB',
'AB',
'AB'
], {
A: '#forge:rods/stainless_steel',
B: 'minecraft:glass'
}).id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_door')
event.shapeless('firmalife:stainless_steel_greenhouse_port', [
'firmalife:stainless_steel_greenhouse_wall',
'#forge:tiny_fluid_pipes/copper'
])
.id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_port')
//#endregion

View file

@ -81,32 +81,6 @@ const registerFramedBlocksRecipes = (event) => {
}).id('framedblocks:framing_saw/framed_pressure_plate')
//#endregion
//#region Framed Obsidian Pressure Plate
event.shaped('framedblocks:framed_obsidian_pressure_plate', [
'AA',
'BB'
], {
A: '#forge:plates/obsidian',
B: 'framedblocks:framed_cube'
}).id('framedblocks:framed_obsidian_pressure_plate')
event.custom({
type: "framedblocks:frame",
additives: [
{
count: 1,
ingredient: {
tag: "forge:plates/obsidian"
}
}
],
material: 1536,
result: {
item: "framedblocks:framed_obsidian_pressure_plate"
}
}).id('framedblocks:framing_saw/framed_obsidian_pressure_plate')
//#endregion
//#region Framed Gold Pressure Plate
event.shaped('framedblocks:framed_gold_pressure_plate', [
'AA',

View file

@ -77,6 +77,45 @@ function registerGreateRecipes(event) {
// #endregion
// #region Gearboxes
event.recipes.gtceu.assembler('greate:andesite_alloy_gearbox')
.itemInputs('create:andesite_casing', '4x greate:andesite_alloy_shaft')
.itemOutputs('greate:andesite_alloy_gearbox')
.circuit(5)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.assembler('greate:steel_gearbox')
.itemInputs('create:andesite_casing', '4x greate:steel_shaft')
.itemOutputs('greate:steel_gearbox')
.circuit(5)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.assembler('greate:aluminium_gearbox')
.itemInputs('create:andesite_casing', '4x greate:aluminium_shaft')
.itemOutputs('greate:aluminium_gearbox')
.circuit(5)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.assembler('greate:stainless_steel_gearbox')
.itemInputs('create:andesite_casing', '4x greate:stainless_steel_shaft')
.itemOutputs('greate:stainless_steel_gearbox')
.circuit(5)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.assembler('greate:titanium_gearbox')
.itemInputs('create:andesite_casing', '4x greate:titanium_shaft')
.itemOutputs('greate:titanium_gearbox')
.circuit(5)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
// #endregion
// #region Cogs
event.shapeless('greate:andesite_alloy_cogwheel', ['greate:andesite_alloy_shaft', '#forge:small_gears/wood'])
@ -151,12 +190,54 @@ function registerGreateRecipes(event) {
], {
A: '#forge:smooth_stone',
B: 'gtceu:treated_wood_slab',
C: '#forge:small_gears/steel',
C: '#forge:small_gears/wrought_iron',
D: '#forge:tools/hammers',
E: '#forge:tools/wrenches',
F: '#forge:dusts/diamond'
}).id('greate:shaped/steel_millstone')
event.recipes.gtceu.assembler('greate:steel_millstone')
.itemInputs('3x #forge:smooth_stone', 'gtceu:treated_wood_slab', '#forge:small_gears/wrought_iron', '2x #forge:dusts/diamond')
.itemOutputs('greate:steel_millstone')
.duration(200)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:aluminium_millstone', [
'BCB',
'FGF',
'AAA'
], {
A: '#forge:double_plates/vanadium_steel',
B: '#gtceu:circuits/mv',
C: '#forge:gears/steel',
F: '#forge:gems/diamond',
G: 'gtceu:mv_machine_casing'
}).id('greate:shaped/aluminium_millstone')
event.shaped('greate:stainless_steel_millstone', [
'BCB',
'FGF',
'AAA'
], {
A: '#forge:double_plates/red_steel',
B: '#gtceu:circuits/hv',
C: '#forge:gears/aluminium',
F: 'gtceu:diamond_grinding_head',
G: 'gtceu:hv_machine_casing'
}).id('greate:shaped/stainless_steel_millstone')
event.shaped('greate:titanium_millstone', [
'BCB',
'FGF',
'AAA'
], {
A: '#forge:double_plates/ultimet',
B: '#gtceu:circuits/ev',
C: '#forge:gears/stainless_steel',
F: 'gtceu:diamond_grinding_head',
G: 'gtceu:ev_machine_casing'
}).id('greate:shaped/titanium_millstone')
// #endregion
// #region Crushing wheels
@ -226,6 +307,30 @@ function registerGreateRecipes(event) {
F: '#forge:tools/hammers'
}).id('greate:shaped/steel_encased_fan')
event.recipes.gtceu.assembler('greate:steel_encased_fan')
.itemInputs('greate:steel_shaft', '2x #forge:small_gears/wrought_iron', 'create:andesite_casing', 'gtceu:steel_rotor')
.itemOutputs('greate:steel_encased_fan')
.duration(200)
.EUt(GTValues.VA[GTValues.ULV])
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.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.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
@ -245,6 +350,12 @@ function registerGreateRecipes(event) {
F: 'greate:andesite_alloy_shaft'
}).id('greate:shaped/andesite_alloy_mechanical_saw')
event.recipes.gtceu.assembler('greate:andesite_alloy_mechanical_saw')
.itemInputs('2x #forge:screws/wrought_iron', 'gtceu:wrought_iron_buzz_saw_blade', '2x greate:andesite_alloy_cogwheel', 'create:andesite_casing', 'greate:andesite_alloy_shaft')
.itemOutputs('greate:andesite_alloy_mechanical_saw')
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:steel_mechanical_saw', [
'ABA',
'CDC',
@ -258,6 +369,12 @@ function registerGreateRecipes(event) {
F: '#forge:tools/wrenches'
}).id('greate:shaped/steel_mechanical_saw')
event.recipes.gtceu.assembler('greate:steel_mechanical_saw')
.itemInputs('gtceu:ulv_machine_hull', 'greate:steel_shaft', '2x #gtceu:circuits/ulv', 'gtceu:cobalt_brass_buzz_saw_blade', '2x greate:steel_cogwheel')
.itemOutputs('greate:steel_mechanical_saw')
.duration(200)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('greate:aluminium_mechanical_saw', [
'ABA',
'CDC',
@ -271,6 +388,12 @@ function registerGreateRecipes(event) {
F: '#forge:tools/wrenches'
}).id('greate:shaped/aluminium_mechanical_saw')
event.recipes.gtceu.assembler('greate:aluminium_mechanical_saw')
.itemInputs('gtceu:mv_machine_hull', '2x #gtceu:circuits/mv', 'gtceu:vanadium_steel_buzz_saw_blade', '2x gtceu:mv_electric_motor', 'greate:aluminium_shaft')
.itemOutputs('greate:aluminium_mechanical_saw')
.duration(200)
.EUt(GTValues.VA[GTValues.ULV])
// Removed while we wait for a fix so recipes don't work without being in a Cleanroom - Important for Wafer
// event.shaped('greate:stainless_steel_mechanical_saw', [
@ -315,6 +438,30 @@ function registerGreateRecipes(event) {
E: 'greate:steel_cogwheel'
}).id('greate:shaped/steel_mechanical_pump')
event.recipes.gtceu.assembler('greate:steel_mechanical_pump')
.itemInputs('2x #forge:wax', '2x #forge:screws/steel', 'create:fluid_pipe', 'greate:steel_cogwheel')
.itemOutputs('greate:steel_mechanical_pump')
.duration(200)
.EUt(GTValues.VA[GTValues.ULV])
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])
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')
.itemOutputs('greate:stainless_steel_mechanical_pump')
.duration(200)
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.assembler('greate:titanium_mechanical_pump')
.itemInputs('2x #forge:rings/rubber', '2x #forge:screws/titanium', 'create:fluid_pipe', 'greate:titanium_cogwheel')
.itemOutputs('greate:titanium_mechanical_pump')
.duration(200)
.EUt(GTValues.VA[GTValues.HV])
// #endregion
// #region Belt Connector
@ -388,6 +535,30 @@ function registerGreateRecipes(event) {
G: '#forge:tools/hammers'
}).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')
.itemOutputs('greate:steel_mechanical_mixer')
.duration(200)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.assembler('greate:aluminium_mechanical_mixer')
.itemInputs('greate:aluminium_shaft', '2x #gtceu:circuits/mv', 'gtceu:mv_machine_hull', 'gtceu:aluminium_wisk')
.itemOutputs('greate:aluminium_mechanical_mixer')
.duration(200)
.EUt(GTValues.VA[GTValues.LV])
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')
.itemOutputs('greate:stainless_steel_mechanical_mixer')
.duration(200)
.EUt(GTValues.VA[GTValues.MV])
event.recipes.gtceu.assembler('greate:titanium_mechanical_mixer')
.itemInputs('greate:titanium_shaft', '2x #gtceu:circuits/ev', 'gtceu:ev_machine_hull', 'gtceu:titanium_wisk')
.itemOutputs('greate:titanium_mechanical_mixer')
.duration(200)
.EUt(GTValues.VA[GTValues.HV])
// #endregion
// #region Whisks
@ -403,6 +574,13 @@ function registerGreateRecipes(event) {
D: '#forge:rods/long/steel'
}).id('gtceu:shaped/steel_whisk')
event.recipes.gtceu.assembler('greate:steel_whisk')
.itemInputs('#forge:rings/steel', '4x #forge:rods/long/steel')
.itemOutputs('greate:steel_whisk')
.circuit(2)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.shaped('gtceu:aluminium_whisk', [
'ABC',
'D D',
@ -414,6 +592,13 @@ function registerGreateRecipes(event) {
D: '#forge:rods/long/aluminium'
}).id('gtceu:shaped/aluminium_whisk')
event.recipes.gtceu.assembler('greate:aluminium_whisk')
.itemInputs('#forge:rings/aluminium', '4x #forge:rods/long/aluminium')
.itemOutputs('greate:aluminium_whisk')
.circuit(2)
.duration(50)
.EUt(GTValues.VA[GTValues.LV])
event.shaped('gtceu:stainless_steel_whisk', [
'ABC',
'D D',
@ -425,6 +610,13 @@ function registerGreateRecipes(event) {
D: '#forge:rods/long/stainless_steel'
}).id('gtceu:shaped/stainless_steel_whisk')
event.recipes.gtceu.assembler('greate:stainless_steel_whisk')
.itemInputs('#forge:rings/stainless_steel', '4x #forge:rods/long/stainless_steel')
.itemOutputs('greate:stainless_steel_whisk')
.circuit(2)
.duration(50)
.EUt(GTValues.VA[GTValues.MV])
event.shaped('gtceu:titanium_whisk', [
'ABC',
'D D',
@ -436,6 +628,13 @@ function registerGreateRecipes(event) {
D: '#forge:rods/long/titanium'
}).id('gtceu:shaped/titanium_whisk')
event.recipes.gtceu.assembler('greate:titanium_whisk')
.itemInputs('#forge:rings/titanium', '4x #forge:rods/long/titanium')
.itemOutputs('greate:titanium_whisk')
.circuit(2)
.duration(50)
.EUt(GTValues.VA[GTValues.HV])
// #endregion
// #region Cables

View file

@ -103,7 +103,8 @@ function registerGreateRecyclingRecipes(event) {
event.recipes.gtceu.macerator('greate:steel_millstone')
.itemInputs('greate:steel_millstone')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 3),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 1),
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.TreatedWood, 2))
.duration(GTMaterials.Steel.getMass() * 4)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
@ -111,11 +112,80 @@ function registerGreateRecyclingRecipes(event) {
event.recipes.gtceu.arc_furnace('greate:steel_millstone')
.itemInputs('greate:steel_millstone')
.itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4))
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 3),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 1))
.duration(GTMaterials.Steel.getMass() * 4)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.macerator('greate:aluminium_millstone')
.itemInputs('greate:aluminium_millstone')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 8),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.VanadiumSteel, 6),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diamond, 2))
.duration(GTMaterials.Aluminium.getMass() * (8+6+4+2))
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('greate:aluminium_millstone')
.itemInputs('greate:aluminium_millstone')
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 8),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.VanadiumSteel, 6),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4))
.duration(GTMaterials.Aluminium.getMass() * (8+6+4))
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.macerator('greate:stainless_steel_millstone')
.itemInputs('greate:stainless_steel_millstone')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 8),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 8),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 6),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diamond, 5))
.duration(GTMaterials.StainlessSteel.getMass() * (8+8+6+4+5))
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('greate:stainless_steel_millstone')
.itemInputs('greate:stainless_steel_millstone')
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 8),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 8),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 6),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4))
.duration(GTMaterials.StainlessSteel.getMass() * (8+8+6+4))
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.macerator('greate:titanium_millstone')
.itemInputs('greate:titanium_millstone')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 8),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 8),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ultimet, 6),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 4),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diamond, 5))
.duration(GTMaterials.Titanium.getMass() * (8+8+6+4+5))
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('greate:titanium_millstone')
.itemInputs('greate:titanium_millstone')
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 8),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 8),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ultimet, 6),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 4))
.duration(GTMaterials.Titanium.getMass() * (8+8+6+4))
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// #endregion
// #region Crushing Wheels

View file

@ -7,6 +7,11 @@ function removeGreateRecipes(event) {
event.remove({ output: item })
})
global.GREATE_DISABLED_FLUIDS.forEach(fluid => {
event.remove({ input: fluid })
event.remove({ output: fluid })
})
event.remove({ mod: 'greate', input: 'create:andesite_alloy' });
event.remove({ id: 'greate:shapeless/large_andesite_alloy_cogwheel_from_little' })
@ -18,7 +23,7 @@ function removeGreateRecipes(event) {
event.remove({ id: 'greate:shaped/andesite_alloy_shaft' })
// Until we got a fix from Greate for recipes in a cleanroom
event.remove({ id: 'greate:shaped/stainless_steel_mechanical_saw' })
event.remove({ id: 'greate:shaped/stainless_steel_mechanical_saw' })
event.remove({ id: 'greate:shaped/titanium_mechanical_saw' })
event.remove({ id: 'greate:splashing/dough' })

View file

@ -98,7 +98,6 @@ const registerGTCEURecipes = (event) => {
.outputFluids(Fluid.of('gtceu:chlorine', 500), Fluid.of('gtceu:hydrogen', 500))
.duration(720)
.EUt(30)
.circuit(2)
//#endregion
@ -1056,6 +1055,36 @@ const registerGTCEURecipes = (event) => {
//#endregion
//#region Large boilers fuel rebalance
// Balance is based on adjusting to match singeblock boiler efficiency
// High Pressure Steam Solid Boiler produces 288,000 mB steam/coke
// High Pressure Steam Liquid Boiler produces 432 mB steam/creosote
// By Defualt: Large Bronze Boiler produces 50mB steam/creosote, 32000mB steam/coke
// This is a factor of 9x for solids, 8.64x for liquids
// Large boiler fuel burn time is multiplied by 9, resulting in less fuel used over time for the same amount of steam produced per tick
event.findRecipes({ id: /^gtceu:large_boiler\/.*/, type: "gtceu:large_boiler" }).forEach(large_boiler_recipe => {
let recipe_duration = large_boiler_recipe.json.getAsJsonPrimitive("duration").asInt
large_boiler_recipe.json.remove("duration")
large_boiler_recipe.json.add("duration", recipe_duration * 9)
})
//#endregion
//#region Hopper
event.recipes.gtceu.assembler('gtceu:assembler/hopper_wrought_iron')
.itemInputs('#forge:chests', '5x #forge:plates/wrought_iron')
.itemOutputs('minecraft:hopper')
.circuit(8)
.duration(200)
.EUt(2)
//#endregion
// TODO: Greate again...
event.shapeless('gtceu:programmed_circuit', ['minecraft:stick', '#forge:tools/wrenches'])
.id('tfg:shapeless/programmed_circuit_from_stick')

View file

@ -749,4 +749,53 @@ function registerGTCEuMachineRecipes(event) {
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
})
// Wooden crate
event.recipes.shaped('gtceu:wood_crate', [
'ABA',
'BCB',
'ABA'
], {
A: '#forge:screws/wrought_iron',
B: '#minecraft:planks',
C: '#forge:tools/saws'
}).id('tfg:shaped/wooden_crate_wrought_iron')
event.recipes.gtceu.assembler('gtceu:wood_crate')
.itemInputs('4x #minecraft:planks', '4x #forge:screws/wrought_iron')
.itemOutputs('gtceu:wood_crate')
.duration(100)
.EUt(16)
.circuit(5)
// Steam multi parts
event.shaped('gtceu:steel_machine_casing', [
' A ',
'ABA',
' A '
], {
A: '#forge:ingots/steel',
B: '#forge:tools/hammers'
}).id('gtceu:shaped/steel_hull')
event.shaped('gtceu:steam_input_hatch', [
'ACA',
' B ',
'ACA'
], {
A: '#forge:screws/wrought_iron',
B: 'gtceu:steel_machine_casing',
C: '#forge:small_fluid_pipes/steel'
}).id('gtceu:shaped/steam_hatch')
event.replaceOutput({ id: 'gtceu:macerator/macerate_steel_machine_casing'}, 'gtceu:steel_dust', '4x gtceu:steel_dust')
event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steel_machine_casing'}, 'gtceu:steel_ingot', '4x gtceu:steel_ingot')
event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_input_bus'}, 'gtceu:steel_dust', '4x gtceu:steel_dust')
event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_input_bus'}, 'gtceu:steel_ingot', '4x gtceu:steel_ingot')
event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_output_bus'}, 'gtceu:steel_dust', '4x gtceu:steel_dust')
event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_output_bus'}, 'gtceu:steel_ingot', '4x 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')
}

View file

@ -119,4 +119,68 @@ function registerGTCEURecyclingRecipes(event) {
.duration(GTMaterials.Neutronium.getMass() * 6)
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// Iron Door
event.recipes.gtceu.macerator('gtceu:macerator/macerate_iron_door')
.itemInputs('minecraft:iron_door')
.itemOutputs('2x #forge:dusts/wrought_iron')
.duration(GTMaterials.WroughtIron.getMass() * 2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/arc_iron_door')
.itemInputs('minecraft:iron_door')
.itemOutputs('2x #forge:ingots/wrought_iron')
.duration(GTMaterials.WroughtIron.getMass() * 2)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// Redstone lamp
event.recipes.gtceu.macerator('gtceu:macerator/macerate_redstone_lamp')
.itemInputs('minecraft:redstone_lamp')
.itemOutputs('2x #forge:small_dusts/red_alloy', '21x #forge:tiny_dusts/glass', '4x #forge:dusts/glowstone')
.duration(GTMaterials.RedAlloy.getMass() * 2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/arc_redstone_lamp')
.itemInputs('minecraft:redstone_lamp')
.itemOutputs('4x #forge:nuggets/red_alloy')
.duration(GTMaterials.RedAlloy.getMass() * 2)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// Dispenser
event.recipes.gtceu.macerator('gtceu:macerator/macerate_dispenser')
.itemInputs('minecraft:dispenser')
.itemOutputs('6x #forge:dusts/stone', '1x #forge:dusts/redstone', '1x #forge:dusts/brass')
.duration(GTMaterials.Brass.getMass() * 2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/arc_dispenser')
.itemInputs('minecraft:dispenser')
.itemOutputs('1x #forge:ingots/brass')
.duration(GTMaterials.Brass.getMass() * 2)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// Dropper
event.recipes.gtceu.macerator('gtceu:macerator/macerate_dropper')
.itemInputs('minecraft:dropper')
.itemOutputs('7x #forge:dusts/stone', '1x #forge:dusts/redstone', '1x #forge:dusts/brass')
.duration(GTMaterials.Brass.getMass() * 2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/arc_dropper')
.itemInputs('minecraft:dropper')
.itemOutputs('1x #forge:ingots/brass')
.duration(GTMaterials.Brass.getMass() * 2)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
}

View file

@ -164,12 +164,12 @@ function generatePlatedBlockRecipe(event, material) {
.EUt(GTValues.VA[GTValues.LV])
}
const $MRM = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.IMaterialRegistryManager')
//const $MRM = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.IMaterialRegistryManager')
function forEachMaterial(iterator) {
if (GTMaterialRegistry.getPhase() === $MRM.Phase.CLOSED || GTMaterialRegistry.getPhase() === $MRM.Phase.FROZEN) {
//if (GTMaterialRegistry.getPhase() === $MRM.Phase.CLOSED || GTMaterialRegistry.getPhase() === $MRM.Phase.FROZEN) {
GTMaterialRegistry.getRegisteredMaterials().forEach(material => {
iterator(material)
})
}
//}
}

View file

@ -1,5 +1,14 @@
// priority: 0
const registerHotOrNotRecipes = (event) => {
event.shaped('tfchotornot:tongs/wood', [
'AB ',
'B ',
' '
], {
A: '#forge:tools/knives',
B: '#forge:rods/wooden'
}).id('tfchotornot:crafting/tongs/wood')
}

View file

@ -917,11 +917,6 @@ const registerMinecraftRecipes = (event) => {
// #endregion
//#region Кожа из кожаных предметов
event.recipes.gtceu.macerator('tfg:leather_from_boots')
.itemInputs('minecraft:leather_boots')
.itemOutputs('minecraft:leather')
.EUt(7).duration(80)
event.recipes.gtceu.macerator('tfg:leather_from_saddle')
.itemInputs('minecraft:saddle')
.itemOutputs('minecraft:leather')
@ -931,21 +926,6 @@ const registerMinecraftRecipes = (event) => {
.itemInputs('minecraft:leather_horse_armor')
.itemOutputs('minecraft:leather')
.EUt(7).duration(80)
event.recipes.gtceu.macerator('tfg:leather_from_helmet')
.itemInputs('minecraft:leather_helmet')
.itemOutputs('minecraft:leather')
.EUt(7).duration(80)
event.recipes.gtceu.macerator('tfg:leather_from_leggings')
.itemInputs('minecraft:leather_leggings')
.itemOutputs('minecraft:leather')
.EUt(7).duration(80)
event.recipes.gtceu.macerator('tfg:leather_from_chestplate')
.itemInputs('minecraft:leather_chestplate')
.itemOutputs('minecraft:leather')
.EUt(7).duration(80)
//#endregion
//#region Campfire

View file

@ -324,4 +324,13 @@ const registerTFCRecipes = (event) => {
.circuit(6)
.EUt(GTValues.VA[GTValues.ULV])
});
// Jar lids
event.shapeless('8x tfc:jar_lid', [
'gtceu:tin_ingot',
'#forge:tools/hammers',
'#forge:tools/saws'
]).id('tfc:shapeless/jar_lid')
}

View file

@ -239,11 +239,11 @@ function registerTFCMetalsRecipes(event) {
// Ванильная дверь декрафт
event.recipes.tfc.heating('minecraft:iron_door', 1535)
.resultFluid(Fluid.of('gtceu:iron', 144))
.resultFluid(Fluid.of('gtceu:iron', 288))
.id(`tfc:heating/iron_door`)
// Ванильная дверь на наковальне
event.recipes.tfc.anvil('minecraft:iron_door', '#forge:plates/wrought_iron', ['hit_last', 'draw_not_last', 'punch_not_last'])
event.recipes.tfc.anvil('minecraft:iron_door', '#forge:double_plates/wrought_iron', ['hit_last', 'draw_not_last', 'punch_not_last'])
.tier(3)
.id(`tfc:anvil/iron_door`)

View file

@ -117,6 +117,20 @@ BlockEvents.rightClicked(event => {
if (block.id != 'tfg:decorative_vase') {return}{
server.runCommandSilent(`playsound tfc:block.quern.drag block ${username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`)
}});
//#endregion
BlockEvents.rightClicked(event=>{
let item = event.item
if(item.id != 'tfg:armor_stand_arms') return
let mob = event.block[event.facing].createEntity('minecraft:armor_stand')
mob.mergeNbt('{ShowArms:1b}')
mob.setPos(mob.x + 0.5, mob.y, mob.z + 0.5)
mob.setYaw(event.player.yaw + 180)
mob.spawn()
if (event.player.isCreative() == false){
item.shrink(1)
}
})
/**
*
@ -131,7 +145,6 @@ function getTFGPersistentDataRoot(player)
}
return player.persistentData.getCompound("tfg:custom_data")
}
//#endregion
//#region Fishing Net
const fish = [
@ -153,16 +166,70 @@ function getTFGPersistentDataRoot(player)
'crayfish'
];
//tags wont work here (or at least I couldnt get it to work) so we need to manually declare each net tier.
const tiers = [
'wood',
'brass',
'rose_gold',
'sterling_silver',
'invar',
'tin_alloy',
'cupronickel',
'magnalium'
];
//Event detects if fish is right clicked with fishing net and then teleports the mob into the void, plays some actions and gives the player the proper item.
fish.forEach(fish => {
ItemEvents.entityInteracted('#forge:tools/fishing_nets', event => {
tiers.forEach(tier => {
fish.forEach(fish => {
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
const {item, player, server, target} = event;
if (target.type != `tfc:${fish}`) return
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
event.player.give(`tfc:food/${fish}`)
player.swing()
if (player.isCreative() == false){
item.damageValue++
if (item.damageValue >= item.maxDamage) {
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
item.count--
}
}
})
})
//Shellfish Exception
shellfish.forEach(shellfish => {
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
const {item, player, server, target} = event;
if (target.type != `tfc:${shellfish}`) return
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
event.player.give('tfc:food/shellfish')
player.swing()
if (player.isCreative() == false){
item.damageValue++
if (item.damageValue >= item.maxDamage) {
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
item.count--
}
}
})
})
//Pufferfish Exception
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
const {item, player, server, target} = event;
if (target.type != `tfc:${fish}`) return
if (target.type != 'tfc:pufferfish') return
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
event.player.give(`tfc:food/${fish}`)
event.player.give('minecraft:pufferfish')
player.swing()
if (player.isCreative() == false){
item.damageValue++
@ -173,44 +240,4 @@ function getTFGPersistentDataRoot(player)
}
})
})
//Shellfish Exception
shellfish.forEach(shellfish => {
ItemEvents.entityInteracted('#forge:tools/fishing_nets', event => {
const {item, player, server, target} = event;
if (target.type != `tfc:${shellfish}`) return
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
event.player.give('tfc:food/shellfish')
player.swing()
if (player.isCreative() == false){
item.damageValue++
if (item.damageValue >= item.maxDamage) {
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
item.count--
}
}
})
})
//Pufferfish Exception
ItemEvents.entityInteracted('#forge:tools/fishing_nets', event => {
const {item, player, server, target} = event;
if (target.type != 'tfc:pufferfish') return
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
event.player.give('minecraft:pufferfish')
player.swing()
if (player.isCreative() == false){
item.damageValue++
if (item.damageValue >= item.maxDamage) {
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
item.count--
}
}
})
//#endregion

View file

@ -389,4 +389,12 @@ function registerTFGMiscellaneousRecipes(event) {
.dimension('minecraft:the_nether')
.duration(200)
.EUt(16)
event.shapeless('1x tfg:armor_stand_arms', [
'minecraft:armor_stand'
]).id(`tfg:shapeless/armor_stand_arms`)
event.shapeless('1x minecraft:armor_stand', [
'tfg:armor_stand_arms'
]).id(`tfg:shapeless/armor_stand`)
}

View file

@ -273,4 +273,22 @@ function registerTFGMoldRecipes(event) {
.duration(120)
.EUt(GTValues.VA[GTValues.LV])
})
//TODO: Fix this code to respect full molds
// //craft mold to scrub nbt
// const molds = Ingredient.of('#tfc:fired_molds').itemIds;
// molds.forEach(mold => {
// event.shapeless(Item.of(mold), [mold])
// .id(`tfg:shapeless/mold_cleaning/${mold.replace(":", "/")}`);
// });
// //craft vessel to scrub nbt
// const vessels = Ingredient.of('#tfc:fired_vessels').itemIds;
// vessels.forEach(vessel => {
// event.shapeless(Item.of(vessel), [vessel])
// .id(`tfg:shapeless/vessel_cleaning/${vessel.replace(":", "/")}`);
// });
}

View file

@ -1,122 +0,0 @@
// priority: 0
function registerGTCEURecyclingRecipes(event) {
// Tantalum Capacitor
event.recipes.gtceu.macerator('gtceu:macerator/recycling/tantulum_capacitor')
.itemInputs('gtceu:tantalum_capacitor')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Tantalum, 1),
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Polyethylene, 1)
)
.duration(GTMaterials.Tantalum.getMass() * 1)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/tantulum_capacitor')
.itemInputs('gtceu:tantalum_capacitor')
.itemOutputs(
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Tantalum, 1),
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Ash, 1)
)
.duration(GTMaterials.Tantalum.getMass() * 1)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// Capacitor
event.recipes.gtceu.macerator('gtceu:macerator/recycling/capacitor')
.itemInputs('gtceu:capacitor')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Polyethylene, 1)
)
.duration(GTMaterials.Polyethylene.getMass() * 1)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/capacitor')
.itemInputs('gtceu:capacitor')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Ash, 1)
)
.duration(GTMaterials.Ash.getMass() * 1)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// Empty Tier I Capacitor
event.recipes.gtceu.macerator('gtceu:macerator/recycling/empty_tier_i_battery')
.itemInputs('gtceu:empty_tier_i_battery')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ultimet, 6)
)
.duration(GTMaterials.Ultimet.getMass() * 6)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/empty_tier_i_battery')
.itemInputs('gtceu:empty_tier_i_battery')
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ultimet, 6)
)
.duration(GTMaterials.Ultimet.getMass() * 6)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.extractor('gtceu:extractor/recycling/empty_tier_i_battery')
.itemInputs('gtceu:empty_tier_i_battery')
.outputFluids(Fluid.of('gtceu:ultimet', 864))
.duration(GTMaterials.Ultimet.getMass() * 6)
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// Empty Tier II Capacitor
event.recipes.gtceu.macerator('gtceu:macerator/recycling/empty_tier_ii_battery')
.itemInputs('gtceu:empty_tier_ii_battery')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruridit, 6)
)
.duration(GTMaterials.Ruridit.getMass() * 6)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/empty_tier_ii_battery')
.itemInputs('gtceu:empty_tier_ii_battery')
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ruridit, 6)
)
.duration(GTMaterials.Ruridit.getMass() * 6)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.extractor('gtceu:extractor/recycling/empty_tier_ii_battery')
.itemInputs('gtceu:empty_tier_ii_battery')
.outputFluids(Fluid.of('gtceu:ruridit', 864))
.duration(GTMaterials.Ruridit.getMass() * 6)
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
// Empty Tier III Capacitor
event.recipes.gtceu.macerator('gtceu:macerator/recycling/empty_tier_iii_battery')
.itemInputs('gtceu:empty_tier_iii_battery')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Neutronium, 6)
)
.duration(GTMaterials.Neutronium.getMass() * 6)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/empty_tier_iii_battery')
.itemInputs('gtceu:empty_tier_iii_battery')
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Neutronium, 6)
)
.duration(GTMaterials.Neutronium.getMass() * 6)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.extractor('gtceu:extractor/recycling/empty_tier_iii_battery')
.itemInputs('gtceu:empty_tier_iii_battery')
.outputFluids(Fluid.of('gtceu:neutronium', 864))
.duration(GTMaterials.Neutronium.getMass() * 6)
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
}

View file

@ -193,7 +193,7 @@ function registerTFGRockRecipes(event) {
}
}
if ("slab" in x) {
event.recipes.tfc.chisel(x.slab, x.raw, 'slab')
event.recipes.tfc.chisel(x.slab, x.raw, 'slab').extraDrop(x.slab)
//event.stonecutting(`2x ${x.slab}`, x.raw).id(`${x.raw}_to_${x.slab}`.replace(/:/g, '_'))
event.recipes.gtceu.macerator(`macerate_${x.slab}`.replace(/:/g, '_'))
@ -256,4 +256,38 @@ function registerTFGRockRecipes(event) {
})
// #endregion
//#region Magma Blocks
event.remove({id: 'gtceu:compressor/magma_block'})
event.remove({id: 'greate:splashing/obsidian'})
//magma block + stone group
const magma_blocks = [
{magma: 'minecraft:magma_block', rock: 'minecraft:blackstone'},
{magma: 'tfc:rock/magma/granite', rock: 'tfc:rock/raw/granite'},
{magma: 'tfc:rock/magma/diorite', rock: 'tfc:rock/raw/diorite'},
{magma: 'tfc:rock/magma/gabbro', rock: 'tfc:rock/raw/gabbro'},
{magma: 'tfc:rock/magma/rhyolite', rock: 'tfc:rock/raw/rhyolite'},
{magma: 'tfc:rock/magma/basalt', rock: 'tfc:rock/raw/basalt'},
{magma: 'tfc:rock/magma/andesite', rock: 'tfc:rock/raw/andesite'},
{magma: 'tfc:rock/magma/dacite', rock: 'tfc:rock/raw/dacite'}
];
magma_blocks.forEach(block => {
event.recipes.gtceu.fluid_solidifier(`tfg:gtceu/fluid_solidifier/${block.magma}`.replace(/:/g, '/'))
.itemInputs(`1x ${block.rock}`)
.inputFluids(Fluid.of('minecraft:lava', 250))
.itemOutputs(`1x ${block.magma}`)
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.extractor(`tfg:gtceu/extractor/${block.magma}`.replace(/:/g, "/"))
.itemInputs(`1x ${block.magma}`)
.outputFluids(Fluid.of('minecraft:lava', 250))
.itemOutputs(`1x ${block.rock}`)
.duration(100)
.EUt(GTValues.VA[GTValues.LV])
})
//#endregion
}

View file

@ -185,7 +185,7 @@ function registerTFGSupportRecipes(event) {
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.tfc.anvil(
'4x tfg:steel_support',
'1x tfg:steel_support',
'#forge:double_ingots/steel',
[
'upset_last',
@ -196,7 +196,7 @@ function registerTFGSupportRecipes(event) {
event.recipes.gtceu.assembler('tfg:gtceu/assembler/steel_support')
.circuit(4)
.itemOutputs('8x tfg:steel_support')
.itemOutputs('4x tfg:steel_support')
.itemInputs('2x #forge:double_ingots/steel')
.duration(100)
.EUt(GTValues.VA[GTValues.ULV])
@ -204,25 +204,25 @@ function registerTFGSupportRecipes(event) {
event.recipes.gtceu.macerator('tfg:macerator/recycling/steel_support')
.itemInputs('tfg:steel_support')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Steel, 1)
ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Steel, 2)
)
.duration(GTMaterials.Steel.getMass() * 1)
.duration(GTMaterials.Steel.getMass() * 2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.arc_furnace('tfg:arc_furnace/recycling/steel_support')
.itemInputs('tfg:steel_support')
.itemOutputs(
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 2)
ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Steel, 4)
)
.duration(GTMaterials.Steel.getMass() * 1)
.duration(GTMaterials.Steel.getMass() * 4)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.extractor('tfg:extractor/recycling/steel_support')
.itemInputs('tfg:steel_support')
.outputFluids(Fluid.of('gtceu:steel', 36))
.duration(GTMaterials.Steel.getMass() * 1)
.outputFluids(Fluid.of('gtceu:steel', 64))
.duration(GTMaterials.Steel.getMass() * 2)
.category(GTRecipeCategories.EXTRACTOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
}

View file

@ -129,6 +129,12 @@ const registerTFGItemTags = (event) => {
// #endregion
// Use either cast or wrought iron
event.add('forge:double_iron_ingots', '#forge:double_ingots/iron')
event.add('forge:double_iron_ingots', '#forge:double_ingots/wrought_iron')
// #endregion
// #region 0.7.19 -> 0.9 conversion
event.add('c:hidden_from_recipe_viewers', 'treetap:tap')
@ -256,6 +262,15 @@ const registerTFGBlockTags = (event) => {
event.add('tfc:rock/hardened', 'tfg:rock/hardened_dripstone')
// #endregion
// #region Space blocks (TODO: undo these when merging space into dev!)
event.add('c:hidden_from_recipe_viewers', 'tfg:lunar_roots')
event.add('c:hidden_from_recipe_viewers', 'tfg:lunar_sprouts')
event.add('c:hidden_from_recipe_viewers', 'tfg:lunar_chorus_plant')
event.add('c:hidden_from_recipe_viewers', 'tfg:lunar_chorus_flower')
// #endregion
}
const registerTFGFluidTags = (event) => {

View file

@ -84,7 +84,7 @@ function registerVintageImprovementsRecipes(event) {
], {
A: '#forge:frames/bronze',
B: '#tfg:hardwood',
C: '#forge:double_ingots/iron',
C: '#forge:double_iron_ingots',
D: 'greate:andesite_alloy_cogwheel',
E: '#minecraft:planks',
F: '#forge:tools/hammers'
@ -97,7 +97,7 @@ function registerVintageImprovementsRecipes(event) {
], {
A: '#forge:frames/black_bronze',
B: '#tfg:hardwood',
C: '#forge:double_ingots/iron',
C: '#forge:double_iron_ingots',
D: 'greate:andesite_alloy_cogwheel',
E: '#minecraft:planks',
F: '#forge:tools/hammers'
@ -110,7 +110,7 @@ function registerVintageImprovementsRecipes(event) {
], {
A: '#forge:frames/bismuth_bronze',
B: '#tfg:hardwood',
C: '#forge:double_ingots/iron',
C: '#forge:double_iron_ingots',
D: 'greate:andesite_alloy_cogwheel',
E: '#minecraft:planks',
F: '#forge:tools/hammers'
@ -298,7 +298,7 @@ function registerVintageImprovementsRecipes(event) {
event.custom({
type: 'vintageimprovements:coiling',
ingredients: [ChemicalHelper.get(TagPrefix.rod, material, 1)],
results: [ChemicalHelper.get(TagPrefix.springSmall, material, 1)],
results: [ChemicalHelper.get(TagPrefix.springSmall, material, 2)],
processingTime: (material.getMass() / 2) * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
}).id(`tfg:vi/coiling/${material.getName()}_small_spring`)
}