From 53c5a20489b586495cceba02151d126b03d59dc4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 00:35:55 +0000 Subject: [PATCH] TFC Gurman integration (#2298) * started working on tfc-gurman integration * updated recipes, should be mostly good now? * pizza adjustments * meal bag tags * ugh these crafting table foods are gonna take 5ever * milk curdling and automation for new cheeses * moved these * Update tags.js Signed-off-by: Pyritie --------- Signed-off-by: Pyritie --- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/tfcgurman/recipes.js | 807 ++++++++++++++++++ kubejs/server_scripts/tfg/recipes.food.js | 81 +- .../tfg/recipes.miscellaneous.js | 25 - kubejs/server_scripts/tfg/tags.js | 13 +- kubejs/startup_scripts/tfc/constants.js | 33 +- 6 files changed, 888 insertions(+), 72 deletions(-) create mode 100644 kubejs/server_scripts/tfcgurman/recipes.js diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 5a544affb..ea9c4e1bc 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -270,6 +270,7 @@ ServerEvents.recipes(event => { registerTFCBetterBFRecipes(event) registerTFCLunchBoxRecipes(event) registerTFCGroomingStationRecipes(event) + registerTFCGurmanRecipes(event) registerTFGRecipes(event) registerTFCTextileRecipes(event) registerToolBeltRecipes(event) diff --git a/kubejs/server_scripts/tfcgurman/recipes.js b/kubejs/server_scripts/tfcgurman/recipes.js new file mode 100644 index 000000000..55de880ee --- /dev/null +++ b/kubejs/server_scripts/tfcgurman/recipes.js @@ -0,0 +1,807 @@ +// priority: 0 +"use strict"; + +function registerTFCGurmanRecipes(event) { + const $ISPRecipeLogic = Java.loadClass("su.terrafirmagreg.core.common.data.tfgt.machine.trait.ISPOutputRecipeLogic") + + //#region Food Oven Recipes + + // Pizzas + event.recipes.gtceu.food_oven('margarita_pizza') + .itemInputs('tfc_gurman:raw_margarita_pizza') + .itemOutputs('tfc_gurman:margarita_pizza') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/margarita_pizza', + [Ingredient.of('tfc_gurman:raw_margarita_pizza')], + TFC.isp.of('tfc_gurman:margarita_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('pepperoni_pizza') + .itemInputs('tfc_gurman:raw_pepperoni_pizza') + .itemOutputs('tfc_gurman:pepperoni_pizza') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/pepperoni_pizza', + [Ingredient.of('tfc_gurman:raw_pepperoni_pizza')], + TFC.isp.of('tfc_gurman:pepperoni_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('havai_pizza') + .itemInputs('tfc_gurman:raw_havai_pizza') + .itemOutputs('tfc_gurman:havai_pizza') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/havai_pizza', + [Ingredient.of('tfc_gurman:raw_havai_pizza')], + TFC.isp.of('tfc_gurman:havai_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('four_cheeses_pizza') + .itemInputs('tfc_gurman:raw_four_cheeses_pizza') + .itemOutputs('tfc_gurman:four_cheeses_pizza') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/four_cheeses_pizza', + [Ingredient.of('tfc_gurman:raw_four_cheeses_pizza')], + TFC.isp.of('tfc_gurman:four_cheeses_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('four_meats_pizza') + .itemInputs('tfc_gurman:raw_four_meats_pizza') + .itemOutputs('tfc_gurman:four_meats_pizza') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/four_meats_pizza', + [Ingredient.of('tfc_gurman:raw_four_meats_pizza')], + TFC.isp.of('tfc_gurman:four_meats_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('neapolitano_pizza') + .itemInputs('tfc_gurman:raw_neapolitano_pizza') + .itemOutputs('tfc_gurman:neapolitano_pizza') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/neapolitano_pizza', + [Ingredient.of('tfc_gurman:raw_neapolitano_pizza')], + TFC.isp.of('tfc_gurman:neapolitano_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('croissants') + .itemInputs('tfc_gurman:raw_croissants') + .itemOutputs('tfc_gurman:croissants') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/croissants', + [Ingredient.of('tfc_gurman:raw_croissants')], + TFC.isp.of('tfc_gurman:croissants').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('kiev_cutlets') + .itemInputs('tfc_gurman:raw_kiev_cutlets') + .itemOutputs('tfc_gurman:kiev_cutlets') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/kiev_cutlets', + [Ingredient.of('tfc_gurman:raw_kiev_cutlets')], + TFC.isp.of('tfc_gurman:kiev_cutlets').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('quiche') + .itemInputs('tfc_gurman:raw_quiche') + .itemOutputs('tfc_gurman:quiche') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/quiche', + [Ingredient.of('tfc_gurman:raw_quiche')], + TFC.isp.of('tfc_gurman:quiche').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('tandoori_chicken') + .itemInputs('tfc_gurman:raw_tandoori_chicken') + .itemOutputs('tfc_gurman:tandoori_chicken') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/tandoori_chicken', + [Ingredient.of('tfc_gurman:raw_tandoori_chicken')], + TFC.isp.of('tfc_gurman:tandoori_chicken').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('placinda') + .itemInputs('tfc_gurman:raw_placinda') + .itemOutputs('tfc_gurman:placinda') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/placinda', + [Ingredient.of('tfc_gurman:raw_placinda')], + TFC.isp.of('tfc_gurman:placinda').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('tonkatsu') + .itemInputs('tfc_gurman:raw_tonkatsu') + .itemOutputs('tfc_gurman:tonkatsu') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/tonkatsu', + [Ingredient.of('tfc_gurman:raw_tonkatsu')], + TFC.isp.of('tfc_gurman:tonkatsu').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('takoyaki') + .itemInputs('tfc_gurman:raw_takoyaki') + .itemOutputs('tfc_gurman:takoyaki') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/takoyaki', + [Ingredient.of('tfc_gurman:raw_takoyaki')], + TFC.isp.of('tfc_gurman:takoyaki').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('bulgogi') + .itemInputs('tfc_gurman:raw_bulgogi') + .itemOutputs('tfc_gurman:bulgogi') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/bulgogi', + [Ingredient.of('tfc_gurman:raw_bulgogi')], + TFC.isp.of('tfc_gurman:bulgogi').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('bratwurst') + .itemInputs('tfc_gurman:raw_bratwurst') + .itemOutputs('tfc_gurman:bratwurst') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/bratwurst', + [Ingredient.of('tfc_gurman:raw_bratwurst')], + TFC.isp.of('tfc_gurman:bratwurst').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('crepes') + .itemInputs('tfc_gurman:raw_crepes') + .itemOutputs('tfc_gurman:crepes') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/crepes', + [Ingredient.of('tfc_gurman:raw_crepes')], + TFC.isp.of('tfc_gurman:crepes').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('chebureki') + .itemInputs('tfc_gurman:raw_chebureki') + .itemOutputs('tfc_gurman:chebureki') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/chebureki', + [Ingredient.of('tfc_gurman:raw_chebureki')], + TFC.isp.of('tfc_gurman:chebureki').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('khachapuri') + .itemInputs('tfc_gurman:raw_khachapuri') + .itemOutputs('tfc_gurman:khachapuri') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/khachapuri', + [Ingredient.of('tfc_gurman:raw_khachapuri')], + TFC.isp.of('tfc_gurman:khachapuri').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('lavash_wrap') + .itemInputs('tfc_gurman:raw_lavash_wrap') + .itemOutputs('tfc_gurman:lavash_wrap') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/lavash_wrap', + [Ingredient.of('tfc_gurman:raw_lavash_wrap')], + TFC.isp.of('tfc_gurman:lavash_wrap').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('syrniki') + .itemInputs('tfc_gurman:raw_syrniki') + .itemOutputs('tfc_gurman:syrniki') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/syrniki', + [Ingredient.of('tfc_gurman:raw_syrniki')], + TFC.isp.of('tfc_gurman:syrniki').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('oladyi') + .itemInputs('tfc_gurman:raw_oladyi') + .itemOutputs('tfc_gurman:oladyi') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/oladyi', + [Ingredient.of('tfc_gurman:raw_oladyi')], + TFC.isp.of('tfc_gurman:oladyi').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + // Falafel - from soybean (no raw version) + event.recipes.gtceu.food_oven('falafel') + .itemInputs('tfc:food/soybean') + .itemOutputs('tfc_gurman:falafel') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/falafel', + [Ingredient.of('tfc:food/soybean')], + TFC.isp.of('tfc_gurman:falafel').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + // Pelmeni (cooking raw pelmeni) + event.recipes.gtceu.food_oven('pelmeni') + .itemInputs('tfc_gurman:raw_pelmeni') + .itemOutputs('tfc_gurman:pelmeni') + .inputFluids(Fluid.of('minecraft:water', 500)) + .duration(200) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/pelmeni', + [Ingredient.of('tfc_gurman:raw_pelmeni')], + TFC.isp.of('tfc_gurman:pelmeni').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + // Vareniki (cooking raw vareniki) + event.recipes.gtceu.food_oven('vareniki') + .itemInputs('tfc_gurman:raw_vareniki') + .itemOutputs('tfc_gurman:vareniki') + .inputFluids(Fluid.of('minecraft:water', 500)) + .duration(200) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/vareniki', + [Ingredient.of('tfc_gurman:raw_vareniki')], + TFC.isp.of('tfc_gurman:vareniki').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + //#endregion + + //#region Food Processor Recipes + + // Borscht + event.recipes.gtceu.food_processor('borscht') + .circuit(20) + .itemInputs('tfc:food/beet', 'tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato') + .itemOutputs('3x tfc_gurman:borscht') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/borscht', + [Ingredient.of('tfc:food/beet'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato')], + TFC.isp.of('tfc_gurman:borscht').copyFood().asCanonClass(), + []) + + // Schi + event.recipes.gtceu.food_processor('schi') + .circuit(20) + .itemInputs('tfc:food/cabbage', 'tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato') + .itemOutputs('3x tfc_gurman:schi') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/schi', + [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato')], + TFC.isp.of('tfc_gurman:schi').copyFood().asCanonClass(), + []) + + // Coffee + event.recipes.gtceu.food_processor('coffee') + .circuit(2) + .itemInputs('firmalife:food/roasted_cocoa_beans', 'firmalife:food/roasted_cocoa_beans') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:coffee', 1000)) + .duration(300) + .EUt(8) + + // Cocoa + event.recipes.gtceu.food_processor('cocoa') + .circuit(1) + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_powder', 'minecraft:sugar') + .inputFluids('#tfc:milks 1000') + .outputFluids(Fluid.of('tfc_gurman:cocoa', 1000)) + .duration(300) + .EUt(8) + + // Compote + event.recipes.gtceu.food_processor('compote') + .circuit(2) + .itemInputs('#tfc:foods/fruits', '#tfc:foods/fruits') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:compote', 1000)) + .duration(300) + .EUt(8) + + // Lemonade + event.recipes.gtceu.food_processor('lemonade') + .circuit(2) + .itemInputs('tfc:food/lemon', 'tfc:food/lemon') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:lemonade', 1000)) + .duration(1500) + .EUt(8) + + // Kvass + event.recipes.gtceu.food_processor('kvass') + .circuit(2) + .itemInputs('2x #tfc:foods/grains') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:kvass', 1000)) + .duration(2400) + .EUt(8) + + // Tea Mint + event.recipes.gtceu.food_processor('tea_mint') + .circuit(2) + .itemInputs('tfc_gurman:dried_mint_leaves', 'tfc_gurman:dried_mint_leaves') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:tea_mint', 1000)) + .duration(300) + .EUt(8) + + // Tea Chamomile + event.recipes.gtceu.food_processor('tea_chamomile') + .circuit(2) + .itemInputs('tfc_gurman:dried_chamomile_leaves', 'tfc_gurman:dried_chamomile_leaves') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:tea_chamomile', 1000)) + .duration(300) + .EUt(8) + + // Tea Rosehip + event.recipes.gtceu.food_processor('tea_rosehip') + .circuit(2) + .itemInputs('tfc_gurman:dried_rosehip_leaves', 'tfc_gurman:dried_rosehip_leaves') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:tea_rosehip', 1000)) + .duration(300) + .EUt(8) + + // Tea Nettle + event.recipes.gtceu.food_processor('tea_nettle') + .circuit(2) + .itemInputs('tfc_gurman:dried_nettle_leaves', 'tfc_gurman:dried_nettle_leaves') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:tea_nettle', 1000)) + .duration(300) + .EUt(8) + + // Solyanka + event.recipes.gtceu.food_processor('solyanka') + .circuit(20) + .itemInputs('#tfc:foods/meats', 'tfc:food/cabbage', 'tfc:food/onion', 'tfc:food/tomato', 'tfc:food/olive') + .itemOutputs('3x tfc_gurman:solyanka') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/solyanka', + [Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/olive')], + TFC.isp.of('tfc_gurman:solyanka').copyFood().asCanonClass(), + []) + + // Okroshka + event.recipes.gtceu.food_processor('okroshka') + .circuit(20) + .itemInputs('tfc:food/cabbage', 'tfc:food/tomato', 'tfc:food/potato', 'tfc:food/onion', 'minecraft:egg') + .itemOutputs('3x tfc_gurman:okroshka') + .inputFluids(Fluid.of('tfc_gurman:kvass', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/okroshka', + [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/potato'), Ingredient.of('tfc:food/onion'), Ingredient.of('minecraft:egg')], + TFC.isp.of('tfc_gurman:okroshka').copyFood().asCanonClass(), + []) + + // Zama + event.recipes.gtceu.food_processor('zama') + .circuit(20) + .itemInputs('tfc:food/chicken', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:powder/salt', 'tfc:food/garlic') + .itemOutputs('3x tfc_gurman:zama') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/zama', + [Ingredient.of('tfc:food/chicken'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/garlic')], + TFC.isp.of('tfc_gurman:zama').copyFood().asCanonClass(), + []) + + // Curry + event.recipes.gtceu.food_processor('curry') + .circuit(16) + .itemInputs('#tfc:foods/cooked_meats', '#tfc:foods/vegetables', 'tfc:powder/salt', 'tfc:food/cooked_rice') + .itemOutputs('3x tfc_gurman:curry') + .inputFluids('#tfc:milks 1000') + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/curry', + [Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('#tfc:foods/vegetables'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/cooked_rice')], + TFC.isp.of('tfc_gurman:curry').copyFood().asCanonClass(), + []) + + // Goulash + event.recipes.gtceu.food_processor('goulash') + .circuit(16) + .itemInputs('#tfc:foods/raw_meats', 'tfc:food/onion', 'tfc:food/potato', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:goulash') + .inputFluids(Fluid.of('minecraft:water', 100)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/goulash', + [Ingredient.of('#tfc:foods/raw_meats'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/potato'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:goulash').copyFood().asCanonClass(), + []) + + // Pho + event.recipes.gtceu.food_processor('pho') + .circuit(16) + .itemInputs('firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/garlic', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:pho') + .inputFluids(Fluid.of('minecraft:water', 100)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/pho', + [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:pho').copyFood().asCanonClass(), + []) + + // Bouillabaisse + event.recipes.gtceu.food_processor('bouillabaisse') + .circuit(16) + .itemInputs('#firmalife:foods/raw_fish', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:bouillabaisse') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/bouillabaisse', + [Ingredient.of('#firmalife:foods/raw_fish'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:bouillabaisse').copyFood().asCanonClass(), + []) + + // Ramen with Beef + event.recipes.gtceu.food_processor('ramen_beef') + .circuit(21) + .itemInputs('firmalife:food/raw_egg_noodles', 'minecraft:egg', 'tfc:food/beef', 'tfc:food/onion') + .itemOutputs('2x tfc_gurman:ramen_with_beef') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_beef', + [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('minecraft:egg'), Ingredient.of('tfc:food/beef'), Ingredient.of('tfc:food/onion')], + TFC.isp.of('tfc_gurman:ramen_with_beef').copyFood().asCanonClass(), + []) + + // Ramen with Camelidae + event.recipes.gtceu.food_processor('ramen_camelidae') + .circuit(21) + .itemInputs('firmalife:food/raw_egg_noodles', 'minecraft:egg', 'tfc:food/camelidae', 'tfc:food/onion') + .itemOutputs('2x tfc_gurman:ramen_with_camelidae') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_camelidae', + [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('minecraft:egg'), Ingredient.of('tfc:food/camelidae'), Ingredient.of('tfc:food/onion')], + TFC.isp.of('tfc_gurman:ramen_with_camelidae').copyFood().asCanonClass(), + []) + + // Ramen with Chevon + event.recipes.gtceu.food_processor('ramen_chevon') + .circuit(21) + .itemInputs('firmalife:food/raw_egg_noodles', 'minecraft:egg', 'tfc:food/chevon', 'tfc:food/onion') + .itemOutputs('2x tfc_gurman:ramen_with_chevon') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_chevon', + [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('minecraft:egg'), Ingredient.of('tfc:food/chevon'), Ingredient.of('tfc:food/onion')], + TFC.isp.of('tfc_gurman:ramen_with_chevon').copyFood().asCanonClass(), + []) + + // Ramen with Bacon + event.recipes.gtceu.food_processor('ramen_bacon') + .circuit(21) + .itemInputs('firmalife:food/raw_egg_noodles', 'minecraft:egg', 'firmalife:food/bacon', 'tfc:food/onion') + .itemOutputs('2x tfc_gurman:ramen_with_bacon') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_bacon', + [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('minecraft:egg'), Ingredient.of('firmalife:food/bacon'), Ingredient.of('tfc:food/onion')], + TFC.isp.of('tfc_gurman:ramen_with_bacon').copyFood().asCanonClass(), + []) + + // Biryani + event.recipes.gtceu.food_processor('biryani') + .circuit(20) + .itemInputs('tfc:food/rice_grain', '#tfc:foods/meats', 'tfc:food/onion', 'tfc:food/carrot', 'tfc:food/tomato') + .itemOutputs('3x tfc_gurman:biryani') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/biryani', + [Ingredient.of('tfc:food/rice_grain'), Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/tomato')], + TFC.isp.of('tfc_gurman:biryani').copyFood().asCanonClass(), + []) + + // Fried Rice + event.recipes.gtceu.food_processor('fried_rice') + .circuit(16) + .itemInputs('tfc:food/cooked_rice', '#forge:eggs', '#tfc:foods/vegetables', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:fried_rice') + .inputFluids(Fluid.of('minecraft:water', 100)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/fried_rice', + [Ingredient.of('tfc:food/cooked_rice'), Ingredient.of('#forge:eggs'), Ingredient.of('#tfc:foods/vegetables'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:fried_rice').copyFood().asCanonClass(), + []) + + // Kimchi + event.recipes.gtceu.food_processor('kimchi') + .circuit(20) + .itemInputs('tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:kimchi') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/kimchi', + [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:kimchi').copyFood().asCanonClass(), + []) + + // Dolma + event.recipes.gtceu.food_processor('dolma') + .circuit(16) + .itemInputs('#tfc:foods/meats', 'tfc:food/rice_grain', 'tfc:powder/salt') + .itemOutputs('2x tfc_gurman:dolma') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/dolma', + [Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/rice_grain'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:dolma').copyFood().asCanonClass(), + []) + + // Spaghetti Bolognese + event.recipes.gtceu.food_processor('spaghetti_bolognese') + .circuit(18) + .itemInputs('firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic') + .itemOutputs('3x tfc_gurman:spaghetti_bolognese') + .inputFluids(Fluid.of('minecraft:water', 500)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/spaghetti_bolognese', + [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic')], + TFC.isp.of('tfc_gurman:spaghetti_bolognese').copyFood().asCanonClass(), + []) + + // Pasta Carbonara + event.recipes.gtceu.food_processor('pasta_carbonara') + .circuit(18) + .itemInputs('firmalife:food/cooked_pasta', 'firmalife:food/bacon', 'minecraft:egg', 'firmalife:food/shredded_cheese', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:pasta_carbonara') + .inputFluids(Fluid.of('minecraft:water', 500)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/pasta_carbonara', + [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('firmalife:food/bacon'), Ingredient.of('minecraft:egg'), Ingredient.of('firmalife:food/shredded_cheese'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:pasta_carbonara').copyFood().asCanonClass(), + []) + + // Ratatouille + event.recipes.gtceu.food_processor('ratatouille') + .circuit(18) + .itemInputs('tfc:food/tomato', 'tfc:food/pumpkin_chunks', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic') + .itemOutputs('3x tfc_gurman:ratatouille') + .inputFluids(Fluid.of('minecraft:water', 500)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/ratatouille', + [Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/pumpkin_chunks'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic')], + TFC.isp.of('tfc_gurman:ratatouille').copyFood().asCanonClass(), + []) + + // Risotto + event.recipes.gtceu.food_processor('risotto') + .circuit(18) + .itemInputs('tfc:food/rice_grain', '#firmalife:foods/cheeses', '#tfc:foods/vegetables') + .itemOutputs('3x tfc_gurman:risotto') + .inputFluids(Fluid.of('minecraft:water', 100)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/risotto', + [Ingredient.of('tfc:food/rice_grain'), Ingredient.of('#firmalife:foods/cheeses'), Ingredient.of('#tfc:foods/vegetables')], + TFC.isp.of('tfc_gurman:risotto').copyFood().asCanonClass(), + []) + + // Porridge + event.recipes.gtceu.food_processor('porridge') + .circuit(18) + .itemInputs('#tfc:foods/grains', 'tfc:powder/salt') + .itemOutputs('tfc_gurman:porridge') + .inputFluids(Fluid.of('minecraft:water', 250)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/porridge', + [Ingredient.of('#tfc:foods/grains'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:porridge').copyFood().asCanonClass(), + []) + + // Mamaliga + event.recipes.gtceu.food_processor('mamaliga') + .circuit(16) + .itemInputs('tfc:food/maize_grain', 'tfc:powder/salt') + .itemOutputs('tfc_gurman:mamaliga') + .inputFluids(Fluid.of('minecraft:water', 250)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga', + [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:mamaliga').copyFood().asCanonClass(), + []) + + event.recipes.gtceu.food_processor('mamaliga_2') + .circuit(16) + .itemInputs('tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:powder/salt') + .itemOutputs('2x tfc_gurman:mamaliga') + .inputFluids(Fluid.of('minecraft:water', 250)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga_2', + [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:mamaliga').copyFood().asCanonClass(), + []) + + event.recipes.gtceu.food_processor('mamaliga_3') + .circuit(16) + .itemInputs('tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:mamaliga') + .inputFluids(Fluid.of('minecraft:water', 250)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga_3', + [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:mamaliga').copyFood().asCanonClass(), + []) + + event.recipes.gtceu.food_processor('mamaliga_4') + .circuit(16) + .itemInputs('tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:powder/salt') + .itemOutputs('4x tfc_gurman:mamaliga') + .inputFluids(Fluid.of('minecraft:water', 250)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga_4', + [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:mamaliga').copyFood().asCanonClass(), + []) + + // Adjika + event.recipes.gtceu.food_processor('adjika') + .circuit(8) + .itemInputs('tfc:food/green_bell_pepper', 'tfc:food/red_bell_pepper', 'tfc:powder/salt', 'tfc:food/garlic', 'firmalife:plant/cilantro') + .itemOutputs('5x tfc_gurman:adjika') + .inputFluids(Fluid.of('minecraft:water', 500)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/adjika', + [Ingredient.of('tfc:food/green_bell_pepper'), Ingredient.of('tfc:food/red_bell_pepper'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/garlic'), Ingredient.of('firmalife:plant/cilantro')], + TFC.isp.of('tfc_gurman:adjika').copyFood().asCanonClass(), + []) + + //#endregion + + // #region Drying + + event.recipes.gtceu.food_processor("dried_mint") + .itemInputs("tfc:plant/foxglove") + .itemOutputs("tfc_gurman:dried_mint_leaves") + .inputFluids(Fluid.of('gtceu:nitrogen', 100)) + .EUt(8) + .duration(200) + .circuit(6) + .addDataString("action", "tfg.food_recipe.drying") + + event.recipes.gtceu.food_processor("dried_chamomile") + .itemInputs("tfc:plant/lilac") + .itemOutputs("tfc_gurman:dried_chamomile_leaves") + .inputFluids(Fluid.of('gtceu:nitrogen', 100)) + .EUt(8) + .duration(200) + .circuit(6) + .addDataString("action", "tfg.food_recipe.drying") + + event.recipes.gtceu.food_processor("dried_rosehip") + .itemInputs("tfc:plant/rose") + .itemOutputs("tfc_gurman:dried_rosehip_leaves") + .inputFluids(Fluid.of('gtceu:nitrogen', 100)) + .EUt(8) + .duration(200) + .circuit(6) + .addDataString("action", "tfg.food_recipe.drying") + + event.recipes.gtceu.food_processor("dried_nettle") + .itemInputs("tfc:plant/trillium") + .itemOutputs("tfc_gurman:dried_nettle_leaves") + .inputFluids(Fluid.of('gtceu:nitrogen', 100)) + .EUt(8) + .duration(200) + .circuit(6) + .addDataString("action", "tfg.food_recipe.drying") + + // #endregion Drying + + // #region Crafting table foods + + event.recipes.gtceu.food_processor('margarita_pizza') + .circuit(4) + .itemInputs('firmalife:food/pizza_dough', 'firmalife:food/shredded_cheese', 'tfc:food/tomato', 'tfc:food/red_bell_pepper', 'tfc_gurman:plant_mix', 'firmalife:food/tomato_sauce') + .itemOutputs('tfc_gurman:raw_margarita_pizza') + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/margarita_pizza', + [Ingredient.of('firmalife:food/pizza_dough'), Ingredient.of('firmalife:food/shredded_cheese'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/red_bell_pepper'), Ingredient.of('tfc_gurman:plant_mix'), Ingredient.of('firmalife:food/tomato_sauce')], + TFC.isp.of('tfc_gurman:raw_margarita_pizza').copyFood().asCanonClass(), + []) + + // #endregion + + // #region Replacements + + event.replaceInput({ id: "tfc_gurman:crafting/tiramisu" }, "minecraft:sugar", "#tfg:sugars"); + + event.shapeless('4x tfc_gurman:raw_takoyaki', ['tfg:food/raw_crawlermari', '#tfc:foods/flour', '#forge:eggs', 'tfc:powder/salt']); + + // #endregion + + // TODO: + // buffs for the various drinks? +} diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index 2b3753804..afffe2bce 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -260,38 +260,55 @@ function registerTFGFoodRecipes(event) { global.TFC_CURDS_AND_CHEESES.forEach(item => { - processorRecipe(`${item.curd}_curd`, 1200, 16, { + event.recipes.gtceu.fermenter(`tfg:curdled_${item.id}`) + .inputFluids(Fluid.of(item.milk, 2000)) + .itemInputs('firmalife:rennet') + .outputFluids(Fluid.of(item.curdled_fluid, 2000)) + .duration(2400) + .EUt(16) + + event.recipes.gtceu.mixer(`lactose_milk_${item.id}`) + .circuit(1) + .inputFluids(Fluid.of(item.milk, 1000), Fluid.of('gtceu:acetic_acid', 25)) + .itemOutputs('1x gtceu:lactose_dust') + .outputFluids(Fluid.of(item.curdled_fluid, 1000)) + .duration(300) + .EUt(GTValues.VA[GTValues.LV]) + + processorRecipe(`${item.id}_curd`, 1200, 16, { itemOutputs: [item.curd], - fluidInputs: [Fluid.of(item.input_fluid, 1000)], + fluidInputs: [Fluid.of(item.curdled_fluid, 1000)], itemOutputProvider: TFC.isp.of(item.curd).resetFood() }) - processorRecipe(`${item.cheese1}_cheese_wheel_1`, 8000, 16, { + processorRecipe(`${item.id}_unsalted_cheese_wheel`, 8000, 16, { itemInputs: [`3x ${item.curd}`], - itemOutputs: [`firmalife:${item.cheese1}_wheel`], + itemOutputs: [item.unsalted_wheel], fluidInputs: [Fluid.of('tfc:salt_water', 750)], - itemOutputProvider: TFC.isp.of(`firmalife:${item.cheese1}_wheel`).copyOldestFood() + itemOutputProvider: TFC.isp.of(item.unsalted_wheel).copyOldestFood() }) - processorRecipe(`${item.cheese2}_cheese_wheel_2`, 1000, 16, { + processorRecipe(`${item.id}_unsalted_cheese_cutting`, 100, 8, { + itemInputs: [item.unsalted_wheel], + itemOutputs: [`4x ${item.unsalted_cheese}`], + itemOutputProvider: TFC.isp.of(`4x ${item.unsalted_cheese}`).copyOldestFood() + }) + + if (item.salted_wheel === null || item.salted_cheese === null) + return; + + processorRecipe(`${item.id}_salted_cheese_wheel`, 1000, 16, { circuit: 2, itemInputs: [`3x ${item.curd}`, `6x tfc:powder/salt`], - itemOutputs: [`firmalife:${item.cheese2}_wheel`], - itemOutputProvider: TFC.isp.of(`firmalife:${item.cheese2}_wheel`).copyOldestFood() + itemOutputs: [item.salted_wheel], + itemOutputProvider: TFC.isp.of(item.salted_wheel).copyOldestFood() }) - processorRecipe(`${item.cheese1}_cheese_cutting_1`, 100, 8, { - itemInputs: [`firmalife:${item.cheese1}_wheel`], - itemOutputs: [`4x firmalife:food/${item.cheese1}`], - itemOutputProvider: TFC.isp.of(`4x firmalife:food/${item.cheese1}`).copyOldestFood() + processorRecipe(`${item.id}_salted_cheese_cutting`, 100, 8, { + itemInputs: [item.salted_wheel], + itemOutputs: [`4x ${item.salted_cheese}`], + itemOutputProvider: TFC.isp.of(`4x ${item.salted_cheese}`).copyOldestFood() }) - - processorRecipe(`${item.cheese2}_cheese_cutting_2`, 100, 8, { - itemInputs: [`firmalife:${item.cheese2}_wheel`], - itemOutputs: [`4x firmalife:food/${item.cheese2}`], - itemOutputProvider: TFC.isp.of(`4x firmalife:food/${item.cheese2}`).copyOldestFood() - }) - }) // Milks @@ -670,6 +687,7 @@ function registerTFGFoodRecipes(event) { //#region Pizza processorRecipe("pizza_no_extra", 600, 16, { + circuit: 3, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese"], itemOutputs: ["firmalife:food/raw_pizza"], itemOutputProvider: TFC.isp.of("firmalife:food/raw_pizza").meal( @@ -678,7 +696,7 @@ function registerTFGFoodRecipes(event) { ) }) - processorRecipe("pizza_1_extra", 600, 16, { + processorRecipe("pizza_1_extra", 600, GTValues.VHA[GTValues.MV], { circuit: 1, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "#firmalife:foods/pizza_ingredients"], itemOutputs: ["firmalife:food/raw_pizza"], @@ -688,7 +706,7 @@ function registerTFGFoodRecipes(event) { ) }) - processorRecipe("pizza_2_extra", 600, 16, { + processorRecipe("pizza_2_extra", 600, GTValues.VHA[GTValues.MV], { circuit: 2, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "2x #firmalife:foods/pizza_ingredients"], itemOutputs: ["firmalife:food/raw_pizza"], @@ -1111,27 +1129,6 @@ function registerTFGFoodRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) .duration(600) - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_milk') - .inputFluids(Fluid.of('minecraft:milk', 2000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('tfc:curdled_milk', 2000)) - .duration(2400) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_yak_milk') - .inputFluids(Fluid.of('firmalife:yak_milk', 2000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('firmalife:curdled_yak_milk', 2000)) - .duration(2400) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_goat_milk') - .inputFluids(Fluid.of('firmalife:goat_milk', 2000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('firmalife:curdled_goat_milk', 2000)) - .duration(2400) - .EUt(16) - // GT cocoa dust compat event.recipes.gtceu.macerator('firmalife:food/cocoa_powder') .itemInputs('gtceu:cocoa_dust') diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 7684b5210..38d61ef34 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -108,31 +108,6 @@ function registerTFGMiscellaneousRecipes(event) { .id('tfg:knapping/decorative_vase/unfired') - // lactose & curd - event.recipes.gtceu.mixer('lactose_milk_cow') - .circuit(1) - .inputFluids(Fluid.of('minecraft:milk', 1000), Fluid.of('gtceu:acetic_acid', 25)) - .itemOutputs('1x gtceu:lactose_dust') - .outputFluids(Fluid.of('tfc:curdled_milk', 1000)) - .duration(300) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.mixer('lactose_milk_yak') - .circuit(1) - .inputFluids(Fluid.of('firmalife:yak_milk', 1000), Fluid.of('gtceu:acetic_acid', 25)) - .itemOutputs('1x gtceu:lactose_dust') - .outputFluids(Fluid.of('firmalife:curdled_yak_milk', 1000)) - .duration(300) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.mixer('lactose_milk_goat') - .circuit(1) - .inputFluids(Fluid.of('firmalife:goat_milk', 1000), Fluid.of('gtceu:acetic_acid', 25)) - .itemOutputs('1x gtceu:lactose_dust') - .outputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000)) - .duration(300) - .EUt(GTValues.VA[GTValues.LV]) - //Scaffolding Frame event.shaped('tfg:scaffolding_frame', [ diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 8855d5292..44c610993 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -363,7 +363,10 @@ const registerTFGItemTags = (event) => { const cheeseCurds = [ 'firmalife:food/yak_curd', 'firmalife:food/goat_curd', - 'firmalife:food/milk_curd' + 'firmalife:food/milk_curd', + 'tfc_gurman:ox_curd', + 'tfc_gurman:sheep_curd', + 'tfc_gurman:alpaca_curd' ]; cheeseCurds.forEach(item => { event.add('tfg:foods/cheese_curds', item); @@ -478,7 +481,13 @@ const registerTFGItemTags = (event) => { 'firmalife:food/toast', 'firmalife:food/toast_with_butter', 'firmalife:food/toast_with_jam', - 'firmalife:food/butter' + 'firmalife:food/butter', + 'tfc_gurman:adjika', + 'tfc_gurman:tzatziki', + 'tfc_gurman:falafel', + 'tfc_gurman:hummus', + 'tfc_gurman:sauerkraut', + 'tfc_gurman:bratwurst' ]; usable_in_meal_bag.forEach(item => { event.add('tfg:foods/usable_in_meal_bag', item); diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index b249a5a56..ddb133edf 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -1048,9 +1048,36 @@ global.TFC_MILKS = /** @type {const} */ ([ ]); global.TFC_CURDS_AND_CHEESES = /** @type {const} */ ([ - { id: "milk", input_fluid: "tfc:curdled_milk", curd: "firmalife:food/milk_curd", cheese1: "gouda", cheese2: "cheddar"}, - { id: "yak", input_fluid: "firmalife:curdled_yak_milk", curd: "firmalife:food/yak_curd", cheese1: "shosha", cheese2: "rajya_metok"}, - { id: "goat", input_fluid: "firmalife:curdled_goat_milk", curd: "firmalife:food/goat_curd", cheese1: "feta", cheese2: "chevre"} + { + id: "cow", milk: "minecraft:milk", curdled_fluid: "tfc:curdled_milk", curd: "firmalife:food/milk_curd", + unsalted_cheese: "firmalife:food/gouda", unsalted_wheel: "firmalife:gouda_wheel", + salted_cheese: "firmalife:food/cheddar", salted_wheel: "firmalife:cheddar_wheel" + }, + { + id: "yak", milk: "firmalife:yak_milk", curdled_fluid: "firmalife:curdled_yak_milk", curd: "firmalife:food/yak_curd", + unsalted_cheese: "firmalife:food/shosha", unsalted_wheel: "firmalife:shosha_wheel", + salted_cheese: "firmalife:food/rajya_metok", salted_wheel: "firmalife:rajya_metok_wheel" + }, + { + id: "goat", milk: "firmalife:goat_milk", curdled_fluid: "firmalife:curdled_goat_milk", curd: "firmalife:food/goat_curd", + unsalted_cheese: "firmalife:food/feta", unsalted_wheel: "firmalife:feta_wheel", + salted_cheese: "firmalife:food/chevre", salted_wheel: "firmalife:chevre_wheel" + }, + { + id: "ox", milk: "tfc_gurman:ox_milk", curdled_fluid: "tfc_gurman:curdled_ox_milk", curd: "tfc_gurman:ox_curd", + unsalted_cheese: "tfc_gurman:ox_brinza_slice", unsalted_wheel: "tfc_gurman:ox_brinza_wheel", + salted_cheese: null, salted_wheel: null + }, + { + id: "sheep", milk: "tfc_gurman:sheep_milk", curdled_fluid: "tfc_gurman:curdled_sheep_milk", curd: "tfc_gurman:sheep_curd", + unsalted_cheese: "tfc_gurman:sheep_brinza_slice", unsalted_wheel: "tfc_gurman:sheep_brinza_wheel", + salted_cheese: null, salted_wheel: null + }, + { + id: "alpaca", milk: "tfc_gurman:alpaca_milk", curdled_fluid: "tfc_gurman:curdled_alpaca_milk", curd: "tfc_gurman:alpaca_curd", + unsalted_cheese: "tfc_gurman:alpaca_brinza_slice", unsalted_wheel: "tfc_gurman:alpaca_brinza_wheel", + salted_cheese: null, salted_wheel: null + } ]); global.TFC_DRY_MUD_BRICKS = /** @type {const} */ ([