
Inventory Tweaks
Client-side inventory improvements for Valheim: combine stacks, pin item slots, show ghost icons, switch automatic/manual combining, and save bindings and settings separately for each character.Inventory Tweaks
Combine stacks, reserve inventory slots for your favorite items, and keep a separate setup for each Valheim character.
Client-side only. No dedicated server installation is required. The interface uses Russian when the game language is Russian and English for all other languages.
Features
- Combine stacks: a small button beneath the inventory fills matching stacks to their maximum size. For example,
45 / 25 / 50 / 20becomes50 / 50 / 40when the stack limit is 50. Pinned stacks are filled first. - Arrange on Combine: pressing Combine also places matching items into their pinned cells. Foreign occupants move to free ordinary or matching cells. Safe swaps can use the source item's vacated cell, including full-inventory cycles. If no valid layout is available, that move is left unchanged. Correctly placed items stay in place.
- Pin slots: middle-click an item to bind its type to that cell. Middle-click again, including an empty pinned cell, to remove the binding.
- Reset: clear all bindings for the active character with one click. The empty layout is saved immediately; items, mode settings and other characters are unaffected.
- Visible bindings: a small golden lock and a thin yellow border mark pinned cells. Empty pinned cells show a translucent grayscale item icon.
- Wrong-item indicator: a small yellow exclamation mark at the bottom-left of a pinned cell indicates that its occupant does not match the binding. It has the same size as the lock icon, respects crafter/quality rules and does not intercept clicks.
- Crafted items: bindings match the prefab and crafter. Quality matching is optional and disabled by default. Durability is always ignored for binding. Other items are bound by prefab.
- A / M toggle: the square button to the left of Combine switches between automatic consolidation after picking up items (A, default) and manual consolidation (M).
- Strict / Free toggle: strict automatic placement reserves pinned cells for matching items. Free placement allows other incoming items to occupy them. Matching items still prefer their available pinned cells.
- Manual placement: by default, you can manually place another item into a pinned cell without removing its binding. This can be disabled independently of Strict / Free.
- Move items freely: manually moved items stay where you place them until you explicitly press Combine. Ordinary clicks, saving and automatic A mode do not trigger pinned-cell arrangement.
- Expandable inventory: buttons follow the lower edge of the inventory panel when its size changes. Bindings use cell coordinates and retain out-of-bounds cells if the inventory temporarily shrinks.
- Separate characters: every character has its own bindings, modes, quality policy, manual placement policy and interface settings. Changes are saved immediately.
- Live configuration: edit settings without restarting the game.
Installation
Install with Thunderstore Mod Manager, r2modman, or another compatible mod manager. BepInExPack Valheim is the only required dependency.
For manual installation, install BepInExPack Valheim, then place InventoryTweaks.dll in BepInEx/plugins/InventoryTweaks/.
When upgrading from a manually installed test build, replace that DLL rather than keeping duplicate copies in different plugin folders.
Controls
| Control | Action |
|---|---|
| Middle mouse button on a cell | Pin or unpin the slot |
| Combine | Consolidate compatible stacks and arrange items by slot bindings |
| Reset | Clear every binding for the current character |
| A / M | Automatic combining after pickups / manual combining |
| Strict / Free | Restrict automatic placement / allow other pickups in pinned cells |
All four buttons are beneath the inventory. Hover over a button for a tooltip.
Automatic consolidation runs after an actual ground pickup completes and waits while an item is being dragged. It does not produce repeated status messages. In M mode, Valheim's normal stacking of newly added items remains active; the mod's additional consolidation runs only when you click Combine.
Pinned-cell arrangement is a manual action on the Combine button in either A or M mode. It respects the current crafter and quality binding criteria, uses space freed by consolidation, and never sends a foreign item into another unrelated pinned cell.
Configuration
The configuration file is generated automatically:
BepInEx/config/com.xtasy.InventoryTweaks.cfg
Default values for a new character:
[Combining]
AutoCombineOnPickup = true
[Pinning]
UseCraftedItemQualityForPinning = false
AllowManualPlacementIntoOtherPinnedSlots = true
StrictAutoPickup = true
[Interface]
CombineButtonOffset = {"x":8.0,"y":-6.0}
GhostOpacity = 0.35
| Setting | Effect |
|---|---|
| AutoCombineOnPickup | true: A mode; false: M mode. The A/M button saves this setting. |
| UseCraftedItemQualityForPinning | Also match the quality of crafted items. Durability is still ignored. |
| AllowManualPlacementIntoOtherPinnedSlots | Allow manual placement of other items while retaining the cell's original binding. |
| StrictAutoPickup | true: Strict; false: Free. The placement-mode button saves this setting. |
| CombineButtonOffset | Offset of the entire button row from the panel's bottom-left edge. Positive X moves right; negative Y moves down. |
| GhostOpacity | Empty pinned icon opacity, from 0.05 to 0.8. |
Saved configuration edits are normally detected within 0.75 seconds. Compatible configuration managers can apply changes immediately.
Character persistence
Each character is identified by its stable numeric character ID, not its name or account. Its setup is saved immediately to:
BepInEx/config/InventoryTweaks/pins/<character-ID>.json
A .bak file retains the previous saved revision. Bindings and settings are also mirrored into the character's save data. Existing bindings from older versions are imported when no separate file exists.
The .cfg file reflects the active character. Editing it or using the mode buttons changes that character's settings. Selecting another character restores that character's own values, including A/M and Strict/Free. New characters start with the defaults above.
Empty pinned cells and an explicitly cleared layout are preserved after rejoining.
Stacking and compatibility
Consolidation preserves differences in prefab, crafter, quality, variant, world level, cheat state, durability of durable items and custom item data. Items with different metadata are not collapsed into a single stack. Ignoring quality for binding does not erase item quality during stacking.
Other mods that replace inventory UI, stacking or placement rules may require additional compatibility work. This package was built against the locally installed Valheim assemblies; compatibility with every inventory mod or future game update is not guaranteed.
Upgrading from 1.0.3
Version 1.0.4 fixes an initialization failure when an older character save contains only {"version":1}. This legacy format has no cell bindings, so any missing bindings need to be assigned again. Existing valid layouts remain readable. A binding-load error no longer blocks the Combine action.
Русский
Inventory Tweaks — клиентский мод для объединения стопок и закрепления предметов за ячейками. На выделенном сервере установка не требуется.
- Кнопка «Объединить» заполняет одинаковые стопки до максимума. При лимите 50 набор
45 / 25 / 50 / 20превращается в50 / 50 / 40. Приоритет у закреплённых стопок. - При нажатии «Объединить» предметы также занимают свои закреплённые ячейки, а чужие освобождают их, если есть подходящее место. Поддерживаются безопасные обмены. Если места нет, невозможное перемещение не выполняется. Эта расстановка не запускается от обычных щелчков и автоматического объединения A.
- Средняя кнопка мыши закрепляет тип предмета за ячейкой. Повторное нажатие снимает закрепление, в том числе с пустой ячейки.
- «Сброс» снимает все закрепления активного персонажа и сразу сохраняет пустую раскладку. Предметы, остальные настройки и другие персонажи не изменяются.
- Закрепление отмечено замком и тонкой жёлтой рамкой. Пустая ячейка показывает серую полупрозрачную иконку.
- Если в закреплённой ячейке лежит другой предмет, слева внизу появляется маленький жёлтый «!», размером с замок. Знак исчезает, когда ячейка освобождается, закрепление снимается или предмет соответствует условиям закрепления.
- Для созданных предметов учитываются префаб и создатель. Учёт качества включается отдельно и по умолчанию выключен. Прочность при закреплении не учитывается. Для остальных предметов достаточно префаба.
- Квадратная кнопка A/M слева от «Объединить» переключает автоматическое объединение после подбора и ручное объединение. По умолчанию включён A. В M штатное добавление новых предметов в стопки игры сохраняется.
- «Строго» резервирует закреплённые ячейки для подходящих автоматически добавляемых предметов. «Свободно» позволяет занимать их другими предметами, сохраняя само закрепление.
- Разрешение вручную класть другой предмет в закреплённую ячейку настраивается отдельно и по умолчанию включено.
- Перемещённый вручную предмет остаётся на новом месте до явного нажатия «Объединить». Кнопки следуют за расширением инвентаря.
- У каждого персонажа свои закрепления и настройки, включая A/M, Строго/Свободно, качество, ручное размещение, положение кнопок и прозрачность иконок. Изменения сохраняются сразу по уникальному ID персонажа.
- Правки файла конфигурации применяются без перезапуска, обычно в течение 0,75 секунды. Конфиг отображает настройки активного персонажа.
Установка: через менеджер модов либо вручную — InventoryTweaks.dll в BepInEx/plugins/InventoryTweaks/. Требуется только BepInExPack Valheim. При обновлении тестовой сборки замените прежнюю DLL, чтобы не оставить две копии мода.
Конфиг: BepInEx/config/com.xtasy.InventoryTweaks.cfg. Отдельные настройки персонажей: BepInEx/config/InventoryTweaks/pins/<ID-персонажа>.json.
При русском языке игры интерфейс русский; для остальных языков — английский. Подсказки кнопок переведены.
Обновление с 1.0.3: исправлена блокировка закрепления и объединения при чтении старого формата {"version":1}. В нём нет списка ячеек, поэтому отсутствующие закрепления нужно назначить заново. Существующие корректные раскладки читаются как прежде.
License
MIT. See LICENSE.