FineDining
Make food matter with real spoilage, freshness-based stats, Iceboxes, up to 9 food slots, Chef's Choice bonuses, Full Course rewards, Cooking skill perks, bonus outputs, auto-eject cooking, faster fer
Screenshots 8 screenshots
About this mod Author’s original text
FineDining
FineDining is a server-synchronized Valheim food overhaul focused on food storage, diet variety, and the Cooking skill.
Showcase
Click a screenshot to open the full-resolution original.
Diet, Chef's Choice, and Full Course
Recent meals influence Chef's Choice. Natural food expiry or a food removed by Puke advances the list.
| Recent meals | Chef's Choice |
| --- | --- |
| | |
Tooltips show Chef, diminishing, and stale multipliers. Filling every unlocked food slot activates Full Course.
| Chef bonus and freshness penalty | Repetition and freshness penalties |
| --- | --- |
| | |
Cooking and station hints
Cooking skill can auto-eject finished food, while hover hints expose valid inputs and processing state for vanilla and modded stations.
| Vanilla cooking station | Modded cooking station |
| --- | --- |
| | |
Cover and depth speed fermentation. Compatible custom Fermenters receive the same clear hover information.
| Vanilla Fermenter | Modded Fermenter |
| --- | --- |
| | |
Production buildings and supported ValheimCuisine stations expose compact hover information.
| Charcoal Kiln input hints | Smelter processing hints |
| --- | --- |
| | |
| Freydi Collector | Grimpy Box |
| --- | --- |
| | |
Spoilage and preservation
Food can spoil in containers, as loose drops, and when placed for display. Remaining time stays visible where the item is used.
Expired food normally becomes its configured rotten result. A group rule or exact override can instead keep the original prefab at minimum freshness. Cold biomes and the Icebox pause active spoilage timers.
| Placed food with an active timer | Placed food preserved in the Mountain |
| --- | --- |
| | |
| Cold-biome preservation | Icebox preservation |
| --- | --- |
| | |
Features
- Configurable spoilage, freshness-scaled food stats, and an Icebox.
- Three- to nine-slot diets with diminishing returns, Chef's Choice, and Full Course.
- Cooking experience, production bonuses, auto-eject, faster fermentation, and station hints.
Spoilage
[5 - Spoilage] Spoilage Mode is synchronized by the server and can be changed live:
| Mode | Behavior |
| --- | --- |
| FollowYaml (default) | Uses Spoilage.yml lifetimes, exclusions, and expiry results. Preserves the existing behavior. |
| Off | Stops new timers and expiry processing, hides spoilage UI, and removes the freshness penalty from food eaten while Off. Existing item metadata is retained. |
| StatDecreaseOnly | Uses the same YAML targets and lifetimes, including zero-hour exclusions, but keeps expired items at minimum freshness instead of replacing them. |
Off does not freeze world time: saved running deadlines can pass and expire when spoilage is re-enabled. Saved paused clocks retain their existing preservation/save behavior. Merging, placing, and recovering tracked items still transfer spoilage state. Items created while Off receive no new timer or placement anchor; normal activation rules apply after re-enabling.
Mode changes do not rewrite already-eaten food effects, reverse rotten replacements, or clear permanent minimum-freshness markers. Switching from StatDecreaseOnly back to FollowYaml therefore leaves already-expired kept items at minimum freshness. While Off, their marker is retained but causes no new consumption penalty. In StatDecreaseOnly, health, stamina, eitr, and regeneration use the stale-food minimum (default 0.75); food duration is unchanged. Non-edible ingredients are retained without a food-stat effect. Spoilage.yml and the generated reference continue to describe the underlying YAML policy.
Ordinary food starts its spoilage clock when it first enters a player inventory. Untouched food in location loot and ordinary containers remains fresh until that first pickup. Placed food starts from its placement time.
An active clock uses Valheim's network world time. It continues in ordinary containers and unloaded zones while that clock is running, and it survives restarts without resetting. Time doe
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: