Valheim
Install with App

Details

Latest version
0.3.0
Last Updated
First Uploaded
Downloads
1.7K
Likes
1
Size
178KB
Dependants
ADDatHost Valheim hosting
30% off

Changelog

[0.3.0]

Added

  • Stack sizes can be tuned per resource. Wood and metal are both "Materials" to the game, so until now they shared one multiplier, or had to be overridden one item at a time in absolute numbers - which meant working out each item's vanilla stack first (wood is 50, every ore and bar is 30). The new 3 - Stack Resources section splits Materials into four groups with a multiplier each: Wood (Wood, Finewood, Corewood, Yggdrasil Wood, Ancient Bark, Ashwood, Timberwood), Stone (Stone, Grausten, Black Marble), Metal (every ore and scrap the smelter and blast furnace take, and every bar they give back) and Leather (hides, pelts, scraps and straps). Wood = 3 and Metal = 2 gives triple wood stacks and double metal ones, independently of each other and of the Materials category. Each group ships at 0, meaning follow the category, then the global multiplier, so nothing moves until you set one.
  • Stack Multiplier Overrides. A per-item list of multipliers - Wood:3, IronOre:2 - for anything the four groups do not cover, modded items included. It sits beside Stack Size Overrides rather than extending its syntax on purpose: that list holds absolute sizes, and a Wood:3 that meant "three per stack" in one list and "three times" in another would be a trap. Like the other lists it takes a prefab name or a $item_ token and ignores case. Entries of zero or less are rejected with a warning.
  • Weight Reduction Bonus (%). A percentage taken off every item's weight on top of the Weight Multiplier: at the default multiplier of 0.5, a bonus of 20 makes items 20% lighter again, so a weight-2 log ends up at 0.8. It applies to the categories too - a category's own multiplier replaces the global one, but the bonus still stacks on top - which makes it the one dial that moves every weight in the game at once. Ships at 0, which is exactly the old behaviour. Weight Overrides and Excluded Items are exempt, since they name an exact weight, and the Minimum Item Weight floor still applies, so 100 leaves everything at the floor rather than at nothing.
  • Verbose Logging says what it applied. The summary line now includes the weight bonus, any resource multipliers that are set, and how many per-item multipliers are loaded, so you can see the mod read your config the way you meant it.

Changed

  • A stack size is now decided in this order, first match wins: Excluded Items (vanilla) → Stack Size Overrides (absolute) → Stack Multiplier Overrides (per item) → resource group → category → global Stack Multiplier. Max Stack Size still clamps the result last, and gear and anything that does not stack in vanilla are still never touched.
  • Override lists turn away NaN and infinity. They used to parse cleanly and flow through the clamp untouched: Iron:NaN in Weight Overrides left iron weighing NaN, and Coal:NaN in Stack Size Overrides left coal with a stack size of -2147483648. They are now ignored with the same warning as any other malformed entry.
  • MinimumRequiredVersion moved to 0.3.0. The new settings are server-synced and change the numbers the server computes, so clients on an older StackIT are asked to update.

[0.2.3]

Valheim 1.0.16 compatibility

  • Rebuilt for Valheim 1.0.16 (client build 25527674 / dedicated server build 25527701, network version 40). No source change was needed: every Harmony target (ObjectDB.Awake / CopyOtherDB, ZNetScene.Awake, Player.GetMaxCarryWeight / AutoPickup, Pickable.GetHoverText / Interact) and every game member the item, pickup and category code reads was checked against the 1.0.16 decompile and is unchanged.
  • No behaviour change. MinimumRequiredVersion follows the mod version to 0.2.3, as it always has - everyone updates together.

[0.2.2]

Valheim 1.0.7 compatibility

  • Rebuilt for Valheim 1.0.7 (client build 25185596 / dedicated server build 25185644, network version 39) on BepInEx 5.4.2350. No source change was needed: every Harmony target (ObjectDB.Awake / CopyOtherDB, ZNetScene.Awake, Player.GetMaxCarryWeight / AutoPickup, Pickable.GetHoverText / Interact) and every game member the item, pickup and category code reads was checked against the 1.0.7 decompile and is unchanged. The 1.0 trinket slot (ItemType.Trinket) was already mapped to the Armor category.
  • No behaviour change. MinimumRequiredVersion follows the mod version to 0.2.2, as it always has - everyone updates together.
  • The Thunderstore dependency now names the 1.0 BepInEx pack (denikson-BepInExPack_Valheim-5.4.2350).

[0.2.1]

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.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.