Skip to content

Repository files navigation

Stowage

Stowage

A bag's slot count usually ships with the item. Stowage makes it a server setting.

It can target one bag, a family of item codes, or compatible bags from another mod. When a bag already has things in it, those items still have to go somewhere. They are not hidden and they are not deleted.

This mod is published on Mod DB.

What Stowage changes

  • Capacity by item code: one bag, a family such as game:backpack-*, or another asset domain. First match in the file wins.
  • Bags from other mods: standard held bags are recognised by behavior, not by mod id. A compatible bag mod needs no Stowage plugin.
  • Growing: occupied slots keep their places. New slots start empty.
  • Shrinking: a dormant bag keeps its old layout until Stowage can compact, overflow, and drop. The smaller grid is saved only after every item has somewhere to go.

Configured basket and linen sack capacities

Rules can target one bag, a wildcard family, or bags from another asset domain.

Configuration

The server creates %APPDATA%\VintagestoryData\ModConfig\stowage.json on first run. After editing it, restart the dedicated server or reopen the singleplayer world so the server loads the updated rules.

Setting Default Effect
BagCapacityOverrides {} Maps item-code patterns to capacities from 1 through 256
  • Patterns accept * wildcards.
  • A pattern without a domain is treated as game:.
  • Rules are checked in file order, and the first match wins.
  • An empty map preserves the capacities supplied by the game and other mods.
{
  "BagCapacityOverrides": {
    "game:backpack-*": 12,
    "game:linensack": 10,
    "game:basket-*": 8,
    "othermod:rucksack-*": 18
  }
}

Vanilla bags and bags from other mods are eligible when they use Vintage Story's standard held-bag behavior. A custom inventory that only looks like a bag is left alone and logged.

Safe resizing

Existing bags grow the next time their contents load. Occupied slots keep their places. Newly added slots start empty.

When a configured capacity becomes smaller, a dormant bag keeps its old layout until it is used. On equip or open, the server compacts its contents into the remaining slots, moves overflow into valid player inventory and other equipped bags, then drops anything that still does not fit. The smaller layout is saved only after every overflow item has somewhere to go.

An already-equipped bag is resized when its player finishes joining the world. A ground-stored or entity-attached bag is resized when opened. Until then, its old slots remain visible so no contents become hidden.

Back up important worlds before changing any inventory-related mod setup.

Compatibility

  • Built for Vintage Story 1.22.3.
  • Required on both the client and server. Clients and servers should use the same Stowage version.
  • Standalone, with no required dependencies.
  • Custom bag implementations that ignore the standard capacity attribute are left unchanged and reported in the server log.

Stowage patches standard bag loading and interaction methods. Other Vintage Story versions remain unverified until they pass the same review and in-game checks.

Installation

  1. Download the latest stowage_*.zip from GitHub Releases.
  2. Place the zip in the Vintage Story Mods directory.
  3. Restart the game, or restart the server and reconnect.

Building

resources/modinfo.json is the source of truth for release metadata.

dotnet build
./build.ps1
./build.ps1 -Deploy

The build script creates Releases/stowage_<version>.zip. -Deploy also copies that package into the active Vintage Story Mods directory.

Documentation

License

See LICENSE. Personal non-commercial use and pull requests back to this repository are allowed. Redistribution and modpacks require prior written permission.

Support

You can support Stowage and other projects on Ko-fi.

About

Configurable item slots for Vintage Story. Set how much bags hold, and keep what was already inside them.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages