TheNimbleNinja / Terrafirmacraft-omega

0 stars 0 forks source link

No food nutrition #5

Open kati0na opened 1 year ago

kati0na commented 1 year ago

image image No grain nutrition on grains, flatbread has it though image But to make it, a stone quern must be made and some salt has to be found - not an early game item

image Where i obtained that: there was more Elder trees from bewitchment than TFC ones on that particular save

image Where i obtained that: FirmaLife melons and pumpkins spawn in the wild Bonus: Farming woahs do not want this, but rather vanilla melon and pumpkin seeds, which i did not get yet

image Where i got it: if a fish mob gets out of the water and dies, this drops. Also from fishing. No fish from Minecraft or Aquaculture has protein nutrition! Doesn't that make fishing useless? Bonus: it can only be cooked on a vanilla forge, but not in a firepit

image image Where i got these: in Treasure2 chests. Treasure2 edible loot with no nutrition also includes uncookable raw porkchop and vanilla bread

In the end of the day, there is plenty of food, but little nutrition except for vegetables, which results in reduction of health. As this makes it more useful to die, than to try not to, this is quite an issue

Each of listed cases should be managed separately, i believe. The question of grain is a question of balance, the rest of the items should have nutritional values An elegant solution would be to add nutrition via tweaks, but i have no idea if that is possible. A partial solution would be an option to craft non-nutritional items into their TFC counterparts, like Minecraft bread to TFC bread, Bewitchment elderberries to TFC elderberries, etc.

kati0na commented 1 year ago

https://terrafirmacraft.github.io/Documentation/1.12.x/crafttweaker/items/ // Register item food stats. This takes priority over existing values. Setting Decay to 0 stops decay from happening. ItemRegistry.registerFood(IIngredient input, int hunger, float water, float saturation, float decay, float grain, float veg, float fruit, float meat, float dairy); Hey, it IS possible to add nutrition via tweaks! i am tRyInG to fix it myself, of course =)

TheNimbleNinja commented 1 year ago

if you get a fix for the nutrition values i can add it to the base pack

kati0na commented 1 year ago

My yesterday progress:

I might have overlooked some similar items because i don't really know everything the mods contain - i started with what i've obtained in my playthrough around 200-something items remain haha, i guess the full fix will require some time (that is based on "/ct food" list - 300-something from tfc and 200-something from other places

Also i have noticed that there is a recipe to craft minecrat fish to a TFC one in JEI... but at the crafting table minecraft fish is crafted into another minecraft fish for some reason - well, it doesn't have to change now (and it is a good reference point for other items anyway)

import mods.terrafirmacraft.ItemRegistry;
import mods.terrafirmacraft.Heating;
import crafttweaker.oredict.IOreDictEntry;

val rawMeatDict = <ore:categoryMeat>;
val cookedMeatDict = <ore:categoryCookedMeat>;

// Minecraft
// Regular fish     Raw - 2, 0.1; Cooked - 5, 0.6
ItemRegistry.registerItemSize(<minecraft:fish>, "SMALL", "VERY_LIGHT");
ItemRegistry.registerItemSize(<minecraft:cooked_fish>, "SMALL", "VERY_LIGHT");
ItemRegistry.registerFood(<minecraft:fish>,         4, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 0.0);
ItemRegistry.registerFood(<minecraft:cooked_fish>,  4, 0.0, 1.0, 2.25, 0.0, 0.0, 0.0, 2.0, 0.0);
rawMeatDict.add(<minecraft:fish>);
cookedMeatDict.add(<minecraft:cooked_fish>);
ItemRegistry.registerItemHeat(<minecraft:fish>, 1.0, 1000, false);
Heating.addRecipe("MineCookFish", <minecraft:fish>, <minecraft:cooked_fish>, 200.0, 500.0);
// Salmon   Raw - 2, 0.1; Cooked - 6, 0.8
ItemRegistry.registerItemSize(<minecraft:fish:1>, "SMALL", "VERY_LIGHT");
ItemRegistry.registerItemSize(<minecraft:cooked_fish:1>, "SMALL", "VERY_LIGHT");
ItemRegistry.registerFood(<minecraft:fish:1>,       4, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 0.0);
ItemRegistry.registerFood(<minecraft:cooked_fish:1>,    5, 0.0, 1.4, 2.25, 0.0, 0.0, 0.0, 2.0, 0.0);
rawMeatDict.add(<minecraft:fish:1>);
cookedMeatDict.add(<minecraft:cooked_fish:1>);
ItemRegistry.registerItemHeat(<minecraft:fish:1>, 1.0, 1000, false);
Heating.addRecipe("MineCookSalmon", <minecraft:fish:1>, <minecraft:cooked_fish:1>, 200.0, 500.0);
// Clownfish    Raw - 1, 0.1;
ItemRegistry.registerItemSize(<minecraft:fish:2>, "SMALL", "VERY_LIGHT");
ItemRegistry.registerFood(<minecraft:fish:2>,  2, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 0.0);
rawMeatDict.add(<minecraft:fish:2>);
// Pufferfish   Raw - 1, 0.1;
ItemRegistry.registerItemSize(<minecraft:fish:3>, "SMALL", "VERY_LIGHT");
ItemRegistry.registerFood(<minecraft:fish:3>,  2, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 1.0, 0.0);
rawMeatDict.add(<minecraft:fish:3>);
<minecraft:fish:3>.addTooltip(format.gold("Eating this sounds like a bad idea..."));

// Aquaculture
// Fillet   Raw - 2, 0.3; Cooked - 5, 0.6
ItemRegistry.registerItemSize(<aquaculture:food:3>, "SMALL", "VERY_LIGHT");
ItemRegistry.registerItemSize(<aquaculture:food:4>, "SMALL", "VERY_LIGHT");
ItemRegistry.registerFood(<aquaculture:food:3>, 4, 0.0, 0.2, 3.0, 0.0, 0.0, 0.0, 1.0, 0.0);
ItemRegistry.registerFood(<aquaculture:food:4>, 4, 0.0, 1.0, 2.25, 0.0, 0.0, 0.0, 2.0, 0.0);
rawMeatDict.add(<aquaculture:food:3>);
cookedMeatDict.add(<aquaculture:food:4>);
ItemRegistry.registerItemHeat(<aquaculture:food:3>, 1.0, 1000, false);
Heating.addRecipe("AquaCookFillet", <aquaculture:food:3>, <aquaculture:food:4>, 200.0, 500.0);