Mods / Body Fat by Tasshroom
Author: Tasshroom33
Side: Both
Created: Jul 15th at 8:01 AM
Last modified: Sep 8th at 12:50 AM
Downloads: 3357
Follow Unfollow 157
Latest release (for Vintage Story 1.21.0, potentially outdated):
TasshroomBodyFat_vs1.21.0_v0.0.16.zip
1-click install
Features:
When full; eat food to gain fat. When you are starving the fat will convert to food.
Visual bar bar like the hunger bar.Fatbar customization: Move\Save the position of the fatbar with the " .tassbodyfat bar " command
Fully customize your MaxBodyFat, DailyFatLimit, FatConversionPercent, MaxSaturationOverride, and FatConversionThreshold in the config file.
You can now consume meals to gain fat (previously blocked by vanilla behavior when full).
DailyFatLimit resets every night at midnight.
KeepInventory world setting: "keep" ensures your fat stays on death, unlike the "drop" option wich fat is reset to 0.
Commands:
" .tassbodyfat bar " Allows you to move\save the position of the fatbar. Click save to save the position, click and drag the dialog box to move it.
Compatible Mods:
Vigor (UI compat)
Salty's Immersive Mining
DieHydrate (UI compat, hunger soon)
SlowTox (UI compat)
=== TasshroomBodyFat Configuration Guide ===
Configuration file: TasshroomBodyFatConfig.json
Available settings:
1. MaxBodyFat (default: 10500)
- Maximum amount of body fat a player can store
- Range: 1 to 100,000
- Higher values allow more fat storage but may impact game balance
2. DailyFatLimit (default: 250)
- Maximum amount of fat a player can gain per day
- Range: 1 to 10,000
- This resets each in-game day at midnight
3. FatConversionPercent (default: 40)
- Percentage of excess food (beyond saturation threshold) that converts to fat
- Range: 1% to 200%
- 100% means all excess food becomes fat, 50% means half does
4. EnableDebugLogging (default: false)
- Enables detailed debug logging to TasshroomBodyFatDebugger.log file
- Set to true only when troubleshooting issues
- When false, important messages still go to the game's main log
5. MaxSaturationOverride (default: 0)
- Manual override for max saturation detection
- Range: 0 (auto-detect) or 100 to 10,000
- Set to 0 to automatically detect max saturation from other mods
- Only set a value if automatic detection doesn't work properly
6. FatConversionThreshold (default: 1.0)
- When food starts converting to fat, as a percentage of max saturation
- Range: 0.5 to 1.0
- 1.0 = Start at 100% saturation (must be completely full)
- 0.9 = Start at 90% saturation (can gain fat while slightly hungry)
- 0.8 = Start at 80% saturation, etc.
7. StarvationConversionPercent (default: 25)
- Percentage of current fat to convert per starvation tick (every 5 seconds)
- Range: 1% to 100%
- Higher values mean faster fat burning during starvation
- 10% means convert 10% of current fat every 5 seconds when starving
- Example: With 1000 fat and 10%, converts 100 fat per tick
7. BarPosX and BarPosY (default: -1, -1)
- Position of the fat bar on screen
- -1 means use automatic positioning (above saturation bar)
- Set to specific pixel coordinates to customize position
- The bar respects GUI scale settings
- Position is saved exactly where you place it
8. DeathFatPenalty (default: true)
- Whether to apply fat loss penalty on death
- true = Lose fat on death based on DeathFatLossPercent setting
- false = Keep all fat on death
- This setting overrides the world's death punishment setting for fat only
- Other inventory items still follow the world's death punishment rules
9. DeathFatLossPercent (default: 100)
- Percentage of fat to lose on death when DeathFatPenalty is true
- Range: 0% to 100%
- 100 = Lose all fat on death (classic behavior)
- 50 = Lose half of current fat on death
- 25 = Lose quarter of current fat on death
- 0 = Keep all fat (same effect as DeathFatPenalty = false)
- Also reduces daily limits proportionally
- Example: With 1000 fat and 50%, you'd lose 500 fat and keep 500
DEATH PENALTY EXAMPLES:
- Hardcore mode: DeathFatPenalty = true, DeathFatLossPercent = 100
(Lose all fat on death, regardless of world settings)
- Forgiving mode: DeathFatPenalty = true, DeathFatLossPercent = 25
(Lose only 25% of fat on death as a mild penalty)
- No penalty mode: DeathFatPenalty = false
(Never lose fat on death, even if world has drop-on-death enabled)
Note: This mod's death settings only affect body fat. Your regular inventory
items will still follow the world's normal death punishment rules.
MEAL BEHAVIOR:
With this mod, meals can now contribute to fat when your hunger is full!
- When hunger is full but fat has room: meals can be consumed, excess goes to fat
- When both hunger AND fat are full: meals are blocked (no waste)
- Setting FatConversionThreshold below 1.0 allows meals to add fat even when not completely full
Example configuration:
{
"MaxBodyFat": 10500,
"DailyFatLimit": 250,
"FatConversionPercent": 40,
"EnableDebugLogging": false,
"MaxSaturationOverride": 0,
"FatConversionThreshold": 1.0,
"StarvationConversionPercent": 25,
"DeathFatPenalty": true,
"DeathFatLossPercent": 100,
"BarPosX": -1,
"BarPosY": -1
}
Advanced example with early fat conversion:
{
"MaxBodyFat": 10500,
"DailyFatLimit": 500,
"FatConversionPercent": 50,
"EnableDebugLogging": false,
"MaxSaturationOverride": 0,
"FatConversionThreshold": 0.9,
"StarvationConversionPercent": 25,
"DeathFatPenalty": true,
"DeathFatLossPercent": 100,
"BarPosX": -1,
"BarPosY": -1
}
This would start converting food to fat when you're at 90% hunger or above.
Forgiving death penalty example:
{
"MaxBodyFat": 10500,
"DailyFatLimit": 500,
"FatConversionPercent": 50,
"EnableDebugLogging": false,
"MaxSaturationOverride": 0,
"FatConversionThreshold": 1.0,
"StarvationConversionPercent": 25,
"DeathFatPenalty": true,
"DeathFatLossPercent": 50,
"BarPosX": -1,
"BarPosY": -1
}
This configuration only removes 50% of fat on death instead of all of it.
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 0.0.16 | tasshroombodyfat | 1105 | Sep 8th at 12:50 AM | TasshroomBodyFat_vs1.21.0_v0.0.16.zip | 1-click install | ||
|
Added config option for % bodyfat loss on death | |||||||
| 0.0.15 | tasshroombodyfat | 103 | Sep 8th at 12:32 AM | TasshroomBodyFat_vs1.20.12_v0.0.15.zip | 1-click install | ||
|
Added config option for % bodyfat loss on death | |||||||
| 0.0.12 | tasshroombodyfat | 222 | Sep 6th at 7:14 AM | TasshroomBodyFat_v0.0.12.zip | 1-click install | ||
|
Hopefully fixed the single player -> server -> single player crashing | |||||||
| 0.0.11 | tasshroombodyfat | 378 | Aug 26th at 4:00 AM | tasshroombodyfat_v0.0.11.zip | 1-click install | ||
|
Updated to use .net 8.0 and vintage story 1.21.0 | |||||||
| 0.0.10 | tasshroombodyfat | 365 | Aug 20th at 10:06 AM | TasshroomBodyFat_v0.0.10.zip | 1-click install | ||
|
Added: | |||||||
| 0.0.9 | tasshroombodyfat | 494 | Jul 30th at 4:20 PM | TasshroomBodyFat_v0.0.9.zip | 1-click install | ||
|
Added command ".tassbodyfat bar" which allows you to move\save a new position for the fatbar | |||||||
| 0.0.8 | tasshroombodyfat | 81 | Jul 28th at 8:22 PM | TasshroomBodyFat_v0.0.8.zip | 1-click install | ||
|
Can now consume meals to add body fat if already full | |||||||
| 0.0.7 | tasshroombodyfat | 117 | Jul 27th at 12:40 AM | TasshroomBodyFat_v0.0.7.zip | 1-click install | ||
|
Added a default config option to disable all debug code, should speed up performance from v0.0.6 | |||||||
| 0.0.6 | tasshroombodyfat | 40 | Jul 26th at 9:02 PM | TasshroomBodyFat_v0.0.6.zip | 1-click install | ||
|
=== TasshroomBodyFat Configuration Guide === Configuration file: TasshroomBodyFatConfig.json Available settings: 1. MaxBodyFat (default: 10500) 2. DailyFatLimit (default: 500) 3. FatConversionPercent (default: 50) Example configuration: | |||||||
| 0.0.4 | tasshroombodyfat | 321 | Jul 18th at 6:16 AM | TasshroomBodyFat_v0.0.4.zip | 1-click install | ||
|
Fixed an issue with adding the mod on old saves where the hunger stats were not properly updating\attaching to the player stats. | |||||||
Small bug, where in spectator mode the fat bar doesnt disappear, like the other elements on the hud do
Does anyone know if this is compatible with SleepNeed?
??
I'm currently using this mod in a roleplay event, and it's fantastic. This is probably way outside of the scope of the mod, but it would be really cool if it actually changed the seraphs' body shape subtly - no fat, bit skinny; lots of fat, bit of a belly. I imagine that would be horrendously complicated to do though! Thanks so much for the mod, we're really enjoying it.
would you mind posting the github repo in on the mod page? I'd like to see things before adding it to a large server.
I updated some mods that released new versions in the past 3 days and also removed some mechanical power adjacent mods and now yours is working. Videogames are magical.
Vigilance There is a BodyFat folder that stores the log in the logs folder
The debug setting doesn't really seem to give me anything more printed in the server logs than I'd gotten without it set.
Vigilance Yeah not sure on that one unless it's somehow tied to the specific world. I really only have time to work on this about 2 days a week right now, on the weekends.
I've deleted cache and refreshed the configs a few times. Unless it is an error caused by changing any of the settings off of default, I'm not sure. I'll tick your logging on and see, but I'm kind of at a loss myself.
Vigilance perhaps you are running with the first generated config instead of deleteing the moddata/cache/config/logs.
I would need more info from logs or perhaps enable logging in the config to diagnose. I've been playing on multiplayer on the latest update with friends with 0 issues.
I haven't had this mod playing nice basically since the update forever ago that added configs. I am getting this error, now that I'm paying attention, on connect, and when I eat food it says it is not initialized.
[Server Notification] [TasshroomBodyFat] [Error] [TasshroomBodyFat] [Behavior] Could not find EntityBehaviorHunger!
What could be the fix here?
Tasshroom33 A bit of immersiveness, a bit of mod compatibility. Can't really 'feel' fat reserves IRL the same way you can feel hunger, and I'm also using Salty's Auto Toolbar, which hides the toolbar and stat bars when idle.
Wrythley I don't think so, it's relative. I can definitely add a config option through; as hiding it is just adding one more false parameter instead of true in 1 line of code.
What ist he purpose of using the mod but without the fat bar?
Is there any way to completely hide the bar, or move it off-screen? I tried to set the config to something beyond my screen's bounds, but it placed itself in the bottom right instead of off-screen.
Hmm those are slightly off from default but shouldn't alter anything in a way you are describing; generally (when at defaul) youll go 250/500/750 anything other than 250 means you didn't have food. I can look into it though.
Everything was Default that I know of. I'd go out and do some mining or prospecting, usually hitting max hunger and hurry home to stuff face and such but not enough to compleatly drain my fat bar before recovering again. I've been spending a few in game days around base just keeping fed and such after changing some of the config and I've been slowly gaining it back.
here are my current settings:
"MaxBodyFat": 7500, "DailyFatLimit": 500, "FatConversionPercent": 35, "EnableDebugLogging": false, "MaxSaturationOverride": 0, "FatConversionThreshold": 1, "StarvationConversionPercent": 25, "DeathFatPenalty": true, "DeathFatLossPercent": 100, "BarPosX": 1170.8572, "BarPosY": 1137.5714
0w0 Hmm early winter doesn't really have anything to do with how much fat you have min\max.
Are you saying the fat bar is decreasing while you are full on hunger?
VS 1.20.12, I'm having a weird bug where my Fat bar is slowly shrinking over time. It's early winter in game and my charcter for some reason only has a fatbar of 160.
I've no idea what might be causing this...
Tasshroom33
Yeah, all works fine 👍
B0YAR
Aytime lol , is this gone? "31.8.2025 01:53:19 [Notification] Exiting current game to main menu, reason: client thread crash"
Tasshroom33
Thank you for update!
my 155% hunger ahh when its winter and I have Large Stomach from xSkills:
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠤⠖⠒⠒⠒⠶⠒⠒⠒⢀⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡤⠊⠁⠀⠀⢀⡀⣠⢀⡄⣀⠀⣀⠈⠢⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠖⠉⠠⢤⠀⢸⠔⡿⠭⠬⠽⡎⠱⡯⠬⠭⣆⠑⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡜⠁⠀⠀⢰⠸⡀⡮⡆⠈⠂⠀⠊⠁⠀⠑⡤⠐⠁⠑⢌⠡⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠎⠀⠀⠠⠀⡏⠀⠐⠵⠄⠀⠀⠀⠰⣄⠀⣀⠇⠀⠀⠀⠀⠑⡌⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡎⠀⠀⠀⠀⢧⢣⠀⠀⠀⠁⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠸⠘⢂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠞⡇⠀⠀⠀⠀⡇⠙⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⡏⠛⠰⢤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⠊⠀⠀⠀⡇⠀⠀⠀⠀⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠁⡇⠀⠀⠀⠈⠑⠴⣀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⡤⠚⠁⠁⢣⠀⠀⠀⢈⣢⡀⠀⠀⠘⡀⠀⠀⠀⠀⠀⠀⠀⠰⢄⣀⣰⡆⠀⠀⠀⠀⢀⠎⢰⠁⠀⠀⠀⠀⠀⠀⠀⠙⢧⣦⢀⠀⠀⠀
⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⠀⠀⢣⠀⠰⣿⣿⣿⣦⣀⡀⠱⡠⣀⠀⠀⠀⠀⠀⠰⡄⣠⣒⠇⠀⠀⠀⡤⡞⡠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣦⠀⠀
⠀⠀⢠⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠱⡀⠙⠿⠿⢁⣴⡿⠉⠙⢦⡁⠀⠀⠀⠀⢄⣈⣀⣀⡠⠄⠀⠈⠀⠁⠀⠀⠀⠀⠀⠓⢤⡀⠀⠀⠀⠀⠀⠀⠹⡄⠀
⠀⣠⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢄⠀⢰⣿⠟⣵⣶⣶⡄⠙⠢⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢦⠀⠀⠀⠀⠀⠀⠂⠀
⢠⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⡈⠉⢸⣿⣿⣿⡿⣀⣀⠙⢦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⠶⠶⠶⠶⠶⣾⣦⡀⠀⠀⠀⠀⣸⡆
⢸⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⠀⠙⢦⡀⠻⢿⠟⣾⣿⣿⣧⠀⣈⠛⢦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⢷⡄⠀⣠⣿⠀
⠘⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⢴⡋⠀⠐⢦⡀⠓⢄⠀⠀⢿⣥⣾⡝⢠⣿⣦⣀⠉⠒⠄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⣤⡿⠀⠀
⠀⠘⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⡄⠀⠀⠈⠉⠉⠑⢄⠈⠉⠙⢡⣿⣿⣿⠏⣴⣶⣦⡀⣉⠉⠒⠂⠀⠤⠤⠤⠤⠤⠀⠀⣀⣀⠀⠀⠀⠸⡆⠀⠀
⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⢸⠆⠀⠀⠀⠀⠀⠀⠙⠠⣀⠀⠉⠻⠗⢰⣬⣻⣯⠉⢻⣿⠿⠂⠀⠀⣰⣶⣶⡄⢀⣀⣀⠀⠈⠉⠒⠢⢇⠀
⠀⠀⠀⠀⠈⠙⠲⣤⡀⢀⣄⣀⢸⣈⣀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠢⢄⡀⠀⠙⠛⠋⠀⣾⡏⠀⠀⠀⢀⣿⣿⣿⠁⣾⡟⣿⡇⢺⣦⣶⠆⢸⠀
⠀⠀⠀⠀⠀⠀⠀⣯⢣⣀⣀⡤⠻⡀⠈⠞⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠐⠢⠤⠄⣉⡁⠀⠀⠀⠈⠛⠛⠋⠀⠻⣿⠿⠁⣸⡿⠁⠀⡜⠀
⠀⠀⠀⠀⠀⠀⠀⣧⠀⠱⠄⠷⠤⠝⠒⠊⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠁⠐⠒⠒⠂⠠⠤⠄⣀⡛⠁⠀⢰⠁⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠸⣆⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢉⡦⠃⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠘⣦⡀⠀⠀⠀⠀⠺⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡤⠤⠄⠀⠀⠀⠀⢀⡴⠟⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢷⡄⠀⠀⠀⠀⠈⠒⠤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠠⠤⠀⠀⢀⡠⠔⠁⣿⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡿⢦⣀⠀⠀⠀⠀⠀⠈⠑⠢⠤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠤⠔⠊⠉⠀⠀⣰⠇⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡞⢁⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠈⠉⢁⣲⠶⠶⢶⣶⠖⠒⠒⠒⠒⠈⠉⠁⠀⣄⣀⣀⣠⣤⠞⠃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡞⠀⠾⠀⠀⠀⠀⠀⠀⠀⠀⠰⠬⠥⠄⠐⢾⠋⠁⠀⢠⡟⢱⠀⠀⠀⠀⠀⠀⠀⠀⠀⠬⠵⠀⠐⣯⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⣤⣀⠀⠀⠀⠀⠀⠀⠀⢀⣀⢀⣀⠠⣀⠈⠛⢦⠀⠸⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠤⣄⣀⠠⢜⠱⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠓⠶⠤⠤⠤⣤⣄⣼⣤⣤⣧⣤⠧⠴⠞⠀⠀⠈⠙⠒⠒⠒⠦⠤⠤⠤⠦⠤⠴⠧⠼⢤⠼⠶⠃⠀⠀⠀⠀⠀
Tasshroom33 I just mean that some debug options to set fat reserves/maximum allowance would be good, since I had a player launch about 50 meters in the air and die (I believe it was due to one of Salty's movement mods) and then lose their hard-earned reserves! So far, your mod has worked perfectly as advertised.
Tasshroom33 - Never underestimate how much grain players/server owners like in their configuration. XD
Update
Vintage Story Version: 1.21.0
Body Fat Version: 0.0.16
Mirrored changes of the 1.20.12 v0.0.15
Update
Vintage Story Version: 1.20.12
Body Fat Version: 0.0.15
Added config option for % bodyfat loss on death
Added config option for enable\disable bodyfat loss on death
Changed fat loss during starvation to avoid 25% of 100, 25% of 75, 25% of 56.25 ect ect by adding a small float and % of max total fat minimum to pull from fat to hunger
Fixed an issue with the HUD manual placement of fat bar not saving the new location
Added some protections against possible duplicate UI\HUD instances
Added some debugging to track down these edge cases easier
Started working on bodyfat adding to cold resistance
Refactored quite a bit of the codebase to be less bug/crash prone
Vigilance Sure always down for making things more configurable I just assumed no one would wan't that particular granularity.
What do you mean by this? "Alternatively/additionally, some debug options would be great, especially since the version is still young there are plenty of interesting bugs causing deaths on our server still."
You mean your server is young and diff mods have bugs or my mod is causing deaths?
Update
Vintage Story Version: 1.20.12
Body Fat Version: 0.0.14
Updated to include missing file on last upload
fixed some more possible race conditions that caused crashes or failed to load the fat bar
Is there a way to just make the "keep fat on death" rules something configurable? I would like players to not totally reset their fat on death, but still drop items. Alternatively/additionally, some debug options would be great, especially since the version is still young there are plenty of interesting bugs causing deaths on our server still.
Nico_Nico_Nyx Feel free to ping me on discord.
The regular food and meals are completely different code both in my mod and the vanilla game
[HarmonyPatch(typeof(BlockMeal), "tryPlacedBeginEatMeal")]
public static class MealPatch_TryPlacedBeginEatMeal
[HarmonyPrefix]
public static bool Prefix(BlockMeal __instance, ItemSlot slot, IPlayer byPlayer, ref bool __result)
[HarmonyPatch(typeof(BlockMeal), "Consume")]
public static class MealPatch_Consume
[HarmonyPrefix]
public static bool Prefix(BlockMeal __instance, IWorldAccessor world, IPlayer eatingPlayer, ItemSlot inSlot, ItemStack[] contentStacks, float remainingServings, bool mulwithStackSize, ref float __result)
[HarmonyPatch(typeof(BlockMeal), "GetContentNutritionProperties", new Type[] { typeof(IWorldAccessor), typeof(ItemSlot), typeof(ItemStack[]), typeof(EntityAgent), typeof(bool), typeof(float), typeof(float) })]
public static class MealPatch_GetContentNutritionProperties
[HarmonyPostfix] public static void Postfix(BlockMeal __instance, IWorldAccessor world, ItemSlot inSlot, ItemStack[] contentStacks, EntityAgent forEntity, bool mulWithStacksize, float nutritionMul, float healthMul, ref FoodNutritionProperties[] __result)
I have a bug with this mod and Hydrate and Dierate. Meals don't tick off HoD's hunger penalty (orange) for drinking dirty water, but eating the ingredients raw still works (like wild berries for example). I don't know why its happening, just that it is easily reproducable on my end. I just need to drink lake water to get some hunger penalty, and try to eat a meal from a bowl. Satiety and fat works, but the hunger penalty doesn't go away, except if I eat something like berries. I've been troubleshooting it on HoD's discord thread on the official VS server. (Edit: additonal information, but I'm on the 0.11 version of your mod. Do you think it could be an issue with the singleplayer > server crashing you talk about? Edit2: Tested it on latest, bug is still there)
If you do end up adding bonuses and penalties to having maximum fat, i would love it if they were configurable. Thanks for taking the time to update, i hope there will be no more crashes. Cant play without this mod now.
B0YAR I lied, had a bit of time so i updated the 1.20.12 branch.
Twisty Thanks twisty! You know there is already a "fat" variable hidden in the game files but never used? Didn't see it until i started digging around.
How are you liking it? Anything you would change?
We have had a few requests for movement speed penalty/cold tolerance/booze tolerance.
Reminds me of a system Wurm Online had, pretty neat.
Yeah speed penalty or cold resistance would be cool.
UPDATE v0.0.12\13 for BOTH VS version 1.20.12 and 1.21.0
Hopefully fixed the single player -> server -> single player crashingTried to break it but couldn't, was never able to reproduce on single player or server.
Hey, just a suggestion I think there should be some form of downside to having so much fat, like maybe a speed penalty or something.
Javes B0YAR Ok sorry guys I just got a new job and things were crazy there for a bit. I'm going to dive into it tonight. Feel free to ping me on Discord .
Hi, love the mod, i think i may have a problem.
Im using 0.0.11 for 1.21 and i believe im getting the same crash that BOYAR showed below.
Going into client-main.txt, i can see the same string of lines followed by "client thread crash"
If you are on the community discord i can dm you my logs or send them elsewhere if you want to troubleshoot.
I really like this mod and im hoping that its not whats making me crash but seeing my logs have the same messages Boyar did made me think it was this mod causing the crash.
Tasshroom33
Thank you very much for providing the fix for 1.21. We really appreciate your continued support for the mod. At the moment, though, most multiplayer communities — including ours — are still running on 1.20.12. The main reasons are that many servers prefer to wait until 1.21 becomes more stable, and a large number of mods have not yet been updated. World transitions also tend to cause chunk issues that are difficult to resolve in practice.
Because of this, 1.20.12 will likely remain the standard for at least the next couple of months, and many modders are continuing to provide important backports for it. We’ll be very happy to return to your updated version once the community gradually moves to 1.21.
Thanks again for keeping the mod alive!
B0YAR That should be fixed with the 1.21.0 and most mods seem to be updating to 1.21 , I don't think I'm going to worry about 1.20.12, sorry I just don't have time to keep multiple branches going.
Game version: 1.20.12
Mod version: 0.0.10
Sometimes our players' clients crash on their desktop with this error, but server works fine.
31.8.2025 01:53:19 [Notification] [TasshroomBodyFat] [Notification] [TasshroomBodyFat] [HUD] Base HudElement disposal complete.
31.8.2025 01:53:19 [Notification] [TasshroomBodyFat] [Notification] [TasshroomBodyFat] [HUD] BodyFatHudBar disposal complete.
31.8.2025 01:53:19 [Notification] [TasshroomBodyFat] [Notification] [TasshroomBodyFat] GameManager disposal complete
31.8.2025 01:53:19 [Notification] [TasshroomBodyFat] [Notification] [TasshroomBodyFat] ModSystem disposal complete.
31.8.2025 01:53:19 [Notification] Exiting current game to main menu, reason: client thread crash
Aim392 That might might sense if you are using that many mods, as I am harmony patching the onconsume method for meals and manually getting\setting the correct nutrition values. I bet it's a mod priority issue.
What food mods are you using that modify nutrition?
This could be an incompatibility with another mod, but players receive no nutrition to the nutrition bars when eating from meals with this mod installed. Raw foods are fine, just specifically meals/bowls. Removing this mod resolved the issue if anyone else is troubleshooting this problem.
Love the mod btw, Im using a modpack of over 180 mods, including some pretty old ones like survival nutrition, probably not a common issue for others.
traugdor Thanks I was about to ask! Yeah that makes sense, if you init you have to dispose, though i bet depending on what you were patching you might be able to get away with not doing it.
Updated to Vintage Story 1.21.0 (.net 8.0)
Fixed a race condition bug (simple wait x ms before trying again on repeat instead of using the correct event)
Fixed an initialize\dispose bug (I don't think it was Harmony related but is was in improper dispose\init order)
Fixed a desgin issue with the mod where one area of moddata was not authoritative enough
Specifically the issue I was having was that I needed to override the Dispose() method and use it to unpatch my modifications. Otherwise it would try to patch an already patched patch so it could patch the patch.
public override void Dispose()
{
Harmony harmony = new Harmony(modid);
harmony.UnpatchAll(modid);
patched = false;
}
FatherSarge Yeah I figured, I think they updated some UI stuff, which sucks lol because that was one of the hardest things for me to figure out haha. I'm updating to 1.21 as we speak and getting the dev .net8 going; was trying to finish Hardcore Winter but ran into a snag with making custom multi-threaded processing for snow.
LadyWYT thanks for the heads up! I'll check out if that singleplayer\multiplayer harmony patch for onconsume is what's messing with it. I figured the moddata would persist through the world save though, idk.
Tasshroom33 appears everything still works... except the command to move the bar around, CTD for trying that.
Also, I have a suggestion for the default position of the bar, perhaps underneath the main food bar? They hydration mods already stick a bar on top of the food bar. Can't wait to play with this mod in the next playthrough. Feasting!
Tasshroom33 out of curiosity, are you using Harmony patches for the mod and if so, is it checking and patching every time the player loads a world, or just once? I'm probably butchering my explanation here, but the reason I ask is that traugdor and I ran into an issue with our mod, in which parts of the mod would fail to load if the player loaded a singleplayer world, then played multiplayer, then went back to singleplayer(we've since fixed this problem). I'm not sure that's the issue here, but it's worth checking, since if the mod is only patching the game once there could be a similar scenario causing issues.
B0YAR Ok thanks for the feedback, I'll run some tests moving from one version to another and see if i can track down the issue.
Tasshroom33
This is random bug. No one dies. Just happening when players rejoin to server - someone players keep their fat, but few players loose. Probably this is happening when version is updating, don't sure now.
Samogitia No not the fat conversion, that just lets you gain fat before you are completely full on food.
The new thing i added for you would be StarvationConversionPercent.
So instead of converting 100, then damage, then 100 then damage, you can just set it to 50% or more fat converts, so it converts up to 1500 at a time if you want.
But yeah even with that it still could go to 0 first and cause damage, I'll modify it so it keeps a minimum instead of letting hunger go to zero when you have fat.
That does make more sense (and it was that way in v0.0.6 or something i think.)
B0YAR dang sorry about that, are you running keep fat on death or not? And is it every rejoin or random? Is this after deleting the config file when updating versions?
Thanks.
Tasshroom33
Game version: 1.20.12
Mod version: 0.0.9-0.0.10
We have strange bug! After rejoin to server -> some players loose their fat to zero.
Updated:
Added:
7. StarvationConversionPercent (default: 10)
- Percentage of current fat to convert per starvation tick (every 5 seconds)
- Range: 1% to 100%
- Higher values mean faster fat burning during starvation
- 10% means convert 10% of current fat every 5 seconds when starving
- Example: With 1000 fat and 10%, converts 100 fat per tick
Fixed bug, on meal consume was not pausing saturation drain
Tasshroom33 Thanks for response. FatConversionThreshold didnt realy helped, unless i missing something what it does. Is it possible to convert fat back to satiety before satiety reaches 0?
For ex. when satiety drops to 100 you get 100 sat from fat. And you just stay between 100 and 200 until you eat or run out of fat.
Now i avoid using my stored reserves because of constant damage, and subsequentialy avoid eating past full because it cost 2x food to store fat.
Samogitia Sorry been so busy on the Hardcore Winter mod that's taken about 2 weeks longer than i thought, my first priority after it's finished is coming back to this.
1.) Not intentional and no config right now but a known bug, made a mistake in the harmony patch
2.) Yeah I'll add a config option, You can change 6.) FatConversionThreshold to like 80% but It sounds like you want a different static number for how much fat converts or a % based on maxfat or your current+dailyfatlimit, I can do that.
Great mod but i have 2 issues.
Whichever one is best of course!
Wait, now that there is 2 body fat mods, which 1 too use now? D:
Fat people indeed still freeze to death, but body fat does insulate you.
Studies have shown that it takes longer to induce hypothermia in obese patients than in their leaner counterparts
It seems, or from what i saw after 5 mins of google.
That the fat insulate you some what, and protectes your core temp, aka it helps you keep it stable a bit.
And also the fat can be metabolized for body heat. In essence, anyone metabolized for heat, but more fat means more fuel for heat.
So in short the +1c makes sense, and i agree anything more would make this mod OP.
As for the logic even fat people freeze? Well yes? nothing is 100% protection.
But dont cold/freezing already burn food faster on the charater?
+1c sounds great, and if its in the config, people can change it how they please anyway. But i agree.
kastrom3 Yeah I'm down for a like +1c for having over 50% maxfat or something, but I don't want the fat to be reduced because of damage\cold.
I mean fat people still freeze to death in the cold , ya know?
Can you also add the expenditure of fat to warm the character?
So that with fat reserves it would be possible to survive the cold even with torn clothes))
Thap Sure have! It's already part of the config files. That was was silverfang requested a bit ago.
6. FatConversionThreshold (default: 1.0)
- When food starts converting to fat, as a percentage of max saturation
- Range: 0.5 to 1.0
- 1.0 = Start at 100% saturation (must be completely full)
- 0.9 = Start at 90% saturation (can gain fat while slightly hungry)
- 0.8 = Start at 80% saturation, etc.
Instead of overriding max saturation, have you thought about fat just being gained when above, like, 90% saturation?
MRGOOSE It should be compatible now.
Yeah that's not a bad idea Wahazar I'll have to wrap my head around fair gameplay and customization
I actually joked with impaleddearan the other day about having a fat body armor, i mean a 3 inch knife to all fat isn't going to hurt as much as muscle.
I think i found a bug in play testing, the whole pause saturation drain on meal consume seems to be gone (i like it that way, and just lower saturation drain to 50%) but some might not like it.
I'll update/fix it in the v0.0.10 version.
I def want to try this out with the die hydrate and vigor mod. I'll have to see if i need to add api hooks or if they already have them.
Interesting mod. Would be also avesome to have such fat as protection against low temperature.
However to keep it balanced, such fat fat should decrease max sprinting speed.
Maybe only protein and dairy product would increase fat counter (therefore player may choose diet and decide he want these pos/neg perks or not).
v0.0.9 is out!
Added command ".tassbodyfat bar" which allows you to move\save a new position for the fatbar
Added some compatibility with other mods that were using the same GUI space on the screen
Fixed some order of operations\math issues with conversion of fat\hunger
MAKE SURE TO USE " . " and not " / " , period is client side , slash is server side
Also make sure to delete your old config file if you are having issues, and not seeing the new values.
wael6 Anytime mang! Glad you are liking it.
Tasshroom33 thx for the update you gigachad
ProfCupcake It's up, somehow during the website outage for vintage story the mod URL was deleted
Is the mod page supposed to be set to draft?
Upate v0.0.8
Can now consume meals to add body fat if already full
Can now automatically detect maxsaturation changes (maxhunger from other mods) or manually set the value you want in config files, with MaxSaturationOverride
Can now set at what hunger % fat starts to accumulate with FatConversionThreshhold
Future changes to the mod should not reset fat values
wael6 I actually rebuilt the mod from the ground up on v0.0.6 so it probably changed the main data tree variable and had to rebuild. From v0.0.6 on that data just saves in the world save file, so if you delete the debugger\configfile\.zip it should still remain as long as the world exists. If not I can look into it. v0.0.8 includes auto detection of config\file versions and attempts to transfer data cleanly.
thanks for the update with keep inventory (i'll just call it that its just easier to write and more understandable) would be nice if fat didn't get reset every time you update the mod too
"I just really want to run around as a chunky, jolly seraph who gives people stew and beer. But thanks for the cool bodyfat mod, please and don't drive yourself nuts for internet strangers if the belly thing is a beast!"
Flint_N_Steel haha don't tell me what to do! If i wanna go insane and truffle shuffle myself in the dead of winter, I will lol. Could use a good thin, light beer like Guiness right now.
Writer's barely disguised fetish
Possible way to keep belly simple, could render a blob belly like an extra piece of clothing, not try to recreate any 3D armor mesh on belly, instead stretch out a section of the armor's UV map/texture? Might be clipping issues where armor sticks through belly if belly not big enough (would still render armor model for shoulder and arm bits). Don't know if this helps (or I way misunderstand modifying the Seraph model), I just really want to run around as a chunky, jolly seraph who gives people stew and beer. But thanks for the cool bodyfat mod, please and don't drive yourself nuts for internet strangers if the belly thing is a beast!
Silverfang Got your request working but need to test before going live, thanks for the suggestion!
Now it should detect if mods changed the max saturation automatically, but I also put a config option to set it manually.
I also added a config option to start the fat fill earlier than 100% hunger
I also fixed the issue where fat was blocked by meal consumption when full hunger
Is it possible to add a config for what amount of satiation the fat begins to convert? I think there are other mods that can change the total satiation and this waould also help for any problems like meals not allowing you to eat beyond full.
SiiMeR let me know if that works and I'll "steal" the code and see if I can get a big boob of a belly going at different fat levels. I just can't imagine uploading a mesh for like 3-5 different fat levels, entire sets of armor and character meshes just because we can't nativlely stretch certain bones\mesh parts. I don't want to bloat the size of a mod that much. Or if you find any other mod that does more than reskin the character model to a furry with a tail and stretches the mesh let me know.
berryland added the config option!
wael6 added a setting to keep fat on death if you have keep inventory on (in the code it's refered to as deathPunishement="keep") this now happens automatically based on world settings
Conspire working on adding compat for Vigor\Hydrate or Diedrate\Statushudcont\ect UI related mods now, no idea how long it will take
Yeah I was also looking into making a proper boobs mod (without having to reshape all the clothing). My current idea includes faking the deformation by creating bulges in the correct spots and then correcting the normals and lighting afterwards. This in theory could be used both for clothes and the base model .
This is great. Gonna keep an eye on this for when it's compatible with Hydrate or Diedrate.
v0.0.7: Added a default config option to disable all debug code, should speed up performance from v0.0.6
Lol no but I have started some pseudo code for it. Looks like you'd have to make every single peice of armor again for every body size. There's no built in morphing of mesh/bones yet.
Sounds like it'd be a very ... heavy ... mod
Does the body shape also change like in the picture?
Added support for deathPenalty:keep|drop aka keep inventory setting. If you die with keep inventory on you will not lose fat.
Fixed the config file not actually working.
=== TasshroomBodyFat Configuration Guide ===
Configuration file: TasshroomBodyFatConfig.json
Available settings:
1. MaxBodyFat (default: 10500)
- Maximum amount of body fat a player can store
- Range: 1 to 100,000
- Higher values allow more fat storage but may impact game balance
2. DailyFatLimit (default: 500)
- Maximum amount of fat a player can gain per day
- Range: 1 to 10,000
- This resets each in-game day at midnight
3. FatConversionPercent (default: 50)
- Percentage of excess food (beyond 1500 saturation) that converts to fat
- Range: 1% to 200%
- 100% means all excess food becomes fat, 50% means half does
Example configuration:
{
"MaxBodyFat": 10500,
"DailyFatLimit": 500,
"FatConversionPercent": 50
}
The config doesn't seem to be working, been working on an update for the last few days and I think i have it down. Will hopefully have something tomorrow.
Is the config working? I tried changing max fat and daily limit to 10000.0 and 250.0 respectively and it doesn't seem to have reflected ingame. Also the config was missing "RespectKeepInventorySetting" when it generated for me.
Thanks Chalki! yeah any info you can provide helps. I've been trying to bug test during my playthrough and some mini testing. Hopefully when i
get the hang of the api enough i can implement some more unit testing.
So far the only bug is that on old saves, changing the config file on the server didn't seem to change the daily maxfat amount so that's another bug. But working pretty well mostly so far.
Encountered a bug where once my body fat has reached zero I no longer lose hunger. Should I attach my log file?
Edit: Reload seems to have fixed the issue, will continue to test!
Tasshroom33 i was talking in terms of balancing, also i'm not sure seraphs have a different body when they respawn but it does make sense for you to lose your fat if you don't have keep inventory on, also why i was saying it doesn't make sense is because of how long it is to gain more than 1500 fat
@wael6 Oh to me I was just thinking logically if i died , i had a different body, with different levels of fat so it would reset but that does make sense to add a check for the keep inventory option.
please make it so you don't lose fat after death, thats so stupid, at least with keep inventory on
that seems to have fixed the issue, thanks.
and no, I am not running any mods that could conflict with this one, but thank you for your work!
Updated to v0.0.4 which should fix the issue with older saves. I'm not experiencing any of the odd issues and one-off things I was experiencing with v0.0.3.
I changed the way I was detecting player join to better handle pre-existing player data.
Also added
/bodyfatinfo , /bodyfatattach , bodyfatreset , /bodyfatset [amount]
bodyfatattach meaning attach the mod system to the player if for whatever reason it didn't or another mod was interfering
Most issues should be resolved by joining the save, exiting and joining again
KeKc let me know if you are running any other hunger\UI bar mods and i can install them and test with them. Thanks!
Just did a 6 hour play session with a buddy and it was working, only wierd thing was regular food vs meals. The meals didn't seem to add any fat if you were already full, the way that vanilla stops you from consuming more than you need. I'll have to look into that.
That was on a new save with v3 though so I'll have to do more testing with old worlds too.
seems like since the new update it's just not working at all? like I'm not gaining any fat.
Probably not yet but I'm planning on making it compat with xskills;hydration,vigor/stamina and whichever i can think of. It looked like you could just add a check to see if the other mods exist and if so run some logic to disable or find work arounds for everything.
UI is a bit tricky as it's not just a javascript flexbox deal, it's a lot more pixel perfect adjustments. But Statushudcontinued did it so it's possible.
is it compaible with Hydrateordiedrate? so the bars dont conflict with each other
Updated the mod to include a UI fat bar that looks white above the hunger bar , daily limits and total fat limits with config files.
Let me know if you guys run into any issues. I'll be testing more in the next couple days to fine tune it.
So so excited for the snow mod please ping whe. Its released!!
BRO I gotta say, I'm hyped to see where your Deeper Snow idea goes. I've been wanting that for a while. Half a block just is not punishing enough for my masochistic modlist lmao
Thanks! Yeah I just wanted to upload my first mod and see what the process was first.
I found a few respawn and other bugs and wanted to sort them out first before adding more.
I have a new version with a config file where you can set your own min\max and respawn values but don't have time to finish it before work starts.
I like this idea, been looking to add a hunger mod to my current playthrough and this seems like the most sensible one. Any plans on expanding on it? Maybe something like a fat bar displayed above the hunger bar, like how the balanced thirst mod displays thirst? Would be cool to see it implemented that way with limits on how much fat can be stored daily etc.
Nice mod