You are viewing a potentially older version of this package. View all versions.
DeathMonger-GrabMaterials-2.6.1 icon

GrabMaterials

Grab materials from nearby chests needed to build things out in the world, e.g. grab materials for a workbench, for portal, for a longship, for exploring (workbench, and portal), etc.

Date uploaded 3 days ago
Version 2.6.1
Download link DeathMonger-GrabMaterials-2.6.1.zip
Downloads 207
Dependency string DeathMonger-GrabMaterials-2.6.1

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 icon
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.2350
ValheimModding-Jotunn-2.30.0 icon
ValheimModding-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.0

README

Grab Materials

Created on January 30 2025.
Version 2.0.0 released on September 9 2026.

Moved: Grab Materials is now published under DeathMonger. If you installed it from the old MojoRyzen/GrabMaterials listing, uninstall that one and install this one. The plugin ID and config file are unchanged, so your settings, grab packs and hotkeys carry over.

Quickly pull materials from nearby chests into your inventory without having to manually click on each chest. The concept is similar to mods that let you craft or build directly from containers, but for things that you're not building in your base. The typical example is workbench and portal when exploring - you're constantly having to grab 10 wood, 20 finewood, 10 greydwarf eyes, and 2 surtling cores. This mod removes that tedium.

New in version 2.4.0

  • '/i empty' — highlights every nearby container with nothing in it and lists them by type with a count. Handy when you need somewhere to put a haul.
  • Fixed the inventory and grab-pack panels blocking the keyboard. With a panel open you can walk and use your hotkeys again; the cursor stays free for clicking, the mouse no longer turns the camera, and scrolling the list does not zoom.

    New in version 2.3.0

  • Fixed a bug that could destroy items when your inventory was full — a grab emptied the container before checking that the items fit. Nothing leaves a container now until it is safely in your inventory.
  • '/g new' — grabs one of every item in range you have never held, which is a quick way to learn the recipes they unlock.
  • Escape closes the inventory panel instead of opening the game menu; press it again for the menu.
  • The inventory and grab-pack panels now take the mouse cursor while open, so you can point at and click rows directly.
  • Fixed some items showing a raw token such as "[$item_upgrader_tier0 $item_upgrader_armor $item_upgrader_name]" instead of a name. Valheim 1.0 added items whose name is several localization tokens joined together, and names now go through the game's own translator, which handles them.
  • Optional pause while the inventory panel is open — toggle it with the button in the panel's top-right corner and it is remembered. It uses the game's own pause, so it works solo or hosting alone; on a dedicated server it takes the Pause My Server mod. The button shows whether the pause actually took effect.

    New in version 2.2.0

  • '/i new' — lists just the items in range you have never held, instead of searching names for the word "new".

    New in version 2.1.0

  • Undiscovered item marker — '/inventory' tags anything this character has never held with a blue '(new)'. Most useful in multiplayer, where a shared chest is often full of a friend's crafting you have never handled yourself. Configurable under "Panel UI".

    New in version 2.0.0

  • Inventory panel — '/inventory' (or '/i') opens a wood-styled panel listing items in nearby containers, grouped by category with item icons. Optional filter on item name or category, e.g. '/i wood' or '/i food'.
  • Configurable inventory layout — choose a List (grouped by category) or Table (flat columns) style, and a panel shape from MaxHeight (single column) through Square to MaxWidth (fans out as many columns as fit on the screen). The mod auto-picks the column count that best matches your shape. Cycle styles in-game with '/istyle'.
  • Click to highlight — click any inventory row to highlight nearby containers holding that item; click a category header to highlight every container holding any item in the category.
  • Grab pack panel — '/listpacks' opens an in-game panel showing each pack's name, hotkey, delta state, and items. Click a row to trigger that pack; click the ✎ pencil to edit the pack's name, items, and delta inline (no need to alt-tab to the config file).
  • Pack HUD — a small always-on list of your grab packs and their hotkeys (like the quick-slot labels in AzuExtendedPlayerInventory), so you never have to remember what is on Shift+K vs Ctrl+K. Packs with no items are left out. Press O to show or hide it; corner and offsets are configurable under "Pack HUD". Packs that need a material you have never held are hidden until you have picked it up (configurable).
  • Global Grab Delta default — new "Grab Delta (default)" client setting (default ON) makes every grab take only the shortfall between what you have and what's needed. Per-pack settings are now a tri-state — UseGlobal (the default), On, or Off — so you can override either way.
  • Cross-grab delta ledger — back-to-back delta grabs no longer double-count the same inventory. E.g. '/g cart' (10 wood) then '/g explore' (20 wood total) — the ledger remembers the cart's wood is already spoken for, so Explore grabs the 20 it actually needs. The ledger clears after 30 seconds of inactivity (configurable) so a fresh build session starts clean. Use '/grabreset' to clear it explicitly.
  • Default hotkeys moved — Valheim 1.0 put its new radial menu on G, so the pack defaults are now K (packs 1-4), L (5-8) and ; (9-10) with the same Shift/Ctrl/Alt modifiers. Existing configs keep whatever keys they have; if yours are still on G, rebind the packs (or the radial) to stop both firing at once.

    New in version 1.1.0

  • Grab results are now shown in a wood-styled panel at the top center of the screen (instead of a brief HUD message). The panel lists every requested material with a green ✓ for items that are fully available and a red ✗ with "X of Y Item (missing N)" for shortages.
  • Atomic grab — if any requested material is short, nothing is taken from any container; the panel tells you exactly what's missing so you can go get it.
  • The panel auto-fades over 3 seconds when you start moving, attacking, blocking, or jumping (after a brief grace period to handle the case where you trigger the grab while already running). After 15 seconds of no input it fades on its own. Click anywhere on the panel to dismiss it instantly.
  • New "Panel UI" config section to tune the idle timeout, the fade duration, and whether movement dismisses the panel.
  • You can now grab materials for any build piece by hovering over its icon in the build menu and pressing 'j' — no need to select it first. (Falls back to the selected piece when you're not hovering anything.)
  • Grab pack "Grab Delta" flag is now supported — when enabled for a pack, only the shortfall between what you already have and what's needed is grabbed. E.g. if the pack needs 10 wood and you have 7, only 3 will be pulled.

    Fix in version 1.0.1

  • Fixed a bug where it would grab 10 stone instead of 10 wood for the Chest build piece

    New in version 1.0.0

  • Hit 'j' when the build menu is open to automatically grab materials for the currently selected build piece
  • Support for ten different grab packs with configurable keyboard shortcuts
  • Grab the materials for a build piece by typing '/grab portal' in the chat window
  • Grab the materials for a grab pack by typing '/grab <n>' or '/grab <pack-name>' in the chat window
  • Specify build piece names in grab pack configuration
  • Shorthand console commands, e.g. type '/g' instead of '/grab'
  • Specify the count before or after the material name, e.g. '/grab 10 wood' or '/grab wood 10'
  • Match on both the user-friendly name that you see in-game and the internal ID.
  • Case insensitive matching
  • '/listpacks' to write the list of grabpacks to the log
  • Configure how long containers are highlighted when you pull items from them or search for items
  • Configure how far away a container can be and still be used ("Container Range", default 20 m); match it to your craft-from-containers and auto-store mods
  • '/inventory [search-text]' to count the number of items within range; if search-text specifies, looks for items that match on name or category
  • '/inventory' also counts what is queued in kilns, smelters and the like, and what is in wood stacks, stone piles, coal piles and other stacks and piles, and notes it on the row

    Fixes in version 1.0.0

  • Settings changes are now automatically picked up when you change the config file directly
  • Destroyed containers not removed from the list causing NullPointerException
  • Removed unnecessary logging

    Join my discord server to ask questions or provide feedback.

    View the backlog here.

    See the project on GitHub for source, issues and the full changelog.

  • CHANGELOG

    Changelog

    2.6.1 — 2026-10-19

    • Fixed: the scrollbar from a tall /i panel stayed on screen beside the next grab-results panel. It now leaves with the rows it belongs to.

    2.6.0 — 2026-10-19

    • Panels taller than the screen now fit it and scroll. The inventory panel in Table style, which lists every item in one column, ran off the bottom of the screen on a well-stocked base. Rows are now clipped to what fits, with a scrollbar beside them; the mouse wheel over the panel scrolls four rows per notch ("Scroll Rows" under [Panel UI]). The List style and the packs list get the same treatment when they are too tall.

    2.5.4 — 2026-10-19

    • Pack hotkeys are registered by pack slot, not by pack name. A pack's display name was also the name its hotkey was registered under, so two packs with the same name shared one key and the second was silently dead, and packs left nameless produced a string of "Cannot have duplicate button" warnings from Jotunn. Names are now purely yours to change.
    • A pack with no key is still a pack: /g <name> and /g pack <n> reach it, and only the hotkey is left out. A pack with no name and no key is skipped. In each case the log says plainly what the pack is missing and how to give it, and the pack editor no longer saves a blank name.

    2.5.3 — 2026-10-19

    • Fixed: /i showed no panel when a nearby chest held an item with no prefab. Sorting an item into a category read its prefab name, and an item the game could not pair with a prefab, such as one left behind by a mod that is no longer installed, threw and took the whole panel with it after the chests had already flashed. Such items are now sorted by their name instead.

    2.5.2 — 2026-10-19

    • Fixed: an "Idle Timeout" of 0 removed the panel before it was drawn. The setting was taken literally, so the fade began on the first frame, and with a "Fade Duration" of 0 it also ended there. 0 now means the panel never fades on its own, which is what anyone setting it meant, and a fade of 0 hides the panel at once when the idle timeout ends.
    • The log now has one line each time a panel is shown, with its timers, and a warning if the panel cannot be created because Jotunn's GUI layer is missing. A "the panel never shows" report can be answered from the log.

    2.5.1 — 2026-10-18

    • Bear Hide and Bear Paw are listed under Skins in /i and the inventory panel, with the other creature parts. They were falling through to the generic Material group.

    2.5.0 — 2026-10-18

    • /i now counts the material in stacks and piles: wood stacks, stone piles, coal piles, Ashwood stacks, black marble piles, coin piles and the rest. Tearing one down returns its full material, so a wood stack is 50 wood on your plot as surely as a chest of it. The amount is noted on the row the way a smelter's queue is, as "(50 in stack)" or "(150 in stacks)", and the stacks flash with the containers, both when the panel opens and when you click the row. Anything a mod adds that is named like a stack or pile and returns one material is counted too.
    • When a material sits in more than one kind of place, the row now names them, as in "(60 in kiln and stacks)", instead of the old "(60 in processing)".

    2.4.2 — 2026-10-13

    • Fixed: grabbing from a container you could not open duplicated the item, and storing into one lost it. The game only checks who may open a chest at the moment you press Use, and it only saves a chest's contents from the machine that currently owns it, which is usually whoever is standing nearest. This mod reached into chests directly, so a Personal container, a chest inside someone else's ward, or one another player had open was taken from like any other, and if another machine owned it the removal never saved: you kept the copy and the chest got its item back. Grabs and /store now go through the game's own open request for every container another machine owns: that machine checks whether you may open it and whether it is in use, hands it over, and only then does the grab touch it, exactly as pressing Use would. One machine writes a chest at a time, so two players racing a chest can no longer come away with the same item. Chests you already own, which is nearly all of them when playing alone, skip the exchange, and a chest whose owner does not answer within a moment is left alone. /i and /search still list what is nearby.

    2.4.1 — 2026-09-20

    • One configurable container range. "Container Range" under [Client config] is how far away a container can be for every command in the mod. It was hardcoded and inconsistent: /g, /i and /search reached 50 m while the build-piece hotkey only reached 10 m, so materials the panel counted could be out of the hotkey's reach. The default is 20 m to match AzuCraftyBoxes' default pull range; set it to whatever your craft-from-containers and auto-store mods use so one distance means "in reach" everywhere. Anyone used to the old 50 m grab can set it back.
    • Removed the test commands /listcontainers, /listlocalcontainers, /listcontents, /listpieces and /count. They only wrote to the log and existed to prove the container tracking worked; /i covers what they did.
    • Item names can be typed with or without spaces: /g core wood, /g corewood and /g roundlog all grab Corewood, and /g 10 fine wood or /g fine wood 10 both work.
    • Fixed: the results panel showed a raw token such as [item_corewood] when you asked for an item by its display name rather than its internal one (/g corewood instead of /g roundlog). The panel now names the item it actually took.
    • Fixed: /g 100 carrot grabbed carrot seeds. The cultivator's Carrot plant is a build piece whose recipe is one carrot seed, and piece names were checked before item names, so the crop shadowed the vegetable. The same went for turnips, onions, barley, flax and every other crop. When a name is both a crop and an item, the item now wins; the seeds are still there by their own name (/g 100 carrot seeds).

    2.4.0 — 2026-09-16

    • Fixed: an open inventory or packs panel blocked the whole keyboard. Only Escape worked, so you could not walk, use a hotkey, or open anything else while a panel was up. Panels now behave like the game's own inventory: the cursor is free and the mouse no longer turns the camera, while movement and hotkeys keep working. Scrolling a panel still does not zoom the camera, and typing in the pack editor is still kept out of the game.
    • /i empty lists every nearby container that has nothing in it and highlights them all, grouped by container type with a count. Handy when you are looking for somewhere to put a haul, or hunting for that chest you emptied and forgot about.

    2.3.1 — 2026-09-13

    • The inventory and grab-pack panels now take the mouse cursor while they are open, so you can point at rows and click them directly. Previously the only way to get a cursor was to open the ESC menu, which Escape no longer does. Transient grab results still do not take the cursor.
    • Fixed: some items showed a raw token instead of a name, such as [$item_upgrader_tier0 $item_upgrader_armor $item_upgrader_name]. Valheim 1.0 added items whose name is several localization tokens joined together, and every name here was being looked up as a single key, which those never match. Names now go through the game's own translator, which substitutes each token in place.
    • The inventory panel's pause control is now an icon rather than a line of text, and it shows the pause state three ways: grey when off, orange when the game is genuinely paused, and struck through in red when the pause was requested and refused.

    2.3.0 — 2026-09-13

    • Fixed: a grab could destroy items when your inventory was full. Items were removed from the container before being added to your inventory, and the add was never checked, so anything that did not fit was lost. Nothing now leaves a container until it is safely in your inventory; whatever does not fit stays where it was.
    • /g new grabs one of every item in range this character has never held. Holding an item is what teaches you the recipes that use it, so this is a quick way to learn a batch of recipes from shared storage. Containers only, since you cannot take from a smelter.
    • Escape now closes the inventory panel instead of opening the game menu. Press it again for the menu.
    • Optional pause while the /inventory panel is open, toggled from a button in the panel's top-right corner and remembered between sessions. It goes through the game's own pause, so it works by itself solo or hosting alone; on a dedicated server it takes the Pause My Server mod. The button reports the real pause state and reads "Not paused" in red when the request was refused, so it never implies a pause that is not happening.

    2.2.0 — 2026-09-13

    • /i new now lists only the items in range this character has never held, instead of searching item names for the word "new". The per-row (new) tags are omitted in that view, since every row qualifies.

    2.1.0 — 2026-09-12

    • The /inventory panel now tags items this character has never held with a blue (new). In multiplayer a shared chest is often full of a friend's crafting you have never handled yourself, and this makes those stand out. Turn it off with "Mark Undiscovered Items" under [Panel UI].

    2.0.0 — 2026-09-09

    Now published under DeathMonger

    • Grab Materials moved from the MojoRyzen team to DeathMonger. The old listing is deprecated; uninstall it if you have it. The plugin ID (DeathMonger.GrabMaterialsMod) and config file are unchanged, so settings carry over.

    Valheim 1.0

    • Rebuilt against Valheim 1.0.7 (Unity 6). Pre-1.0 builds fail at load with MissingMethodException: Terminal.ConsoleCommand on the new game; this build fixes that.
    • Dependencies bumped to BepInExPack 5.4.2350 and Jotunn 2.30.0.

    Grab Delta

    • New "Grab Delta (default)" client config (on by default) drives every grab unless a pack overrides it.
    • Per-pack Grab Delta is now a tri-state: Use Global / On / Off (default Use Global). This replaces the old per-pack true/false setting; existing packs fall back to Use Global.
    • Cross-grab ledger: back-to-back delta grabs (e.g. /g cart then /g explore) no longer double-count the same inventory. Clears after 30 seconds of inactivity (configurable); /grabreset clears it manually.

    Panels

    • /listpacks now opens an in-game panel (Edit | Name | Hotkey | Delta | Items). Click a row to trigger that pack.
    • In-game pack editor: click the pencil on a pack row to edit its name, items, and delta without leaving the game.
    • Pack HUD: a small on-screen list of your grab packs and their hotkeys, like AzuExtendedPlayerInventory's quick-slot labels, so you never have to remember what is on Shift+K vs Ctrl+K. Packs with no items are left out. Toggle with O (configurable); corner and offsets under the new "Pack HUD" config section.
    • The pack HUD hides packs that need a material you have never held, so Karve and Longship packs stay out of the way until you have handled nails; switch off with "Hide Undiscovered Packs".
    • The materials panel now includes items queued in kilns, smelters, and refineries, marked "(N in kiln)" and similar.

    Hotkeys

    • Default pack keys moved from G / Y / U to K / L / ; (same Shift, Ctrl and Alt modifiers) because Valheim 1.0 opens its new radial menu on G and ignores modifiers. Existing configs keep their keys; if yours are still on G, rebind the packs or the radial so both do not fire together.

    Grabbing

    • Run-again override: repeating a grab that failed on a shortage within 30 seconds grabs whatever is available.

    Other

    • Log output now attributes to [Grab Materials] instead of [Unity Log].
    • The Distance HUD now defaults to off.
    • Editing the .cfg file while the game is running now takes effect immediately, including pack hotkeys; previously the file was only read at startup and could be overwritten by the in-game values.