Releases: boxbeam/RedLib
Releases · boxbeam/RedLib
Add support for subclass conversions to config manager
- Subclasses of config-mappable classes can now be converted by storing the type in config
- Base commands registered to the command map now correctly report their usage
- Removed old/deprecated config manager
Fix space counting for post-argument subcommands
- Post-argument subcommands can now be run with parent arguments that are quoted with multiple spaces
Improvements for RedCommands and ItemUtils
- Add ItemUtils.skull, used to generate a player skull
- Ignore exceptions for tab argument conversion
Fix ClassCastException in ConfigManager
- Exception would be caused when trying to load a number from a config-mapped object inside a list
Add ConfigName annotation to specify the path to a value in config
This required more internal restructuring than I would like to admit
Fix collection loading to use proper YAML lists
- Added wrapper DataHolder to abstract away implementation details of storage from the converters
- Switch SQLCache to use synchronized maps, which can store null keys and values
Complete rewrite of ConfigManager
- The old config manager, and the redempt.redlib.configmanager package, are now deprecated and will be removed at a later date
- New config manager is in redempt.redlib.config
- Now can deserialize to record types (ConfigMappable annotation not required)
- No longer uses ConfigValue, all fields are automatically deserialized unless marked transient
- No longer requires ConfigManager.map/list/collection, can natively serialize and deserialize regular collections and maps
- Major code cleanup, more extensible
- Can now only deserialize to static fields in the root of the config
- Can now reload config from disk
Prepare for migration to custom build server
6.2.1.7 Prepare for migration to custom build server
Fix docs
Minor fixes for ProtectionPolicy
- Fix protection for hopper minecarts so a hopper minecart outside a protection can no longer remove items from an inventory inside a protection with the CONTAINER_ACCESS ProtectionType
- Add TRAMPLE to ProtectionType.DIRECT_PLAYERS