AuroraLib 2.0.0
Block tracker
With this version the old block tracker implementation will be dropped and the new one will take its place. This will use way less storage and it is way more performant.
This change was needed since the old solution haven't really worked well on servers that has a lot of active players building. Now the information will be synced with the chunk on the chunk persistent data container with a very minimal storage overhead
What does that mean for you?
The tracking information for the already placed blocks will be lost. This means that players can increase their collection/quest progression with those blocks. In reality, this almost doesn't matter and won't cause an issues. Newly placed blocks will behave as before. For example if you place a sugar cane, then break it, you still won't progress your collections/quests just like before.
I'm sorry if this causes some inconvenience for you, but the impact should be minimal and negligible. Thanks for understanding.
If you use this build, you need to update AuroraQuests as well to the latest build.
Other
- Some more utils
- Some more menu APIs
- Fix minor sound issues in CommandDispatcher
This release adds many new features/APIs, improvements, and bug fixes.
New features
- Rework economy interface to support multiple currencies
- Added new economy providers
- Current list of supported economy providers: Vault, Essentials, CMI, PlayerPoints, CoinsEngine, EcoBits, EliteMobs, RoyaleEconomy, RoyaleEconomyBank
- Both CommandDisptacher, MoneyReward and [money] menu requirement supports these new economies and currencies
Improvements
- Cache player profiles when creating skull items
- HeadDatabase support for Item resolvers
- Stash commands and APIs now handle larger amounts than the maximum stack size of the item.
Bug fixes
- Fix legacy color code replacer
&n -> <underlined>
- Fix custom GUIs title placeholder not including args
- Fix AuroraMenu free slots API (for 3rd party plugins wanting to implement something like a backpack)
- Don't build the actual item if the material is air in ItemBuilder
This release adds many new features/APIs, improvements, and bug fixes.
New features
- Fully customizable GUI framework. Create as many custom menus as you wish with the full power of AuroraLib item resolvers, command dispatcher, and requirement manager. All of these also have an extendable API for developers
- ItemsAdder item support (meaning every aurora plugin can now use
ia:namespace:item_id
) - Command dispatcher now supports
[take-money]
,[give-money]
,[sound]
,[open-gui]
,[actionbar]
- Item stash menu and commands! Now every Aurora plugin can use this stash to put item rewards into it for example. It also has a straightforward API for other plugin developers to hook into.
- You can now register items that you are currently holding and use them in menus/item rewards like
aurora:item_id
Improvements
- Cache skin URLs extracted from base64 strings
- Reworked the command system, so now you have better tab completions and fully translatable messages for everything
- More permissions to allow greater control over who can do what
Bug fixes
- Now if you mess up your YAML syntax in config, your files won't be changed/erased by config migration steps
- Fixed click handling of menus
- A ton of optimizations regarding database management both for user/leaderboard data saving.
- New command
/aurora dbmigrate
. This will migrate your current data to the other storage provider. For example if you are using yaml right now, it will migrate to MySQL if the credentials are set up correctly in the config. It works in the other direction as well. - Data migration is only supported for user data. Leaderboards will rebuild themselves once the players are joining again after the migration.
- If you migrate from one storage to another, everyone will be kicked and nobody can join the server until the migration is finished. Migration uses 5 threads to work in parallel. After it finished it is strongly advised to check your config again and restart the server, though you don't have to.
- Migration will only migrate data for registered DataHolders, meaning if AuroraLevels is not installed for some reason, but it was before, then levels data won't be migrated.
- Hotfix Sqlite leaderboard storage
- add support for Eco plugin item resolvers, eg.:
eco:ecoitems:grappling_hook
- new entity resolver APIs - EXPERIMENTAL (EcoMobs and MythicMobs are supported)
- ItemConfig now supports
slots
key as a number list, so you can add them to multiple inventory slots in menus. This should help creating 3D animated menus
Properly register leaderboard update prevent permissions into Bukkit. This will autocomplete every permission in LuckPerms commands.
This is how permissions works both for OP and non OP players:
- unset: you will be on the leaderboard and you stats will update on the boards
aurora.leaderboard.prevent.*
is true: your stats won't update in the leaderboards for every boardaurora.leaderboard.prevent.board_name
is true: your stats won't update in the leaderboards for the specific board
- full folia support
- fix money reward default economy detection
- added RewardExecutor and ThreadSafetyLevels to rewards
- command and permission reward now can execute multiple commands/permissions
- level matcher configs now have an optional Item field to easily override default menu items
- ItemConfig#merge to merge ItemConfigs easily
- item rewards