v3.0.0: The One That Breaks Everything
This is a major update to both ModTheSpire and BaseMod. It introduces breaking API changes and stricter error handling, so most mods will need to be updated before they will work again.
For modders:
ModTheSpire is now stricter about some errors and some of the API has changed. There is a good chance you will have to update your mod to make it work again.
Patch Notes:
- More debug print info for SpireField
- Fix SpireField to work with generic types
- Fix SpireField to not use duplicate objects
- Fix NPE in isModLoaded
- Reworked UI
- Store configs in ~/Library/Preferences on Mac
- Make annotationDBMap public for mods to use
- Add some functionality to SpireConfig
- Add extra options for LineFinder
- Fix in-game mod list tooltip position on other resolutions
- Allow multiple Prefix, Postfix, and Insert patches to exist in a single patch class
- Use the SpirePrefixPatch, SpirePostfixPatch, and SpireInsertPatch annotations to mark methods
- If using a locator, Insert must specify locator with the
locator
parameter of SpireInsertPatch
- Allow Class types to be used in SpirePatch
- No longer have to type the fully qualified class name
- Allow Class types in locator Matchers
- No longer have to type the fully qualified class name
- Always print patch debug info on patching error
- More understandable errors for some patching errors
- Force defining paramtypes on overloaded methods
- Stricter error when method to patch isn't found