Vintage Story treats bags as extra rows of the same inventory. Burdened treats them as bags.
It cuts the space you can use, rearranges it, and lets you open an equipped pack without dumping every bag onto the screen at once.
There is no item-weight formula. The server owns the rules and enforces them on every client.
This mod is published on Mod DB.
- Fewer slots, on purpose: 1 to 10 hotbar slots, 1 to 4 bag-equip slots. The HUD contracts around what's left, scrolling skips locked positions, and the server enforces the same rules for everyone. If a setting locks an occupied slot, the item moves into valid storage or drops at your feet. Held items or bags are never deleted.
- Bags you open yourself: right-click an equipped bag, or a placed one. Shift picks it up or puts it down. Several bag windows can stay open at once. Selecting a bag moves only that bag into the hand; other wearable bags stay on the body.
- Immersive mode: optional L / B / R slots. B takes a general pack (worn on the back, holds ordinary items). L and R take everything else, including a quiver, so a specialised bag never steals the pack slot. Wearable bags keep the attachment their own mod gave them.
- A focused inventory screen: optionally remove bag contents from the inventory dialog so pressing E opens a compact crafting-only window. Equipped bags remain available from the hotbar.
- A bounded offhand: non-bag items can sit there by hand. Bags are
always rejected. Vanilla's extra hunger for an ordinary offhand item
is a setting (
0.2keeps the usual 20%;0turns it off). - Bags from other mods: sorted by what they are, not by a list of
names. A mod can ship a default role;
BagRoleOverrideslets the server owner have the last word.
Equipped and placed bags can stay open together.
When an equipped bag is selected, it is shown in the player's hand without also appearing as a worn duplicate.
Config example: two hotbar slots and a single bag slot. The HUD contracts around whatever remains.
Immersive mode replaces the four-slot bag bar with three typed slots. The back slot takes your pack. The left and right slots take everything else, so a quiver or a mining bag never costs you the slot a backpack needs.
The immersive L, B, and R bag slots.
Works with populated skeps, quivers, and other bags.
| Where | Input | Action |
|---|---|---|
| Placed bag | Right-click | Open its inventory |
| Placed bag | Shift + right-click | Equip it into a compatible empty bag slot |
| Equipped bag slot | Right-click | Open or close that bag (also with a cursor stack) |
| Equipped bag slot | Shift + click | Place it on the targeted block |
| Selected equipped bag | Right-click | Open or close the bag when the targeted block does not use the input |
| Selected equipped bag | Shift + right-click | Place it on the targeted block |
Use Ctrl + mouse wheel to include equipped bag slots in hotbar selection. If a pickup or placement is rejected, the bag and its contents stay where they were.
Wall-mounted bags such as quivers keep their vanilla placement gesture: Ctrl + Shift against a wall. Chests, vessels, and other containers keep their normal behavior.
The server creates
%APPDATA%\VintagestoryData\ModConfig\burdened.json on first run.
After editing it, restart the dedicated server or reopen the
singleplayer world so the server loads and sends the updated settings.
| Setting | Default | Effect |
|---|---|---|
HotbarSlots |
10 |
Usable hotbar slots, from 1 to 10 |
BagSlots |
4 |
Usable bag-equip slots, from 1 to 4 |
ImmersiveCarryingMode |
false |
Use the L / B / R layout instead of BagSlots |
HideBagContentsInDialog |
true |
Keep bag contents out of the E inventory |
OffhandHoldsAnything |
true |
Allow manual offhand storage for non-bag items |
OffhandHungerPenalty |
0.2 |
Extra hunger rate for ordinary offhand items; 0 disables it |
ImprovedBagInteractions |
true |
Enable direct opening, pickup, and placement of bags |
BagRoleOverrides |
{} |
Assign bags to the back or waist slots by item code |
BagRoleOverrides takes an item code and a role of back or waist.
Codes accept * wildcards, and an entry with no domain is read as
game:. A server override always wins over a bag's own default.
Listing a non-bag does not make it equippable. Entries the server cannot
use are skipped and written to the log at startup.
"BagRoleOverrides": {
"othermod:rucksack-*": "back",
"game:backpack-sturdy": "waist"
}Bag mods can declare their own default role in item JSON:
"attributes": { "burdened": { "bagRole": "back" } }- Built for Vintage Story 1.22.3.
- Required on both the client and server. Clients and servers should use the same Burdened version.
- Standalone, with no required dependencies.
- Immersive Backpacks, Wilderlands Onus Moderatus, and Immersive Modular Backpacks modify overlapping behavior and may not be compatible.
Burdened patches private game methods. Other Vintage Story versions remain unverified until they pass the same review and in-game checks.
- Download the latest
burdened_*.zipfrom GitHub Releases. - Place the zip in the Vintage Story
Modsdirectory. - Restart the game, or restart the server and reconnect.
resources/modinfo.json is the source of truth for release metadata.
dotnet build
./build.ps1
./build.ps1 -DeployThe build script creates Releases/burdened_<version>.zip. -Deploy
also copies that package into the active Vintage Story Mods directory.
- CHANGELOG.md is the release history.
- FEATURES.md is the design notes.
- docs/MODDB.html is the maintained Mod DB page.
See LICENSE. Personal non-commercial use and pull requests back to this repository are allowed. Redistribution and modpacks require prior written permission.
You can support Burdened and other projects on Ko-fi.





