Releases: broken1arrow/Utility-Library
Releases · broken1arrow/Utility-Library
Alter the command logic
Changelog:
- Fixed the version check module, as it had issues detecting the correct server version. This change, as mentioned in the previous release, improves flexibility with version formats, supporting formats like 26.1.1 instead of only 1.21.11. It now uses integers for better accuracy and works from legacy to newer versions. The main version is handled automatically depending on whether the server uses the new or legacy format.
- Added a new module for dynamically tracking if a chunk is loaded by a player or force-loaded. It is more accurate and has less performance impact than using world#getChunk(x,z) in tasks, especially if you check the state every second or more frequently. The module is called chunk-relevance.
- Changed the Command module to now accept multiple main commands, each with either their own subcommands or a single main class where you handle the rest yourself. You also get guidance when choosing whether to register a subcommand or a main command directly in the CommandRegister class. Recommended you stop using the deprecated methods as it will be removed next version.
- Changed the menu module and its listener logic so it can now be overridden. This is mainly used for the plugin JAR API when you want to provide only the API and still use the plugin. You can override the logic yourself, but it is not recommended.
- Additional notes: the plugin now calls a consumer when everything inside the plugin has been loaded, so you can use the whenReady method. Also, listeners have been streamlined into a single class—something not recommended to use when shading unless you know what you are doing.
Full Changelog: 0.134...0.135
Fixed config module did not load files
Added better support for 26.x
Changelog:
- Fixed version check break on Minecraft 26.x, due to new version format.
Full Changelog: 0.132...0.133
Fixed issues with menu item updates
Changelog:
- Fixed problem where the menu buttons did not updated correctly and was instead refreshed every second.
- Fixed version module where VersionUtil#versionAtLeast did not correctly flagged if the version was newer.
- Solved the problem where default sound was not set and give error.
Full Changelog: 0.131...0.132
Small adjustments how the menu update buttons
Changelog:
- Alter the logic to not only have option to refresh just the button item when choose just update clicked button. Just set the
setFullyRefreshButtonsto true to always refresh the button.
Full Changelog: 0.130...0.131
Better database handling
Changelog:
- Supports to alter the tables constrains after first creation. Will only do the checks on new columns that doesn't exist in the database.
- Better support for saving, as you can provide where clause.
- Added support for custom menu items for the menu config manger module, instead of two fixed options only.
- Fix a problem where it shall create new yaml files it also includes subfolders in the jar file search.
- Better effect/particle support where you did not get all options when create an particle effect. As the utility class ConvertParticlesUtility did not offer easy way to provide data for a particle.
- For same particle support does have better log messages when data is missing on a particle.
Full Changelog: 0.129...0.130
Just fixed so get the library
Updated NBTAPI and change the shadow
Changelog:
- Solve the inconsistent shadow, as it could create several copies of NBTAPI, now the plugin have control of the shadow part.
- Updated NBTAPI to latest version (2.15.5), should support 1.21.11.
Full Changelog: 0.126...0.127
Make changes to the item creator module and a message in menu module
Changelog
Menu
- Fixed an issue where creating a single menu displayed an unnecessary message when the fill list contained no items. This was an annoyance rather than a breaking issue.
ItemCreator Module
-
Major upgrade to the ItemCreator module, adding improved options for:
- Setting metadata
- Setting NBT
- Optional custom JSON serialization for ItemStacks
(the original Bukkit API serializer tends to break on each Minecraft update)
-
NBT Handling
- Uses NbtAPI for support down to 1.8.8.
- If NbtAPI is not shaded, the system falls back to PersistentDataContainer (introduced in 1.14).
- Older versions without NbtAPI will not have automatic NBT tag handling.
-
Metadata Improvements
- Added several new classes to handle different item metadata types without requiring manual casting.
- Added support for using modern potion names, even on 1.8.8.
Full Changelog: 0.125...0.126
Improvement to the flexibility in menu module and package path changes
Changlog:
- Big changes to the menu module to allow more flexibility when creating custom menus. It gives you full control over how the menus are created, while still allowing you to leverage the existing logic. An additional menu option may be added in the future, thanks to Starozytny and his work on a custom menu.
- Changed the package names from, for example,
org.broken.arrow.menu.librarytoorg.broken.arrow.library.menuto make it easier to shade and exclude. Also, for better naming convention, I’ve dragged this discussion on for so long, I just had to fix it. - Refined the plugin.jar for improved consistency by removing unnecessary classes and reducing complexity. Ensured nbt-api is included within the jar. As the developer intends to remove shading support, nbt-api may become a separate plugin in the future. The project will be updated accordingly when that occurs.
Full Changelog: 0.124...0.125