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|lenable|e [name]disable|d [name]restart|r [name]toggle|t [name]find|fshuts 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.jsonwith the default handlermethod|m Type MethodNamewill 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.
TryCreateILCopymight 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