-
Notifications
You must be signed in to change notification settings - Fork 0
DLL Modding
Nicolas Suarez edited this page Nov 3, 2022
·
22 revisions
This page is about using doorways functionality to make your own DLL mod
The doorways namespace sh.monty.doorways
is separated into several sub-namespaces
each with their own category of utilities. The type of functionality a class exposes
will be based on which category it's in:
-
sh.monty.doorways
: The root namespace, contains Doorways initialization code, Logging utilities, the Resource Loader, and the Doorways Options Tab manager. -
sh.monty.doorways.Engine
: This module contains implementations for the Doorways JSON mod engine. It will generally be of little use to DLL modders, since all this module does is call into other Doorways modules to implement their functionality for non-DLL Doorways mods. -
sh.monty.doorways.Engine.Crucible
: Bridges with Mothtools at runtime. -
sh.monty.doorways.CoreExtensions
: Allows mods to safely modify how the base game engine works. -
sh.monty.doorways.UIExtensions
: Allows mods to safely modify game UI. -
sh.monty.doorways.Patches
: Most of this module is markedinternal
, which means your Doorways-enabled DLL mod won't be able to use these classes. It's generally unsafe to use these anyways, since they expose mostly unchecked hooks into the base game's code. All functionality they would expose is exposed more safely byCoreExtensions
orUIExtensions
, and if you find a use case that they don't cover it's generally better to create a new feature request issue on this repository. -
sh.monty.doorways.Patches.SecretHistories
: Patches that specifically alter game behavior, instead of simply acting as hooks. The single exception is theCoreEvents
class, which any other mod may access in order to subscribe to events which will be run at various times in the game.