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.
InventoryActions
Standalone inventory actions split from InventorySlots mod: hold containers to quick stack/restock, favorite slots, sort inventories/containers, set restock limits, and trash selected items.
| Date uploaded | 2 weeks ago |
| Version | 1.0.13 |
| Download link | sighsorry-InventoryActions-1.0.13.zip |
| Downloads | 487 |
| Dependency string | sighsorry-InventoryActions-1.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.2351README
InventoryActions
Standalone inventory actions split from InventorySlots mod: hold containers to quick stack/restock, favorite slots, sort inventories/containers, set restock limits, and trash selected items.
Hovering a container shows hold actions for area quick stack and area restock. Area ranges are centered on the interacted container.
Hold E to quick stack matching non-favorited player items into the hovered container and nearby eligible containers.
Favoriting marks the inventory slot itself, making that slot immune to quick stack while also registering it as a restock target.
Hold Alt+E by default to restock favorited inventory stacks from the hovered container and nearby eligible containers.
Take stacks pulls only matching stackable items that are not favorited.
Client restock limits can cap favorite restock targets per prefab, such as Stone: 10 or Coins: 500.
Two item-rule icons sit below the player inventory, to the left of the trash button:
- Restock limits: drop an item from your inventory on the icon to register it and enter its target quantity. Valid quantities save immediately. The item stays in your inventory. Limits apply to Alt+E favorite-stack restock, not the opened-container Take stacks button; 0 prevents restocking and quantities are capped at the item's maximum stack.
- Auto pickup exclusions: dropping an inventory item immediately registers its prefab and opens the list. Repeating it shows the existing entry. Excluded types stay on the ground when you walk near them; manual E pickup still works. This does not delete items or change quick stack/restock.
- Hover an icon for a list preview, or click to pin it. The wooden dropdown opens below that icon and shows up to six rows, with scrolling when space is limited. At the screen edge the panel is kept on-screen so its controls remain reachable. Valid quantities and removals save immediately. Incomplete or invalid input restores the last saved quantity when editing ends.
The restock parcel/return-arrow and excluded-pickup icons use the trash button's native background, muted gray color and golden highlight when holding an inventory item that can be registered. They remain clickable with empty hands. Popup actions use the Craft button style, while quantity fields use the inventory grid's dark translucent slot style.
In the standard eight-column inventory, trash is centered below column 8, auto pickup exclusions below column 7, and restock below column 6. All follow the last regular inventory row as it grows. Under 2 - Client, Show Restock Rules Button and Show Auto Pickup Exclude Button default to On and can be changed live. Hiding the exclusion icon moves restock to column 7. Hiding an icon closes its editor but does not disable any saved rules. The three bottom icons use automatic placement; their old position settings are no longer used. The separate Sort Button Position setting remains available.
ExtraSlots is optional. When installed, its public inventory-height API provides the regular row count, excluding hidden equipment/quick-slot storage rows. This keeps buttons aligned through purchased rows and ExtraSlots row changes without changing stored items or slot permissions.
Equipment and Quick Slots 3.x is optional. InventoryActions uses its public visible-row API so automatic sorting, quick stack, restock, favorites, trash, and bottom-button layout stay inside the visible player inventory instead of treating EAQS equipment, quick, reserved, or custom-slot rows as regular storage. Explicit item moves remain under EAQS and Valheim's normal item-move rules.
AzuExtendedPlayerInventory 2.4.14 is optional. InventoryActions uses AzuEPI's public slot-index API so automatic sorting, quick stack, restock, favorites, and trash stay above its equipment, quick, and custom-slot rows. Bottom buttons follow AzuEPI's live separate-panel setting: they use the regular inventory bottom with a separate equipment panel and the full grid bottom when slots are inline. Explicit item moves and AzuEPI's own favorite data remain under AzuEPI's rules.
Both lists use the existing client config: 3 - Restock / Restock Target Stack Limits and 2 - Client / Auto Pickup Excluded Items. They are not server-synced and apply to all characters using that config. In-game/Configuration Manager changes apply immediately; editing the cfg on disk requires a config reload or game restart. Rules do not add item metadata. Unresolved mod items remain in the list. Removing a restock entry can reveal a remaining internal/localized-name rule; it does not necessarily restore the default maximum.
- favorite player inventory slots with
LeftAlt + left click - hold
Ewhile hovering a container to quick stack matching non-favorited stackable items - restock existing stacks from the current container
- area quick stack with vanilla Use and area favorite restock with
LeftAlt + E - player and container sort buttons
- trash confirmation for held player inventory items
InventoryActions is incompatible with InventorySlots and Quick Stack Store to avoid duplicate buttons, hotkeys, and inventory mutations.
Valheim 1.0 support includes purchased inventory rows: favorites can use every loaded player row, while sorting, quick stack, and trash still protect the hotbar. The action buttons follow the current inventory height. Sorting keeps cheat-marked and unmarked stacks separate when consolidating stacks, and custom-data items retain their existing stacking protection.
Multiplayer
Install the same InventoryActions version on the dedicated server and every client. Area quick stack/restock processes eligible closed containers one at a time; when another peer owns a container, that owner validates access, range, and idle state before handing ownership to the requesting player.
When MultiUserChest is detected, area quick stack/restock is disabled because MultiUserChest does not expose enough state to prove that a locally owned container has no secondary user or pending item request. With MultiUserChest 0.6.1 or newer, InventoryActions also leaves non-owner Take All to MultiUserChest.
Github
Quick stack, restock, and inventory favorite code from QuickStackStore.
https://github.com/sighsorry1029/InventorySlots
CHANGELOG
Changelog
1.1.10
- Added optional compatibility with MultiUserChest 0.6.1 and 0.6.2 for area Quick Stack and favorite Restock through MUC's own transfer requests. Existing favorite/hotbar protection, restock targets, chest range, and access checks remain in effect.
- Added MUC restocking for Include empty targets using remembered favorite slots. Unexpected items delivered after a concurrent slot change do not overwrite the remembered item or become targets for subsequent MUC restock.
- Processed transfers one request at a time, disabled item swaps for automatic Quick Stack requests, and checked partial deposit returns before ending a batch. Timeouts stop further requests without resending or issuing a separate refund; pending requests remain with MUC.
- Limited compatibility: MUC's existing protocol still permits concurrent slot/metadata changes and may drop returned items if they no longer fit. This does not guarantee atomic transfers or eliminate item-loss/duplication risks. Actual multiplayer contention and disconnect behavior remain unverified; see the compatibility guide.
1.1.9
- Fixed Restock Targets rejecting quantities above the prefab's stack size when another mod increases the maximum for live items, such as AzuMiscPatches. Keyboard and controller edits now accept positive target quantities consistently with F1 settings.
- Preserved configured quantities when editing existing targets or registering an item covered by an existing rule, including targets for empty favorite slots. New targets still default to the held item's current maximum stack size.
- Actual restocking continues to respect each live item's maximum stack size. Updated English/Korean input hints and target documentation.
1.1.8
- Added built-in EpicLoot stacking support for compatible crafting materials, Forest/Iron/Gold tokens, Runestones, and ShardStones during Ctrl-click transfers, Take All, Store All, Quick Stack, and Restock.
- Sort now consolidates these ordinary stacks and fills matching favorite stacks from non-favorite items while preserving favorite positions. Transfers use EpicLoot's metadata handling; different effects, quality, variants, cheat markers, and incompatible third-party data remain separate.
- EpicLoot remains optional, and enchanted equipment is not opted into material stacking. Unsupported or failing API paths keep custom-data stacks protected.
- When EpicLootAdventureTools 0.8.4 is installed, its overlapping InventoryActions stacking patches are replaced by the built-in support. Its adventure tracker and other features remain enabled.
1.1.7
- Added F6 to cycle the quick guide through Expanded → Collapsed → Hidden → Expanded during gameplay, with the inventory open or closed. The client-only Toggle Feature Guide Key setting under 2 - Client can be rebound or set to None; Configuration Manager is optional.
- Updated LT + R3 to use the same cycle while the inventory is open, including restoring a hidden guide. The mouse triangle continues to expand/collapse the visible guide.
- Replaced the Show Feature Guide and Feature Guide Collapsed config options with local state saved in
BepInEx/config/InventoryActions.ClientState.yml. The same file now stores favorite slots and remembered item types separately for each character. - Save-format change: old
InventoryActions.Favorites.<playerId>.txtfiles are left untouched but are no longer read or imported. Re-register favorite slots after updating. Restock and pickup-exclusion rules remain in their existing config settings. - Updated English/Korean guide hints and the packaged English translation. The header shows the next action, controller hints explain that the inventory must be open, and hiding the guide briefly shows how to restore it. Removed the obsolete F1 hide-guide instructions.
- Updated the BepInExPack dependency to 5.4.2351.
1.1.6
- Fixed a startup path that could fail with
Steamworks is not initializedon clients without a saved language setting. Localization now waits for platform initialization, allowing settings and inventory patches to load normally.
1.1.5
- Centralized AzuExtendedPlayerInventory panel-setting cleanup while preserving special-slot protection, live layout changes, and existing fallback behavior.
- Reused the same favorite-slot checks for controller shortcuts and the item action menu. Controls, slot restrictions, settings, and saved data are unchanged.
1.1.4
- Fixed repeated favorite-memory save failures when launchers such as NucleusCoop expose the per-player favorites file through a Windows symbolic link. InventoryActions now keeps normal atomic replacement for regular files and writes through the existing link only when Windows reports that link replacement is unsupported.
- Gave each save attempt a unique temporary file so concurrent local instances do not collide on a shared
.tmpname. A successful link-compatible fallback is reported once and no longer retries every few seconds.
1.1.3
- Added direct controller navigation for Restock, Auto Pickup Exclude, Trash, and player/container Sort. Move down from the final inventory row or right from an edge slot, then use A to activate and B or a return direction to restore the original cell. Auto buttons expand only while focused.
- Added a short right-stick click menu for Favorite and Sort without picking up an item. Existing optional modifier chords remain available, while menu/button focus suppresses conflicting pickup, close, submit, and world actions.
- Reworked controller rule editing: up/down selects an item, left/right selects Mode, Quantity, or Remove, A activates or edits, X removes, and B closes or finishes quantity editing. Added focused-control highlights, safe trash confirmation navigation, and localized live help.
- Added LT + right-stick click to collapse or expand the quick guide while the inventory is open. The controller chord appears in the guide header and does not open the item action menu on release.
- Moved the open-inventory quick guide into the free upper area between the player and crafting panels. It adapts to active panels and UI scale, keeps clear of the inventory and crafting UI, and hides when no readable space remains.
- Fixed raw localization tokens and duplicated labels in controller help and confirmation buttons. Controller help follows the selected inventory button closely and moves above it near the screen edge.
- Reworked the package README into a shorter visual overview and added linked guides for inventory actions, controllers, and multiplayer compatibility.
1.1.2
- Allowed client-only installation when joining vanilla servers, using local settings. If the server installs InventoryActions, all connecting clients must still use the same version and receive its synced settings.
- Added vanilla chest ownership requests for area quick stack and favorite restock on unmodded servers. Transfers run one chest at a time, preserve favorites and restock rules, skip occupied or inaccessible chests, and guard against stale replies and duplicate actions. Container action effects remain local on vanilla servers.
- Added checkboxes to Auto pickup exclusions: uncheck to allow pickup while keeping the entry, or remove it to delete the rule. Changes save immediately; duplicate prefab entries are handled together, and controller A toggles the selected checkbox.
- Added the client-only Show Rule Tooltips setting under 3 - Inventory Buttons, enabled by default. It controls help in both rule panels and the F1 restock editor without hiding item information or Configuration Manager setting descriptions.
1.1.1
- Added configurable controller inventory actions: hold the right-stick click by default, then press A to toggle the selected player slot's favorite protection, X to sort the focused inventory, Y to open Restock targets, or B to open Auto Pickup Exclude. Opening a rules panel with a picked-up player item registers that item.
- Added controller favorite restock by holding the game's alternate-action modifier with Use while looking at a chest. This follows the selected controller layout and preserves target quantities, restock modes, remembered empty slots, chest access checks, and the leave-one-item setting. Holding Use alone continues to quick stack.
- Added controller navigation to both rules panels: up/down selects an entry, left/right adjusts its quantity, A changes its mode, X removes it, and B closes the panel. Changes save immediately, and the quick guide and chest hints show the active bindings.
- Prevented controller actions from also triggering native pickup, use, submit, close, or Stack All commands. Input dialogs block the new shortcuts, and cloned action buttons no longer inherit Take All shortcuts.
- Made the Configuration Manager restock editor fit the available width with compact item, mode, quantity, and remove controls. Narrow views wrap without forcing horizontal scrolling, and long item names stay inside their fields.
1.1.0
- Remembered favorite-slot item types per character in
InventoryActions.Favorites.<playerId>.txt. IncludeEmpty restock restores items to their remembered empty slots instead of assigning them by chest order, including multiple remembered slots of the same item. Occupied slots and slots remembered for other items are never replaced. Replacing an item updates its association; removing favorite protection clears it. - Replaced the Refill empty checkbox with three modes: Off preserves the target quantity without restocking, Existing tops up remaining favorite stacks, and IncludeEmpty also restores empty favorite slots. New entries default to Existing. Quantity editing now clamps to
1..current max stackand does not change the selected mode. - Added compact yellow mode icons: a dash for Off, circular arrows for Existing, and the same arrows with a central box for IncludeEmpty. Both the panel and F1 editor support the modes, and visible panel tooltips update immediately when a mode changes.
- Configuration change: rules now require a positive quantity and explicit mode, for example
Wood: 30 | IncludeEmpty. Old numeric-only rules, zero targets, and| refillare ignored without migration. Re-register old rules or edit their config text. Without a valid rule, existing favorite stacks refill to the normal maximum, so an old zero rule no longer disables restocking. - Favorite memory records only items observed in eligible slots; it cannot identify items consumed before they were observed. Unassigned empty favorite fallback, current stack compatibility, special-slot exclusions, chest access/ownership checks, and Restock Leave One Item remain in effect.
1.0.19
- Added a per-item Refill empty checkbox to Restock targets, unchecked by default. When enabled, Alt+E can refill one eligible empty favorite slot up to the target quantity after that item's favorite stack has been completely consumed. Existing favorite stacks keep their positions and prevent additional stacks from being created.
- Condensed Restock targets into single-line rows with a checkbox immediately left of the quantity field. Checkbox hover explanations are separate from item-name tooltips, long names use ellipsis, and changes save immediately. The F1 rule editor also supports the option.
- Saved the option with each client-side target rule, for example
Wood: 30 | refill. A quantity of 0 still disables restocking. Current maximum-stack limits, item compatibility, special-slot exclusions, chest access/ownership checks, and Restock Leave One Item continue to apply.
1.0.18
- Updated stack identity handling for Valheim 1.0.14. Quick stack and restock no longer combine normal items with otherwise matching cheat-marked items, matching the game's new native stacking rule.
- Retained matching-origin sorting and favorite filling, compatible custom-data protection, container authorization, ownership leases, saved favorites, settings, and network contracts.
1.0.17
- Player inventory Sort now fills existing favorite stacks from compatible non-favorite stacks in the sortable inventory area before merging and sorting the remaining ordinary stacks. Favorites are filled from top to bottom, left to right, up to the current maximum stack size.
- Favorite stacks stay in their original slots and never donate to or merge with each other. This behavior is always enabled; restock limits do not apply. Items moved into favorite slots gain the existing favorite quick-stack protection. Container sorting, quick stack, and restock rules are unchanged.
1.0.16
- Added independent Auto slide-out behavior for the Restock, Auto Pickup Exclude, and Trash buttons. Each button now shows only its bottom edge until hovered, stays open with its own editor, follows the inventory closing animation, and no longer expands merely because an item is being dragged.
- Grouped the related client settings under
3 - Inventory Buttons. Each button now supportsOff,Auto, andOn, defaults toAuto, and enabled buttons fill empty positions from the right. The existing synchronizedEnable Inventory Trash Panelsetting still controls whether trash is permitted. No legacy setting migration is included. - Kept button input disabled as soon as the inventory starts closing while allowing all three controls to leave with the same player-inventory animation.
1.0.15
- Added the client-only
Restock Leave One Itemoption, enabled by default. Favorite restock (Alt+E by default) leaves one item per kind in each source chest, counting all stacks with the same internal item name together, so the chest remains a quick-stack destination. - Turning the option Off allows restock to take the last item. In-game setting changes apply to subsequent transfers immediately.
Take stacks,Take All, and manual moves retain their existing behavior. - Each client controls its own restock setting; another player or mod may still remove the last item. Existing ownership, access, and stack-compatibility checks are unchanged.
1.0.14
- Added an optional compact InventoryActions quick guide beside the hotbar. It displays the active favorite, Use, and Restock bindings, adapts to available screen space, can be collapsed, and stores its visibility and collapsed state as client-only settings.
- Moved Restock and Auto Pickup Exclude controls into the player-grid render hierarchy used by Trash, so container panels and native dialogs remain above all three controls. External toolbar listeners and objects are also released with the inventory UI lifecycle.
- Changed the Restock limit editor to keep an in-progress numeric buffer and clamp it to
0..max stackwhen editing ends. For example, an item with a maximum stack of 30 now saves both40and230as30instead of restoring4or23. - Removed the redundant automatic-save status and empty-hand Trash hover tooltip, and added a localized title to the delete confirmation dialog.
1.0.13
- Added optional Equipment and Quick Slots 3.x and AzuExtendedPlayerInventory 2.4.14 compatibility. Automatic sorting, quick stack, restock, favorites, trash, and Safe Take All now stay within regular player inventory rows instead of treating equipment, quick, reserved, or custom-slot rows as storage.
- Kept bottom action buttons aligned with each provider's visible inventory rows. AzuEPI's live separate-panel setting switches between the regular inventory bottom and the full inline grid without restarting.
- Removed the Favorite Border Color configuration option and fixed favorite borders to the previous default blue color.
1.0.12
- Added client-side Restock and Auto Pickup Exclude controls below the player inventory. Dropping an item registers its rule without moving it; valid restock quantities and removals save immediately, while excluded items remain available through manual pickup.
- Positioned Restock, Auto Pickup Exclude, and Trash under the last regular inventory row as vanilla pocket upgrades or the optional ExtraSlots mod add rows. The two new controls can be hidden independently, and Restock shifts toward Trash when exclusions are hidden.
- Added wooden downward-opening rule lists with scrolling and screen-edge clamping. The panels use Valheim's Craft button and inventory-slot visuals, remain below native dialogs, and no longer require Save or Cancel buttons.
- Fixed repeated missing LiberationSans font warnings by assigning an initialized Valheim font before activating generated text. Invalid quantities restore the last saved value, while config conflicts and save failures leave the previous rule active.
- Reduced redundant per-frame UI work and retained existing favorite, quick stack, restock, sorting, trash, ownership-handoff, and optional MultiUserChest policies.
1.0.11
- Fixed vanilla Hold E quick stack skipping the container being interacted with. The opened container is now processed first, then any remaining eligible items are extended to nearby containers.
- If an area transfer cannot start, InventoryActions now leaves Valheim's original
StackAllpath available instead of suppressing the current-container action. Nearby containers that are in use remain excluded, and the existing access, ownership-lease, revision, timeout, and duplicate-processing guards are retained.
1.0.10
- Maintenance release verifying that area ownership-lease rejection replies use Valheim 1.0.7's registered
RPC_OpenResponseandRPC_TakeAllResponsemethods in the final package. Access, ownership, timeout, revision, and duplicate-request behavior is unchanged from 1.0.9.
1.0.9
- Updated InventoryActions for Valheim 1.0.7 and fixed the repeated
MissingMethodExceptioncaused by the changed private inventory notification signature. - Added support for Valheim's purchased inventory rows. Favorites, sorting, quick stack, restock, trash positioning, and action-button layout now follow the loaded inventory height while continuing to protect the hotbar.
- Updated favorite input and grid element handling for the current inventory UI, moved trash confirmation to the current Split Dialog lifecycle, and corrected open/take-all rejection response RPC names while preserving access, ownership-lease, revision, timeout, and duplicate-request checks.
- Preserved the cheated-item marker when sort consolidates compatible stacks, while retaining the existing fail-closed behavior for unrecognized external custom item data.
- Updated the build to use the current original Valheim assemblies with compiler-only publicized references, retained the reviewed ServerSync compatibility build, and corrected the BepInEx package dependency to 5.4.2350.
1.0.8
- Reduced redundant UI updates by keeping the active Sort and Trash buttons enabled instead of toggling them off and on during each refresh.
- Optimized favorite borders by reusing loaded favorite state and cached UI components, updating colors and layout only when needed, and recovering replaced border components.
- Removed per-refresh trash-icon layout strings and redundant visual-state caches. The icon now checks its actual layout and color, preserving recovery from external UI changes.
- Multiplayer servers and clients must update to the same InventoryActions version, as before.
1.0.7
- Hardened area quick stack/restock completion and cancellation by finalizing handoff state before ownership-lease cleanup and inventory callbacks, preventing callback failures from leaving an action stuck or eligible for duplicate continuation.
- Fixed the tooltip fallback so it handles only InventoryActions-owned buttons, leaving vanilla and other-mod tooltips untouched, and stopped relabeling or tagging Valheim's built-in Take All and Place Stacks buttons.
- Fixed the Restock Target Limits editor changing negative values such as
-5into5; comments, separators, and negative amounts now use the same parsing rules as runtime, where negative limits normalize to0. - Ignored stale favorite coordinates outside the supported vanilla player rows so they no longer remain protected or display favorite borders.
- Unified current-container and area candidate selection and removed unused cell-policy, single-container transfer, hold-action, localization-cache, and UI paths without intended feature changes.
1.0.6
- Shared hover hold area quick stack/restock success effects with nearby players who also enable the client setting, while retaining VFX at up to 10 changed containers and one SFX at the interacted container.
- Kept shared effects transient and locally rendered with dedicated-server, distance, and receive-rate guards so completed actions are not replayed to players entering the zone later.
1.0.5
- Fixed area quick stack/restock on dedicated servers so nearby players can use eligible closed containers even when another peer owns them, processing containers one at a time through validated ownership handoffs.
- Added lease, revision, access, range, idle-state, timeout, and vanilla request guards to prevent stale or concurrent container mutations during ownership handoff.
- Disabled area quick stack/restock while MultiUserChest is active and delegated non-owner Take All to MultiUserChest 0.6.1 or newer.
- Required the same InventoryActions version on the dedicated server and clients for multiplayer container actions.
- Made area action success effects local-only and short-lived so completed effects are not replayed to players entering the zone later.
1.0.4
- Simplified container action success effects to one On/Off option and fixed the hover hold duration at 0.5 seconds.
- Area quick stack/restock now shows VFX at up to 10 changed containers while playing its SFX only once at the interacted container.
1.0.3
- Fixed container action buttons potentially restoring stale positions after closing and reopening the inventory or container UI.
- Unified Safe Take All and top-first item movement through one path while preserving hotbar and favorite protections.
- Centralized cross-container transfer bookkeeping and added source/behavior parity tests with InventorySlots to reduce drift.
- Fixed container action success sound volume scaling to apply the configured value once, removed unused localization tokens, and simplified project source discovery.
1.0.2
- Kept the center-screen result counts for container quick stack and container restock actions.
- Removed the other action success/result messages, including take all, place all, sort, and trash, while keeping failure and warning messages.
- Restored only the quick stack/restock result localization tokens and removed unused result tokens for the quieter actions.
1.0.1
- Mirrored InventorySlots action-cell and container action helper policies with tests to reduce drift risk.
- Refactored favorite/restock eligibility and container move/grid-order helpers without intended behavior changes.
- Added client config options to adjust the player inventory Sort and Trash button positions live with x/y text values.
1.0.0
- Initial standalone InventoryActions release.