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 000000000..9dd0c8ffd Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/cooked_cruncher_ribs.png differ 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 041f5433b..9d8000be9 100644 Binary files a/kubejs/assets/tfg/textures/item/food/cooked_goober_meat.png and b/kubejs/assets/tfg/textures/item/food/cooked_goober_meat.png differ 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 000000000..539821da3 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/cooked_long_pig_filet.png differ diff --git a/kubejs/assets/tfg/textures/item/food/cooked_springling_chops.png b/kubejs/assets/tfg/textures/item/food/cooked_springling_chops.png deleted file mode 100644 index 4affb689b..000000000 Binary files a/kubejs/assets/tfg/textures/item/food/cooked_springling_chops.png and /dev/null differ diff --git a/kubejs/assets/tfg/textures/item/food/cooked_springling_collar.png b/kubejs/assets/tfg/textures/item/food/cooked_springling_collar.png new file mode 100644 index 000000000..4f7b0db74 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/cooked_springling_collar.png differ diff --git a/kubejs/assets/tfg/textures/item/food/cooked_springling_collar.png.mcmeta b/kubejs/assets/tfg/textures/item/food/cooked_springling_collar.png.mcmeta new file mode 100644 index 000000000..8265a5ca7 --- /dev/null +++ b/kubejs/assets/tfg/textures/item/food/cooked_springling_collar.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1, "frames": [{"index": 0, "time":40}, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/food/cooked_stickastackatick.png b/kubejs/assets/tfg/textures/item/food/cooked_stickastackatick.png new file mode 100644 index 000000000..43b2f3a98 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/cooked_stickastackatick.png differ diff --git a/kubejs/assets/tfg/textures/item/food/cooked_surfer_steak.png b/kubejs/assets/tfg/textures/item/food/cooked_surfer_steak.png new file mode 100644 index 000000000..42fb0dcf7 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/cooked_surfer_steak.png differ diff --git a/kubejs/assets/tfg/textures/item/food/raw_cruncher_ribs.png b/kubejs/assets/tfg/textures/item/food/raw_cruncher_ribs.png new file mode 100644 index 000000000..1aecafe1a Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/raw_cruncher_ribs.png differ diff --git a/kubejs/assets/tfg/textures/item/food/raw_goober_meat.png b/kubejs/assets/tfg/textures/item/food/raw_goober_meat.png index 5c7a8e937..aa7fb6a3b 100644 Binary files a/kubejs/assets/tfg/textures/item/food/raw_goober_meat.png and b/kubejs/assets/tfg/textures/item/food/raw_goober_meat.png differ 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 000000000..c0252390e Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/raw_long_pig_filet.png differ 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 57c624022..000000000 Binary files a/kubejs/assets/tfg/textures/item/food/raw_springling_chops.png and /dev/null differ 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 000000000..df301b209 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/raw_springling_collar.png differ diff --git a/kubejs/assets/tfg/textures/item/food/raw_springling_collar.png.mcmeta b/kubejs/assets/tfg/textures/item/food/raw_springling_collar.png.mcmeta new file mode 100644 index 000000000..8265a5ca7 --- /dev/null +++ b/kubejs/assets/tfg/textures/item/food/raw_springling_collar.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1, "frames": [{"index": 0, "time":40}, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/food/raw_stackatick_chunks.png b/kubejs/assets/tfg/textures/item/food/raw_stackatick_chunks.png new file mode 100644 index 000000000..f9fed7855 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/raw_stackatick_chunks.png differ diff --git a/kubejs/assets/tfg/textures/item/food/raw_stickastackatick.png b/kubejs/assets/tfg/textures/item/food/raw_stickastackatick.png new file mode 100644 index 000000000..cc3f2e960 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/raw_stickastackatick.png differ 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 000000000..08ea66185 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/food/raw_surfer_steak.png differ diff --git a/kubejs/server_scripts/primitive_creatures/loot.js b/kubejs/server_scripts/primitive_creatures/loot.js index 359743940..d71855fc6 100644 --- a/kubejs/server_scripts/primitive_creatures/loot.js +++ b/kubejs/server_scripts/primitive_creatures/loot.js @@ -20,6 +20,7 @@ function registerPrimitiveCreaturesLoots(event) { // forager - light tan clothes, holds a stone axe event.addEntityLootModifier('primitive_creatures:iloger_1') .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([ // the illusion of randomness Item.of('tfc:food/bunchberry', 3), @@ -46,10 +47,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:iloger_1') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // herbalist - brown clothes with a mask that looks like a Creaking event.addEntityLootModifier('primitive_creatures:iloger_2') .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([3,4], ['gtceu:tricalcium_phosphate_dust']) .addAlternativesLoot( LootEntry.of('gtceu:cobalt_brass_mortar').damage([0.3, 0.9]).when(c => 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')