Mods / Ana's Taste Mod

Tags: #Food
Author: Aspiracja
Side: Both
Created: Sep 12th at 7:12 PM
Last modified: Oct 10th at 11:38 AM
Downloads: 844
Follow Unfollow 100

Latest release (for Vintage Story 1.21.0 - 1.21.4, potentially outdated):
AnasTasteMod-v1.2.21.zip  1-click install


This mod focusses on forcing the player to change their diet from time to time. No longer will they be allowed to munch on hefty redmeat stew the entire time just because it has the highest satiety.

Eating the same stuff will make the seraph be tired of it, get way less satiety from it and even get nauseous based on how tired of the taste they are.

To spice it up, the seraph will crave different foods they have encountered before, having them yield more satiety than the default.

Taste preferences are displayed by the color of the name of the food.


INCOMPATIBLE WITH XSKILLS

The mod is almost entirely configureable:
EnableRandomCravings: (true) Enables the cravings subsystem.
CravingsForOnlyTastedFoods: (true) If on, random cravings will only be based on foods eaten before - otherwise it'll be based on the entire category list.
FedUpNausea: (true) Nausea from eating foods the seraph doesn't want to eat anymore.
CravingsSatietyMaximum: (3000) Amount of satiety you can eat of a craved food before it isn't craved anymore.
SatietyFedUpBoilingPoint: (12000) A total sum of satiety needed before the seraph changes their preferences.
SatietyFoodFedUpPoint: (4000) How much satiety of a food seraph needs to eat to be tired of it.
SatietyFoodFedUpNauseaReachScale: (2.0) How dilluted the nausea effect is based on overeaten satiety. (satiety over 2000 will be divided by ((2000*2)-2000) to determine the 0.0-1.0 nausea value)
SatietyFedUpReboundMultiplier: (0.7) How effective other food is at removing the overeaten foods effect.
CravingsSatietyMultiplier: (1.25) How much more satiety cravings give.
FedUpSatietyMultiplier: (0.8) Base modifier for satiety of foods the seraph is tired of.
FedUpSatietySeverityMultiplier: (1.0) How much more satiety of foods the seraph is tired of is reduced by it's overeaten satiety.
(1.1) NEW: LowSatietyNauseaDampeningPower: (1.4) Takes the percentage of your satiety and increases it to the power of this value. Resulting 0-1 value is a multiplier to the nausea when eating foods the seraph is tired of. (Less satiety = less nausea)

v1.1.21
NEW: Added info notifications when reaching the fed up point for specific foods and when seraphs' tastes change.
NEW: Separated mushrooms into different categories. (This will require the deletion of old config files)
NEW: Implemented a dampening mechanic on nausea when low on satiety.

FIX: Fixed an issue where categories weren't saved as unique, leading to data drifting when loading.

v1.2.21
NEW: LowSatietyNauseaDampeningPower also affects the amount of satiety received from foods the seraph is fed up with. The lower your satiety, the lower overall effect bad taste will have.

Mod Version For Game version Downloads Released Changelog Download 1-click mod install*
1.2.21
1.21.0 - 1.21.4
381 Oct 10th at 11:38 AM AnasTasteMod-v1.2.21.zip 1-click install

- Fixied an issue where current satiety level didn't have an effect on the fed up foods negative effects.
- Adjusted default settings to be more lenient
- Created a base for drinks to be included in the mod mechanic (Not yet finished)

1.1.21
1.21.1-rc.1 - 1.21.1
250 Sep 23rd at 11:31 AM AnasTasteMod-v1.1.21.zip 1-click install

NEW: Added info notifications when reaching the fed up point for specific foods and when seraphs' tastes change.
NEW: Separated mushrooms into different categories. (This will require the deletion of old config files)
NEW: Implemented a dampening mechanic on nausea when low on satiety.
FIX: Fixed an issue where categories weren't saved as unique, leading to data drifting when loading.

1.0.21 213 Sep 12th at 7:15 PM AnasTasteMod-1.0.21.zip 1-click install

Initial release


38 Comments (oldest first | newest first)

💬 Aspiracja , 4 days ago

ArmoredStone

I would love to add some kind of indicator, but because of how this mod determines what you're craving, it's impossible. It's all based on a category and item names, all to keep it all as compatible with content mods as possible.

💬 ArmoredStone, 5 days ago

Okay this mod is super cool :o thank you for making it!

A question though. Would you be able to put the image/icon of what food you're craving on the screen somewhere? To the right of the food bar would be a nice spot unless some other popular mod uses that spot

image

💬 Deathscreton, Nov 2nd at 5:00 AM (modified Nov 2nd at 5:01 AM)

Can confirm I also had issues consuming XP skill books before disabling this mod. I also had issues with ExpandedStomach that provides satiety to a secondary stomach once hte primary is full. I wasn't receiving satiety for single ingredient foods (anything not a meal or pie really) until I disabled this mod.

I really like this for the immersion purposes and associated challenges (my run back from the RA was really ridiculous once I ran out of precooked food, lmao. I'd never been so happy and sick of seeing cattails), so I hope some type of fix can be provided. 

 

Thank you for the mod!

 

EDIT: Nevermind, I see the general disclaimer for being incompatible with Xskills. Thank you for the mod either way!

💬 Aspiracja , Oct 11th at 11:06 AM

RiverTheSheep

Yes, they do work together. The config values might need some adjusting for them to fit well, but that's up to you.

💬 RiverTheSheep, Oct 10th at 10:27 PM

Does this work well with the Novelty mod? Or should it be one or the other? 

💬 Echoweaver, Oct 10th at 12:03 AM

I don't know how to be useful about helping troubleshoot, but it does seem like effects aren't always being applied correctly. I ate a bowl of stew that I was not sick of, and I got the message that some things I ate weren't so appetising, and then I got REALLY sick. It has lasted a long time, with vision getting blurry and sometimes dark in addition to focus wandering about. Really great sick effect, btw. 

 

I even doubled the amount of saturation needed to become sick of something in the config because it was hitting on the second bowl of the same stew, which seemed like too much. Since getting sick of something is based on saturation, I wonder if it's possible to eat a really saturating stew and blow through all the threshholds. 

 

Anyway, this mod has made food so much more fun. Thanks!

💬 ThoricOpossum1, Oct 8th at 12:31 AM

This mod is awesome, but it does conflict with xskills by making the xskills' skillbooks unusable, might be because you have to "eat" the books. I hope to see an update that fixes that. Looking forward to using this mod.

 

💬 Aspiracja , Oct 3rd at 8:27 AM

Jayro

It was not planned that way - I'll look into it ^^

💬 Jayro, Oct 3rd at 2:55 AM

Hi, I was testing your work but I don’t see any effect on juices or wines. Is this planned that way? 🤔

💬 RosstheGreat, Sep 30th at 12:49 AM

This mod is awesome! Red Meat and Bush Meat proteins are pretty hard to balance with everything else early on but overall I've greatly enjoyed the required diversity of my diet. Tossed in novelty as well to have bonuses on top of the negatives from this mod. (More reward for diversity, more punishment for not!)

Awesome work, I'm super happy with this!

💬 haRvis, Sep 26th at 9:56 PM

cool mod🙌

💬 SalemStyles, Sep 25th at 6:46 AM
Spoiler

Hey everyone!

I’ve been playing with Forager’s Gamble, Gourmand, Gourmand’s Gamble, and Ana’s Taste together, and I think they already create an amazing challenge when combined. But I had this idea: what if they could be tied into one bigger “forage to table” survival experience?

Here’s the thought:

  • Persistent field guides → Instead of losing everything on death, Forager’s Gamble and Gourmand’s Gamble could use non-consumable books that keep updating as you discover plants (forage) and recipes (food). Death would still be punishing (you lose personal memory), but the written record would stay, which feels immersive — you can still read and write even if you “forget.”

  • Synergy with Ana’s Taste → cravings could reward extra points through Gourmand, while repeating meals would apply Ana’s penalties. This would make food variety matter even more.

  • Discovery loop → finding new foods via Forager’s Gamble could feed Ana’s craving pool and Gourmand’s diversity points, encouraging exploration and experimentation.

  • Optional recipes → cooking knowledge could also come from ruins/books in the world. Trial-and-error meals could even produce “bad recipes” (like nausea, zero points) — a fun bit of risk/reward.

Put together, these mods could create a loop where:

  • you explore to forage new plants,

  • you experiment with recipes,

  • you balance cravings with meal variety,

  • and you record it all in survival books that grow with your journey.

I think this would be a unique, immersive progression system that feels natural and makes every step — from finding a berry bush to cooking a feast — meaningful.

Just tossing the idea out there because I love what each of you has already made. Even without changes, these mods are great. But if they ever came together like this, I think it would be one of the coolest “survival food” experiences in Vintage Story.

Thanks again for all your hard work, and for making the game so much deeper and more fun!

—A happy player

💬 Aspiracja , Sep 23rd at 6:30 PM

captanredbeard

Attached github repo to the mod page

💬 captanredbeard, Sep 23rd at 3:44 PM

Source code please?

💬 Aspiracja , Sep 23rd at 1:43 PM

BF_Halo

I kind of expected this. Both mods meddle in the eating logic (CollectibleObject.tryEatStop(...)) - mine overwrites it to provide the item eaten to the nutrient data while xSkills provides additional buffs for food. I'm not really sure how to make them compatibile, but I'll try to work something out.

💬 BF_Halo, Sep 23rd at 12:10 PM

It appears that the mod is incompatible with XSkills however i have not yet found the exact reason this was the error message 

Spoiler!
Spoiler
23.9.2025 14:02:16 [Server Error] Exception: Object reference not set to an instance of an object.
   at XSkills.CollectibleObjectPatch.tryEatStopPostfix(TryEatStopState __state, Single secondsUsed, ItemSlot slot, EntityAgent b
yEntity)
   at Vintagestory.API.Common.CollectibleObject.tryEatStop_Patch3(CollectibleObject this, Single secondsUsed, ItemSlot slot, Ent
ityAgent byEntity)
   at Vintagestory.API.Common.CollectibleObject.OnHeldInteractStop(Single secondsUsed, ItemSlot slot, EntityAgent byEntity, Bloc
kSelection blockSel, EntitySelection entitySel) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1449
   at Vintagestory.API.Common.CollectibleObject.OnHeldUseStop(Single secondsPassed, ItemSlot slot, EntityAgent byEntity, BlockSe
lection blockSel, EntitySelection entitySel, EnumHandInteract useType) in VintagestoryApi\Common\Collectible\Collectible.cs:line
 1261
   at Vintagestory.Server.ServerSystemInventory.HandleHandInteraction(Packet_Client packet, ConnectedClient client) in Vintagest
oryLib\Server\Systems\Inventory.cs:line 388
   at Vintagestory.Server.ServerMain.HandleClientPacket_mainthread(ReceivedClientPacket cpk) in VintagestoryLib\Server\ServerMai
nNetworking.cs:line 280
   at Vintagestory.Server.ServerMain.ProcessMain() in VintagestoryLib\Server\ServerMain.cs:line 934
💬 Aspiracja , Sep 22nd at 7:33 PM

Yellowishnesses

Honestly, I wasn't really considering the realism of the mod when making it as the real reason for its creation was my friend who was only ever eating thousands of primitive survivals' redmeat jerky instead of anything I cooked lol.

Though to answer your ideas:
- Yes, I have though about linking them to food groups in the begining (which would've been easier to do than how I did it in the end), but thb the vanilla nutrient mechanic is well balanced and there would be no real benefit in making the player eat, for example cheese, when they are already incentivized to do so. Also, being fed up with a category would mostly just punish early game where you have limited access to certain nutrients.

- Sadly, because the mod works on item codes to distinguish categories, there's no real way to show the player what exactly they're craving or are fed up with without it looking fugly :(

- Technically speaking, this is how the mod already works, but instead of the food count it keeps the satiety count. I believe you're more likely to get sick after eating 10 full cabbages than 10 berries, so satiety feels like a good balance between what is more filling. Additionally, after you reach a certain point of consumed satiety by category (2000 by default), you will get progressively less satiety from it - it's just that the default settings make it start at 53%. (80% * (9000-2000)/9000 = ~53%)

In the end I don't want the player to really keep track of the "fed ups" and cravings. It's meant to be a background process where the player starts making subconscious decissions to keep as many food items as they can instead of just going for the "meta". If you're personally feeling that the mod is being oppressive, you absolutely should increase the fedUpPoint and BoilingPoint settings in the config. ^^

💬 Yellowishnesses, Sep 22nd at 3:44 AM

From the perspective of realism, it is better to eat a variety of foods. The game only addresses this important aspect of survival through some extra hitpoints for filling the "five food groups".

There is evidence to suggest that cravings are caused by nutritional needs. There is strong evidence linking iron deficiency to pica, and cravings are also more common during the nutritionally dire time of pregnancy. I think it is fair to say that your mod makes the game more realistic. Although, I worry that it may be tedious to keep track of "FedUp" points, cravings, and all of these numbers. Instead of using a scale based on the amount of satiety you've received from a type of food (hard to keep track of), could you use the game's food groups as an indication? Perhaps you could document such data on the character screen. Perhaps "FedUp" points could start only after reaching the maximum value of a food group.

As for design elements... Maybe there could be a picture of the food you're craving on the character screen.

Another way to make this system is to keep a list of foods that the player has eaten and subtract nutritional values based on the number of times it has shown up on the list. I'm not a programmer, though. I think this is how the player character Warly from Don't Starve Together works, so I thought this information might help you.

💬 Aspiracja , Sep 20th at 9:42 AM

Shadow_Oni

That's actually a really great idea! I'll be sure to add it as a configurable option in the next version ^^

💬 Shadow_Oni, Sep 20th at 4:22 AM

Interesting concept, and exactly what I was looking for.

 

You could also reduce nausea depending on how hungry you are. After all, kinda hard to be tired of a food when you're starving.

💬 Aspiracja , Sep 19th at 4:20 PM

Bigoy

You'll need to check yourself. If not, then I could redownload 1.20.12 and recompile it for that version.

💬 Bigoy, Sep 19th at 5:49 AM

can this work for 1.20.12 as well?

 

💬 Aspiracja , Sep 18th at 3:17 PM

stony

Thanks for the report - I will look into it.

💬 stony, Sep 18th at 2:56 PM (modified Sep 18th at 2:57 PM)

Hi, I keep getting this error on worldload (Not every time, it seems as if cravings and dislikes are reset when that happens.)

Error
18.9.2025 16:43:02 [Error] Mod exception during event OnSaveGameLoaded. Will skip to next event
18.9.2025 16:43:02 [Error] Exception: count ('-2') must be a non-negative value. (Parameter 'count')
Actual value was -2.
at System.ArgumentOutOfRangeException.ThrowNegative[T](T value, String paramName)
at System.Text.UnicodeEncoding.GetString(Byte[] bytes, Int32 index, Int32 count)
at AnasTasteMod.Data.DataReader.ReadWideStringFixed() in C:\Users\Anche\source\repos\AnasTasteMod\AnasTasteMod\AnasTasteMod\Data\DataReader.cs:line 168
at AnasTasteMod.Data.PlayerTasteDataHolder.Load(ICoreServerAPI api) in C:\Users\Anche\source\repos\AnasTasteMod\AnasTasteMod\AnasTasteMod\Data\Server\PlayerTasteDataHolder.cs:line 60
at AnasTasteMod.AnasTasteModModSystem.<>c__DisplayClass9_0.b__0() in C:\Users\Anche\source\repos\AnasTasteMod\AnasTasteMod\AnasTasteMod\AnasTasteModModSystem.cs:line 51
at Vintagestory.Server.ServerEventManager.<>c.b__114_0(Action dele) in VintagestoryLib\Server\ServerEventManager.cs:line 463
at Vintagestory.Server.ServerEventManager.Trigger[T](Delegate[] delegates, String eventName, Action`1 onDele, Action onException) in VintagestoryLib\Server\ServerEventManager.cs:line 723
💬 OwlSilver, Sep 16th at 8:30 PM

Aspiracja - Thanks anyways! will look forward to when it does get implemented!

Will still be playing this mod, even without it!

💬 Aspiracja , Sep 15th at 7:04 PM (modified Sep 15th at 8:07 PM)

OwlSilver

Sadly, after checking out the Sammiches code, I have to say that sandwiches are in fact not supported. I will look into supporting it in later versions though ^^

💬 OwlSilver, Sep 15th at 6:41 PM

Besides ACA and Expanded Foods, could this work with Sammiches? :) 

💬 Aspiracja , Sep 14th at 10:20 AM

Ket
Thank you for the feedback!
I do try to keep the player in the dark as much as I can because if I show the exact values it becomes just another numbers game. Though you are right, and I should probably add some kind of a notification.

For modded items you need to know the item codes and just compile variations into a single category:
For example:
"game:cheese-cheddar" and "game:cheese-waxedcheddar" have a common "cheddar" part so I added it as such.
Categories are sorted by their length, so more specific category will always be choosen though, so if you have "redmeat" and "redmeat-cured", "redmeat-cured" will take priority, keeping the groups separated.

💬 Ket, Sep 14th at 3:56 AM

This is fun and I dont seem to be having any errors with it. I do wish there was more feedback. I'm not sure how to tell what the character is craving unless I happen to have it and mouse over it. And if Im eating many berries in a row (stack in hand) theres no notification when that suddenly becomes gross/unappealing so I end up getting nauseated unintentionally. A chat box message would be nice. 

Also is there a recommended format for adding modded items to the config? 

💬 Maschinenmensch, Sep 13th at 1:35 PM

Looks fun! Gonna add this to the server me and some friends play on. Thanks for the mod.

💬 Aspiracja , Sep 13th at 10:22 AM

GamerCake
The mod thumbnail was generated by GPT and color corrected by me using GIMP. It is likely temporary as I'll try to make something original.

bubbanubo
Yes, all mushrooms (So items that contain "mushroom" in their item code) are in the same category. I will most likely split it into separate categories down the line.

💬 bubbanubo, Sep 13th at 10:14 AM

Hello! Was just wondering for the mushroom food group, does it include poisonous mushrooms? I wasn't sure how to test it in-game so I thought I'd ask, thank you in advance!

💬 GamerCake, Sep 13th at 10:08 AM

Who's the author of that art piece?

💬 MiloMolson, Sep 13th at 2:01 AM

Really cool idea

💬 Ourcasula, Sep 12th at 9:10 PM

Thanks so much! Good to know.

💬 Aspiracja , Sep 12th at 9:01 PM

Ourcasula
Meals are based on ingredients used so you are still encouraged to cook, just with different things.
It should be compatible with expanded foods, but some things might not be grouped together as expected (All foods will be their own category by default). To fix any content mod compatibilities all oneself needs to do is fill up categories in the config file based on item codes.
One thing I'm not sure about is compatibility with XSkills and will test it as soon as possible.

💬 Ourcasula, Sep 12th at 8:54 PM

I love this idea! Does it change cravings based on ingredients or meal type? And is it compatible with expanded foods?

💬 OwlSilver, Sep 12th at 8:06 PM

This is so cool! 

Definitely gonna add it to the mod pile!

 (edit comment delete)