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.
RossItemDrawers
A set of tiered item drawers that hold a large amount of a single item, display its quantity on the front, and pull in matching items dropped nearby
| Date uploaded | 14 hours ago |
| Version | 1.0.13 |
| Download link | Ross-RossItemDrawers-1.0.13.zip |
| Downloads | 813 |
| Dependency string | Ross-RossItemDrawers-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.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
RossItemDrawers
A drawer that holds a large quantity of a single item and shows that item and its count on its front face. Built from the Hammer, Furniture tab, at a Workbench.

Tiers
| Tier | Capacity | Recipe (at Workbench) |
|---|---|---|
| Item Drawer (wood) | 1,000 | 10 Fine Wood |
| Stone Item Drawer | 2,000 | 5 Fine Wood + 10 Stone |
| Black Marble Item Drawer | 10,000 | 5 Fine Wood + 10 Black Marble |
Capacities and build costs are the defaults; a server admin can change both per tier in the config file.
Drawers are 0.66m cubes and snap to each other, so they tile into a wall.
Controls
| Input | Effect |
|---|---|
| Use item from hotbar | Assign that item to an empty drawer. Once a drawer has an item, the hotbar no longer touches it |
E (Interact) |
Take one stack |
Ctrl+E |
Take one item |
Ctrl+E on an empty (zero-count) drawer |
Unassign it, so it can hold something else |
Shift+E |
Deposit every matching item in your inventory |
Ctrl and Shift are this mod's own bindings, not Valheim's. Change them
under [Controls] in the config to any key you like, or set one to None
to switch that action off. The hover text follows whatever you choose.
Nearby items
A drawer pulls in matching items dropped near it, so emptying a full inventory onto the floor of a storage room files everything away by itself. Only items a drawer is already assigned to are taken — a drawer never claims something it was not holding, and a full one takes nothing.
On by default, within 40 metres. Both the range and the switch are in
the config under [Pickup], and are server-synced.
Compatibility
Drawers are Containers. Other mods see a drawer as a small chest
holding its item, and use it through the ordinary inventory API with no
drawer-specific support. This version is designed for:
- Taking from drawers — crafting from nearby containers, OttoFuel, NoVikingLeftBehind: the drawer's whole count is available.
- Storing into drawers — AzuAutoStore, Quick Stack Store: only the drawer's own item is accepted, up to its capacity. Empty and unassigned drawers accept nothing, so they are never chosen as a destination.
- Take-all mods receive normal-sized stacks.
Items moved this way are applied to the drawer's count within a frame by the player whose mod moved them, who takes charge of the drawer the same way those mods take charge of a chest.
OttoFuel and NoVikingLeftBehind were verified in game against 0.9.x. The 1.0 container support above has not yet been tested in game with these mods.
Every player and the server must run the same ItemDrawers version.
Known limitations
- Mods on two players' machines changing the same drawer in the same instant can race — whichever change lands last wins, the same exposure a vanilla chest has when two players use it at once.
- A withdrawal made through the view in the exact frame a client disconnects may not reach the server.
Dependencies
- BepInEx 5.4.2350
- Jotunn 2.30.0 or newer
Thanks
To makail and KG, whose drawer mods are the inspiration for this one. RossItemDrawers is its own mod with its own code, and does not read or convert drawers built with theirs.
CHANGELOG
Changelog
1.0.13
- Taking items out of a drawer no longer duplicates them when you play with a mod that adds extra storage -- a worn backpack, or extra inventory slots. The drawer would put the item into the backpack but, not seeing it land in your main inventory, drop a second copy on the ground as well. Drawers now trust wherever the item actually went and only drop what genuinely had nowhere to go. Thanks to the AdventureBackpacks report that pinned it down.
- Dedicated server logs no longer warn that the drawer shader is missing its texture and triplanar properties. A headless server has no graphics device, so those properties genuinely are not there, but it never draws a drawer anyway -- the warning was harmless noise. Clients are unaffected and drawers look exactly the same in game.
1.0.12
- A drawer that was set to an item but held none of it would refuse the first item pushed into it by another mod -- a sap extractor's automatic harvest, for instance -- so an empty drawer never started filling, while one that already held a few of the item kept working. Empty drawers now accept that first item like any container does. Thanks to the report that pinned it to empty sap drawers on a server.
1.0.11
- Drawers now sit on the same collision layer as every other build piece. They were left on the default layer, which meant anything that looks for build pieces specifically could not see them. Three things this fixes: other pieces can now snap to a drawer, which never worked despite drawers having had snap points all along; drawers count toward building comfort and foundation checks as they should; and mods that craft from nearby containers, such as Valheim Plus' CraftFromChest, can now find drawers and use what is in them. Thanks to RoeneMS for tracking this one down.
1.0.10
- Drawers no longer feel sluggish on a dedicated server. Taking items out could stall for up to a second at a time, because the safety wait that stops two players' writes from crossing was counting from the last time the drawer changed hands. Servers hand nearby containers between players constantly as they walk around, so ordinary play kept restarting a wait that was guarding against nothing. It now counts from the last time the drawer's contents actually changed, which is the thing it was always protecting -- the wait still happens when someone really did just write to the drawer, and nowhere else.
- Diagnostics only: assigning an item to a drawer is now measured too, not just taking one out. A slow request of either kind is timed from when it was first sent and logged when the wait is noticeable. The previous measurement restarted its clock on every retry, so it reported the fastest part of a slow request and hid the delay it existed to find.
1.0.9
- Built and tested against Jotunn 2.30.1, which the dependency now asks for. Nothing else changed.
1.0.8
- The take-one and store-all keys are now the mod's own and configurable
under
[Controls], defaulting to Ctrl and Shift as before. They used to borrow Valheim's crouch and run bindings, so rebinding those for movement silently changed how drawers worked. Set either toNoneto switch it off; the hover text follows your choice.
1.0.7
- Drawers now play the build and repair effect other pieces do, in the material they are faced with. Both were silent before.
1.0.6
- Taking items from a drawer no longer says "Try again" on a server. Background bookkeeping was taking the drawer over mid-use, which made your next keypress fail; it now waits while you are using the drawer instead. In the rare case the timing is still unlucky the request is held and completed rather than refused.
1.0.5
- Fixed "Try again" when taking items from a drawer nobody had touched. On a server a drawer commonly has no owner, and taking from one was refused outright with no way for the player to make it work. It is now claimed and served immediately.
- A refused withdrawal now records why in the log, so the cause is
captured as it happens instead of needing to be caught live.
rid_diagalso writes to the log, not just the console, so its output can be attached to a report.
1.0.4
- The
rid_diagdiagnostic command now works while connected to a dedicated server. It was gated behind developer commands, which Valheim disables on clients connected to a server regardless of admin status -- so it could not run in the situation it exists to diagnose.
1.0.3
- Fewer "Try again" refusals when taking items out. The mod was refusing your own keypress for a second whenever its own housekeeping touched a drawer, which needed no other player and so survived the 1.0.2 fix. Waiting now only happens when the drawer genuinely changed hands with another player.
1.0.2
- Fixed drawers becoming slow and unresponsive when more than one player is nearby, with withdrawals frequently refused. Two clients could take a drawer from each other indefinitely, so neither ever finished writing and every attempt to take items out was turned away.
1.0.1
- Hotbar keys no longer interact with a drawer that already has an item. Selecting a matching item near one used to deposit the stack you were holding without asking, and a mismatched item printed a message and swallowed the keypress. The hotbar is now only for assigning an empty drawer; Shift+E still stores everything matching that you carry.
1.0.0
- Drawers are designed to work with mods that store items into containers, such as AzuAutoStore and Quick Stack Store. Deposits of a drawer's item are added to its count. Previously those mods saw the deposit succeed and the items were lost, and Quick Stack Store's quick-stack failed for every container once a drawer was nearby.
- When another mod changes a drawer, the player running that mod takes charge of the drawer, the same way those mods take charge of a chest.
- Every player and the server must run the same ItemDrawers version (1.0.x); mismatched versions are refused at connect.
- Other mods see a drawer as a small chest: its full count to take from, and room for more of the same item up to its capacity. Empty and unassigned drawers accept nothing from other mods.
- A take-all mod emptying a drawer now hands over normal stacks instead of one oversized stack.
- Dragging an oversized stack onto a mismatched item in your own inventory is now refused instead of dropping items — you'll need to drop it into an empty slot or onto a matching stack.
- A drawer you just built now works with OttoFuel right away. Before, OttoFuel ignored new drawers until the world was reloaded.
- Existing drawers need nothing done; they pick this up the first time they load.
- Known limitation: mods on two players' machines depositing into or withdrawing from the same drawer in the same instant can race, the same exposure a vanilla chest has when two players use it at once. A withdrawal made through another mod in the exact instant a client disconnects may not reach the server.
0.9.10 — beta
- An empty drawer now offers "Unassign" on Ctrl+E instead of "Take one", and stops offering the two take actions it cannot perform. Releasing a drawer's item type so it can hold something else was not discoverable anywhere.
- Stopped warning every boot about items whose icon cannot be read. On Valheim 1.0.12 that is draugr arrows and the two goblin spears, which are mob-only items carrying no icon at all. They are skipped quietly now, and an item that has icons but an out-of-range variant falls back to its first icon rather than being dropped. Thanks to neuralyze for the report (#3).
0.9.9 — beta
- Documented the nearby-item pickup that drawers have always had, which the description and README never mentioned.
- Fixed crafting taking nothing from a drawer when the recipe needed exactly what was left in it. The item was still crafted, so the materials were duplicated. Taking less than the full amount always worked; only the exact-drain case was affected.
0.9.8 — beta
- Build costs are configurable per tier, under
[Recipe], asItem:Countseparated by commas. Server-synced like the capacities. A recipe that will not parse, or that names an item the game does not have, is logged and the default used instead.
0.9.7 — beta
- Drawers now show their contents to every player, the same way a chest does, instead of only to whoever the game currently considers their owner. This is the real fix for crafting and fuel-pulling in multiplayer; 0.9.4 through 0.9.6 worked around the symptom and still left two players at the same wall fighting over it.
0.9.6 — beta
- Fixed crafting from drawers in multiplayer. Drawers near you are now claimed shortly after you arrive, which is what mods that check ownership before reading a container need. A drawer another player is standing next to stays theirs until they move away.
0.9.5 — beta
- Fixed drawers being private to whoever placed them. Other players could not craft from them, and OttoFuel skipped them entirely. Drawers are shared storage and are now public, which also applies to drawers you have already built.
0.9.4 — beta
- Fixed area pickup being unreliable in multiplayer. Drawers now absorb nearby items regardless of which player dropped them or who last touched the drawer; previously it only worked when one player happened to have a claim on both, so mob drops and drawers in a just-loaded area were often ignored.
- Fixed container-aware mods seeing drawers as empty in multiplayer. OttoFuel would refuse to pull fuel, and would keep feeding a kiln past its coal cutoff because the coal it counts was in drawers it could not see.
0.9.3 — beta
- Added a screenshot to the description.
0.9.2 — beta
- Rewrote the README and changelog for players rather than developers.
0.9.1 — beta
- Renamed the Thunderstore package to RossItemDrawers. The plugin ID and prefab names are unchanged, so existing drawers and configs carry over untouched.
- Corrected the compatibility notes, which still described the OttoFuel and NoVikingLeftBehind support that shipped in 0.9.0 as planned.
0.9.0 — beta
First public build.
- Three tiers, built at a Workbench from the Hammer's Furniture tab: Wood (10 Fine Wood, holds 1,000), Stone (5 Fine Wood + 10 Stone, holds 2,000), Black Marble (5 Fine Wood + 10 Black Marble, holds 10,000). Capacities are configurable per tier.
- Controls: assign from the hotbar,
Etakes one stack,Ctrl+Etakes one item (or clears the drawer's item type once it reads zero),Shift+Edeposits every matching item in your inventory. - Works with container-aware mods. Verified in game with OttoFuel, which pulls fuel from drawers, and NoVikingLeftBehind, which crafts from them.
- Each tier is coloured to match the material it is built from, with a metal handle and a dark label plate so the front reads at a glance and the count stays legible in direct sunlight.
- Drawers snap to each other and are built to tile into large walls without costing frames.