From 69d8e68ef1e5f734cb1cfd316749d58a3b5b407c Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 10 Oct 2025 03:14:29 -0500 Subject: [PATCH] Meats and eats (#2001) * meats and eats * changelog and pt_br --- CHANGELOG.md | 1 + .../en_us/entries/tfg_tips/space_fauna.json | 6 +- kubejs/assets/tfg/lang/en_us.json | 13 ++- kubejs/assets/tfg/lang/pt_br.json | 23 +++++ .../item/food/cooked_stickastackatick.json | 96 ++++++++++++++++++ .../item/food/raw_stickastackatick.json | 96 ++++++++++++++++++ .../item/food/cooked_cruncher_ribs.png | Bin 0 -> 494 bytes .../textures/item/food/cooked_goober_meat.png | Bin 885 -> 373 bytes .../item/food/cooked_long_pig_filet.png | Bin 0 -> 406 bytes .../item/food/cooked_springling_chops.png | Bin 673 -> 0 bytes .../item/food/cooked_springling_collar.png | Bin 0 -> 1421 bytes .../food/cooked_springling_collar.png.mcmeta | 1 + .../item/food/cooked_stickastackatick.png | Bin 0 -> 184 bytes .../item/food/cooked_surfer_steak.png | Bin 0 -> 636 bytes .../textures/item/food/raw_cruncher_ribs.png | Bin 0 -> 484 bytes .../textures/item/food/raw_goober_meat.png | Bin 959 -> 367 bytes .../textures/item/food/raw_long_pig_filet.png | Bin 0 -> 362 bytes .../item/food/raw_springling_chops.png | Bin 797 -> 0 bytes .../item/food/raw_springling_collar.png | Bin 0 -> 1423 bytes .../food/raw_springling_collar.png.mcmeta | 1 + .../item/food/raw_stackatick_chunks.png | Bin 0 -> 473 bytes .../item/food/raw_stickastackatick.png | Bin 0 -> 175 bytes .../textures/item/food/raw_surfer_steak.png | Bin 0 -> 484 bytes .../primitive_creatures/loot.js | 50 ++++++++- kubejs/server_scripts/species/loot.js | 18 +++- kubejs/server_scripts/tfg/data.js | 63 +++++++++++- kubejs/server_scripts/tfg/recipes.food.js | 23 ++++- .../server_scripts/wan_ancient_beasts/loot.js | 8 +- kubejs/startup_scripts/tfc/constants.js | 18 ++-- kubejs/startup_scripts/tfg/items.food.js | 87 +++++++++++++++- 30 files changed, 469 insertions(+), 35 deletions(-) create mode 100644 kubejs/assets/tfg/models/item/food/cooked_stickastackatick.json create mode 100644 kubejs/assets/tfg/models/item/food/raw_stickastackatick.json create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_cruncher_ribs.png create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_long_pig_filet.png delete mode 100644 kubejs/assets/tfg/textures/item/food/cooked_springling_chops.png create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_springling_collar.png create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_springling_collar.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_stickastackatick.png create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_surfer_steak.png create mode 100644 kubejs/assets/tfg/textures/item/food/raw_cruncher_ribs.png create mode 100644 kubejs/assets/tfg/textures/item/food/raw_long_pig_filet.png delete mode 100644 kubejs/assets/tfg/textures/item/food/raw_springling_chops.png create mode 100644 kubejs/assets/tfg/textures/item/food/raw_springling_collar.png create mode 100644 kubejs/assets/tfg/textures/item/food/raw_springling_collar.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/food/raw_stackatick_chunks.png create mode 100644 kubejs/assets/tfg/textures/item/food/raw_stickastackatick.png create mode 100644 kubejs/assets/tfg/textures/item/food/raw_surfer_steak.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 66d5ea237..9dfd49d03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## [Unreleased] ### Changes +- Added meats for the surfer, cruncher, stackatick and primitive creatures mobs. #2001 @Redeix ### Bug fixes ## [0.11.2] - 09-10-2025 diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json index 7e5ba31b9..c9ccd1669 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json @@ -125,7 +125,7 @@ "entity": "species:cruncher", "scale": 0.7, "name": "Cruncher", - "text": "$(thing)Crunchers$() are territorial $(item)miniboss$() predators. Feed them meat to stop their regeneration." + "text": "$(thing)Crunchers$() are territorial $(item)miniboss$() predators. Feed them meat to stop their regeneration. They can also be eaten." }, { "type": "patchouli:entity", @@ -156,7 +156,7 @@ "entity": "species:springling", "scale": 0.9, "name": "Springling", - "text": "$(thing)Springlings$() are wild animals found above -108°C. Feeding them $(item)Saplings$() will let you ride them and extend their extremely long necks." + "text": "$(thing)Springlings$() are wild animals found above -108°C. Feeding them $(item)Saplings$() will let you ride them and extend their extremely long necks. They can also be eaten." }, { "type": "patchouli:entity", @@ -185,7 +185,7 @@ "entity": "species:stackatick", "scale": 0.4, "name": "Stackatick", - "text": "One of the few animals that can survive the Martian desert, $(thing)Stackaticks$() are passive prey animals. They cannot be eaten." + "text": "One of the few animals that can survive the Martian desert, $(thing)Stackaticks$() are passive prey animals. They can also be eaten." } ], "read_by_default": true diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index f2bc6a98a..28845c109 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -811,8 +811,8 @@ "item.tfg.spawn_egg.sniffer": "Sniffer Spawn Egg", "item.tfg.food.raw_wraptor": "Raw Wraptor", "item.tfg.food.cooked_wraptor": "Cooked Wraptor", - "item.tfg.food.raw_springling_chops": "Raw Springling Chops", - "item.tfg.food.cooked_springling_chops": "Cooked Springling Chops", + "item.tfg.food.raw_springling_collar": "Raw Springling Collar", + "item.tfg.food.cooked_springling_collar": "Cooked Springling Collar", "item.tfg.food.raw_walker_steak": "Raw Walker Steak", "item.tfg.food.cooked_walker_steak": "Cooked Walker Steak", "item.tfg.food.raw_glider_wings": "Raw Glider Wings", @@ -823,6 +823,15 @@ "item.tfg.food.cooked_crusher_meat": "Cooked Crusher Meat", "item.tfg.food.raw_goober_meat": "Raw Goober Meat", "item.tfg.food.cooked_goober_meat": "Cooked Goober Meat", + "item.tfg.food.raw_long_pig_filet": "Raw Long Pig Filet", + "item.tfg.food.cooked_long_pig_filet": "Cooked Long Pig Filet", + "item.tfg.food.raw_surfer_steak": "Raw Surfer Steak", + "item.tfg.food.cooked_surfer_steak": "Cooked Surfer Steak", + "item.tfg.food.raw_stackatick_chunks": "Raw Stackatick Chunks", + "item.tfg.food.raw_stickastackatick": "Raw Stick'a'Stackatick", + "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.roasted_sunflower_seeds": "Roasted Sunflower Seeds", "item.tfg.sunflower_seeds": "Sunflower Seed", "item.tfg.sunflower_product": "Sunflower Cap", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index d5de2d7c4..932c54fde 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -551,6 +551,29 @@ "item.tfg.food.raw_sniffer_beef": "Bife de Farejador Cru", "item.tfg.food.cooked_sniffer_beef": "Bife de Farejador Cozido", "item.tfg.spawn_egg.sniffer": "Ovo Gerador de Farejador", + "item.tfg.food.raw_wraptor": "Carne de Distráptor Crua", + "item.tfg.food.cooked_wraptor": "Carne de Distráptor Cozida", + "item.tfg.food.raw_springling_collar": "Colar de Pescoçudo Cru", + "item.tfg.food.cooked_springling_collar": "Colar de Pescoçudo Cozido", + "item.tfg.food.raw_walker_steak": "Bife Andador Cru", + "item.tfg.food.cooked_walker_steak": "Bife Andador Cozido", + "item.tfg.food.raw_glider_wings": "Asas de Planador Cruas", + "item.tfg.food.cooked_glider_wings": "Asas de Planador Cozidas", + "item.tfg.food.raw_whole_soarer": "Carne de Voador Inteira Cru", + "item.tfg.food.cooked_whole_soarer": "Carne de Voador Inteira Cozida", + "item.tfg.food.raw_crusher_meat": "Carne de Esmagador Cru", + "item.tfg.food.cooked_crusher_meat": "Carne de Esmagador Cozida", + "item.tfg.food.raw_goober_meat": "Carne Espirrão Cru", + "item.tfg.food.cooked_goober_meat": "Carne Espirrão Cozida", + "item.tfg.food.raw_long_pig_filet": "Filé de \"Porco\" Cru", + "item.tfg.food.cooked_long_pig_filet": "Filé de \"Porco\" Cozido", + "item.tfg.food.raw_surfer_steak": "Bife de Surfista Cru", + "item.tfg.food.cooked_surfer_steak": "Bife de Surfista Cozido", + "item.tfg.food.raw_stackatick_chunks": "Pedaços de Carraplato Cru", + "item.tfg.food.raw_stickastackatick": "Carraplato no Taco Cru", + "item.tfg.food.cooked_stickastackatick": "Carraplato no Taco Cozido", + "item.tfg.food.raw_cruncher_ribs": "Costelas de mastigador Cru", + "item.tfg.food.cooked_cruncher_ribs": "Costelas de Mastigador Cozidas", "item.tfg.roasted_sunflower_seeds": "Sementes de Girassol Torradas", "item.tfg.sunflower_seeds": "Sementes de Girassol", "item.tfg.sunflower_product": "Chapéu de Girassol", diff --git a/kubejs/assets/tfg/models/item/food/cooked_stickastackatick.json b/kubejs/assets/tfg/models/item/food/cooked_stickastackatick.json new file mode 100644 index 000000000..18beb9a33 --- /dev/null +++ b/kubejs/assets/tfg/models/item/food/cooked_stickastackatick.json @@ -0,0 +1,96 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "tfg:item/food/cooked_stickastackatick", + "particle": "tfg:item/food/cooked_stickastackatick" + }, + "elements": [ + { + "from": [7.5, 0, 7.5], + "to": [8.5, 16, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7.5, 0, 7.5]}, + "faces": { + "north": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "up": {"uv": [1, 1, 0, 0], "texture": "#0"}, + "down": {"uv": [1, 15, 0, 16], "texture": "#0"} + } + }, + { + "from": [6.5, 5, 6.5], + "to": [9.5, 8, 9.5], + "rotation": {"angle": 0, "axis": "x", "origin": [7.5, 5, 6.5]}, + "faces": { + "north": {"uv": [1, 0, 4, 3], "texture": "#0"}, + "east": {"uv": [4, 0, 1, 3], "texture": "#0"}, + "south": {"uv": [1, 3, 4, 0], "texture": "#0"}, + "west": {"uv": [4, 3, 1, 0], "texture": "#0"}, + "up": {"uv": [4, 0, 1, 3], "texture": "#0"}, + "down": {"uv": [1, 0, 4, 3], "texture": "#0"} + } + }, + { + "from": [6.5, 8, 6.5], + "to": [9.5, 11, 9.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 0, 4, 3], "texture": "#0"}, + "east": {"uv": [4, 0, 1, 3], "texture": "#0"}, + "south": {"uv": [1, 3, 4, 0], "texture": "#0"}, + "west": {"uv": [4, 3, 1, 0], "texture": "#0"}, + "up": {"uv": [4, 0, 1, 3], "texture": "#0"}, + "down": {"uv": [1, 0, 4, 3], "texture": "#0"} + } + }, + { + "from": [6.5, 11, 6.5], + "to": [9.5, 14, 9.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 11, 8]}, + "faces": { + "north": {"uv": [1, 0, 4, 3], "texture": "#0"}, + "east": {"uv": [4, 0, 1, 3], "texture": "#0"}, + "south": {"uv": [1, 3, 4, 0], "texture": "#0"}, + "west": {"uv": [4, 3, 1, 0], "texture": "#0"}, + "up": {"uv": [4, 0, 1, 3], "texture": "#0"}, + "down": {"uv": [1, 0, 4, 3], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0, 3, 1.25], + "scale": [0.6, 0.6, 0.6] + }, + "thirdperson_lefthand": { + "translation": [0, 3, 1.25], + "scale": [0.6, 0.6, 0.6] + }, + "firstperson_righthand": { + "rotation": [-85, 0, 6], + "translation": [-1.25, 3.75, 1.5], + "scale": [0.75, 0.75, 0.75] + }, + "firstperson_lefthand": { + "rotation": [-85, 0, 6], + "translation": [-1.25, 3.75, 1.5], + "scale": [0.75, 0.75, 0.75] + }, + "ground": { + "translation": [0, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [0, 41, -45] + }, + "head": { + "rotation": [0, -90, -90], + "translation": [0, -4, -11.25] + }, + "fixed": { + "rotation": [0, -180, 0] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/food/raw_stickastackatick.json b/kubejs/assets/tfg/models/item/food/raw_stickastackatick.json new file mode 100644 index 000000000..53ef1e98b --- /dev/null +++ b/kubejs/assets/tfg/models/item/food/raw_stickastackatick.json @@ -0,0 +1,96 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "textures": { + "0": "tfg:item/food/raw_stickastackatick", + "particle": "tfg:item/food/raw_stickastackatick" + }, + "elements": [ + { + "from": [7.5, 0, 7.5], + "to": [8.5, 16, 8.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7.5, 0, 7.5]}, + "faces": { + "north": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#0"}, + "up": {"uv": [1, 1, 0, 0], "texture": "#0"}, + "down": {"uv": [1, 15, 0, 16], "texture": "#0"} + } + }, + { + "from": [6.5, 5, 6.5], + "to": [9.5, 8, 9.5], + "rotation": {"angle": 0, "axis": "x", "origin": [7.5, 5, 6.5]}, + "faces": { + "north": {"uv": [1, 0, 4, 3], "texture": "#0"}, + "east": {"uv": [4, 0, 1, 3], "texture": "#0"}, + "south": {"uv": [1, 3, 4, 0], "texture": "#0"}, + "west": {"uv": [4, 3, 1, 0], "texture": "#0"}, + "up": {"uv": [4, 0, 1, 3], "texture": "#0"}, + "down": {"uv": [1, 0, 4, 3], "texture": "#0"} + } + }, + { + "from": [6.5, 8, 6.5], + "to": [9.5, 11, 9.5], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 0, 4, 3], "texture": "#0"}, + "east": {"uv": [4, 0, 1, 3], "texture": "#0"}, + "south": {"uv": [1, 3, 4, 0], "texture": "#0"}, + "west": {"uv": [4, 3, 1, 0], "texture": "#0"}, + "up": {"uv": [4, 0, 1, 3], "texture": "#0"}, + "down": {"uv": [1, 0, 4, 3], "texture": "#0"} + } + }, + { + "from": [6.5, 11, 6.5], + "to": [9.5, 14, 9.5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 11, 8]}, + "faces": { + "north": {"uv": [1, 0, 4, 3], "texture": "#0"}, + "east": {"uv": [4, 0, 1, 3], "texture": "#0"}, + "south": {"uv": [1, 3, 4, 0], "texture": "#0"}, + "west": {"uv": [4, 3, 1, 0], "texture": "#0"}, + "up": {"uv": [4, 0, 1, 3], "texture": "#0"}, + "down": {"uv": [1, 0, 4, 3], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [0, 3, 1.25], + "scale": [0.6, 0.6, 0.6] + }, + "thirdperson_lefthand": { + "translation": [0, 3, 1.25], + "scale": [0.6, 0.6, 0.6] + }, + "firstperson_righthand": { + "rotation": [-85, 0, 6], + "translation": [-1.25, 3.75, 1.5], + "scale": [0.75, 0.75, 0.75] + }, + "firstperson_lefthand": { + "rotation": [-85, 0, 6], + "translation": [-1.25, 3.75, 1.5], + "scale": [0.75, 0.75, 0.75] + }, + "ground": { + "translation": [0, 2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [0, 41, -45] + }, + "head": { + "rotation": [0, -90, -90], + "translation": [0, -4, -11.25] + }, + "fixed": { + "rotation": [0, -180, 0] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/food/cooked_cruncher_ribs.png b/kubejs/assets/tfg/textures/item/food/cooked_cruncher_ribs.png new file mode 100644 index 0000000000000000000000000000000000000000..9dd0c8ffd80796c2f8895e212414a6672e4aaa9d GIT binary patch literal 494 zcmV1vOB<{kxQ$m+DDJcYF2%161askM+7p~{l!Ibts&TS-JI*>%BRzGn2sfZjQMo+<>RoC!XLSw@s9IAxP&dzI1I3^h;qHhhP*QqR3yF?0W!C~6JCbS#Nfg1otA z;CWg+njI9Zm3rag$6@YY6hl7(;8H0>slv`yo9S5UX`h_#=OWi1KFcQn2xLs85-ycu z;CVcH;%dl7YnMgWB|uh@O0aB$mMH*q^hMVk;QRT60FO=JFgYD3S^xk507*qoM6N<$f*EM#-2eap literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/cooked_goober_meat.png b/kubejs/assets/tfg/textures/item/food/cooked_goober_meat.png index 041f5433b6083206c918a0da984e5da2c6394c2e..9d8000be92aa4b77ad89da532449b6ee637af916 100644 GIT binary patch delta 346 zcmV-g0j2)+2K54vB!4_fL_t(Ijir;pOTus*#Xm;VsY_Q&&A^aycw4W1v^6La$WC zzYH3+x+oPiPS5KsGD$=`Xw>Qfad%I}8cqQy?`LT}egM$v8h=fnvmO;69u)!j8h8LG zs)RM1^7%fdRM1dViB8vuUt!`pv|D}Jtv>p(8cL?95{fEud;c7|4<)cBHtCcMz}bK+mwbzIq8}w&VCm0W?D^l(&mQNoN9+S=f#fh%>Sr zpTPB8T+aodR8!D^-y(g{z#QTHaDrEud&aF?UI1wMO#lw`9WHMk{Be^A<~kUdBcCKv s$rNv$UaW9of@qonNgNw7S4z7YA_yOWBI4QbFiT_Iq zEn+-4?#H`(kGpq((5f-j?27}cW*M1eLd+Ld#er7@5JDJZh<{4V)Kl5T96ZO@J$!t< zi}5V)bAOH@rD!t1Clbe*Zdk+{#Iu{0&Uv3W!YYzNd`>)R&;^Mfxh}i>#<}dUz%wI8 zE;COYAr{L$EcY<07%K4$aa2(?$`|r3E1b7DtF;E}+>^gBSkzXsT&FpTB$kju8X{yg zP(=+EVzg?cn19I7e!{~);`r0#lF3yCBgX>jP$4;f@IUz7ty!9$a+87yp#R0TKgNN9 zU7+2x?eAmTZl3`DXW&Zf`s*!V?vwOpSBoA2p>5#ex~s{1z~v4w{G>~UmKh8^ndpD@0m`2KhU6Z%o&Ys$N&HU z24YJ`L;wH)0002_L%V+f000SaNLh0L04^f{04^f|c%?sf00007bV*G`2k8h86dM<$ zM*fTd000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0003_NklWGGP7iu<)%56V3BY*z20+~f&PS6uCq`IJ zmz&IsnbFj?BOxV|2~ws2ytfmqk0>R{rJ?bGOn*n3)^a|Yhy6 zrLD+}W+U(8d_WF12{)<^xWEO5g%d^9a{W^C+Ip-Hcpuo>+XLwdI2tR+ zwO1lf6Q*6@;;s@)D+~)KW=7L4&~$-^n=1~Fju{w*!qQpCbM3w+{`LopIN44k!1kJ1 o%Fl$u!igUZz8fuKQT#XX0d;AcSDn!7h5!Hn07*qoM6N<$g4daXK>z>% diff --git a/kubejs/assets/tfg/textures/item/food/cooked_long_pig_filet.png b/kubejs/assets/tfg/textures/item/food/cooked_long_pig_filet.png new file mode 100644 index 0000000000000000000000000000000000000000..539821da359795efe039c0e9acffc25ea35ea8ba GIT binary patch literal 406 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 LNkvXXu0mjfCv2?+ diff --git a/kubejs/assets/tfg/textures/item/food/raw_long_pig_filet.png b/kubejs/assets/tfg/textures/item/food/raw_long_pig_filet.png new file mode 100644 index 0000000000000000000000000000000000000000..c0252390e5a8843596f6c6df65f4d4943e2b7349 GIT binary patch literal 362 zcmV-w0hRuVP)5a~7=|B8<{907*qo IM6N<$g2MWjc>n+a literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/raw_springling_chops.png b/kubejs/assets/tfg/textures/item/food/raw_springling_chops.png deleted file mode 100644 index 57c624022788adf7747f47542e1afc66c6625e46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 797 zcmV+&1LFLNP)EX>4Tx04R}tkv&MmKpe$iQ^g{c4(%W!n4vn^MMWG-6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2zhIPS;0dyl(!fY7Qj)$EG{s%9CP zWJ1grR>gr=1Q0?PV~9%3)Kl5T96ZO@J$!t)R&;^Mfxh}i>#<}dUz%wI8E;COYAr{L$EcY<07%K4$aa2(?$`|r3 zE1b7DtF;E}+>^gBSkzXsT&FpTB$kju8X{ygP(=+EVzg?cn8?t6!oxq}_|xQ)$yEg- z#{%k5Avu2VKlt6PS(=`5lY$AL|HZaH#({xdpxw0X?_=9;p8)=6;7aTI>n&jJlk{d+ ziyi@?ZQ$a%tI2!7A(Ki)<@GUU7=JwXv$LRx*qpp^3fP+I| zqDEo-Qjmw2ZgEtScs_=l$S@=*~xPPOnad!0^w7mx*))^TOC}2 z3srSi4V(7%TE=L&wbB)s9lo8TI{|rlB%Ga%=dxNW;K0r^uEKHiJfC2OUIVZG1M`>N b0`E3|>QI=AKbTgg00000NkvXXu0mjfw>Vnm diff --git a/kubejs/assets/tfg/textures/item/food/raw_springling_collar.png b/kubejs/assets/tfg/textures/item/food/raw_springling_collar.png new file mode 100644 index 0000000000000000000000000000000000000000..df301b209a8af7a045e8616f2c79276d3a231662 GIT binary patch literal 1423 zcmb_cYc$k(82-&|$%H{tVP{4-l1r(u)LbykSTt(fqR2HFStO#-WRy$UgrZ^%Y7aS0 zq8*nOQ>;|(!r19dk}{fH=P#FdBY3cQ)1rglb?8j|_^Vd3fBjW?hH zf3=iR|5VSlLzZat%VVx(n>aczesK%F&D0qX+GeC5oi?h_&k4V?GV#z}V>ZRr2}*)! zZ?>Q9@K~5x+%Zgxy5GD3$KBW`(+p=hry205fcCO+5lEPZwH(me2}6Gb}oT z4gl47q#BwU0-%D}QdO!YyBe+7K|XcOwXSzYU@#l z7GXeekhoTK@6;y!G(&Ge#u64S>L@k#1}qY(9q{7;VByfPPaVbx3BvD|N|3!4=u;Y~ z(XB8yfWZKC!3-ilq8Q=;n~-~vkjc+PA{F=AKBfN6*Vq88k~Xj6{xs0U01{R~!pYwW z4hIS#3FpLRD(P=*7A9I_gEHW%hnA_A|0ig=5;cGhs7FD;vfvqN*fH1GVV!U6{&Uww z{Dzf}W}#}_z}Pq8Hoo!%&XZC4-n5C&GiAxIjX@`SJ$0xuCqy4tJ!LhQT7$o2Oa~1&}yYn^x54U6ya*Yf~`Zq(_O;#|o2(m%`Ydkdt zr&KwJ_@G?-eeTcY3=={{jS6L)QcZ^#XLl!V^V-?#{EjJ_@x-!Q)$^V&nxfeGZ{?%l_v=?N*EWRHH<<|8D2(|znBXEcs=iwc+JBgDh9(kN}UvYzMz2+3qae3Ea& z{V&RYBoiThN)NTJzhRe3V3}dQR9m49Fuch%SLw>=iGVFA)|iJDkai-$5k*O|%Si}> z1M{Jdk~T-MV*Pn54NW>@>9!_!*%(=6%|l0$<1eI{lu^YC6FAMCQ{4r>S?B1t`Uq3crzMVbO~|FO;^7UFxctoIWS`cQ9KoZ*4@4f3^32 zONA6Sp<1_u;D!W>IYMJGQ1yDGwj1*~{V%>vX+E1Oy8Av!&>O zz_C?0i@R`zCFtEgFQYaq+8>A9Rdi9Au%;~Nbj)|qA_G*wS z$#JHKmsDS82$2g4trX_yT|+`m%*Vld`xXO(qp;<=4LX z5`bGP3GZFYOMGw;&Hg8}8eshYk2Td(>vAv}=#|4#vl-IKLjW%K_hgN3=w1ii9g0|(nM5;9 z0E}{pz>kpZ?sP5{3mykDf@Yco{eDvCr}Xvo&>!drAR3>S`*@?2k>0gy@_xrjxp@hp)`jh03tp+=g7<~z(=C|iEVe`BO<=CH&)tXuw$ z-SJpTf%dJ4fLRkZMKOpte6d!neDv%dbP0l+XkK1!q1w literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/raw_surfer_steak.png b/kubejs/assets/tfg/textures/item/food/raw_surfer_steak.png new file mode 100644 index 0000000000000000000000000000000000000000..08ea661850f5f832fd9dc6d6f59ce3ad59edca40 GIT binary patch literal 484 zcmVKK*<~0W#1Ra3X=DpwQ*LLM#(QRlbP%k3!dt}3+KG^&b!yR{Puz8VD4FLz|3u$mI5d& zIM|CWcq;_QN5+2%h)Pu@2d_lXZt?OqL{zFOPh@VEe1F;{>UM~_9r*ndQL7W*Md0@l zwYoA*ONr$*^^bt4)fIl9_%6a(-{9dva(^3w-<#Iy%W8F%5eV8X@Kz`+I7HnJrfEIB zzcj5=2->Y|2Bv8d93LSnRqWXeUKJ-nrfM$!WCfh{4fOjp3a1WYc}@R9#+9g4C%tsy zwpYUTd)b&%F6>1Y-o69B2VMyPLr>z@@UJ@9*##i_{$=VSH4B;qu-(|FS$2%X!DuXL zd_H6}mb~BG$~Z`4yRpxz`;WdL{JP`~-Mq|l~c`G4D!y95LIlH>%)0?7^$smorlSs|>v}H}y$X%vp*~wj; aJUjyMYOX-7l6u+z0000 c.randomChance(0.3)), @@ -63,10 +68,14 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:grizzly_bear_shirt'), Item.of('tfc_textile:grizzly_bear_pants'), Item.of('tfc_textile:grizzly_bear_boots')]) + event.addEntityLootModifier('primitive_creatures:iloger_2') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // bonebreaker - skull helmet, bone armor? hits harder, has knockback event.addEntityLootModifier('primitive_creatures:iloger_3') .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([0,2], ['minecraft:flint']) .addWeightedLoot([1,3], ['minecraft:bone']) .addAlternativesLoot( @@ -80,12 +89,16 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:direwolf_shirt'), Item.of('tfc_textile:direwolf_pants'), Item.of('tfc_textile:direwolf_boots')]) + event.addEntityLootModifier('primitive_creatures:iloger_3') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // ambusher - leaf on head, leafy clothes (like the swamp vanilla villager type), ranged with poison event.addEntityLootModifier('primitive_creatures:iloger_4') .removeLoot(ItemFilter.ALWAYS_TRUE) .addWeightedLoot([8,12], LootEntry.of('minecraft:tipped_arrow')).addPotion("poison") .addWeightedLoot([4,8], ['firmalife:food/nightshade_berry']) + .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) .addAlternativesLoot( LootEntry.of('minecraft:bow').damage([0.3, 0.9]).when(c => c.randomChance(0.5)), LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.05)), @@ -98,11 +111,15 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:crocodile_shirt'), Item.of('tfc_textile:crocodile_pants'), Item.of('tfc_textile:crocodile_boots')]) + event.addEntityLootModifier('primitive_creatures:iloger_4') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // hunter - wears brown and white fur, briefly disappears when hit, ranged with weakness event.addEntityLootModifier('primitive_creatures:iloger_5') .removeLoot(ItemFilter.ALWAYS_TRUE) .addWeightedLoot([8,12], LootEntry.of('minecraft:tipped_arrow')).addPotion("weakness") + .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) .addAlternativesLoot( // placeholder for a blowpipe LootEntry.of('minecraft:bamboo').when(c => c.randomChance(0.5)), @@ -116,10 +133,14 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:sabertooth_shirt'), Item.of('tfc_textile:sabertooth_pants'), Item.of('tfc_textile:sabertooth_boots')]) + event.addEntityLootModifier('primitive_creatures:iloger_5') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // shaman - yellow clothes, throws fireballs event.addEntityLootModifier('primitive_creatures:iloger_6') .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([1,2], ['primitive_creatures:f_1']) // primitive explosives .addWeightedLoot([1,3], ['minecraft:gunpowder']) .addAlternativesLoot( @@ -134,10 +155,14 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:cougar_shirt'), Item.of('tfc_textile:cougar_pants'), Item.of('tfc_textile:cougar_boots')]) + event.addEntityLootModifier('primitive_creatures:iloger_6') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // beast tamer - wears tiger fur, holds vanilla sugarcane? fucking summons ravagers event.addEntityLootModifier('primitive_creatures:wiloger') .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([0,2], ['primitive_creatures:grh']) // battered wool .addAlternativesLoot( LootEntry.of('gtceu:cobalt_brass_butchery_knife').damage([0.3, 0.9]).when(c => c.randomChance(0.3)), @@ -151,10 +176,14 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:tiger_shirt'), Item.of('tfc_textile:tiger_pants'), Item.of('tfc_textile:tiger_boots')]) + event.addEntityLootModifier('primitive_creatures:wiloger') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // warrior - lion fur, holds flint club - stuns you in place when hit event.addEntityLootModifier('primitive_creatures:piloger_9') .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) .addAlternativesLoot( LootEntry.of('primitive_creatures:yhgi').when(c => c.randomChance(0.8)), // flint club LootEntry.of('tfc:small_raw_hide').when(c => c.randomChance(0.4)), @@ -166,10 +195,14 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:lion_shirt'), Item.of('tfc_textile:lion_pants'), Item.of('tfc_textile:lion_boots')]) + event.addEntityLootModifier('primitive_creatures:piloger_9') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // mercenary event.addEntityLootModifier('primitive_creatures:viloger_10') .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([1,2], ['minecraft:emerald']) .addAlternativesLoot( LootEntry.of('gtceu:cobalt_brass_knife').damage([0.3, 0.7]).when(c => c.randomChance(0.3)), @@ -183,10 +216,14 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:raw_shirt'), Item.of('tfc_textile:raw_pants'), Item.of('tfc_textile:raw_socks')]) + event.addEntityLootModifier('primitive_creatures:viloger_10') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // huntmaster - miniboss event.addEntityLootModifier('primitive_creatures:nahida') .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([ LootEntry.of('gtceu:cobalt_brass_spade').damage([0.85, 1]), LootEntry.of('gtceu:cobalt_brass_sickle').damage([0.85, 1]), @@ -209,10 +246,14 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:panther_shirt'), Item.of('tfc_textile:panther_pants'), Item.of('tfc_textile:panther_boots')]) + event.addEntityLootModifier('primitive_creatures:nahida') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // berserker - guy with celtic blue face paint event.addEntityLootModifier('primitive_creatures:iloger_10') .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([ LootEntry.of('gtceu:cobalt_brass_sword').damage([0.85, 1]), LootEntry.of('sns:burlap_sack'), @@ -225,13 +266,18 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:sabertooth_shirt'), Item.of('tfc_textile:sabertooth_pants'), Item.of('tfc_textile:sabertooth_boots')]) + event.addEntityLootModifier('primitive_creatures:iloger_10') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // mistah beeeaaaasssstt event.addEntityLootModifier('primitive_creatures:beast') .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([20, 30], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([12,16], ['minecraft:bone']) .addWeightedLoot([2,3], ['tfc:large_raw_hide']) .addWeightedLoot([4,6], ['tfc:blubber']) - // change to our own raw meat? - .addWeightedLoot([20, 30], ['tfc:food/bear']) + event.addEntityLootModifier('primitive_creatures:beast') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([10, 15], ['tfg:food/raw_long_pig_filet']) } \ No newline at end of file diff --git a/kubejs/server_scripts/species/loot.js b/kubejs/server_scripts/species/loot.js index 8e00d55b5..3e02716d9 100644 --- a/kubejs/server_scripts/species/loot.js +++ b/kubejs/server_scripts/species/loot.js @@ -33,17 +33,29 @@ function registerSpeciesLoots(event) { event.addEntityLootModifier('species:springling') .addLoot('tfc:small_raw_hide') .addWeightedLoot([2, 4], ['minecraft:bone']) - .addWeightedLoot([6, 8], ['tfg:food/raw_springling_chops']) + .addWeightedLoot([6, 8], ['tfg:food/raw_springling_collar']) event.addEntityLootModifier('species:springling') .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([3, 5], ['tfg:food/raw_springling_chops']) + .addWeightedLoot([3, 5], ['tfg:food/raw_springling_collar']) - // TODO: meat event.addEntityLootModifier('species:cruncher') .addLoot('tfc:large_raw_hide') .addWeightedLoot([10, 13], ['minecraft:bone']) + .addWeightedLoot([14, 24], ['tfg:food/raw_cruncher_ribs']) + + event.addEntityLootModifier('species:cruncher') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([7, 12], ['tfg:food/raw_cruncher_ribs']) + + + event.addEntityLootModifier('species:stackatick') + .addWeightedLoot([5, 8], ['tfg:food/raw_stackatick_chunks']) + + event.addEntityLootModifier('species:stackatick') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_stackatick_chunks']) event.addEntityLootModifier('species:quake') diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index d2d49bbd7..c3df024b3 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -396,19 +396,77 @@ function registerTFGFoodData(event) { food.decayModifier(1.5); }); - event.foodItem("tfg:food/raw_springling_chops", (food) => { + event.foodItem("tfg:food/raw_springling_collar", (food) => { food.hunger(2); food.protein(1.5); food.decayModifier(3); }); - event.foodItem("tfg:food/cooked_springling_chops", (food) => { + event.foodItem("tfg:food/cooked_springling_collar", (food) => { food.hunger(4); food.saturation(3); food.protein(5); food.decayModifier(1.5); }); + event.foodItem("tfg:food/raw_surfer_steak", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_surfer_steak", (food) => { + food.hunger(6); + food.saturation(3); + food.protein(6); + food.decayModifier(1.5); + }); + + event.foodItem("tfg:food/raw_cruncher_ribs", (food) => { + food.hunger(3); + food.protein(2.0); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_cruncher_ribs", (food) => { + food.hunger(6); + food.saturation(3); + food.protein(8); + food.decayModifier(1.4); + }); + + event.foodItem("tfg:food/raw_long_pig_filet", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_long_pig_filet", (food) => { + food.hunger(6); + food.saturation(3); + food.protein(5); + food.decayModifier(1.5); + }); + + event.foodItem("tfg:food/raw_stackatick_chunks", (food) => { + food.hunger(2); + food.protein(1.2); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/raw_stickastackatick", (food) => { + food.hunger(2); + food.protein(1.2); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_stickastackatick", (food) => { + food.hunger(6); + food.saturation(3); + food.protein(4); + food.decayModifier(1.5); + }); + event.foodItem("tfg:food/raw_walker_steak", (food) => { food.hunger(3); food.protein(2.0); @@ -465,6 +523,7 @@ function registerTFGFoodData(event) { food.hunger(2); food.protein(3.0); food.decayModifier(3); + food.water(1); }); event.foodItem("tfg:food/cooked_goober_meat", (food) => { diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index 566c5f7a2..f633fce3f 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -1139,9 +1139,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_springling_chops', 200) - .resultItem(TFC.isp.of('tfg:food/cooked_springling_chops').copyFood()) - + event.recipes.tfc.heating('tfg:food/raw_springling_collar', 200) + .resultItem(TFC.isp.of('tfg:food/cooked_springling_collar').copyFood()) + event.recipes.tfc.heating('tfg:food/raw_walker_steak', 200) .resultItem(TFC.isp.of('tfg:food/cooked_walker_steak').copyFood()) @@ -1157,6 +1157,23 @@ function registerTFGFoodRecipes(event) { event.recipes.tfc.heating('tfg:food/raw_goober_meat', 200) .resultItem(TFC.isp.of('tfg:food/cooked_goober_meat').copyFood()) + event.recipes.tfc.heating('tfg:food/raw_surfer_steak', 200) + .resultItem(TFC.isp.of('tfg:food/cooked_surfer_steak').copyFood()) + + event.recipes.tfc.heating('tfg:food/raw_cruncher_ribs', 200) + .resultItem(TFC.isp.of('tfg:food/cooked_cruncher_ribs').copyFood()) + + event.recipes.tfc.heating('tfg:food/raw_stickastackatick', 200) + .resultItem(TFC.isp.of('tfg:food/cooked_stickastackatick').copyFood()) + + 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.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`) + 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') diff --git a/kubejs/server_scripts/wan_ancient_beasts/loot.js b/kubejs/server_scripts/wan_ancient_beasts/loot.js index 69bcec458..6b5bea147 100644 --- a/kubejs/server_scripts/wan_ancient_beasts/loot.js +++ b/kubejs/server_scripts/wan_ancient_beasts/loot.js @@ -60,9 +60,9 @@ function registerWansAncientBeastsLoots(event) { event.addEntityLootModifier('wan_ancient_beasts:surfer') .addLoot('tfc:medium_raw_hide') .addWeightedLoot([1, 3], ['minecraft:bone']) - // TODO: meat + .addWeightedLoot([6, 8], ['tfg:food/raw_surfer_steak']) - //event.addEntityLootModifier('wan_ancient_beasts:surfer') - // .matchMainHand('#forge:tools/butchery_knives') - // .addWeightedLoot([1, 2], ['tfg:food/raw_whole_soarer']) + event.addEntityLootModifier('wan_ancient_beasts:surfer') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([3, 4], ['tfg:food/raw_surfer_steak']) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 6d61630c3..8f5a680ef 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -908,22 +908,18 @@ 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: "wan_ancient_beasts:toxlacanth", - output: "wan_ancient_beasts:cooked_toxlacanth", - name: "cooked_toxlacanth", - }, - { - input: "tfg:food/raw_springling_chops", - output: "tfg:food/cooked_springling_chops", - name: "cooked_springling_chops", - }, + { 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" }, { input: "tfg:food/raw_glider_wings", output: "tfg:food/cooked_glider_wings", name: "cooked_glider_wings" }, { input: "tfg:food/raw_whole_soarer", output: "tfg:food/cooked_whole_soarer", name: "cooked_whole_soarer" }, { input: "tfg:food/raw_crusher_meat", output: "tfg:food/cooked_crusher_meat", name: "cooked_crusher_meat" }, { input: "tfg:food/raw_goober_meat", output: "tfg:food/cooked_goober_meat", name: "cooked_goober_meat" }, - { input: "wan_ancient_beasts:raw_ancient_meat", output: "wan_ancient_beasts:cooked_ancient_meat", name: "cooked_eater_meat" } + { input: "wan_ancient_beasts:raw_ancient_meat", output: "wan_ancient_beasts:cooked_ancient_meat", name: "cooked_eater_meat" }, + { input: "tfg:food/raw_surfer_steak", output: "tfg:food/cooked_surfer_steak", name: "cooked_surfer_steak" }, + { input: "tfg:food/raw_long_pig_filet", output: "tfg:food/cooked_long_pig_filet", name: "cooked_long_pig_filet" }, + { input: "tfg:food/raw_cruncher_ribs", output: "tfg:food/cooked_cruncher_ribs", name: "cooked_cruncher_ribs" }, + { input: "tfg:food/raw_stickastackatick", output: "tfg:food/cooked_stickastackatick", name: "cooked_stickastackatick" }, ]); global.TFC_QUERN_POWDER_RECIPE_COMPONENTS = /** @type {const} */ ([ diff --git a/kubejs/startup_scripts/tfg/items.food.js b/kubejs/startup_scripts/tfg/items.food.js index 25b73b711..b6f7a9885 100644 --- a/kubejs/startup_scripts/tfg/items.food.js +++ b/kubejs/startup_scripts/tfg/items.food.js @@ -140,17 +140,17 @@ function registerTFGFoodItems(event) { .tag('tfc:foods/cooked_meats') //Springling - event.create('tfg:food/raw_springling_chops') + event.create('tfg:food/raw_springling_collar') .translationKey('item.tfg.food.raw_springling_chops') - .texture('tfg:item/food/raw_springling_chops') + .texture('tfg:item/food/raw_springling_collar') .food(food => food.hunger(2).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') - event.create('tfg:food/cooked_springling_chops') + event.create('tfg:food/cooked_springling_collar') .translationKey('item.tfg.food.cooked_springling_chops') - .texture('tfg:item/food/cooked_springling_chops') + .texture('tfg:item/food/cooked_springling_collar') .food(food => food.hunger(4).saturation(4)) .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -231,10 +231,87 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_goober_meat') .translationKey('item.tfg.food.cooked_goober_meat') .texture('tfg:item/food/cooked_goober_meat') - .food(food => food.hunger(3).saturation(6)) + .food(food => food.hunger(3).saturation(9)) .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') + //Stackatick + event.create('tfg:food/raw_stackatick_chunks') + .translationKey('item.tfg.food.raw_stackatick_chunks') + .texture('tfg:item/food/raw_stackatick_chunks') + .food(food => food.hunger(1).saturation(1) + .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods/meats') + .tag('tfc:foods/raw_meats') + + event.create('tfg:food/raw_stickastackatick') + .translationKey('item.tfg.food.raw_stickastackatick') + .parentModel('tfg:item/food/raw_stickastackatick') + .food(food => food.hunger(1).saturation(1) + .effect('minecraft:hunger', 100, 0, 1) + .eaten(ctx => { + ctx.player.give('minecraft:stick') + })) + .tag('tfc:foods/meats') + .tag('tfc:foods/raw_meats') + + event.create('tfg:food/cooked_stickastackatick') + .translationKey('item.tfg.food.cooked_stickastackatick') + .parentModel('tfg:item/food/cooked_stickastackatick') + .food(food => food.hunger(2).saturation(5) + .eaten(ctx => { + ctx.player.give('minecraft:stick') + })) + .tag('tfc:foods/meats') + .tag('tfc:foods/cooked_meats') + + //Cruncher + event.create('tfg:food/raw_cruncher_ribs') + .translationKey('item.tfg.food.raw_cruncher_ribs') + .texture('tfg:item/food/raw_cruncher_ribs') + .food(food => food.hunger(2).saturation(2) + .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods/meats') + .tag('tfc:foods/raw_meats') + + event.create('tfg:food/cooked_cruncher_ribs') + .translationKey('item.tfg.food.cooked_cruncher_ribs') + .texture('tfg:item/food/cooked_cruncher_ribs') + .food(food => food.hunger(10).saturation(14)) + .tag('tfc:foods/meats') + .tag('tfc:foods/cooked_meats') + + //Surfer + event.create('tfg:food/raw_surfer_steak') + .translationKey('item.tfg.food.raw_surfer_steak') + .texture('tfg:item/food/raw_surfer_steak') + .food(food => food.hunger(2).saturation(2) + .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods/meats') + .tag('tfc:foods/raw_meats') + + event.create('tfg:food/cooked_surfer_steak') + .translationKey('item.tfg.food.cooked_surfer_steak') + .texture('tfg:item/food/cooked_surfer_steak') + .food(food => food.hunger(8).saturation(8)) + .tag('tfc:foods/meats') + .tag('tfc:foods/cooked_meats') + + //Longpig + 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) + .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods/meats') + .tag('tfc:foods/raw_meats') + + 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)) + .tag('tfc:foods/meats') + .tag('tfc:foods/cooked_meats') event.create('tfg:food/ice_soup') .translationKey('item.tfg.food.ice_soup')