Confirm with your password

StackIT

Server-synced stack, weight and pickup control for Valheim. Multiply every stack size, cut item weights, raise carry capacity, and hold Shift to harvest a whole berry patch

Client & Server Config Mechanics Quality of Life Storage 2/3

· Website

Stars
1
Downloads
47
Version
0.2.1
Updated
Author
Wubarrk
Virus scan
✓ Scan successful
Runs on
Client & Server

Description

📦 StackIT

StackIT — crates stacked high under a rune-lit sky

Valheim Mod Multiplayer Compatible Framework License Version

Carry more of it, carry it further, and take the whole patch at once.

StackIT is a small, server-authoritative mod that decides two numbers for every item in the game: how many fit in a slot, and what one of them weighs. Both are multipliers you set once and forget — or, if you want the control, tune per category and per individual item, with exclusions and a hard ceiling. The server owns the settings and clients sync to it, so nobody has to compare config files.

It also stops you pressing E forty times in a berry patch: hold Shift and the whole patch comes up at once.

It deliberately never makes weapons, armour or tools stackable. Here is why.


📜 Contents
🔗 My other mods — all of them live on Hexium, all of them alive and well

Every mod below is on Hexium and is actively maintained — nothing on this list is abandoned, and fixes land there first.

Mod What it does
TortalPortal A complete overhaul of the portal network — pick destinations off a map, with photos, PIN locks and tame teleportation.
VikingOS Rebuild the whole interface. Move, resize and rotate any HUD element, plus a chat that keeps your capitals.
Fatty The food overhaul — no stat decay, a bigger food bar, stacking foods, and diet synergy buffs.
LetItGrow Farming, fully configurable. Grow timers, grid planting, and a Scarecrow that harvests and replants for you.
Shadows of Midgard A stealth engine. Creatures see, hear, remember and doubt — vision cones, noise, light and camouflage.
AwayFromHome Build a Keeper Stone and that place keeps living while you are elsewhere. Animals fed, smelters loaded.
Njord A mythic overhaul of ship handling, steering and acceleration, with its own HUD.
Wings of the Valkyrie Four tiers of runic dragon wings and a Flight skill that grows with every wingbeat.
Runic Runic Weapons of Thorium — 7 two-handers, 7 staves and 3 armour sets behind a new Ashlands ore chain.
Dvergr Allies Tame, breed and lead an army of Dvergr, across four classes with real breeding genetics.
Blighted World Heart A raid boss that summons endless waves, unique sub-bosses, and drops dozens of custom weapons.
Runebound Rest The Rested and Comfort system, rebuilt — plus a Well Rested buff for a full night in your own bed.
Mists of Avalor A procedural black-stone crypt-labyrinth in a forsaken sky-realm. Bring a torch.
The Eye A deterministic, cross-platform Valheim API extraction tool. Vibe coders love it.

⚠️ Upgrading to 0.2

Harvest All is on by default, and the key is Shift. Shift is also the run key, so sprinting up to a berry bush and pressing Use while still holding it will take the whole patch, not one bush. That is usually what you wanted anyway, but it is worth knowing before it surprises you. Change the key or set Harvest All = false in section 7 - Pickup.

Nothing else changes on its own. Auto Pickup Range ships at 2, which is exactly vanilla — raise it yourself if you want harvests to collect themselves.

Everyone needs 0.2.1. The pickup settings are server-synced, so clients on an older StackIT are asked to update rather than play without them.


⚠️ Upgrading from 0.0.1

Weight reduction is on by default. 0.1.1 adds a Weight Multiplier that ships at 0.5, so every item weighs half what it used to the moment you launch. That is a real balance change on an existing server, and it is deliberate — bigger stacks are only worth having if you can carry them. If you want the old behaviour, set Weight Multiplier = 1.0 in section 4 - Weight.

Your stack multiplier carries over. It stayed in section 2 - Settings under the same key precisely so your existing value survives the upgrade untouched.

Everyone needs 0.1.1. Clients still on 0.0.1 will be asked to update, because they would compute different stack sizes to the server.


⚔️ Features

📦 Bigger Stacks

One multiplier applied to the base stack size of every item that already stacks in vanilla. Defaults to 3x: 50 wood becomes 150, 20 trophies become 60. A Max Stack Size ceiling (default 9999) is applied afterwards, so a big multiplier on an already-big stack can never produce a silly number.

Stack sizes are always recomputed from the vanilla value, never from the current one. Turn the multiplier down mid-session and it genuinely goes down; push a new config from the server ten times and you get the same answer ten times.

🪶 Lighter Items

The other half of the problem. A multiplier on every item's weight, defaulting to 0.5 — half of vanilla. Two details matter:

  • Items that weigh nothing in vanilla stay weightless. They are meant to be free.
  • Everything else gets a Minimum Item Weight floor (default 0.01) so nothing rounds down to free by accident.

🎒 More Carry Weight

Extra Carry Weight is a flat allowance added on top of vanilla's 300 and anything Megingjord is already giving you. It hooks the same call the encumbrance check and the inventory readout use, so the number in the corner of your inventory and the point at which you start waddling always agree. Defaults to 0 — the stack and weight multipliers usually get you there on their own.

🌿 Harvest All

Hold Shift and press Use on a raspberry bush and you get the whole patch, not one bush. The same goes for mushrooms, thistle, dandelion, flint, branches, stone — anything the game calls a pickable. Let go of Shift and Use behaves exactly as it always did, so nothing you already know changes.

Picking a plant does not put items straight in your pocket: it drops them on the ground where the plant stood, which is fine for one bush and useless for forty. That is what Auto Pickup Range is for — the radius loose items are vacuumed in from, 2 in vanilla and up to 64 here. Raise it and a harvest collects itself. Vanilla's own rules still hold: nothing is pulled in while you are out of slots or over your carry limit.

The prompt on your crosshair tells you it is there — [Shift + E] Harvest all sits under vanilla's own [E] Pick up, follows whatever key you bind, and hides itself on a gamepad.

Two guards, because "pick everything nearby" is a sharp tool:

  • Max Count (default 50) caps a single harvest, taking the nearest plants first. If a harvest hits the cap you are told so in the corner — it never quietly stops early and lets you believe the patch is empty.
  • Same Type Only (default off) restricts a harvest to plants dropping the item you actually picked, for when you want the berries out of a clearing and the mushrooms left where they are.

Plants sitting in tar are skipped rather than each complaining about it, and an Excluded Items list keeps named plants out of every harvest for good.

The modifier key is the one setting in StackIT the server does not decide. Which key you hold is a matter of taste and of keyboard, so it stays local to you — change it to Ctrl, Alt or anything else in 7 - Pickup.

🗂️ Per Category

If one number for the whole game is too blunt, every category has its own override. Leave a category at 0 and it follows the global multiplier; set anything else and it wins.

Stacks Weight
Materials
Consumables
Ammo
Trophies
Fish
Misc
Weapons
Armor
Tools

Weapons, armour and tools have no stack setting on purpose — see below.

🎯 Per Item

For when a category is still too broad. Two comma-separated lists set absolute values that ignore every multiplier:

Stack Size Overrides = Wood:500, Stone:500, Coins:9999
Weight Overrides     = Wood:0.1, Iron:4, BlackMetal:3

And two more hold specific items at their vanilla numbers, whatever the multipliers say:

[2 - Settings]  Excluded Items = Coins, SurtlingCore
[4 - Weight]    Excluded Items = Ymirremains

All four lists accept either the prefab name (Wood) or the shared name token ($item_wood), because item dumps and in-game tooltips do not agree on which one you are looking at. All four are case-insensitive, and all four are read in invariant culture — a config written on one machine reads identically on every other one, whatever its decimal separator.

🛡️ Why Gear Never Stacks

Plenty of stack mods will happily let you stack swords. StackIT will not, and this is the reason.

Valheim decides whether two items can merge in Inventory.FindFreeStackItem, and it compares name, quality and world level — it never looks at durability. So if stacking gear were allowed, a sword at full durability dropped onto a stack of worn ones would simply become a worn one. The game keeps a single durability value for the whole stack, and the better item's is discarded without a message.

There is no config flag to turn this on, because there is no version of it that is not silent data loss. Weight reduction still applies to gear in full — a lighter armour set is free of that problem.

The same rule covers anything that does not stack in vanilla, for the same reason. If you point a stack override at one of those items, StackIT ignores it and says so once in the log.


⚙️ Configuration

Everything lives in BepInEx/config/wubarrk.stackit.cfg, generated on first launch. Every setting below is server-synced except Harvest All Modifier, which is a keybind and stays local.

1 - General

Setting Default What it does
Lock Configuration true Only server admins may change the settings.
Verbose Logging false Logs how many item prefabs were touched on each re-apply. Handy while tuning overrides.

2 - Settings

Setting Default What it does
Stack Multiplier 3.0 Applied to the base stack size of everything that stacks in vanilla.
Max Stack Size 9999 Hard ceiling, applied after the multiplier and after any override.
Excluded Items (empty) Comma-separated names held at their vanilla stack size.
Stack Size Overrides (empty) Name:Value pairs setting absolute stack sizes.

3 - Stack Categories

Materials, Consumables, Ammo, Trophies, Fish, Misc — each defaults to 0, meaning use the global Stack Multiplier.

4 - Weight

Setting Default What it does
Weight Multiplier 0.5 Applied to every item's base weight. 1.0 is vanilla.
Minimum Item Weight 0.01 Floor applied after the multiplier. Vanilla-weightless items stay weightless.
Excluded Items (empty) Comma-separated names held at their vanilla weight.
Weight Overrides (empty) Name:Value pairs setting absolute weights, ignoring the floor.

5 - Weight Categories

Materials, Consumables, Ammo, Trophies, Fish, Misc, Weapons, Armor, Tools — each defaults to 0, meaning use the global Weight Multiplier.

6 - Carry Weight

Setting Default What it does
Extra Carry Weight 0 Added to every player's carry limit, on top of vanilla and Megingjord.

7 - Pickup

Setting Default What it does
Auto Pickup Range 2.0 Radius in metres loose items are vacuumed in from. 2 is vanilla.
Harvest All true Whether holding the modifier while pressing Use picks every plant nearby.
Harvest All Radius 8.0 Radius in metres searched around the plant you picked.
Harvest All Max Count 50 Most plants one harvest may take, nearest first.
Harvest All Same Type Only false Restrict a harvest to plants dropping the same item you picked.
Excluded Items (empty) Comma-separated names never mass-harvested.
Harvest All Modifier LeftShift The key you hold. Not server-synced — this one is yours.

🤝 Multiplayer

Install it on the server. Configuration is server-authoritative through ServerSync: the server holds the real values and pushes them to every client on connect, and again whenever an admin changes one — no restart, no reconnect, no comparing config files with your friends.

Lock Configuration (on by default) stops clients editing their own copy to give themselves bigger stacks. The single exception is Harvest All Modifier — a keybind is not a balance setting, so each player keeps their own. Because MinimumRequiredVersion matches the mod version, a client on an older StackIT is asked to update rather than quietly playing with different numbers to everyone else.

Single-player and dedicated servers both work with no extra setup. StackIT touches item prefabs only — it does not write to your save.


📦 Dependencies

⚠️ Requires: BepInEx

Dependency Why
BepInExPack Valheim The mod loader (also provides HarmonyX).

📥 Installation

With Gale (recommended): just install StackIT — the dependency above is pulled in for you.

Manual install:

  1. Install BepInExPack Valheim.
  2. Drop StackIT.dll into BepInEx/plugins.
  3. Launch once to generate BepInEx/config/wubarrk.stackit.cfg, then set your multipliers.
  4. On a dedicated server, install it on the server as well — that is the copy that decides.

📜 Licence

StackIT is released under the MIT License (LICENSE.md, included in the download). Fork it, ship it, sell it, put it in your modpack — keep the copyright notice and you are done. No permission needed and none to ask for.

ServerSync.cs (by Blaxxun) is compiled into the DLL and stays under its own author's terms.

Created by Wubarrk

Bug reports and suggestions are genuinely wanted — Discord is the fastest way to reach me.

Changelog

0.2.1 Latest

Added

  • Harvest All is visible on the crosshair. A plant's hover prompt now carries a second line - [Shift + E] Harvest all - underneath vanilla's own [E] Pick up, in the same idiom the game uses for its other modifier prompts. It follows whatever key you bind rather than naming Shift, and it hides itself on a gamepad, where a keyboard modifier means nothing. Until now the feature was invisible unless you had read the config, which is a poor way to ship a keybind.

Changed

  • MinimumRequiredVersion moved to 0.2.1. Nothing about the config changed in this release, so a 0.2.0 client would in fact have synced correctly - but the pin follows the mod version, and loosening it is a decision for a release that needs it.
0.2.0

Added

  • Harvest All. Hold Shift and press Use on any plant and you pick every other plant within 8 m instead of just that one - a raspberry patch, a mushroom cluster or a thistle stand comes up in a single press. The plant under the cursor is still picked by the game itself; StackIT only adds the rest of the patch. Off-limits by default to nothing, but there is a Max Count (50) so a hold on a dense field cannot strip a whole biome, and you are told when a harvest hits it.
  • Auto Pickup Range. The radius loose items are vacuumed in from, defaulting to vanilla's 2 m and raisable to 64. It is the other half of Harvest All: picking a patch scatters the drops across the ground where the plants were, and a wider vacuum is what turns that back into one keypress. Vanilla's own rules still apply - nothing is pulled in while you are encumbered or out of slots.
  • Harvest All Modifier, Harvest All Radius, Harvest All Same Type Only and a Harvest All Excluded Items list, in the new 7 - Pickup section. Same-type-only restricts a harvest to plants dropping the item you actually picked; the exclusion list accepts either the dropped item's prefab name (Dandelion) or the plant's, and is case-insensitive like the other three lists.

Changed

  • The modifier key is the one setting the server does not decide. Everything else in StackIT is server-authoritative; which key you hold is a matter of taste and of keyboard, so it stays local.
  • Plants sitting in tar are skipped by a harvest rather than each printing $hud_itemstucktar, and a harvest takes the nearest plants first, so hitting the cap takes the patch around your feet rather than an arbitrary slice of the sphere.
  • MinimumRequiredVersion moved to 0.2.0. Clients on 0.1.1 will be asked to update, because the new pickup settings are server-synced and they would not receive them.
0.1.1

Added

  • Weight reduction. Every item's weight is now multiplied by a configurable factor, defaulting to 0.5 - half of vanilla. Bigger stacks only help if you can carry them, so weight is now the other half of the mod rather than something the stack multiplier quietly makes worse. Items that weigh nothing in vanilla stay weightless, and a Minimum Item Weight floor stops anything rounding down to free.
  • Extra Carry Weight. A flat allowance added to every player's carry limit, on top of vanilla's 300 and anything Megingjord contributes. Defaults to 0. It patches Player.GetMaxCarryWeight, so the encumbrance check and the inventory readout both agree with it.
  • Per-category multipliers. Stacks and weights can each be tuned per category instead of one number for the whole game - Materials, Consumables, Ammo, Trophies, Fish and Misc for stacks, plus Weapons, Armor and Tools for weight. Leave a category at 0 and it follows the global multiplier.
  • Per-item overrides. Wood:500, Stone:500 sets absolute stack sizes that ignore the multiplier entirely; Wood:0.1, Iron:4 does the same for weights. Both accept the prefab name (Wood) or the shared name token ($item_wood), and both are case-insensitive.
  • Exclusion lists. Comma-separated prefab names held at their vanilla stack size or vanilla weight - for the coins, cores and quest items you would rather the multiplier never touched.
  • Max Stack Size. A hard ceiling applied after the multiplier and after any override, so a large multiplier on an already-large stack cannot produce an absurd number.
  • Verbose Logging toggle, which reports how many prefabs were touched on each re-apply. Useful while tuning overrides.

Changed

  • Gear is explicitly never stacked. Weapons, armour and tools are skipped by name, and so is anything that does not stack in vanilla. Valheim merges stacks by item name and quality only - it does not compare durability - so a pristine sword dropped onto a worn stack would silently take the worn item's durability. Weight reduction still applies to gear; only stacking is withheld. An override aimed at an unstackable item is ignored and logged once.
  • Mod-added items are picked up more reliably. The sweep now covers ZNetScene.m_prefabs as well as ObjectDB.m_items, so item prefabs that never made it into the ObjectDB are still handled. Each prefab is visited once per pass.
  • Everything is recomputed from cached vanilla values, never from the live value, so repeated config pushes cannot compound. Lowering a multiplier now genuinely lowers it, and clearing an exclusion restores the vanilla number exactly.
  • Overrides parse in invariant culture, so a config written on one machine reads identically on every other one regardless of its decimal separator.
  • The config layout gained five new sections. Your existing Stack Multiplier is preserved - it stayed in 2 - Settings under the same key specifically so upgrading from 0.0.1 keeps it.
  • MinimumRequiredVersion moved to 0.1.1. Clients still on 0.0.1 will be asked to update, because they would compute different stack sizes to the server.

Licence

  • Relicensed under the MIT License. The previous terms required the author's approval before anyone could make a derivative work, which is not open source by any usable definition. MIT keeps the attribution requirement and drops the permission gate. ServerSync.cs is compiled in and stays under its own author's terms; see LICENSE.md.
0.0.1
  • Initial release.
  • Added dynamic item stack size modifier.
  • Configurable multiplier defaults to 3x.
  • Integrated ServerSync for server-authoritative configuration.

Full version history & older downloads →

Manual installation instructions
1

Install BepInExPack Valheim

BepInExPack Valheim is required to run mods in Valheim.

Download BepInExPack Valheim 5.4.2333 · View mod page

Check out the mod page for detailed installation instructions.

2

Install StackIT

This mod must be installed on both the client and the server.

Download StackIT 0.2.1

Extract the ZIP and place the file(s) into the BepInEx/plugins/ folder inside your Valheim game folder.