a workaround for bacon and dried fruit questions

This commit is contained in:
Pyritie 2026-01-01 15:40:36 +00:00
parent 231780d7d0
commit c3eb6a4058
3 changed files with 128 additions and 97 deletions

View file

@ -1643,6 +1643,8 @@
"tfg.gui.consumes": "Consumes: ",
"tfg.gui.per_cycle": "per cycle",
"tfg.gui.cycle_duration": "Cycle duration: ",
"tfg.emi.bacon_requirement": "Bacon - The Raw Pork must be smoked first",
"tag.item.tfg.dried_fruit": "Dried Fruit",
"tfc.jei.flint_knapping": "Flint Knapping",
"tfc.jei.straw_knapping": "Straw Knapping",
"tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Dyeing",

View file

@ -879,12 +879,12 @@ const registerFirmaLifeRecipes = (event) => {
setChocolateHeating('dark')
//fixing the bread unrotting
event.remove({ id: 'firmalife:crafting/oat_slice'})
event.remove({ id: 'firmalife:crafting/wheat_slice'})
event.remove({ id: 'firmalife:crafting/barley_slice'})
event.remove({ id: 'firmalife:crafting/maize_slice'})
event.remove({ id: 'firmalife:crafting/rice_slice'})
event.remove({ id: 'firmalife:crafting/rye_slice'})
event.remove({ id: 'firmalife:crafting/oat_slice' })
event.remove({ id: 'firmalife:crafting/wheat_slice' })
event.remove({ id: 'firmalife:crafting/barley_slice' })
event.remove({ id: 'firmalife:crafting/maize_slice' })
event.remove({ id: 'firmalife:crafting/rice_slice' })
event.remove({ id: 'firmalife:crafting/rye_slice' })
event.recipes.tfc.advanced_shapeless_crafting(
TFC.itemStackProvider.of('2x firmalife:food/oat_slice').copyFood(),
@ -912,109 +912,130 @@ const registerFirmaLifeRecipes = (event) => {
.id(`tfg:crafting/rye_slice`)
//fixing the cheese curd unrotting
event.remove({ id: 'firmalife:crafting/cheddar_wheel'})
event.remove({ id: 'firmalife:crafting/chevre_wheel'})
event.remove({ id: 'firmalife:crafting/rajya_metok_wheel'})
event.remove({ id: 'firmalife:barrel/gouda'})
event.remove({ id: 'firmalife:barrel/feta'})
event.remove({ id: 'firmalife:barrel/shosha'})
event.remove({ id: 'firmalife:crafting/cheddar_wheel' })
event.remove({ id: 'firmalife:crafting/chevre_wheel' })
event.remove({ id: 'firmalife:crafting/rajya_metok_wheel' })
event.remove({ id: 'firmalife:barrel/gouda' })
event.remove({ id: 'firmalife:barrel/feta' })
event.remove({ id: 'firmalife:barrel/shosha' })
event.recipes.tfc.advanced_shaped_crafting(
TFC.itemStackProvider.of('firmalife:cheddar_wheel').copyFood(), [
'AAA',
'BBB',
'AAA'
], {
A: 'tfc:powder/salt',
B: TFC.ingredient.notRotten('firmalife:food/milk_curd')
}, 0, 0).id('tfg:crafting/cheddar_wheel')
'AAA',
'BBB',
'AAA'
], {
A: 'tfc:powder/salt',
B: TFC.ingredient.notRotten('firmalife:food/milk_curd')
}, 0, 0).id('tfg:crafting/cheddar_wheel')
event.recipes.tfc.advanced_shaped_crafting(
TFC.itemStackProvider.of('firmalife:chevre_wheel').copyFood(), [
'AAA',
'BBB',
'AAA'
], {
A: 'tfc:powder/salt',
B: TFC.ingredient.notRotten('firmalife:food/goat_curd')
}, 0, 0).id('tfg:crafting/chevre_wheel')
'AAA',
'BBB',
'AAA'
], {
A: 'tfc:powder/salt',
B: TFC.ingredient.notRotten('firmalife:food/goat_curd')
}, 0, 0).id('tfg:crafting/chevre_wheel')
event.recipes.tfc.advanced_shaped_crafting(
TFC.itemStackProvider.of('firmalife:rajya_metok_wheel').copyFood(), [
'AAA',
'BBB',
'AAA'
], {
A: 'tfc:powder/salt',
B: TFC.ingredient.notRotten('firmalife:food/yak_curd')
}, 0, 0).id('tfg:crafting/rajya_metok_wheel')
event.custom({
"type": "tfc:barrel_sealed",
"input_item": {
"count": 3,
"ingredient": {
"type": "tfc:not_rotten",
"ingredient": { "item": "firmalife:food/milk_curd" }
}
},
"input_fluid": {
"ingredient": "tfc:salt_water",
"amount": 750
},
"output_item": {
"item": "firmalife:gouda_wheel"
},
"duration": 16000
}).id('tfg:barrel/gouda_wheel')
event.custom({
"type": "tfc:barrel_sealed",
"input_item": {
"count": 3,
"ingredient": {
"type": "tfc:not_rotten",
"ingredient": { "item": "firmalife:food/goat_curd" }
}
},
"input_fluid": {
"ingredient": "tfc:salt_water",
"amount": 750
},
"output_item": {
"item": "firmalife:feta_wheel"
},
"duration": 16000
}).id('tfg:barrel/feta_wheel')
event.custom({
"type": "tfc:barrel_sealed",
"input_item": {
"count": 3,
"ingredient": {
"type": "tfc:not_rotten",
"ingredient": { "item": "firmalife:food/yak_curd" }
}
},
"input_fluid": {
"ingredient": "tfc:salt_water",
"amount": 750
},
"output_item": {
"item": "firmalife:shosha_wheel"
},
"duration": 16000
}).id('tfg:barrel/shosha_wheel')
'AAA',
'BBB',
'AAA'
], {
A: 'tfc:powder/salt',
B: TFC.ingredient.notRotten('firmalife:food/yak_curd')
}, 0, 0).id('tfg:crafting/rajya_metok_wheel')
event.custom({
"type": "tfc:barrel_sealed",
"input_item": {
"count": 3,
"ingredient": {
"type": "tfc:not_rotten",
"ingredient": { "item": "firmalife:food/milk_curd" }
}
},
"input_fluid": {
"ingredient": "tfc:salt_water",
"amount": 750
},
"output_item": {
"item": "firmalife:gouda_wheel"
},
"duration": 16000
}).id('tfg:barrel/gouda_wheel')
event.custom({
"type": "tfc:barrel_sealed",
"input_item": {
"count": 3,
"ingredient": {
"type": "tfc:not_rotten",
"ingredient": { "item": "firmalife:food/goat_curd" }
}
},
"input_fluid": {
"ingredient": "tfc:salt_water",
"amount": 750
},
"output_item": {
"item": "firmalife:feta_wheel"
},
"duration": 16000
}).id('tfg:barrel/feta_wheel')
event.custom({
"type": "tfc:barrel_sealed",
"input_item": {
"count": 3,
"ingredient": {
"type": "tfc:not_rotten",
"ingredient": { "item": "firmalife:food/yak_curd" }
}
},
"input_fluid": {
"ingredient": "tfc:salt_water",
"amount": 750
},
"output_item": {
"item": "firmalife:shosha_wheel"
},
"duration": 16000
}).id('tfg:barrel/shosha_wheel')
// #region Oven heating recipes
event.recipes.tfc.heating(`firmalife:oven_top`, 1399)
.resultItem(`firmalife:cured_oven_top`)
.id(`tfg:heating/oven_top`)
.resultItem(`firmalife:cured_oven_top`)
.id(`tfg:heating/oven_top`)
event.recipes.tfc.heating(`firmalife:oven_chimney`, 1399)
.resultItem(`firmalife:cured_oven_chimney`)
.id(`tfg:heating/oven_chimney`)
.resultItem(`firmalife:cured_oven_chimney`)
.id(`tfg:heating/oven_chimney`)
event.recipes.tfc.heating(`firmalife:oven_bottom`, 1399)
.resultItem(`firmalife:cured_oven_bottom`)
.id(`tfg:heating/oven_bottom`)
.resultItem(`firmalife:cured_oven_bottom`)
.id(`tfg:heating/oven_bottom`)
event.recipes.tfc.heating(`firmalife:oven_hopper`, 1399)
.resultItem(`firmalife:cured_oven_hopper`)
.id(`tfg:heating/oven_hopper`)
.resultItem(`firmalife:cured_oven_hopper`)
.id(`tfg:heating/oven_hopper`)
// #endregion
// #region How do I make yeast starter???
event.recipes.kubejs.shapeless(Item.of('4x firmalife:food/bacon').withName(Text.translate('tfg.emi.bacon_requirement')), [
'tfc:food/pork',
'#forge:tools/knives',
'tfc:powder/salt'
])
.modifyResult((craftingGrid, result) => {
result.resetHoverName();
return result;
})
.id('firmalife:crafting/bacon')
event.recipes.tfc.barrel_sealed(72000)
.inputFluid(Fluid.of('minecraft:water', 100))
.inputItem(TFC.ingredient.hasTrait(Ingredient.of('#tfg:dried_fruit'), "firmalife:dried"))
.outputFluid(Fluid.of('firmalife:yeast_starter', 100))
.id('firmalife:barrel/yeast_starter')
// #endregion
}

View file

@ -16,6 +16,14 @@ const registerFirmaLifeItemTags = (event) => {
// Удаление тегов у руд
event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/")
// Make our own "dried fruit" tag so we can display something in EMI - used for yeast starter
const fruitArray = Ingredient.of('#tfc:foods/fruits').itemIds.toArray().map(String)
fruitArray.forEach(fruit => {
if (fruit !== 'betterend:shadow_berry_cooked' && fruit !== 'minecraft:popped_chorus_fruit') {
event.add('tfg:dried_fruit', fruit)
}
})
}
const registerFirmaLifeBlockTags = (event) => {