- Added support for 1.19
- Advancements updates are now sent maximum one time per tick to avoid sending useless packets
- The method AdvancementTab#updateEveryAdvancement has been deprecated, use AdvancementTab#updateAdvancementsToTeam instead
- The following utility methods has been added to the AdvancementTab class:
- automaticallyShowToPlayers, which automatically shows this tab to every player just after they have been loaded
- automaticallyGrantRootAdvancement, which automatically grants the root advancement of the tab to every player after they have been loaded
- registerEvent, which registers an event into the EventManager of the tab
- Added the following events:
- AsyncTeamLoadEvent
- AsyncTeamUnloadEvent
- AsyncTeamUpdateEvent
- AsyncPlayerUnregisteredEvent
- Deprecated for removal (in the next versions) the following events:
- TeamLoadEvent (use AsyncTeamLoadEvent instead)
- TeamUnloadEvent (use AsyncTeamUnloadEvent instead)
- TeamUpdateEvent (use AsyncTeamUpdateEvent instead)
- Updated CommandAPI to 8.3.1
- The CHANGELOG file has been added on GitHub
- Jenkins workspace is now cleaned after every successful build
- The NOTICE file has been updated since UltimateAdvancementAPI is licensed under LGPL but it was containing GPL instead
- Fixed IllegalArgumentException thrown when AdvancementTab#hideTab(Player) is called with a player who hasn't the tab shown
- Added support for 1.18.2
- Updated CommandAPI to 6.5.4
- The Javadoc of CoordAdapter has been improved
- Tests has been improved, so now more things can be tested
- Fixed a bug that causes advancements not showing up on Paper
- Updated Libby to 1.1.5
- Added support for 1.18.1
- Updated CommandAPI to 6.5.3
- Improved failing during API enabling:
- Now the AdvancementMain#disable() method can be called multiple times without throwing any error
- Added a bStats chart about whether vanilla advancement feature is enabled or not
- Added a bStats chart about used database type
- Added AsyncExecutionException
- Apache Commons' Validate class has been replaced with Guava's Preconditions
- Updated Libby to 1.1.4
- Added support for 1.18
- Added in-memory database:
- No connection to any database is made since the data is kept in RAM
- The in-memory database is reset at every server restart/reload (reload usage is discouraged though)
- It can be used for minigames which don't need to save the advancement progressions after games
- Advancement announce messages are now not sent if announceAdvancements gamerule is set to true
- Added a message error when an error occurs during command execution
- Fixed vanilla advancement disabling issue
- Improved the Advancement Visibility System:
- Added the final method
Advancement#isVisible(Advancement, TeamProgression), which should help avoiding compilation errors when implementing multiple IVisibility subinterfaces. It always throws an IllegalOperationException, since it should not be called - Fixed a bug where the default method of an IVisibility subinterface was not called correctly
- Added the final method
- Updated to Java 16
- Added multi-version support: 1.15.x to 1.7.1
- Maven project has been restructured:
- Added the NMS module with the per-version code
- Commands have been moved to the Commands module
- Added the
com.frengor:ultimateadvancementapi-commandsartifact, which can be used alongside the shadeable version to add commands to the plugin
- Commands now works with @a and @s selectors
/ultimateadvancementapi criteria ...command has been renamed to/ultimateadvancementapi progression ...ultimateadvancementapi.criteria.*permissions have been renamed toultimateadvancementapi.progression.*- Lombok has been removed
criteriahas been replaced withprogressionin classes, fields, and methods names:- AdvancementCriteriaUpdateEvent has been renamed to AdvancementProgressionUpdateEvent
- CriteriaUpdateEvent has been renamed to ProgressionUpdateEvent
- ArbitraryMultiTaskCriteriaUpdateException has been renamed to ArbitraryMultiTaskProgressionUpdateException
- Advancement#maxCriteria has been renamed to maxProgression
- Advancement#getMaxCriteria has been renamed to getMaxProgression
- Advancement#getTeamCriteria has been renamed to getProgression
- Advancement#incrementTeamCriteria has been renamed to incrementProgression
- Advancement#setCriteriaTeamProgression has been renamed to setProgression
- TeamProgression#getCriteria has been renamed to getProgression
- DatabaseManager#getProgression and UltimateAdvancementAPI#getProgression have been renamed to getTeamProgression
- DatabaseManager#updateCriteria has been renamed to updateProgression
- DatabaseManager#updateCriteriaWithCompletable has been renamed to updateProgressionWithCompletable
- AdvancementUtils#validateCriteria has been renamed to validateProgressionValue
- AdvancementUtils#validateCriteriaStrict has been renamed to validateProgressionValueStrict
- MultiTasksAdvancement#ENABLE_ARBITRARY_SET_TEAM_CRITERIA has been renamed to ENABLE_ARBITRARY_SET_PROGRESSION
- MultiTasksAdvancement#DISABLE_EXCEPTION_ON_ARBITRARY_SET_TEAM_CRITERIA has been renamed to DISABLE_EXCEPTION_ON_ARBITRARY_SET_PROGRESSION
- The column 'Criteria' into the 'Advancements' table in the database has been renamed to 'Progression'
- Added VALID_ADVANCEMENT_KEY, VALID_NAMESPACE, and VALID_KEY patterns to AdvancementKey
- MultiTasksAdvancement#ENABLE_ARBITRARY_SET_PROGRESSION and MultiTasksAdvancement#DISABLE_EXCEPTION_ON_ARBITRARY_SET_PROGRESSION are now protected
- Updated Libby to 1.1.3
- Minor fixes and improvements
- Added Javadoc for almost every class
- Now the plugin version checks for updates at startup
- Added validation for TeamProgressions: now DatabaseManager accepts only TeamProgressions that exists in cache. Old TeamProgressions are no longer accepted
- Added IllegalOperationException
- Default pool-size config value is now 10
- Minor fixes
- Added bStats
- Added Versions utility class to handle versions
- Initial Release


