From b3fdbd1571a2e2ffb663532784a5e54b7a70a1e0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 18 Oct 2025 01:11:32 +0100 Subject: [PATCH] added dinosaur nuggies --- CHANGELOG.md | 2 + kubejs/assets/tfg/lang/en_us.json | 2 + .../textures/item/food/cooked_dino_nugget.png | Bin 0 -> 565 bytes .../textures/item/food/raw_dino_nugget.png | Bin 0 -> 506 bytes .../endermanoverhaul/recipes.js | 2 +- kubejs/server_scripts/tfg/data.js | 17 ++++++- kubejs/server_scripts/tfg/recipes.food.js | 42 ++++++++++++++++-- kubejs/server_scripts/tfg/tags.js | 16 ++++++- kubejs/startup_scripts/tfg/items.food.js | 18 ++++++-- 9 files changed, 87 insertions(+), 12 deletions(-) create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_dino_nugget.png create mode 100644 kubejs/assets/tfg/textures/item/food/raw_dino_nugget.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 10a660a21..c035fb0d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## [Unreleased] ### Changes - Normalized ladder crafting outputs, reduced ladders and wood frame burn times @oosyrag +- Added beer battered dinosaur nuggets, made from real dinosaur and real beer @Pyritie +- Added create packages/jars back to JEI so you can use them in filters, and added a tag for all jars (#2044) @Nashy1232 ### Bug fixes ### Translation updates diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 820b6f5ea..7b7e3601b 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -833,6 +833,8 @@ "item.tfg.food.cooked_stickastackatick": "Cooked Stick'a'Stackatick", "item.tfg.food.raw_cruncher_ribs": "Raw Cruncher Ribs", "item.tfg.food.cooked_cruncher_ribs": "Cooked Cruncher Ribs", + "item.tfg.food.raw_dino_nugget": "Prepared Dinosaur Nugget", + "item.tfg.food.cooked_dino_nugget": "Beer Battered Dinosaur Nugget", "item.tfg.roasted_sunflower_seeds": "Roasted Sunflower Seeds", "item.tfg.sunflower_seeds": "Sunflower Seed", "item.tfg.sunflower_product": "Sunflower Cap", diff --git a/kubejs/assets/tfg/textures/item/food/cooked_dino_nugget.png b/kubejs/assets/tfg/textures/item/food/cooked_dino_nugget.png new file mode 100644 index 0000000000000000000000000000000000000000..5e6668bd5cb8235e80a458952ec78966e4928e5a GIT binary patch literal 565 zcmV-50?Pe~P)z>&=Sf6CR5*>Ll1pn-Q51#0bM7mRxp<3}pm`QWO`>2yaG>=E2nH=q z0_xmJQIP(K4g-#y>Ck~_Iub{M13?P4lB6XGHce@*HrJBGhNS6nAl1ZNtKc4;%|2_f z_Sy^nv&8-*myW9b!L=7vG5q}x1i5rnott!sUCL0Me@bg(hw}T@KM{#sI;s*E0vtbe znw7;Ox`a^b44Z2ex?ejK7g`6B$U@1*unjh4^Pv z|GRg>$euzPg1rt%N8{O(6=w1cPZc^qcC~N#xTfyiItCI#6Dihf z53jI}SXhpU8PL%V>0G}V@l-Kj%)Xgn`$vD{b{x~MaWpv2T4fn)%wl2g%fMMZot;hE zYAO?>^KF;Fm_fVMLv$6oPtZkU>FqX!lFLlKA#^W-#K}=)vqyX)fxBKoNQFOa()`?^ zU2l`T>=2Kc080BEoJ&X5`AG-gVT0|hI$a^iKK#g=*LBW@NAQoDNCknAkHvQ`LkbEd zm(&#pWeOTgEgsEn{>sU7229MZHiV}K{mC2%nMZvG@_nv@*lf4A00000NkvXXu0mjf D(^C95 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/raw_dino_nugget.png b/kubejs/assets/tfg/textures/item/food/raw_dino_nugget.png new file mode 100644 index 0000000000000000000000000000000000000000..99d5c6f76b75697f65b73aca2e56cdf560379d25 GIT binary patch literal 506 zcmVz>&tVu*cR5*>Ll1*z9aS+CT^MBculA5!5hG{@Qn7sd@P+-O<5Ct5 z;KkcN&0#Omr!U(ef>fhhw*#1BG3+JUr~}@iDunrputmI1hp&95K9Dg_|V zKy$FpBKBq>HW*Z@_b|pH-eI;qw&F06MZ9J2SzO9u1A6_;M*XsmpLa0Mf)Vmnim7 { food.hunger(6); - food.saturation(3); - food.protein(5); + food.saturation(2); + food.protein(2); food.decayModifier(1.5); }); @@ -677,6 +677,19 @@ function registerTFGFoodData(event) { food.vegetables(2); }); + event.foodItem('tfg:food/raw_dino_nugget', (food) => { + food.type("dynamic"); + food.hunger(1); + food.decayModifier(3); + }); + + event.foodItem('tfg:food/cooked_dino_nugget', (food) => { + food.type("dynamic"); + food.hunger(3); + food.saturation(2); + food.decayModifier(1.5); + }); + // misc event.foodItem("tfg:food/ice_soup", (food) => { diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index d6d32a655..612e85bb6 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -112,7 +112,7 @@ function registerTFGFoodRecipes(event) { itemInputs: [input], itemOutputs: [out], fluidInputs: (fluid === undefined) ? [] : [fluid], - itemOutputProvider: (isFirmaDynamic) ? TFC.isp.of(out).firmaLifeCopyDynamicFood() : TFC.isp.of(out).copyFood().addTrait("firmalife:oven_baked") + itemOutputProvider: ((isFirmaDynamic) ? TFC.isp.of(out).firmaLifeCopyDynamicFood() : TFC.isp.of(out).copyFood()).addTrait("firmalife:oven_baked") }) } @@ -1176,12 +1176,16 @@ function registerTFGFoodRecipes(event) { event.recipes.tfc.heating('tfg:food/raw_long_pig_filet', 200) .resultItem(TFC.isp.of('tfg:food/cooked_long_pig_filet').copyFood()) + + event.recipes.tfc.heating('tfg:food/raw_dino_nugget', 200) + .resultItem(TFC.isp.of('tfg:food/cooked_dino_nugget').copyFood()) event.recipes.tfc.advanced_shapeless_crafting( TFC.itemStackProvider.of('tfg:food/raw_stickastackatick').copyFood(), [TFC.ingredient.notRotten('tfg:food/raw_stackatick_chunks'), '#forge:rods/wood'], 'tfg:food/raw_stackatick_chunks') .id(`tfg:crafting/raw_stickastackatick`) + // Bulbkin event.recipes.tfc.advanced_shapeless_crafting( TFC.itemStackProvider.of('4x betterend:cave_pumpkin_chunks').copyFood(), [TFC.ingredient.notRotten('betterend:cave_pumpkin'), '#forge:tools/hammers'], 'betterend:cave_pumpkin') @@ -1202,13 +1206,19 @@ function registerTFGFoodRecipes(event) { processorRecipe("cave_pumpkin_pie_dough", 300, GTValues.VA[GTValues.HV], { itemInputs: ['#tfg:martian_eggs', '2x betterend:cave_pumpkin_chunks', 'betterend:amber_root_product', 'tfg:wraptor_sugar'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ["betterend:cave_pumpkin_pie_dough"] + itemOutputs: ["betterend:cave_pumpkin_pie_dough"], + itemOutputProvider: TFC.isp.of("betterend:cave_pumpkin_pie_dough").copyOldestFood() }) event.recipes.firmalife.mixing_bowl() - .ingredients(['#tfg:martian_eggs', 'betterend:cave_pumpkin_chunks', 'betterend:cave_pumpkin_chunks', 'betterend:amber_root_product', 'tfg:wraptor_sugar'], + .ingredients([ + TFC.ingredient.notRotten('#tfg:martian_eggs'), + TFC.ingredient.notRotten('betterend:cave_pumpkin_chunks'), + TFC.ingredient.notRotten('betterend:cave_pumpkin_chunks'), + TFC.ingredient.notRotten('betterend:amber_root_product'), + 'tfg:wraptor_sugar'], Fluid.of('minecraft:water', 1000)) - .outputItem('betterend:cave_pumpkin_pie_dough') + .outputItem(TFC.isp.of('betterend:cave_pumpkin_pie_dough').copyOldestFood()) .id('tfg:mixing_bowl/cave_pumpkin_pie_dough') event.recipes.tfc.advanced_shapeless_crafting( @@ -1223,6 +1233,30 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of("betterend:cave_pumpkin_pie_raw").copyFood() }) + // Dino nugs + registerFoodRecipe("food_oven", "raw_dino_nugget", 300, GTValues.VA[GTValues.LV], "", { + itemInputs: ["tfg:food/raw_dino_nugget"], + itemOutputs: ["tfg:food/cooked_dino_nugget"], + fluidInputs: [], + itemOutputProvider: TFC.isp.of("tfg:food/cooked_dino_nugget") + .firmaLifeCopyDynamicFood() + .addTrait("firmalife:oven_baked") + .meal( + (food) => food.hunger(3).saturation(2).decayModifier(1.5), + [(portion) => portion.nutrientModifier(2.0)]) + }) + + processorRecipe("raw_dino_nuggets", 300, GTValues.VA[GTValues.HV], { + itemInputs: ['#tfg:raw_dinosaur_meat', '3x #tfc:foods/flour', 'tfc:powder/salt'], + fluidInputs: ['tfc:beer 200'], + itemOutputs: ['2x tfg:food/raw_dino_nugget'], + circuit: 1, + itemOutputProvider: TFC.isp.of("2x tfg:food/raw_dino_nugget").meal( + (food) => food.hunger(1).decayModifier(3).grain(0.4), + [(portion) => portion.nutrientModifier(0.5).waterModifier(0.4)] + ) + }) + //#endregion // Food processing machine recipes diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 43b536303..096c642aa 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -11,7 +11,6 @@ const registerTFGItemTags = (event) => { event.add('tfc:seeds', 'tfg:sunflower_seeds') event.add('tfc:seeds', 'tfg:rapeseed_seeds') event.add('tfc:seeds', 'tfg:flax_seeds') - event.add('tfc:foods', 'tfg:roasted_sunflower_seeds') event.add('tfc:compost_greens_high', 'tfg:rapeseed_product') event.add('tfc:compost_greens_high', 'tfg:sunflower_product') event.add('tfc:compost_greens_high', 'tfg:flax_product') @@ -263,6 +262,18 @@ const registerTFGItemTags = (event) => { event.add('tfc:foods/usable_in_jam_sandwich_2', item); }); + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_sniffer_beef') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_wraptor') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_springling_collar') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_walker_steak') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_glider_wings') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_whole_soarer') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_crusher_meat') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_goober_meat') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_cruncher_ribs') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_surfer_steak') + event.add('tfg:raw_dinosaur_meat', 'wan_ancient_beasts:raw_ancient_meat') + //#region Meal Bag /** * List of item tags and item IDs that are allowed to be used in a meal bag. @@ -287,7 +298,8 @@ const registerTFGItemTags = (event) => { 'firmalife:food/cooked_pasta', 'firmalife:food/pasta_with_tomato_sauce', 'firmalife:food/cooked_rice_noodles', - 'tfg:roasted_sunflower_seeds' + 'tfg:roasted_sunflower_seeds', + 'tfg:food/cooked_dino_nugget' ]; usable_in_meal_bag.forEach(item => { event.add('tfg:foods/usable_in_meal_bag', item); diff --git a/kubejs/startup_scripts/tfg/items.food.js b/kubejs/startup_scripts/tfg/items.food.js index b6f7a9885..4fa8ff488 100644 --- a/kubejs/startup_scripts/tfg/items.food.js +++ b/kubejs/startup_scripts/tfg/items.food.js @@ -72,6 +72,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.roasted_sunflower_seeds') .texture('tfg:item/roasted_sunflower_seeds') .food(food => food.hunger(4).saturation(2)) + .tag('tfc:foods') .tag('tfc:foods/grains') .tag('tfc:foods/usable_in_salad') @@ -301,7 +302,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/raw_long_pig_filet') .translationKey('item.tfg.food.raw_long_pig_filet') .texture('tfg:item/food/raw_long_pig_filet') - .food(food => food.hunger(2).saturation(2) + .food(food => food.hunger(2).saturation(1) .effect('minecraft:hunger', 100, 0, 1)) .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -309,10 +310,22 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_long_pig_filet') .translationKey('item.tfg.food.cooked_long_pig_filet') .texture('tfg:item/food/cooked_long_pig_filet') - .food(food => food.hunger(7).saturation(8)) + .food(food => food.hunger(4).saturation(2)) .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') + // Dino nuggies + event.create('tfg:food/raw_dino_nugget') + .texture('tfg:item/food/raw_dino_nugget') + .food(food => food.hunger(1).saturation(1)) + .tag('tfc:foods') + + event.create('tfg:food/cooked_dino_nugget') + .texture('tfg:item/food/cooked_dino_nugget') + .food(food => food.hunger(3).saturation(2)) + .tag('tfc:foods') + + // Ice soup (intentionally not tagged as food) event.create('tfg:food/ice_soup') .translationKey('item.tfg.food.ice_soup') .texture('tfg:item/food/ice_soup') @@ -322,5 +335,4 @@ function registerTFGFoodItems(event) { ctx.player.give('tfc:ceramic/bowl') }) }) - // intentionally not tagged as food }