The focus of this release is on enhancing user interfaces and refining the library. Note that there are breaking changes to existing API components, which will affect configurations using commands.
New API Components:
-
ItemStacks:
-
ConfigItem:
- Build items with specified or variable material types.
- Utilize ConfigMessage (Adventure MiniMessage) for names and lores.
-
ItemHelper:
- A collection of methods for interacting with item names and lores using
Adventure Components.
-
createHoverComponent method to generate a Component from an ItemStack's name and lore.
-
User Interface:
- Advanced, configurable user-interface system.
- Powerful input handling capabilities.
- Easy element positioning in menus.
- Support for element pagination and redraw.
- Child menu support.
-
ConfigLoader:
- Manages configurations of the same type from a specified directory.
- Maintains a list of all configuration keys for easy access.
- Includes a builder for effortless creation of ConfigLoaders.
-
Locale:
- Bundled with the
LocaleLib library.
-
LocaleHelper for error handling and Adventure Component support.
-
Miscellaneous:
-
Components#wrap method to wrap long Adventure Components.
- Added
MessageType enum with a helper method in
Messaging.
- Support for Minecraft 1.20.5+.
Changes to Existing API Components:
-
AlpinePlugin:
-
setupDefaultVariables method renamed to
setupVariables.
-
setupDefaultStyles method renamed to
setupStyles.
-
setupDefaultConfiguration method renamed to
setupAlpineConfig.
- The AlpinePlugin instance is now registered with the Bukkit event bus.
-
AlpinePluginConfig:
- Renamed from
AlpineCoreConfig.
- No longer registered with the
ConfigManager.
- Accessible via
AlpinePlugin#getAlpineConfig.
-
Miscellaneous:
-
Formatting#placeholders now accepts a Supplier function type.
-
AlpineArgumentResolver instances are now shared between all AlpinePlugins.
- Replaced
Apache commons-dbcp with
HikariCP.