darmuh-OpenLib icon

OpenLib

Open-source development library for LethalCompany, initially created for use with darmuh's Mods

Last updated 2 weeks ago
Total downloads 180949
Total rating 5 
Categories Libraries
Dependency string darmuh-OpenLib-0.2.5
Dependants 111 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

README

OpenLib

Open-source development library for LethalCompany

  • This is a library of commonly used methods from darmuh's mods. Allowing for flexible additions to the terminal and unified game patching.
  • This will remain open to the public for collaborative efforts. All I ask is that you maintain compatibility with any mod that uses this library.

Current Features:

  • ManagedConfig class will let you watch and assign values to certain config items.
    • Currently supporting ManagedBools and ManagedStrings
    • when a change is detected to the assigned value, your managedconfig item will also update.
    • use this to manage your keyword creation/removal between lobby loads.
    • also provides support for a networking configuration option via ConfigSetup.NetworkingCheck
  • Terminal Keyword/Node creation with flexibility in mind.
    • Create simple commands that can use multiple keywords.
    • Create shop nodes that will be added to the furniture rotation list
    • Create complex commands that require confirmation
    • All added keywords are tracked by this library and will be deleted upon Terminal Disable (closing the lobby)
  • Terminal Menu System
    • Create your own command menu listing with categories and a list of commands under each category.
    • Ported from darmuhsTerminalStuff for general use
    • Optionally add a reference to this menu in the other commands listing
  • Modify already existing terminal node displayText
    • Will gracefully remove new line spaces to add your content and then add newlines below your content.
  • Assign new keywords to already existing nodes.
  • Event system lets you subscribe to all manners of Terminal patches. See EventUsage for examples on how to subscribe to these events.
  • Patches into the Awake method for the Teleporter class and provides referenceable Teleporter instances for both the normal teleporter and inverse teleporter
  • [NEW in 0.2.0] Config to HTML file generation. Use this to create an html page that can be used to read/modify config files.
    • Will generate a code at the bottom of the page that can be used to update all config items at once via a decompress method.
    • For an example use-case, see ShipColors v0.2.0, example here
  • [NEW in 0.2.0] Faux Keywords are keywords that will only work in the terminal from within the TerminalNode they are assigned.
    • These will not overwrite existing keywords.
    • Feature is still in testing, but is planned for use in LethalConstellations
  • [NEW in 0.2.0] Small hotfix for when terminalnodes have the acceptAnything property set to true without any valid compatible nouns.
    • will prevent soft locks from these particular nodes resulting in the terminal not accepting any further input.
  • [NEW in 0.2.0] Automatic info compatible nouns created for every new keyword added through this library.
  • [NEW in 0.2.0] New method for Adding compatible nouns.
  • [NEW in 0.2.0] Support methods for LethalConfig and OpenBodyCams.

The plan is to have this library support all of my mods (darmuhsTerminalStuff, ghostCodes, and suitsTerminal). So this library will likely have more features in the future

Currently Supports:

  • darmuhsTerminalStuff version 3.3.0+
  • suitsTerminal 1.4.0+
  • ShipColors 0.1.0+
  • LethalConstellations 0.1.0+

Planned Additions:

  • ghostCodes

Icon Attribution: Online library icons created by Ajmal Naha - Flaticon