I've been overhauling and revamping various parts of the library, and the config manager was in need of some love. It had a lot of "magic" features, which made very little sense just looking at the code if you didn't have context. This overhaul is meant to make the code easier to understand and less convoluted. There are lots of breaking changes, any any plugin using the config manager will need to be adjusted and recompiled, so read carefully. I will do my best to update the wiki quickly.
- Major internal restructuring and code cleanup for ConfigManager
- Renamed ConfigHook to ConfigValue
- Moved config-related annotations to the redempt.redlib.configmanager.annotations package
- Config-mappable objects (previously just known as objects loaded through a ConfigMap) must now be annotated with @ConfigMappable
- Post-init methods for config-mappable objects must now be annotated with @ConfigPostInit
- Adding a ConfigValue annotation with the value "_section" will no longer work
- Adding @ConfigPath over a String variable will make it be populated with the name of the config section
- Adding @ConfigPath over a ConfigurationSection variable will make it be populated with the config section itself
- You no longer add `.*` to the end of a path loading config-mappable objects with a ConfigMap
- All config annotations are now inherited
- You can now register multiple objects/classes to store config values
- You can now use ConfigManager#list to create a list of config-mappable objects similarly to ConfigManager#map