Show / Hide Table of Contents

    Namespace MonoMod

    Classes

    DebugSymbolFormat

    MethodBodyRewriter

    MethodParser

    MethodRewriter

    MissingDependencyResolver

    ModReadEventHandler

    MonoModAdded

    MonoMod "added" attribute. Will be applied by MonoMod automatically on patched types / members.

    MonoModConstructor

    MonoMod constructor attribute. Apply it onto a constructor and it will be patched by MonoMod. Or apply it onto a method and it will be handled like a constructor.

    MonoModCustomAttributeAttribute

    MonoMod "custom attribute" attribute. Apply it onto a custom attribute type and the supplied handler in your MonoModRules will handle it. Replaces MMIL.Rule.RegisterCustomAttribute in MonoModRules constructor.

    MonoModCustomMethodAttributeAttribute

    MonoMod "custom method attribute" attribute. Apply it onto a custom attribute type and the supplied handler in your MonoModRules will handle it. Replaces MMIL.Rule.RegisterCustomMethodAttribute in MonoModRules constructor.

    MonoModder

    MonoModEnumReplace

    MonoMod enum replace attribute. Apply it onto a enum type / class and its values will be replaced by MonoMod.

    MonoModForceCall

    MonoMod force call attribute. Apply it onto a method and all calls to it will be forcibly replaced with the call instruction.

    MonoModForceCallvirt

    MonoMod force callvirt attribute. Apply it onto a method and all calls to it will be forcibly replaced with the callvirt instruction.

    MonoModHook

    MonoMod hook attribute. Apply it onto a type / method / field and calls to the item it hooks will be relinked to the item the attribute gets applied to.

    MonoModIfFlag

    MonoMod "if" attribute. Apply it onto a type / method / field and it gets ignored if MonoModder.Data[key] equals false. If fallback (true by default) is false, it also gets ignored if MonoModder.Data[key] is undefined.

    MonoModIgnore

    MonoMod ignore attribute. Apply it onto a method / type and it (except its MonoMod custom attributes) will be ignored by MonoMod.

    MonoModLinkFrom

    MonoMod "static hook" attribute. Apply it onto a type / method / field and calls to the item it hooks will be relinked to the item the attribute gets applied to.

    MonoModLinkTo

    MonoMod linkto attribute. Apply it onto a type / method / field and calls to it by mods will be relinked to another target.

    MonoModNoNew

    MonoMod "only patch if it exists" attribute. Apply it onto a type or method and it gets ignored if there's no original method in the input module.

    MonoModOnPlatform

    MonoMod on platform ("#ifdef PLATFORM") attribute. Apply it onto a type / method / field and it gets ignored on non-matching platforms.

    MonoModOriginal

    MonoMod original method attribute. Will be applied by MonoMod automatically on original methods. Use this (or MonoModIgnore) manually to mark non-"orig_" originals!

    MonoModOriginalName

    MonoMod original name attribute. Apply it onto a method (not the orig_) and its orig_ method will instead be named like that.

    MonoModPatch

    MonoMod patch attribute. Apply it onto a type and it will behave as if the type was prefixed with patch_. This allows for custom compile-time names while MonoMod uses the supplied name for any relinking.

    MonoModPublic

    MonoMod ignore attribute. Apply it onto a method / field / property / type and it will be made public by MonoMod.

    MonoModRemove

    MonoMod remove attribute. Apply it onto a field / method / type and it will be removed by MonoMod.

    MonoModReplace

    MonoMod replace attribute. Apply it onto a method and no orig_ method will be generated by MonoMod. Apply it onto a field and its attributes and field type will be replaced. Apply it onto a property and it will be removed first, as if you're just adding your own. Apply it onto a type and the original type will be removed first.

    MonoModTargetModule

    MonoMod target module attribute. Apply it onto a type and it will only be patched in the target module. Important: This attribute acts as a filter. It doesn't affect any other module than the input module. For example, one can define the target assembly version using MonoModTargetModule, or use the same MonoMod mod on multiple differing input assemblies.

    PatcherExtensions

    PostProcessor

    RelinkMapEntry

    Back to top Yet another C# modding swiss army knife.