Check out the wiki to get started, or the spreadsheet to find templates, samples, or things to patch.
Mods can be managed in-game or via console using /mod <verb> [part of mod name]
(skip the /
in console).
Verbs are:
list|l
enable|e [name]
disable|d [name]
restart|r [name]
toggle|t [name]
find|f
shuts down all existing mods and looks for them again as if the server was starting- Temporary convenience verbs are:
settings|s [name]
will attempt to open the specific modsSettings.json
with the default handlermethod|m Type MethodName
will print out some information about a method that may be helpful in creating a HarmonyPatch for it
- Mod repository
- Support selective adding of commands with attributes
- Possibly Reverse patches to snapshot/restore any patched methods.
TryCreateILCopy
might be relevant. - Good example for using Finalizer patches to eat tricky and inconsequential exceptions.
- Exposing capabilities of mods to other mods
ModContainer
-based dependencies / incompatibilities.
- Threading and all that CI/CD and non-Windows stuff I'm going to put off forever