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.
| Last updated | 7 hours ago |
| Total downloads | 15 |
| Total rating | 1 |
| Categories | Mods Tweaks Misc |
| Dependency string | Ezomic-Yoke-1.0.0 |
| Dependants | 1 other package depends on this package |
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
Yoke
Bigger stacks, without turning the game into a sandbox.
Built against the installed game (0.221.12, Unity 6000.0.61, BepInEx 5.4.23.3, Harmony 2.9).
The defaults are the point
The usual version of this mod ships x10 stacks and halved weight. That does not make Valheim more convenient so much as remove a system from it. The mid game is largely a logistics problem, and the tedium and the difficulty are the same mechanic seen from two sides.
So the defaults here fix the annoying half and leave the interesting half alone:
| Default | Effect |
|---|---|
StackMultiplier = 2 |
Stacks double. Wood 50 → 100 |
WeightMultiplier = 1 |
Weight untouched. Carry limit still decides what comes home |
IncludeNonTeleportable = false |
Ore and metal bars are not modified at all |
StackCap = 200 |
Ceiling regardless of multiplier |
That third one is the important one. Metal cannot go through a portal, so hauling it by cart and boat is a deliberate part of the game's pacing rather than an oversight. Leaving ore alone means your inventory stops being a nuisance for berries and wood while the trip home from a copper mine is still a trip.
Everything is a knob. If you decide you want the easy version, it is one edit away.
Each boss raises one kind of stack
A flat multiplier cannot tell the two halves of that argument apart. Meadows scarcity is the game teaching you to plan; your ninth trip to the same copper deposit is not teaching you anything. So stacks start at vanilla and each boss raises one group:
Kill a biome's boss and the things that biome gives you stack better.
| Boss | Raises |
|---|---|
| Eikthyr | Meadows |
| The Elder | Black Forest |
| Bonemass | Swamp |
| Moder | Mountain |
| Yagluth | Plains |
| The Queen | Mistlands |
| Fader | Ashlands |
So the copper you carry out of the Black Forest stops being a nuisance once the Black Forest's boss is dead, and not before. Every boss matters, and each one eases exactly the hauling you have just finished proving you can survive.
Which biome an item belongs to is worked out, not listed
There is no table of items in this mod. Four routes, all reading the game's own data:
- The world's vegetation table places a copper deposit in the Black Forest, and the deposit says it drops copper ore. So copper ore is a Black Forest item.
- The spawn tables place Fulings in the Plains, and the Fuling's drop list says black metal scrap. So black metal is a Plains item.
- Recipes and stations. Anything made takes the biome of its latest ingredient, because that is when you could first make it. Barley is Plains, so flour is Plains, so dough is Plains, so bread is Plains, through a mill, a recipe and an oven in turn, none of it written down here. Every mead lands the same way, off the fermenter.
- Spawners. A greydwarf nest or a surtling geyser is placed in a biome, and it is the nest rather than the creature that the tables know about.
- Bosses place their own drops. A boss prefab knows the global key its death sets, and the tier table knows which biome that key belongs to, so Moder's trophy is a Mountain item without either side naming it.
BiomeOverridesfor the roots none of that reaches: ore deposits, dungeon loot, fish and the trophies of creatures that only appear inside a location. Roots only: the recipe pass turns each one into everything made from it.
That lands 665 of 671 stackable items. The six it does not reach are crafting oddities, left unplaced rather than guessed at, because a wrong biome is worse than vanilla. Anything unplaced stays at vanilla.
An item found in several biomes belongs to the earliest, because that is where you first had to carry it home. A crafted one takes the latest of its ingredients. Those two rules sound contradictory and are not: found is about where it turns up, made is about when you can make it.
The groups are read off the game's own systems, not a list in this mod. Building material is whatever appears as a build cost on the Hammer's piece table, so an item a content mod adds lands in the right group by itself. Metal is whatever the game refuses to send through a portal, the same flag the pacing rule already used.
Every row is one line of ProgressionTiers, so a different table is one edit. Any global key
works, not just a boss key.
An earned metal tier lifts the portal rule. That is on purpose and it is the point: the
haul is real pacing while you are doing your first copper runs, and by the boss that hands you
the iron age you have already paid it. IncludeNonTeleportable remains for anyone who
disagrees and does not want to wait.
In multiplayer, it is the world's progress
Global keys are world state the server pushes to every client, so everyone computes the same answer with no new networking. A fresh character joining a Mistlands-era world gets Mistlands-era stacks, which is the deliberate trade: progress is the world's, not yours.
Keys only ever accumulate, so the multiplier only ever rises. Nothing here can leave a stack sitting above its own limit.
With Utangard
Utangard opens a biome only when every member of the group was personally at that boss's death, which is not the same as the boss having died in the world. Those answers part company the moment somebody is offline for a kill.
When Utangard is installed, Yoke asks it instead of reading the key, so stacks never arrive
for a biome Utangard still has fenced off. It is a soft dependency in both directions: neither
mod needs the other, and DeferToUtangard = false turns it off.
What it will not do
It never makes equipment stackable. Only items with a vanilla stack size above 1 are touched. An item that does not stack in vanilla is a weapon, a tool or a piece of armour, and those carry per-item durability and quality, and collapsing several into a count silently throws all but one of those away.
Design notes
Why both ObjectDB entry points are patched, why every value is computed from the item's
captured original, why the biome routes stop where they do, and the release checklist:
DESIGN.md.
Core is optional
Yoke installs and runs on its own. Core is a soft dependency: present, it is used; absent, nothing here is degraded. Installing Yoke from Thunderstore no longer installs Core with it.
What Core adds is the version gate, a handshake that compares mod versions and build
ids on connect and refuses a client that does not match. Without it nothing reports two ends running different item data, which desyncs inventories. The ObjectDB.CopyOtherDB patch still puts a joining client on the server's numbers, which covers the common case on its own.
Solo, none of that applies and Core is not needed at all.
Config
BepInEx\config\ezomic.valheim.yoke.cfg
| Key | Default | What it does |
|---|---|---|
ScaleWithProgression |
true |
Each boss raises one group. Off falls back to StackMultiplier |
ProgressionBase |
1 |
Multiplier for a group no boss has unlocked; 1 is vanilla |
ProgressionTiers |
see above | boss:group:multiplier, comma separated |
ProgressionStep |
0 |
Later bosses re-raise earlier groups by this fraction, compounding |
ProgressionOrder |
the seven bosses | What "later" means; idle while ProgressionStep is 0 |
DeferToUtangard |
true |
Ask Utangard what the group has earned, when it is installed |
StackMultiplier |
2 |
Flat multiplier, used only when ScaleWithProgression is off |
StackCap |
200 |
Hard ceiling on the result |
WeightMultiplier |
1 |
Multiplies item weight; 1 leaves it alone |
IncludeNonTeleportable |
false |
Also affect ore, bars and anything portal-blocked |
IncludeTrophies |
true |
Also affect trophies |
ExcludeItems |
Comma-separated prefab names to skip entirely | |
WriteItemList |
true |
Write the item list described below beside the .cfg |
Verbose |
false |
Log every item that changed |
A value already written to the .cfg beats a new default in code. Change the .cfg.
The item list
BepInEx\config\ezomic.valheim.yoke.items.txt, rewritten on every run.
ExcludeItems takes prefab names, and prefab names are not guessable: copper ore is
CopperOre but raspberries are Raspberry and a draugr's arrow is draugr_arrow. So the
mod writes down every item it saw, what it did to each one, and which rule stopped it when
it did nothing:
Prefab Name Type Stack Weight Left alone because
Wood Wood Material 50 -> 100 2
CopperOre Copper Ore Material 30 10 portal-blocked
SwordIron Iron Sword OneHanded 1 0.8 equipment
An arrow means Yoke changed that value. A single number means it did not, and the last
column says why. The header carries the settings that pass ran under and a count of each
reason, so equipment 677, portal-blocked 22 is the whole safety story at a glance.
This is also the answer to "why did this item not change", which is the only question a mod like this ever gets asked. ## Building
dotnet build
Deploys to the repo-local testprofile\. Override with -p:ProfileDir=..., or build it
into the shared play profile with valheim-own-profile\build-all.ps1.
Author
Yoke is an original mod by Robbin Thijssen (Thijssen Software).
Copyright (c) 2026 Robbin Thijssen. MIT licensed. See LICENSE.