Commons - 1.8.8-3 Release
Release Notes & Future Plans
Since the release of Commons 1.8.8-2 I've come to notice quite a few flaws with it. Namely, the lack of documentation, the breaking changes when a new Minecraft version is released (NMS Dependencies), the lack of options for configuration and support for each type (yml, xml, even json) and still quite a bit of boiler plating required for some actions that should be quite simple.
This release was the biggest update I've done to Commons in a long time, especially since the date of its release.
I plan to expand and employ many new designs and features throughout time from here out, and will do everything possible to make Commons as user, and developer, friendly as possible.
This means in the near future I'll be compiling pages for the Wiki, with use cases, philosophy, choice of action, how to-s, documentation, and so much more!
Information regarding the workings of Commons is FAR Overdue, and is on the way; For now, however, enjoy this list of what's been changed, added, and created for this release.
Features & Changes
- Optimized the Cooldown Implementation.
- Created the 'StackTraceEvent' to handle errors as they happen in your own desired way.
LoggedScheduler and LoggedPluginManager to extend the functionality, allowing errors to be sent to the StackTraceEvent. - ItemMenus now have a .closeMenu() to close the menu for all viewers
- Enhancements to Debug mode for developers to get more information in game, as it happens!
- Deleted "commons.network.Bungee" as it's broken, unused, and outdated.
- Removed all the 'dead' classes with no code, implementations or future plans (LambdaEnchant, ItemOperation, BuildableItem, VillagerShop and trading, InventoryItem, Friends package, Coords, Properties package)
- Abstracted all the code requiring NMS through interfaces to no longer break on a new release.
- Updated ThrowableItem and its .Properties class to allow cancelling of the throw with a customizable message, and -optional removal of the items.
- Created ChatMenus in the Menu package, for awesome chat-based interfaces!
- Implemented NMS Handler to allow inventory renaming! (Also included in ItemMenu's, as .setName(*))
- Completely new @annotation based serialization for YAML! Examples will be shown on the wiki.
- New support for .yml and .xml based configuration file for Commons!
- Multiple available configuration types with an automatic converter between the two.
- Register Commands and DebugActions via the package they reside in, reducing the amount of code required to write to handling and using them!