You are viewing a potentially older version of this package. View all versions.
LethalCompanyModding-ShipInventoryUpdated-1.2.10 icon

ShipInventoryUpdated

Adds an inventory to the ship, allowing it to store items and retrieve them.

Date uploaded 13 hours ago
Version 1.2.10
Download link LethalCompanyModding-ShipInventoryUpdated-1.2.10.zip
Downloads 366
Dependency string LethalCompanyModding-ShipInventoryUpdated-1.2.10

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-0.16.2 icon
Evaisa-LethalLib

Personal modding tools for Lethal Company

Preferred version: 0.16.2
Sigurd-CSync-5.0.1 icon
Sigurd-CSync

Configuration file syncing library for BepInEx.

Preferred version: 5.0.1
WhiteSpike-Interactive_Terminal_API-1.2.0 icon
WhiteSpike-Interactive_Terminal_API

API focused on making interactable UI in the terminal

Preferred version: 1.2.0

README

Ship Inventory Updated

This repository is a fork of the original ShipInventory with permission. Adds a ship object that allows players to safely store items inside the ship's inventory.

Special Thanks to
  • This mod is required on all clients for it to work.
  • Highly customizable
  • All accessible by one command in terminal: ship
  • Compatible with saving and loading the game. The inventory is stored in the save file itself.
    • Note: Adding or Removing Mods that add items or remove may corrupt the save
  • Has support for different languages.
    • Copy the lang-en.json file and replace values. And put the file in the same folder as the mod itself.

Features

Vent Chute

By holding an item to the vent chute, you can put items into the ship's inventory. You can also retrieve them using the terminal.

Image of the vent chute

Command

To access the ship's inventory, you need to type ship into the terminal. A window will show up, showing you every option available for the mod.

Image of the command

Configuration

This mod tries to give a lot of configuration and control to the user to customize how they want to. If you would like to know more

Config Settings

General

Language

This setting determines what language package the mod uses. Upon starting up, the mod will look for the file named lang-CODE, where CODE is the value of this parameter. This allows anyone to create their own language pack.

Chute

Store Permission

This setting determines who can store items into the chute. This is on top of the base item check. For example, if the setting is set to CLIENTS_ONLY, only clients will be able to store items in the chute.

If a player tries to store an item while not having the required permission, a special message will appear to notify them that they can't store items.

Only In Orbit

This setting determines when the chute can store items. If the setting is set to true, no one will be able to store items inside the chute while the ship is on a planet. The chute will be enabled again once the ship is back in orbit.

If a player tries to store an item while the ship is not in orbit, a special message will appear to notify them that they can't store items.

Time to Store

This setting determines how long a player has to hold the interact button in order to store an item. If players usually store items in bulk, the setting can be set to a lower value, allowing them to store items faster.

Time to Retrieve

This setting determines how fast each item takes to be retrieved. If players usually retrieve items in bulk, the setting can be set to a lower value, allowing the process to be done way faster.

Max Chute Capacity

This setting determines how many items can be in the chute itself at once before pausing the retrieve process. For example, if the setting is set to 5 but a player retrieves 20 items, the chute will pause after retrieving 5 items.

Blacklist

This setting determines which items are not allowed to be stored in the chute. The mod already blocks certain items due to not working with the system, but players can also block certain items that they don't want to allow.

Here are the different things you should know about it:

  • It is case insensitive (flashlight and FlASHLiGht are the same);
  • It is space insensitive (spaces before and after an item are removed);
  • It supports REGEX expression (.*light for every items that ends with light);
  • It only checks for the itemName (it is the name shown in the terminal);
  • Each item is separated by a , (item1,item2,item3,item4);

If a player tries to store an item that is blacklisted, a special message will appear to notify them that this item is not valid.

Inventory

Retrieve Permission

This setting determines who can retrieve items from the inventory. For example, if the setting is set to CLIENTS_ONLY, only clients will be able to retrieve items from the inventory. The host itself will not be able to retrieve items.

Safe Once Stored

This setting determines if the inventory is cleared when all players die. This is useful if you want to use this mod as a safe, allowing you to keep some items in order to recover better from the loss.

Persist through fire

This setting determines if the inventory is cleared when the crew gets fired. This is useful if you want to have an advantage when restarting a run, removing some of the grinding by allowing you to keep some items.

Maximum Item Count

This setting determines how many items can be stored in the inventory. For example, if the setting is set to 20, players will only be able to store 20 items in the inventory before needing to retrieve some items to free up space.

If a player tries to store an item while the inventory is full, a special message will appear to notify them that the inventory is already full.

Keep Rate

This setting determines how likely each item is to be kept when the inventory is cleared. For example, if the setting is set to 50, each item has a 50% chance to be kept or to be cleared.

Terminal

Inventory Command

This setting determines the command to type in order to access the inventory. Commands are something exclusive, so you might need to change the command to something else in order to be able to type it.

Yes Please!

This setting determines if the cursor is placed on the yes option when retrieving an item. This is useful when you need to retrieve items in bulk, but you don't want to have to scroll down each time.

Terminal Confirmation

This setting determines if the inventory shows a confirmation when retrieving an item. This is useful when you need to retrieve items in bulk, without worrying about the confirmation.

Show Trademark

This setting determines if the inventory shows the trademark in the terminal. Even though the trademark is themed around Lethal Company (I could've put my own trademark), it takes unnecessary space in the terminal.

Sort Order

This setting determines in which order the items are shown in the inventory. For example, if the setting is set to VALUE_DESC, the most valuable items are going to be on the first pages while the least valuable items will be at the end.

Allow Retrieve All

This setting determines if the retrieve all option is shown for every player. This is useful to stop players from simply dumping every item possible, with no way to stop them. While it's still possible to retrieve items in bulk, it's slower than using the retrieve all option.

Network

Refresh Rate

This setting determines how often clients will update their copy of the inventory.

This was implemented due to past problems with desync between clients. However, this comes at a cost of an higher WIFI cost, sending a small request every time (the cost is actually very small, almost negligible).

Update Silencer

This setting determines if the mod logs each update in the console. The logs can be useful for developers to debug the mod.

If you decide to remove this, you are on your own for any desync problem

Force when Storing

This setting determines if the client forces to update itself when the player stores an item.

Force when Retrieving

This setting determines if the client forces to update itself when the player retrieves an item.

Unlock

Is Unlockable

This setting determines if the chute is an unlockable upgrade. If you enter a lobby with the setting set to false, the chute will be permanently unlocked for this save.

Unlock Cost

This setting determines how expensive the upgrade is to buy. This is useful if you want to balance this mod.

Unlock Name

This setting determines the command to type in order to buy the inventory. Commands are something exclusive, so you might need to change the command to something else in order to be able to type it.

Credits

Support

If you enjoy the original work, consider supporting the original creator on Ko-Fi ❤️

kofi

Developer Contact

Discord Server Forum Post
Lethal Company Modding #mod-releases ShipInventoryUpdated

License

This project is Licensed under the MIT License.

CHANGELOG

Changelog

1.2.10

Changes

  • Asset Bundle loads earlier to prevent an error with LethalConfig
  • Sprite is created at runtime to prevent an error with loading the icon despite it being there.
  • ShipInventory should no longer duplicate when used alongside Terminal Stuff.
1.2.9 ## Changes - Fixed log level for chute creation - ShipInventory Bundle will be packaged outside of the file for now on.
1.2.8 ## Additions * This update is functionally the same as Ship inventory's 1.2.6 update. This is just incremented to avoid any confusions.
1.2.6 ## Fixes * Fixed how the items spawn, now spawning inside the ship correctly
1.2.5 ## Fixes * Fixed the blacklist to be case-insensitive * Fixed items clearing when storing the chute * Fixed items being parented to the chute * Fixed a crash when a client tries to respawn the chute after being fired
1.2.4 ## Fixes * Fixed an issue where selecting "Understood" does nothing * Fixed the blacklist to ignore whitespaces before and after items * Fixed the chute not respawning after fire when it's not an upgrade * Fixed the chute clearing itself even when 'PersistentThroughFire' was set to true

Additions

  • Added the config 'InventorySortOrder', which allows to show the inventory in four different orders
  • Added the config 'KeepRemovalAll', which allows to enable/disable the 'retrieve all' option for all players
  • Added compatibility with OpenMonitors, now adding the total in the chute to the Loot monitor
  • Added a support link in the README.md
  • Added a license in the README.md

Changes

  • Changed the blacklist to support REGEX patterns
1.2.3 ## Fixes * Fixed a type in the english version of the configs * Fixed typo in ItemManager.cs * Fixed the client desync when a client leaves and rejoin

Additions

  • Added a simplified chinese version of the configs (by CoolLKKPS)
  • Added a way for other mods to define how an item should convert into data (Helpers/ConvertItemHelper)
  • Added a compatibility with Shopping Carts and any container item from Custom Item Behaviour Library

Changes

  • Removed the update for the host, due to it being unnecessary
  • Changed the belt bags to store themselves and their items instead of just themselves
  • Softened the error when an item has an invalid ID (Exception => Logged Error)
1.2.2 ## Fixes * Fixed the problems related to the unlock feature

Additions

  • Added the config 'UnlockName', which defines the command to type to buy/retrieve the chute
  • Added a locked screen when the chute is not present

Changes

  • Changed 'ChuteIsUnlock' to only requires a lobby reload
1.2.1 ## Fixes: * Fixed the languages being wrongly extracted * Fixed the chute movement when the chute is not an upgrade * Removed the dependency of SmartItemSaving
1.2.0 ## Fixes: * Changed how the item system works

Additions:

  • Added a way for other mods to define if an item is allowed or not (Helpers/InteractionHelper)
  • Added a proper support for the missing items. Now, missing items transform into 'Bad Item'
  • Added the config 'TimeToStore', which defines how quick you can store an item
  • Added the config 'InventoryCommand', which defines what is the keyword to access the ship's inventory
  • Added the config 'InventoryRefreshRate', which defines how frequent the inventory refreshes
  • Added the config 'InventoryUpdateCheckSilencer', which prevents the logging when the inventory is up-to-date
  • Added the config 'ForceUpdateUponAdding', which forces the local inventory to get updated when storing an item
  • Added the config 'ForceUpdateUponRemoving', which forces the local inventory to get updated when retrieving an item
  • Added the config 'KeepRate', which allows to define how likely each item is to be kept when wiping
  • Added the config 'IsUnlock', which defines if the chute is an upgrade to buy or if it is already unlocked by default
  • Added the config 'UnlockCost', which defines how expensive the upgrade is

Changes:

  • Simplified the language package (lang-en.json => langs/en.json)
  • Organized configs
  • Renamed SpawnDelay to TimeToRetrieve
  • Made the chute an unlockable upgrade
  • Made the chute movable
1.1.8 ## Fixes: * Saving the items in the inventory now works
1.1.7

Previous saves are not compatible (again)

Fixes:

  • Changed how items are stored, using mod and item names instead of IDs

Additions:

  • Fallback item if an item is not found
1.1.6

Previous saves are not compatible

Fixes:

  • Changed how items are stored, using IDs instead of names

Additions:

  • Permission to store items in the chute
  • Permission to retrieve items from the inventory
1.1.5 Not sure what changed, since dates are messed up.
1.1.4 ### Fixes: * The inventory now clears only when all players died
1.1.3 ### Additions: * Added a new config

Changes:

  • Use InteractiveTerminalAPI paging system
  • Use InteractiveTerminalAPI exit key to go back
  • Always return the user to the last menu they were in
  • Shows the "copyright" on every screen
  • Changed some texts to be more polite
  • Changed the default value for YesPlease

Fixes:

  • Fixed the method ItemManager.GetInstances
1.1.2 ### Additions: * Added soft compatibility with LethalConfig * Added a new config (YesPlease)

Changes:

  • Replaced the Steam ID by the username
  • Removed the ability to change the language used through LethalConfig
  • Removed the VentProp.cs component from the chute, making it not a grabbable

Fixes:

  • Fixed how the items are chosen to be allowed
  • Fixed bugs with ShipApplication.cs
  • Fixed how items spawn from the chute
1.1.1 ### Additions: * Added localization support * Added 2 configs * Added that the inventory resets when fired
1.0.4 ### Additions: * Added cycling idle information (total, amount) * Added method in ItemManager that returns the sum of the items stored * Added 6 new configs * Added a proper icon

Changes:

  • Organized the configs by sections

Fixes:

  • Fixed the unlockable bug(?)
  • Fixed a bug with the blacklist not updating upon joining
1.0.3 ### Additions: * Added UI from Interactive Terminal API * Added a blacklist for the items allowed * Added a cooldown for the item spawn * Added multiple configs * Added a panel to see the status of the chute

Fixes:

  • Fixed a duplication glitch
1.0.2 ### Additions: * Added the command 'retrieve all' * Added the command 'retrieve random' * Added a separate class to manage the items * Added a blacklist for the items allowed inside

Changes:

  • The chute removes the radar icon of the items put inside it
  • The chute removes its own radar icon
  • How the terminal displays the different texts
  • Removed the command 'retrieve [amount]'
  • Cleaned the class ItemData
  • Cleaned the methods in Terminal_Patches

Fixes:

  • The chute doesn't save when the other items save
  • Fixed the random clearing of the chute (only clears when all players died)
  • Fixed an error inside the player request
  • The chute now doesn't count towards the day quota
  • The chute loads empty when no items were saved in the save file
1.0.1 ### Additions: * Unity Assets for this mod * Clearing the inventory upon a loss * License to the mod (oops)

Changes:

  • Now compatible with other scanning mods
  • When the ship's inventory gets cleared
  • Removed redundant code
  • Removed the target check for an item request

Fixes:

  • Fixed typos
  • Fixed problems related to the object Chute
  • Fixed the spawn of items from the chute
  • Fixed the scan node for the chute
1.0.0 * Mod itself :3