LootWindow
Adds a loot window to Valheim's native UI similar to MMORPGs. With item-triggers or loot table calls (coming soon) you can define reward quantities, chances and item levels through YAML. In multiplaye
About this mod Author’s original text
Description
Loot Window turns configured trigger items into rewards in a compact eight-slot window alongside Valheim's native inventory and crafting menus. Define reward quantities, chances and item levels through YAML.
In multiplayer, the server controls loot tables, rolls and trigger pickup settings; interface preferences stay local.
Overview
| Feature | Description |
| --- | --- |
| Loot tables | Connect a trigger item to fixed or random rewards. |
| Automatic pickup | dblw_ items go to the closest eligible player within 3 metres by default. |
| Hidden trigger slot | Holds one pending token even with a full inventory or while encumbered. |
| Native inventory | Drag rewards, collect individual stacks, loot all or drop items on the ground. |
| Optional Auto Loot | Collect one reward stack at a time with configurable delays. |
| Saved rewards | Pending loot survives normal character saves and reconnects without rerolling. |
Configuration and values
Edit BepInEx/config/dannanboi.lootwindow.cfg. Loot tables are in BepInEx/config/LootWindow/loottables.yaml. Solo play uses local settings; multiplayer uses the server's gameplay settings and tables.
| Section / option | Default | Meaning |
| --- | --- | --- |
| [Settings] Enable Mod | true | Server-controlled switch for new triggers; pending loot remains collectable. |
| [Settings] Trigger pickup radius | 3 | Server-controlled horizontal metres for dblw_ items; range 1–6, with a 2-metre height allowance. |
| [Keybindings] Loot All | F | Collect rewards that fit. |
| [Keybindings] Discard Loot | O | Confirm before destroying remaining loot. |
| [Keybindings] Input-block interval | 0.25 | Seconds to reserve loot keys after release; range 0–2. |
| [UI] Auto Loot | false | Automatically collect one stack at a time. |
| [UI] Auto Loot interval | 1 | Seconds between pickups; range 0.5–2. |
| [UI] Sleep before auto-loot | 0.5 | Additional delay before the first pickup interval; range 0–60 seconds. |
| [UI] Auto Loot Autoclose | true | Close inventory when loot ends with Auto Loot enabled. |
| [UI] Autoclose | true | Close inventory when loot ends with Auto Loot disabled. |
| [UI] Window scale | 1 | Loot window size; range 0.7–2. |
| [UI] Window X / Window Y | 0.35 / 0.62 | Screen position; dragging the title bar saves it. |
| [UI] Loot All text / Discard Loot text | Loot All / Discard Loot | Button labels. |
All keybindings and UI options are local. Shortcuts accept modifiers such as LeftShift + F; None disables a shortcut.
Usage
Award a configured triggerItem through another reward mod, or test with the console command spawn dblw_Test2 1. Missing trigger prefabs are generated from Wisp. Items starting with dblw_ are automatically picked up by the closest living, non-teleporting player in range, even with a full inventory or while encumbered. One token is processed at a time; collecting rewards still requires normal inventory space.
Drag rewards into your inventory or outside the windows to drop them. Ctrl-click or right-click collects a stack; F collects all that fit. O, ESC or TAB asks “Discard loot?” while rewards remain. Cancelling keeps them. Drag the title bar to move the window.
Loot table YAML
Use a flat list with two-space indentation. Prefab names are case-sensitive. Add multiple entries to the same file; disables all tables.
- triggerItem: dblw_Test2
itemDisplayTitle: ""
triggerCall:
alwaysLoot: false
emptyLootText: "Nothing was found."
lootTableName: "Boss reward"
lootTable: Coins[50-100],Ruby[1-2:5],Amber[2]
| Field | Meaning | Missing/empty value |
| --- | --- | --- |
| triggerItem | Exact trigger prefab name. | Required. |
| itemDisplayTitle | Trigger item display name. | Empty; omitting it preserves existing non-dblw_ item names. |
| triggerCall | Reserved identifier for future function calls; currently inactive. | Empty. |
| alwaysLoot | Guarantee at least one successful reward. | false. |
| emptyLootText | Message when no reward succeeds. | No loot. |
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.