-
Notifications
You must be signed in to change notification settings - Fork 7
Recommended Practices and Pitfalls
These are some code features and techniques that may seem useful for code mods, but that can cause various issues if used (usually related to cross-platform compatibility).
This is a hacky way to call a "base base method", for use in override
methods where skipping the direct base.
method call is desired. (f.e. when inheriting from a vanilla class).
This crashes on MacOS for unknown reasons.
The recommended practice is to make use of the MonoModLinkTo
attribute as shown here 🔗
DynamicData
🔗 on struct
🔗 with getters
Creating a DynamicData
instance with a struct containing getters/properties will throw a System.InvalidProgramException
on mono, this might be a MonoMod bug 🔗.
Until it gets fixed, you need to use reflection 🔗 to access the members.
Just Don't Use Them™
Home
Contributing
FAQ
Useful Links
Your First Custom Map
Your First Texture Pack
Mod Setup
Custom Maps
Texture Packs
Uploading Mods
Generated Dialog Keys
Reference Code Mod🔗
Vanilla Audio IDs
Vanilla Decal Registry Reference
Character Portraits
Mod Structure
Debug Mode
Debug Map
Command Line Arguments
Environment Variables
Install Issues
Common Crashes
Latency Guide
everest.yaml Setup
Mapping FAQ
Map Metadata
Vanilla Metadata Reference
Adding Custom Dialogue
Overworld Customisation
Entity & Trigger Documentation
Custom Entity List🔗
Camera
Useful Mapping Tools
Custom Tilesets
Tileset Format Reference
Stylegrounds
Reskinning Entities
Skinmods
Decal Registry
Chapter Complete Screen
Custom Portraits
Adding Custom Audio
Advanced Custom Audio
Cassette Music
Code Mod Setup
Making Code Mods
Settings, SaveData and Session
Everest Events
Understanding Input
Logging
Cross-Mod Functionality
Recommended Practices
Mod Updating Guide
Custom Entities, Triggers and Stylegrounds
Lönn Integration🔗
Custom Events
Adding Sprites
Adding Preexisting Audio