Robse-RobseStorage icon

RobseStorage

Buy up to five extra colour-coded ship cupboards. Maintained fork of MoreCupboards for v81: cupboards and their items survive save reloads and late joins, and the vanilla cupboard stays intact.

By Robse
Last updated 3 hours ago
Total downloads 11
Total rating 0 
Categories Modpacks
Dependency string Robse-RobseStorage-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100
Evaisa-LethalLib-1.2.0 icon
Evaisa-LethalLib

Personal modding tools for Lethal Company

Preferred version: 1.2.0

README

RobseStorage

Allows you to buy more of the default cupboard for your ship (up to 5 more) as a simple solution for storage issues.

RobseStorage is a maintained fork of MoreCupboards by ScienceBird (CC0), updated for the current game version (v81). It uses its own plugin GUID (Robse.RobseStorage) and must not be installed together with the original MoreCupboards, because both ship the same cupboard assets; BepInEx refuses to load RobseStorage while MoreCupboards is present.


Overview

You can buy up to 5 more cupboards of various colours for a fixed amount each. This means you can have a total of 6 cupboards!

The cupboards are listed in the "ship upgrades" section of the store. In the terminal you can type:

  • cupboard buys the next free cupboard (or returns a stored one from storage). Only with the default "single entry" mode.
  • orange cupboard, yellow cupboard, green cupboard, blue cupboard, purple cupboard address a specific cupboard.
  • cupboard 2, 2cupboard or cupboard #2 address a cupboard by number.
  • buy ... can be put in front of any of these.

The unlockables are registered as Orange Cupboard … Purple Cupboard. The names deliberately start with a letter: DawnLib derives its save keys from the name and strips leading digits, so the old 1Cupboard … 5Cupboard names collided with the vanilla Cupboard and corrupted the saved cupboard state.

The following can be adjusted in config (BepInEx/config/Robse.RobseStorage.cfg):

  • Price per cupboard (default: 250)

  • Maximum cupboards purchasable (1-5)

  • Removal of doors from purchased cupboards and hiding of the vanilla cupboard doors (off by default)

  • Separation of cupboard entries, listing every cupboard separately as Cupboard 1 … Cupboard 5 instead of a single Cupboard entry (off by default)

    • There's an additional option to list the cupboards by colour instead of by number (Orange Cupboard, Yellow Cupboard, etc.)
  • Auto Parent (on by default): after loading a save or joining a lobby, loose items standing inside purchased cupboards are parented to that cupboard so they move with it. Items placed on a shelf are parented by the game itself.


Installation

Install with a mod manager (r2modman, Thunderstore Mod Manager, Gale); the dependencies are pulled in automatically.

Manual installation: extract the BepInEx folder from the package into the game directory so that BepInEx/plugins/RobseStorage/ contains both RobseStorage.dll and robsestorage.assets. The asset bundle must stay next to the DLL.

All players need the mod, and the host and all clients should use the same configuration.

Migrating from MoreCupboards

  1. Uninstall MoreCupboards.
  2. Install RobseStorage. The config file is new (Robse.RobseStorage.cfg), so copy over any changed values.
  3. Cupboards bought with MoreCupboards are not carried over, because the old entries were stored under corrupted keys; buy them again. If the vanilla cupboard shows up at a wrong position once after the first load of an old save, move it back with the ship build mode.

Dependencies

Diagnostics

The plugin logs every relevant step with a [Diag] prefix: the unlockable indices on host and client, purchases, spawns, what is written to the save file and what a joining client receives from the host. When a cupboard is missing after a reload or a late join, BepInEx/LogOutput.log from host and client contains everything needed to locate the cause.

Building

dotnet build -c Release
dotnet test

The build copies RobseStorage.dll together with the asset bundle robsestorage.assets into the r2modman profile folder configured as PluginsDir in RobseStorage.csproj. Both files must always be shipped together.

A Release build also produces the Thunderstore package artifacts/RobseStorage-<version>.zip from the files in Thunderstore/ (manifest template and icon), README.md, CHANGELOG.md and LICENSE.txt. The version comes from <Version> in RobseStorage.csproj; set ThunderstoreWebsiteUrl there to publish a project link. The icon can be regenerated with pwsh ./Thunderstore/Build-Icon.ps1.

Credits

Original mod and assets: ScienceBird, released under CC0 1.0 (see LICENSE.txt).