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.
SwmarlyValheimQOL
Configurable Valheim 1.0 QOL mod: floating items, water equipment, sleep voting, coin pocket, diving, running hotbar equipment, sitting regen, tree replanting, auto-repair, vehicle dismantling, eternal fires, no-rain wear, and no-stamina building.
| Date uploaded | a week ago |
| Version | 2.0.13 |
| Download link | Swmarly-SwmarlyValheimQOL-2.0.13.zip |
| Downloads | 21 |
| Dependency string | Swmarly-SwmarlyValheimQOL-2.0.13 |
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.2350ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.30.0README
Swmarly Valheim QOL
One optimized BepInEx plugin containing the quality-of-life changes used by Swmarly's Valheim setup.
Included features
- Dropped items float using Valheim's native
Floatingphysics. - Equipment can be equipped while swimming, including the equipment-update transaction used by Valheim's water restriction.
- Hotbar equipment can be used while running; the vanilla
Player.CheckRunequip gate is removed without changing movement speed or sprint state. - Sleep-skip voting with percentage, warning, timeout, cooldown, and solo-server handling.
- Currency pocket: picked-up coins are stored on the player and are counted by traders; pickup and pocket-funded purchases are validated by the server.
- Swimming skill speed scaling, idle stamina regeneration, swim sprint, and configurable diving. Hold the configured Dive key (or crouch) to descend and the configured Surface key (or jump) to return toward the surface; the native swim timers and camera water clamp are held correctly while below the surface.
- Sneak speed scales with the Sneak skill.
- Health regeneration while sitting.
- Uncovered structures no longer take rain wear.
- No stamina cost for hammer, hoe, and cultivator use by default; holding a tool does not remove stamina costs from running or other activities, and an all-actions mode is available.
- Configurable eternal fuel for native campfires, hearths, braziers, torches, and other configured
Fireplacepieces. The server maintains the synchronized fuel value, so the light stays lit for every player. - Configurable automatic replanting for supported tree stumps. The default mappings replant Beech, Fir, Pine, Birch, and Oak with their matching saplings; custom
stump=saplingmappings are supported for compatible tree mods. - Configurable automatic stump removal after felling a tree. It uses Valheim's native stump destruction path so the stump's normal log drops are preserved, and it works with automatic replanting.
- Configurable automatic repair when a workbench/crafting station is open. It uses Valheim's native repair eligibility checks and repairs every eligible weapon, tool, armor, bow, shield, and normal durability item the station can handle.
- Configurable hammer middle-click dismantling for supported boats and carts. It extends Valheim's native build-removal eligibility while preserving native ownership, resource drops, effects, and networked destruction; occupied or attached carts remain protected.
- Multiple players can open and interact with the same chest together, including wagon inventories. Chest item moves are routed through an authoritative server-owner transaction layer so simultaneous moves are accepted or rejected without client-side duplicate inventories.
- SpeedyPaths-style dirt/stone path and structure movement bonuses, with no running stamina usage on dirt and stone paths by default.
- Server-side NoAFKRaids behavior: random raids are blocked when an AFK player is within the configured event protection radius; if Valheim does not expose an event position, it safely falls back to blocking only when all connected players are AFK.
Installation
Install the package with r2modman/Thunderstore Mod Manager, or extract the contents into the Valheim game directory so the DLL is under BepInEx/plugins. Version 2.0.13 requires Jötunn 2.30.0 and the exact same QOL version on the server and every client.
For a dedicated server, install the package in the server instance's BepInEx/plugins directory and start the server once. The config will be created at BepInEx/config/Swmarly.ValheimQOL.cfg inside that server instance. In multiplayer, install the same package on every client as well: sleep voting, chest sharing, NoAFKRaids, and currency balance transactions use the server for authority, while equipment-in-water, running hotbar equipment, SpeedyPaths movement, diving, and the currency-pocket UI require the client copy.
The currency pocket is a separate coin balance: picked-up coins appear in the pocket and are included in trader totals. Open the inventory after picking up coins; use the down arrow to move normal-inventory coins into it, or use the up arrow to extract all pocket coins. The panel removes duplicate copies and is placed between the final rendered Armor/Weight bounds after expanded-inventory mods finish their UI layout.
When updating, remove the old SwmarlyValheimQOL.dll/package copy first if your manager leaves duplicate plugin versions behind, then install the new package on both the server and all clients. Do not keep two copies of this mod in different plugin folders.
Every feature is enabled by default.
The new settings are created in BepInEx/config/Swmarly.ValheimQOL.cfg:
Features / Eternal fires and lightsFeatures / Automatically replant treesFeatures / Automatically remove tree stumpsFeatures / Auto repair at workbenchesFeatures / Break boats and carts with hammerEternal fires and lights / Prefab namescontrols exactly which native or compatibleFireplaceprefab names stay fueled.Automatic tree replanting / Stump to sapling mappingscontrols the exact stump-to-sapling pairs. The feature never chooses a random tree.Automatic tree replanting / Replant delay secondscontrols the server-side spawn delay.
Automatic stump removal is enabled by default. Disable Features / Automatically remove tree stumps if you want to leave stumps in the world; manual stump destruction can still trigger automatic replanting when that feature is enabled.
Do not install duplicate copies of the individual mods at the same time. Their overlapping patches can cancel each other out.
Compatibility
Built against the Valheim 1.0 dedicated-server assemblies and BepInExPack Valheim 5.4.2350. Jötunn 2.30.0 is required for network compatibility and server-config metadata; ServerSync and Server_devcommands are not required. Eternal fuel, tree spawning, chest transactions, currency balance transactions, and vehicle dismantling use Valheim's native server-synchronized paths, while automatic repair runs for each local player through Valheim's normal inventory synchronization. Install the same package on the dedicated server and every client for the complete feature set.
Credits
This project is an independent reimplementation inspired by the behavior of the mods listed in THIRD_PARTY.md. It does not bundle their DLLs or artwork.
Thunderstore disclosure
The icon was created specifically for this package with generative image tooling.
CHANGELOG
Changelog
2.0.15
- Completed coin pickup through Valheim's native networked pickup ownership path instead of leaving AutoPickup drops pending on a separate currency response route. Coin stacks now commit directly to the pocket, remain safe with full inventories, and roll back without deletion if the local commit fails.
2.0.14
- Routed currency pickup and purchase requests through Valheim's native
ZRoutedRpctransport for dedicated-server reliability, while retaining server-side validation, idempotency, and rollback behavior.
2.0.13
- Fixed dedicated-server currency pickup by correcting the Jötunn CustomRPC callback registration order. Client pickup requests now reach the server handler, and server responses reach the client handler.
2.0.12
- Hardened coin AutoPickup for dedicated servers: the client-only coin opt-in now requires a local player and is disabled on dedicated server processes. Dedicated servers remain authoritative for currency validation, balance updates, and drop destruction.
2.0.11
- Explicitly opted coin drops into Valheim's native AutoPickup eligibility gate when the authoritative currency RPC is ready. This preserves safe manual pickup behavior and prevents coins from being silently skipped before the pocket transaction starts.
2.0.10
- Fixed coin AutoPickup by bypassing both Valheim capacity gates used before
Humanoid.Pickup: inventory-slot capacity and carry weight. Only authoritative coin-pocket pickups are exempt. - Fixed equipment actions during controlled diving by making the diving swimming-state patch honor the existing equipment-action scope.
2.0.9
- Fixed coin AutoPickup with a full inventory by patching Valheim's actual
CanAddItem(GameObject, int)capacity check. Only coin pickups in the AutoPickup context bypass capacity; manual item adds and other items retain native inventory rules.
2.0.8
- Restored the pre-Jötunn
Player.InMinorActionSlowdownequip-running bypass so switching hotbar equipment while sprinting does not cancel sprint or force walk speed.
2.0.7
- Moved the running-equip slowdown bypass directly into Valheim's
Character.UpdateWalkingslowdown check so it is applied in the same fixed-update movement calculation.
2.0.6
- Fixed running equipment slowdown by identifying Valheim's queued equip/unequip action directly instead of relying on input or animation timing.
2.0.5
- Fixed a listen-server currency RPC loop that could repeatedly process the same response, freeze Valheim, and crash when picking up coins.
- Deduplicated automatic pickup requests and stopped pending coins from being visually pulled into the player; coins remain in the world until the authoritative pocket transaction succeeds.
2.0.4
- Fixed hotbar equipment while running by preserving queued equip actions and suppressing slowdown only during Valheim's explicit
equippingaction. - Fixed currency pickup registration timing so Jötunn registers the currency RPC before world startup; coins now remain recoverable instead of orbiting the player when the route is unavailable.
2.0.3
- Added server-compatible hammer middle-click dismantling for supported boats and carts.
- Preserved Valheim's native removal checks, ownership claim, resource drops, effects, and networked destruction; occupied or attached carts are rejected.
2.0.2
- Fixed dedicated-server coin pickups being consumed without crediting the currency pocket.
- Coin pickups now fail closed and remain in the world when the currency RPC is unavailable, the pocket cannot be updated, or the balance would overflow.
- Added registration retry and lost-response retry handling for authoritative coin pickups, including full-inventory auto-pickup.
2.0.1
- Fixed automatic stump removal and tree replanting on client-owned trees in dedicated-server worlds.
- Added robust stump instance/name resolution and preserved native stump destruction/drop behavior.
- Added aliases for the vanilla birch stump prefab names used by different Valheim builds.
2.0.0
- Requires Jötunn 2.30.0 and exact QOL-version matching between server and clients.
- Makes multi-user chest transactions server-authoritative with bounded request handling, sender validation, expiry, and explicit external-owner arbitration.
- Moves coin pickup and pocket-funded trader purchases behind versioned, idempotent server transactions with balance recovery on failed responses.
- Adds pure safety-rule tests and lifecycle cleanup for world, network, UI, movement, sleep, currency, and chest state.
1.0.8
- Fixed trader purchases to debit the currency pocket, including purchases paid partly from inventory coins and partly from the pocket.
- Fixed hammer, hoe, and cultivator stamina handling so only the actual tool-use action is free; holding a tool no longer removes movement stamina costs.
- Hardened SpeedyPaths for multiplayer by updating only the local player after physics ground contact and ignoring nearby player colliders.
- Added enabled-by-default automatic tree-stump removal. Native stump destruction is preserved so normal log drops still spawn, and automatic replanting remains server-authoritative and compatible.
1.0.7
- Added an AzuAutoStore compatibility marker so its duplicate MultiUserChest patch layer stays disabled when QOL multi-user chests are enabled.
1.0.6
- Fixed multi-user chest routing after networked containers reload by retrying QOL inventory-owner registration until the container inventory exists.
- Fixed the Valheim 1.0 Inventory.AddItem Harmony error by removing the version-fragile logging IL rewrite; cross-owner chest transaction patches now register normally.
1.0.5
-
Removed the non-functional trash-mob fleeing feature.
-
Moved the Features section to the top of the config while preserving existing values and removing the obsolete fleeing section.
-
Changed no-stamina mode to exempt only actual hammer, hoe, and cultivator use by default; the previous equipped-tool behavior remains configurable.
-
Removed coin-purse background-click and drag-and-drop depositing; manual transfers now use only the two purse buttons.
-
Fixed jumping from very shallow water entering Valheim's swimming state.
-
Added a native swim-state guard and timer boundary so shallow water remains walkable while deep-water diving remains available.
1.0.4
- Fixed dedicated-server chest opening by preserving Valheim's native open RPC and disabling only the in-use rejection for supported containers.
- Added a guarded GUI ownership fallback and hardened the chest GUI transpiler for Valheim 1.0.
- Fixed null inventory-owner handling that could break chest item transactions.
1.0.3
-
Added configurable eternal fuel for native campfires, hearths, braziers, torches, and other
Fireplacepieces using the synchronized ZDO fuel value. -
Added server-authoritative stump-to-sapling replanting with exact mappings for the supported vanilla tree types; no random or mismatched saplings are selected.
-
Added native workbench auto-repair for every item the opened crafting station can repair, including armor, tools, weapons, bows, and shields.
-
Kept the package at version 1.0.3 and kept BepInExPack Valheim as the only dependency.
-
Audit pass against the current SleepSkip, Use Equipment in Water, EquipGearWhileRunning, VikingsDoSwim/BetterDiving, CurrencyPocket, SpeedyPaths, MultiUserChest, NoAFKRaids, and NoRainDamage implementations.
-
Hardened deferred hotbar equip transactions, moved the currency card between Armor/Weight, added true drag-drop coin deposit, and marked consumed coin drops in their network ZDO to prevent duplicate pocket credit.
-
Applied the diving camera water override before and after the camera solve, added cultivated-ground SpeedyPaths settings, and made AFK raid protection use active connections and event radius when available.
-
Added No-Chest-Block/MultiUserChest-style simultaneous chest opening and stack acknowledgment.
-
Added the reference-style authoritative chest item transaction RPCs for add, remove, move, consume, drop, preview, and rollback handling.
-
Added SpeedyPaths-style ground detection, movement multipliers, and configurable no-stamina dirt/stone paths.
-
Added dedicated-server NoAFKRaids protection based on authoritative player movement positions.
-
Replaced Rigidbody diving with native
m_swimDepthcontrol, persistent dive state, native timer maintenance, and a post-camera water-clamp override. -
Uses the reference
Player.CheckRunqueue-clear removal plus aHumanoid.ClearActionQueuefallback for the running hotbar equip gate, preserving sprint movement. -
Replaces the native swimming check only inside the equipment transaction, leaving the real swimming state, stamina, and movement code untouched.
-
Keeps Valheim's native dive target and swim timers active through
UpdateMotion/CustomFixedUpdate, and removes the camera water clamp while the local player is below the surface. -
Fixed one-time CurrencyPocket migration so an old standalone plugin cannot re-add the same balance and duplicate coins; cleaned orphan button clones before rebuilding the pocket row.
-
Applied swim-speed scaling at
Character.UpdateSwimming, where vanilla consumes the speed value, instead of only updating it from the render-frame player update. -
Post-release hardening: rebuilt the running-equipment bypass around Valheim's running query and all equip call paths without changing the package version.
-
Reworked diving to drive Valheim's native swim-depth target during fixed updates, so dive/surface input is not overwritten by vanilla buoyancy.
-
Deduplicated the currency panel, migrated the standalone CurrencyPocket balance key, and put both coin buttons in a fixed non-overlapping row.
-
Added a direct click-to-deposit action and changed sitting regeneration to an exact one-health-per-second accumulator by default.
-
Fixed hotbar equipment while running by handling both Valheim movement flags and the central
UseItem/EquipItempaths. -
Fixed swimming equipment by bypassing the native swim gate only for the equip transaction, then restoring the real swim state.
-
Fixed diving by using held keys and applying vertical velocity after native swimming physics.
-
Fixed currency pocket placement with rendered UI bounds instead of an expanded-inventory hardcoded offset.
-
Added a deposit button and drag-and-drop coin deposit from the normal inventory.
-
Allowed coin autopickup when normal inventory space is full and persisted the dedicated-server config before patch registration.
-
Improved sleep vote cleanup and late-joiner popup delivery.
-
Fixed sleep-vote registration across world reloads and stopped stale warning/vote state from carrying into the next vote.
-
Removed repeated sleep-display RPC spam and updated the open vote body when counts change.
-
Removed in-bed players from explicit vote sets and continued notifying eligible late joiners.
1.0.2
- Fixed hotbar equipment while running by bypassing the actual movement-state equip gate.
- Fixed currency pickup reliability and delayed the currency-pocket layout until other inventory mods finish positioning their UI.
- Added compatibility placement for common expanded-inventory layouts and fixed the currency icon/text lookup.
- Preserved stamina regeneration when no-stamina mode is enabled.
- Reapplied no-rain wear protection to already-loaded structures.
1.0.1
- Load on dedicated-server processes so the server config and server-side patches initialize.
- Fixed running hotbar equipment to bypass the vanilla movement-state gate.
- Reworked currency-pocket UI placement and inventory-mod compatibility.
- Clarified dedicated-server and client installation requirements.
1.0.0
- Initial Valheim 1.0 release.
- Combined the requested quality-of-life features into one configurable plugin.