From 18d3b9e4b5cec6ea3b98edf012f6e8d2fecaf38b Mon Sep 17 00:00:00 2001 From: Ujhik Date: Sat, 14 Mar 2026 18:23:29 +0100 Subject: [PATCH] feat: Added bison and seal loottable and bison raw and cooked meats (#3396) * feat: Added bison and seal loottable and bison raw and cooked meats * fix: lang in tools and bison meat in rich stock and as burguer meat --- kubejs/assets/tfg/lang/en_us.json | 2 ++ .../textures/item/food/cooked_bison_meat.png | Bin 0 -> 518 bytes .../tfg/textures/item/food/raw_bison_meat.png | Bin 0 -> 448 bytes kubejs/server_scripts/tfg/food/data.food.js | 14 +++++++++++ .../server_scripts/tfg/food/recipes.food.js | 3 +++ kubejs/server_scripts/tfg/food/tags.food.js | 3 +++ kubejs/server_scripts/tfg/loot.js | 22 ++++++++++++++++++ kubejs/startup_scripts/tfc/constants.js | 1 + kubejs/startup_scripts/tfg/items.food.js | 14 +++++++++++ 9 files changed, 59 insertions(+) create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_bison_meat.png create mode 100644 kubejs/assets/tfg/textures/item/food/raw_bison_meat.png diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index a8acc70a8..6025ec563 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1265,6 +1265,8 @@ "item.tfg.food.oatmeal": "Oatmeal", "item.tfg.food.raw_instant_mac": "Uncooked Instant Mac & Cheese", "item.tfg.food.cooked_instant_mac": "Instant Mac & Cheese", + "item.tfg.food.raw_bison_meat": "Raw Bison Meat", + "item.tfg.food.cooked_bison_meat": "Cooked Bison Meat", "item.tfg.spice.bay_leaf": "Bay Leaf", "item.tfg.spice.cardamom_pods": "Cardamom Pods", "item.tfg.spice.cilantro_leaves": "Cilantro Leaves", diff --git a/kubejs/assets/tfg/textures/item/food/cooked_bison_meat.png b/kubejs/assets/tfg/textures/item/food/cooked_bison_meat.png new file mode 100644 index 0000000000000000000000000000000000000000..628f8d5339a0abdaf9edeef52240b3909a8dcc29 GIT binary patch literal 518 zcmV+h0{Q)kP)Px$z)3_wR5*>zl21sJVI0Rl(^tgd)|R!hv)Nq z9{BIG{dP{2nwOOtZY)j;sj8+VNGety_WMM5A&eTEDFB^s3R<$~EXB$hX@ z1(j6}w7mm@Lm_JAM%?w+a=ikDVZTpw4fL?NwvOFt#n<6S-PN!=C0;#w!IW|@PbUW$ zZ1akNtBu0ja+&b*3hJK9^{!jIUtPy)tE9d2Hv2J^;82LHPEKL4%`588oZv#kCBAKc z#Z2imv^Eoqd_+$f+z53OUV2H!G_cxjXmO44#SKf|4epF6L?dr7Q#!S>o9Md;ddi@w z{R+?Lm&uq09o?O1agAs!L7qY)X)=EI0US&8k1FhLedh3Inwq+^Y_7dV9HzP0+RWz|lNt0(EzWn(a10Gob zWI?WzHu^>srtd%G;Cs5DT=XCO4vK3AKtcJh33z0Yh5fVq0x1}^1NU3$R{#J207*qo IM6N<$f_0Px$dPzhzkTFOCaTLZstHH?XhDyaDjS`_yL%9fyz=)QXqL9{TaB~d`8iF<( zgcO4ytiUh`A|s>07KI!_2f>sGq|BgH&QekMH^?0wS42Y4H@)Ted+&R|zt7V{j5G{K zLIag93>V>~9wL1|`XK_?u_&-RNOIX(HA)_Qvxg9u<#E@VZ7$+uCTwlS>U5cv~t<-ow z6S0FuDJKKsR=fe2l~SMsL7a>jA)_Q*HAgCqWVwXH`;15+U?l+XS)_715VkBLTB!+O qf#5sQW4QzX0{F*Rlybt#{wyEp`NbNV0hn9>0000 { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_bison_meat", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(3); + food.decayModifier(2.25); + }); + // Springling Collar event.foodItem("tfg:food/raw_springling_collar", (food) => { food.hunger(2); diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index 578eb0b41..304930af5 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -1300,6 +1300,9 @@ function registerTFGFoodRecipes(event) { event.recipes.tfc.heating('tfg:food/raw_wraptor', 200) .resultItem(TFC.isp.of('tfg:food/cooked_wraptor').copyFood()) + + event.recipes.tfc.heating('tfg:food/raw_bison_meat', 200) + .resultItem(TFC.isp.of('tfg:food/cooked_bison_meat').copyFood()) event.recipes.tfc.heating('tfg:food/raw_springling_collar', 200) .resultItem(TFC.isp.of('tfg:food/cooked_springling_collar').copyFood()) diff --git a/kubejs/server_scripts/tfg/food/tags.food.js b/kubejs/server_scripts/tfg/food/tags.food.js index 293097dba..2db8810e7 100644 --- a/kubejs/server_scripts/tfg/food/tags.food.js +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -128,6 +128,8 @@ function registerTFGFoodItemTags(event) { 'tfg:food/cooked_walker_steak', 'tfg:food/raw_crusher_meat', 'tfg:food/cooked_crusher_meat', + 'tfg:food/raw_bison_meat', + 'tfg:food/cooked_bison_meat', 'wan_ancient_beasts:raw_ancient_meat', 'wan_ancient_beasts:cooked_ancient_meat' ]; @@ -185,6 +187,7 @@ function registerTFGFoodItemTags(event) { 'tfc:food/venison', 'tfg:food/raw_sniffer_beef', 'tfg:food/raw_crusher_meat', + 'tfg:food/raw_bison_meat', 'wan_ancient_beasts:raw_ancient_meat' ]; burgerMeats.forEach(item => { diff --git a/kubejs/server_scripts/tfg/loot.js b/kubejs/server_scripts/tfg/loot.js index 173f8e745..a2e4d4915 100644 --- a/kubejs/server_scripts/tfg/loot.js +++ b/kubejs/server_scripts/tfg/loot.js @@ -169,4 +169,26 @@ function registerTFGLoots(event) { event.addEntityLootModifier('tfg:wraptor') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 3], ['tfg:food/raw_wraptor']) + + // Leopard seal normal loot table + event.addEntityLootModifier('tfg:leopard_seal') + .addWeightedLoot([3, 6], ['tfc:blubber']) + .addWeightedLoot([1, 4], ['minecraft:bone']) + .addWeightedLoot([1], ['tfc:medium_raw_hide']) + + // Leopard seal extra with butchery knife + event.addEntityLootModifier('tfg:leopard_seal') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 3], ['tfc:blubber']) + + // Bison normal loot table + event.addEntityLootModifier('tfg:bison') + .addWeightedLoot([12, 20], ['tfg:food/raw_bison_meat']) + .addWeightedLoot([7, 10], ['minecraft:bone']) + .addWeightedLoot([1], ['tfc:large_raw_hide']) + + // Bison drop extra with butchery knife + event.addEntityLootModifier('tfg:bison') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([4, 6], ['tfg:food/raw_bison_meat']) }; diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 366cf37b9..9170dd3cd 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -739,6 +739,7 @@ global.TFC_MEAT_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "tfg:food/raw_glacian_mutton", output: "tfg:food/cooked_glacian_mutton", name: "cooked_glacian_mutton" }, { input: "tfg:food/raw_sniffer_beef", output: "tfg:food/cooked_sniffer_beef", name: "cooked_sniffer_beef" }, { input: "tfg:food/raw_wraptor", output: "tfg:food/cooked_wraptor", name: "cooked_wraptor" }, + { input: "tfg:food/raw_bison_meat", output: "tfg:food/cooked_bison_meat", name: "cooked_bison_meat" }, { input: "wan_ancient_beasts:toxlacanth", output: "wan_ancient_beasts:cooked_toxlacanth", name: "cooked_toxlacanth" }, { input: "tfg:food/raw_springling_collar", output: "tfg:food/cooked_springling_collar", name: "cooked_springling_collar" }, { input: "tfg:food/raw_walker_steak", output: "tfg:food/cooked_walker_steak", name: "cooked_walker_steak" }, diff --git a/kubejs/startup_scripts/tfg/items.food.js b/kubejs/startup_scripts/tfg/items.food.js index 3c3955985..e1f32eb22 100644 --- a/kubejs/startup_scripts/tfg/items.food.js +++ b/kubejs/startup_scripts/tfg/items.food.js @@ -170,6 +170,20 @@ function registerTFGFoodItems(event) { .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') + //Bison + event.create('tfg:food/raw_bison_meat') + .food(food => food.hunger(2).saturation(1) + .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') + .tag('tfc:foods/meats') + .tag('tfc:foods/raw_meats') + + event.create('tfg:food/cooked_bison_meat') + .food(food => food.hunger(5).saturation(4)) + .tag('tfc:foods') + .tag('tfc:foods/meats') + .tag('tfc:foods/cooked_meats') + //Springling event.create('tfg:food/raw_springling_collar') .translationKey('item.tfg.food.raw_springling_chops')