You are viewing a potentially older version of this package. View all versions.
SpikeHimself-XStorage-1.1.6 icon

XStorage

Open multiple chests at once, rename them, and move items/stacks to the most suitable chest.

Date uploaded a year ago
Version 1.1.6
Download link SpikeHimself-XStorage-1.1.6.zip
Downloads 984
Dependency string SpikeHimself-XStorage-1.1.6

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2200 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2200
ValheimModding-Jotunn-2.14.6 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.14.6

README

XStorage

XStorage lets you open multiple chests at once, rename them, and move items/stacks to the most suitable chest.

Features

Name your chests

By pressing alt-interact (Shift + E by default), you can give your chests a name. This name is shown when you hover over the chest, and also in the panel above the inventory when a chest is opened.

Open many chests

To display multiple chests, XStorage creates a new panel in the UI. The panel will automatically expand to fit in as many chests as it can. You can restrict the width and height in XStorage's config.

When you open more chests than XStorage can display on the screen, this panel will become scrollable.

Moving items/stacks to the most suitable chest

When you auto-move an item from your inventory (via Ctrl + Click), XStorage tries to find the most suitable chest to put the item/stack in. It does so by picking the chest containing the highest quantity of the item you are moving, from all opened chests that still have free space.

Ctrl + Click-ing an item or stack in any of the chests will always make it go to the player inventory (equal to vanilla behaviour).

Multiplayer

In multiplayer games, all players need to have XStorage installed, or it will not work. If you play on a dedicated server, the server also has to have XStorage installed.

Mod compatibility

As of v1.1.3, XStorage can be stopped from opening nearby chests, if the chest being opened is marked with the XStorage "SkipMark". This allows other mods, such as Seidr Chest, to function as intended.

To do this, set the XStorage_SkipMark to true in the Container's ZDO, like so:

container.m_nview.GetZDO().Set("XStorage_SkipMark", true);

If you need assistance with this, reach out to me on XStorage's GitHub page.

Known shortcomings

There are a few things that, at this stage, XStorage does not do well, or at all:

  • Gamepad input: XStorage does not deal with gamepad input at all. That is to say, the UI kind of breaks when you use a gamepad. I will look into this in the future, but for now this mod is pretty much mouse/keyboard only.

XStorage looks best when playing at a 16:9 ratio with a UI scaling of 95% or smaller.

Configuration

XStorage's config file, which can be found at Valheim\BepInEx\config\yay.spikehimself.xstorage.cfg, contains the following settings:

NearbyChestRange

The radius in meters within which to look for nearby chests. Setting this too high might cause performance issues!

MaxOpenChests

The maximum amount of chests to open at once. 0 or fewer means infinite.

Panel Position

The Panel Position section contains the saved screen positions of each panel (per panel size). It is not recommended to edit these values manually.

MaxColumns and MaxRows

The maximum amount of rows and columns that XStorage can expand the containers panel to.

PanelScale

The relative size of XStorage's panel. Can be any value between 0.5 and 1.5, where 0.5 = 50%, 1 = 100%, and 1.5 = 150%

Installation instructions

XStorage is a BepInEx plugin. As such, you must have BepInEx installed. Most other Valheim mods are also BepInEx plugins, so chances are you already have this.

XStorage makes use of the Jotunn library, so you must install that before installing XStorage. If you do not install Jotunn, XStorage will simply not be loaded by your game and it will not work.

I very strongly recommend using a mod manager such as Vortex or r2modman. They will take care of everything for you and you don't have to worry about which files go where. I recommend against manual installation.

  1. Make sure you have BepInEx installed.
  2. Install Jotunn.
  3. On Nexus Mods click 'Mod manager download', or on Thunderstore click 'Install with Mod Manager'.

To install XStorage on a dedicated server, copy all of the contents of the plugins\ directory found inside the .zip file download to the Valheim\BepInEx\plugins\ directory on your server.

Bugs and Feature Requests

To report a bug, please navigate to the Issues page, click New issue, choose Bug report, and fill out the template.

For feature requests, choose Feature request on the New issue page.

I did more too!

Please have a look at my other mod too! XPortal lets you select a portal destination from a list of existing portals, so that you don't have to match portal tags anymore.

CHANGELOG

v1.1.7 (2023-11-07)

  • Fix bug where UI panels would not open after latest game update

  • Update Jotunn v2.14.6

Click to view previous versions
  • v1.1.6 (2023-10-14)

    • Fix chest name and weight not updating in the UI

    • Fix error spam in console when opening a chest

    • Update Jotunn v2.14.4, BepInEx v5.4.2200

  • v1.1.5 (2023-09-22)

    • Add config option PanelScale using which you can scale XStorage's panel
  • v1.1.4 (2023-08-26)

    • Add config option MaxOpenChests which limits the maximum amount of chests to be opened at once

    • Update Jotun v2.12.6, BepInEx v5.4.2105

    • Add world level to item reference

  • v1.1.3 (2023-04-10)

    • Don't open nearby containers when SkipMark is set (by other mods)

    • Clean up panel position values in config file

    • Dependency updates: BepInEx 5.4.2102, Jotunn 2.11.3

  • v1.1.2 (2023-03-15)

    • Dependency updates: BepInEx 5.4.21, Jotunn 2.11.0

    • Fix panel size calculation

    • Save panel positions as Vector2 instead of Vector3

  • v1.1.1 (2023-03-13)

    • Fix mod breaking after logging out and then starting/joining another game

    • Store panel positions in config instead of hidden away in player preferences

    • Clamp panel to screen boundaries after restoring its position

    • Fix error that sometimes appears when logging out or quitting the game

    • Fix error that can occur when Ctrl+Click-ing an empty cell in one of the the inventory grids

    • Use the position of the chest you're opening, instead of the position of your character, when searching for nearby chests

    • Order chests by weight so empty ones show up last

    • Add config option NearbyChestRadius to set how far away to look for chests for

    • Fix a compatibility issue whereby the Take All button would stop working if another mod added more buttons to the container panel

  • v1.1.0 (2023-03-11)

    • Fix error when placing a new chest

    • Fix a HarmonyX warning that occurs when loading XStorage; this was caused by a library I use locally to manage documentation, but XStorage does not ship with this library.

    • Fix being able to rename chests that are protected by a ward

    • UI overhaul:

      • You can now drag the XStorage panel

      • You can set the maximum panel size in XStorage's config file using MaxColumns and MaxRows. Default value is 2 columns by 3 rows. XStorage will still restrict the size by what fits on your screen.

      • XStorage will store the position of the panel per grid size when you close the panel, so that next time you open a panel of the same size, it will be restored to that position on the screen.

    • Many code improvements and optimisations

  • v1.0.2 (2023-03-02)

    • Fix tooltips not always being fully visible

    • Fix tooltips sometimes escaping the mouse pointer

    • Reworked a large portion of the containers panel UI

  • v1.0.1 (2023-02-28)

    • Remove "valheim.exe" check as it stops dedicated servers from loading the mod.
  • v1.0.0 (2023-02-28)

    • Initial release