Skip to content
kremnev8 edited this page Nov 22, 2021 · 6 revisions

CommonAPI

Welcome to the CommonAPI documentation

List of features

  • Stable means module is fully developed and its interface is unlikely to change.
  • Untested means module is developed, but there were not real tests. As such, it might have game breaking bugs and interface might change
  • Incomplete means module is currently is being developed. Such modules can easily change.

Modules:

Module Stability Description
ProtoRegistrySystem Stable Easily register new items, recipes and more
Adding Protos Stable Adding new protos
Modifying Protos Incomplete Modifying existing protos
Assember Recipe Types Untested Add custom assembler types with unique recipes
TabSystem Untested Add new tabs to the replicator, assemblers and pickers
CustomKeyBindSystem Stable Register custom KeyBinds which can be rebound by user
PickerExtensionSystem Stable Extend behavior of Item and Recipe pickers
ItemPickerExtension Stable Filter displayed items using a function. Overtake picker behavior
RecipePickerExtension Stable Filter displayed recipes using a function
PlanetExtensionSystem Untested Add Extensions to planets to create custom behavior
EntityDataExtensions Stable Add custom data to EntityData class
CustomDescSystem Untested Define custom building descriptions, that can be bound to config files
PrefabDescExtensions Stable Add custom data to PrefabDesc class
ComponentSystem Untested Create buildings with custom behavior and custom UI
Copy and Paste settings Untested Allow players to copy and paste custom buildings settings
Custom Machine UI Untested Add custom UI to custom buildings
StarExtensionSystem Untested Add Extensions to stars to create custom behavior
UtilSystem Stable Other small utility features

Where items in bold represent modules, while items not in bold represent respective module parts


Data structures:

Structure Stability Description
Pool Stable Data structure that allows to store objects with persistent ID's
Registry Stable Data structure that allows to register objects with unique string ID's and then bind them to integer ID's
InstanceRegistry Stable Data structure that allows to register instances of objects with unique string ID's and then bind them to integer ID's
TypeRegistry Stable Data structure that allows to register types of objects with unique string ID's and then bind them to integer ID's

Other:

Name Stability Description
ConfigFileExtension Stable Migrate BepInEx config files
CopyPropertiesExtenstion Stable Copy any properties and fields from one object to another
HarmonyRegisterExtension Stable Group patches using an attribute and patch all of them using one call
PointsHelper Stable Utility class to help assigning positions and transforms to Desc classes, like BuildConditionConfig
UnityThread Stable Invoke code on the main Unity thread
Icon Generator Stable In-game utility that allows to create new icon for buildings. Disabled by default
Clone this wiki locally