Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Vaettir
Plant an ancient seed, feed it greydwarf blood, and a forest spirit answers. Build it a home and it sorts your chests.
| Date uploaded | 9 hours ago |
| Version | 1.0.0 |
| Download link | Ezomic-Vaettir-1.0.0.zip |
| Downloads | 10 |
| Dependency string | Ezomic-Vaettir-1.0.0 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333README
Vaettir
Raise a forest spirit by killing greydwarfs beside a planted seed, then house it in a post that sorts your storage.
Quick start
- Kill greydwarf brutes and shamans until one drops an ancient seed. Vanilla loot; it needs nothing from this mod.
- Plant it with the cultivator, in bare ground, somewhere greydwarfs will come.
- Kill greydwarfs within 24 metres of it. It grows on those deaths and nothing else. Roughly thirty ordinary ones, and elites count as four and shamans as three, so a "Forest is moving" raid arriving on top of it can finish it alone.
- Defend it. It has real health and can be destroyed, and the seed is not refunded. It tells you when something is hitting it.
- When it opens, a forest spirit rises out of it. Press use once and it folds itself into a heartwood.
- Build a stowing post with that heartwood: 20 fine wood, 20 iron nails and the heartwood, on the hammer's Furniture tab. That is where the spirit now lives.
- Tell your chests what they hold with the Holds… button in any chest window, then drop things in the post and close it.
One spirit gives exactly one heartwood, and one heartwood builds one post. Taking the post down gives the heartwood back.
At a glance
| Seed | One ancient seed, not refunded if the sapling dies |
| Where | Anywhere you like; greydwarfs are the requirement, not the biome |
| To open it | 30 points of greydwarf death. Greydwarf 1, shaman 3, elite 4, greyling 0 |
| Range | 24m, and only the nearest sapling is fed by a kill |
| Sapling health | 500, about ten hits from a brute |
| Yield | One heartwood per spirit, always |
| Stowing post | 20 fine wood, 20 iron nails, 1 heartwood. 12 slots, 6 across by 2 down |
Every number above is a config default and can be changed.
Installation
Install BepInEx for Valheim
(5.4.2333 is what this is built against), then put the Vaettir folder from the release into
BepInEx/plugins/. It is a single DLL plus the .obj, .png and .col files that sit
beside it, read at runtime, so they all have to stay in that folder together.
Longhouse Core is optional and not installed for you. Solo you do not need it at all. On a server it matters, for the reason in Multiplayer.
Configuration
One file, BepInEx/config/ezomic.valheim.vaettir.cfg, written on first run. The sapling and
the spirit are under [Sapling], [Spirit] and [Heartwood]; the stowing post is under
[Post], [Sorting], [Carrier] and [Keys].
Almost everything is adjustable: what each creature is worth, how far a kill counts, the sapling's health, and the post's size and recipe. BepInEx writes every entry on first run and from then on the saved value beats any new default in code, so changing a default in a later version does nothing on a machine that has already run the mod. Edit the cfg.
TestMode under [Diagnostics] drops a sapling's cost to three greydwarfs so the whole chain
can be walked in a minute. It announces itself in the log on every startup, because it is the
setting most likely to be left on by accident.
Mechanics
The sapling
It keeps a count, not a clock. Only the creatures on its list feed it, only kills within range count, and only the nearest sapling is fed, so a heap of them planted together does not all grow off the same work. Greylings are on the list at zero.
It can be destroyed, and it says so when something is hitting it and when it is gone. Losing it costs the seed and the time.
The stowing post
A real container, 12 slots, wide and shallow. There is no panel listing your pack to tick through, no selection to remember and no keybind. The interface is the chest window you already know, and "which items" is answered by which items you dropped in.
It empties on close rather than continuously, so two half-stacks can be dropped in and merge. Anything with no home stays in the post and the hover text says how many, so a post holding six things is a post telling you six things need a chest.
The spirit carries the contents out one stack at a time, flying in an arc over whatever is in the way. A full post takes a minute or two to clear. Turn the carrier off in config and the post moves everything the instant you close it; the sorting is identical either way.
It skips wards, privacy locks, chests someone else has open, chests on carts and ships, and other posts.
Telling a chest what it holds
A chest window has a Holds… button under the game's own Stack all. The post has no button of its own: it distributes to the chests around it, so the rules live on them. A chest holds groups, like ore, fuel, seeds or building materials, and where a group will not do, single items. Chests with a rule say so in their hover text, in gold.
A rule can also refuse. Group cells cycle ignored, holds, refused, and a search result is shift-clicked to refuse rather than hold, so "ore, but never tin" is two presses.
The groups are read off the game at runtime rather than written down here:
| Group | Is whatever… |
|---|---|
| Ore | any smelter accepts |
| Bars and ingots | any smelter produces |
| Fuel | burns in a smelter, kiln or fireplace |
| Wood | a charcoal kiln eats |
| Raw food | a cooking station accepts |
| Cooked food | fills you up |
| Mead and potions | a fermenter turns out |
| Seeds and crops | the cultivator can plant |
| Building materials | the hammer asks for |
| Trophies, ammo, fish, gear | the item says it is |
So a mod that adds black metal ore, or a new crop, lands in the right group without this mod knowing it exists.
Every item asks which chest wants it most, in this order: a chest that names that exact item, then one that holds a group it belongs to, then one set to anything else, then one with no rule at all that already holds some. Ties go to the nearer chest. That last tier is what makes the mod useful before you have configured anything, and a chest you have given a rule never gets it.
Multiplayer
The mod is needed at both ends. This is not caution. The sapling, the spirit, the heartwood and the post are all registered pieces, and a client that cannot resolve one throws the object away rather than erroring, so a server without Vaettir silently destroys everything already standing in the world.
Longhouse Core is what turns that into a refused connection instead of a loss. Without it nothing checks. Solo, none of it applies.
Design notes
Why the seed counts kills instead of ticking a clock, why the heartwood is a home rather than a heart, and why the sorting rules live on the chest: DESIGN.md.
Upgrading from Stow
Stow used to be a separate mod and now ships inside this one as part of it, not beside it. The post keeps its internal name, so every post already standing survives untouched.
Its settings moved into this mod's config file. If you had tuned ezomic.valheim.stow.cfg,
copy those values across once and delete it; nothing reads it any more.
Delete BepInEx/plugins/Stow if you are upgrading by hand. Two copies loaded at once is the
one thing that will go wrong.
Their history is in archive/, one git bundle each. See archive/README.md.
CHANGELOG
Changelog
Notable changes to Vaettir. Format follows Keep a Changelog, and the mod uses semantic versioning.
[1.0.0] - 2026-08-18
First release. The number sat at 1.0 once before, early, and was taken back down when whole mods arrived on top of it without it moving. This is the version that earns it: one chain, finished, with everything that was not finished cut out and held on its own branch.
The chain, played end to end in a real world: an ancient seed planted, fed on greydwarf deaths through its growth, opened into a forest spirit, communed with, and the heartwood carried away and built into a stowing post that sorts the chests around it.
The sapling
- Plant an ancient seed in the Black Forest. It does not grow on time, it grows on death, and only on the deaths of greydwarfs, and only within sight of it. About thirty of them and it opens, which is one raid if the forest comes to you.
- Greydwarfs specifically, not "forest creatures". An early version used the game's own forest faction and swept up trolls, boars and the Elder, which turned clearing out a nest into killing anything anywhere near here. Greylings are on the list at zero, so it is visible that they were considered and refused.
- It can be destroyed, because being asked to fight for an hour beside something you cannot lose is not defending it. Around ten hits from a brute: a fight happening nearby is survivable, a mob left to work on it is not. It says when something is chewing on it and when it is gone, because losing an hour in silence is a mystery rather than a difficulty.
- One hand-built model, with its own icon so the cultivator stops offering a carrot. Built to the game's own measurements rather than to taste, because smoothness is most of what reads as modded and nothing else in the game at that size is round.
- The sapling does not change shape as it fills, and the hover text is what tells you how far along it is. Four staged models exist and work, and three of them were not good enough to ship, so the staging is held for 1.1 rather than released and apologised for.
The spirit and the heartwood
- The sapling opens into a forest spirit. Light with no body, bobbing and pulsing, and waking as you approach. Two rings of beads turn around it in step with each other, with no visible hoop, so it reads as one thing turning rather than as a swarm.
- Press use once and it folds itself into a piece of heartwood you carry away. It is a home rather than a heart: the spirit does not die and hand over a piece of itself.
- Build the heartwood somewhere and you have housed it.
The stowing post
Stow is no longer a separate mod. Its post, its spirit and its sorting ship here unchanged.
- One mod, not two shipped together. Stow arrived carrying its own
[BepInPlugin], and leaving it there meant one DLL announcing two plugins in the log, writing two config files, registering with Core's version gate twice, and reporting two different version numbers. It reads as two mods in a trenchcoat, and it was one. The post's half is now driven by Vaettir's own plugin class: one GUID, one config file, one Harmony instance, one registration. - Nothing you have built is affected. The piece keeps its internal name, so posts already standing survive.
- Its settings moved into
ezomic.valheim.vaettir.cfg, under[Post],[Sorting],[Carrier]and[Keys]. Anyone who had tunedezomic.valheim.stow.cfgcopies those values across once; nothing reads that file any more. - Delete
BepInEx/plugins/Stowif you are upgrading by hand. Two copies loaded at once is the one thing that will go wrong. - One spirit, not two. Each mod used to build its own from its own script and they had drifted into visibly different creatures. There is one now, and the carrier is that one at 0.62 scale so it is the size it has always been on screen. Set the scale to 1 for a full-size spirit.
- One setting still drops the heartwood from the recipe and puts the post back to wood and nails, for anyone who wants the sorting without the ritual.
- A spirit carries ten items a trip, so a stack of fifty wood leaves the post in five
trips rather than crossing the room in one. A big load looks like a big load.
ItemsPerTripsets it and 0 restores the whole stack. This is the number the post upgrades are meant to raise. - The carrying spirit and the one you commune with are the same creature, which took three passes to actually mean. The merge gave them one mesh; they still resolved their material through two different lookups against two different donor lists, and even once that was fixed only one of them glowed. The glow is a Light and an emission write, and the carrier had half of one, so the room around it lit up while its own mesh stayed flat. Colour, range, pulse depth and pulse period were each a second value too.
- The last of the seams from when these were two repos are gone. Icons and PropIndex each existed in two diverged copies, one per old namespace, and the comment justifying that said a copy was better than reaching into a sibling repo. There is no sibling repo.
Requires
Longhouse Core is optional. Without it nothing refuses a client that lacks this mod, and that matters: the sapling, the spirit, the heartwood and the post are registered pieces, and a client that cannot resolve one throws the object away rather than erroring. A server without Vaettir silently destroys everything already standing. Solo, none of that applies.
Known gaps
Stated rather than quietly shipped.
- Dedicated servers are untested. Everything here has been exercised in single-player. Each spirit, sapling and post is driven by whoever owns it, so co-op should be fine, and should is doing real work in that sentence.
- The spirit's parting has no effect on it. The setting names a vanilla particle to play where it stood and ships blank, because a wrong name costs the moment its flourish rather than breaking anything. It is a flourish that is missing, not a step that fails.
- The sapling stirs while it grows, and that motion is new enough that it has had far less play than the rest of the chain.
Held for later releases
Cut rather than shipped unproven or unfinished, each kept whole on its own branch so continuing is a merge rather than a rebuild.
- 1.1 - sowing a rank of seeds by Farming skill, and the sapling's staged growth. The staging works and has been played; three of its four models were not good enough.
- 1.2, a refinement pass - better animation throughout, and the post's own panel: fetch, tidy and presence. All three were built and none of them were proven, and with the three of them out the panel had nothing left in it, so it goes whole.
- 1.3 - bonemeal, and the bone mill that grinds it.
- 1.4 - upgrades for the stowing post. It starts out carrying ten items a trip and each upgrade raises that, so a post becomes something you improve rather than something you finish. It also gives the heartwood somewhere to go after the post is built.
- 1.5 - an upgrade that houses a second spirit, so two stacks are in the air at once rather than one moving faster. Two of them working is worth watching; one of them hurrying is a number.
- Unscheduled - the vaettr visitor and the market they were to stand in.
Late fixes
- A dropped heartwood no longer falls through the floor. Stripping the donor's mesh took the collider with it, because on that donor both live on the same object, and an item with weight and nothing to rest on simply keeps going. Found by throwing one away.
- The spirit's parting effect setting was renamed before release rather than after, when it would have stranded the old key in other people's configs.
Archived history
Stow and Furrow were separate repos before this. Their history is in archive/, one git
bundle each, clonable with git clone archive/stow.bundle. See archive/README.md.