Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for DevHeim

A powerful API to create custom advancements for your Minecraft server.

Report UltimateAdvancementAPI?

Beta
3.0.0-beta-1

EscanorTargaryen released UltimateAdvancementAPI version 3.0.0-beta-1 on Sun 7:34 PM

  • Updated Java version to 17
  • Advancement displays overhaul to allow, for example, multi-language or the usage of placeholders in displays:
    • Advancement displays are now abstract classes and use BaseComponents by default
    • Now there are three kinds of displays:
      • Immutable (AbstractImmutableAdvancementDisplay), which always returns the same values from the same methods (i.e., display properties never change)
      • Per-player (AbstractPerTeamAdvancementDisplay), which provides customized values for each player
      • Per-team (AbstractPerTeamAdvancementDisplay), which provides customized values for each team
    • Advancement constructors now accept an AbstractAdvancementDisplay instead of AdvancementDisplay
    • The AdvancementDisplay class is now an immutable display and can be constructed exclusively using the builder
  • Announcement messages now employ a system similar to advancement visibilities. For more information, see IAnnouncementMessage
  • Announcement messages are now customizable per-player
  • Tab icon, background and title are now customizable (even per-player and per-team) and independent from the root advancement
  • On advancement grant, toasts are now shown to every online team member by default. Use AdvancementTab.setShowToastToTeam to send toasts only to the player who completed the advancement
  • On advancement grant, announcement messages can be shown only to team members by using AdvancementTab.setSendAnnouncementMessageOnlyToTeam. By default, announcement messages are sent to every online player
  • Renamed UltimateAdvancementAPI.updatePlayer to updateAdvancementsToTeam
  • Removed deprecated methods
  • Added more team management methods in UltimateAdvancementAPI class:
    • createNewTeamWithOneLoadingRequest
    • loadAndAddLoadingRequest
    • addLoadingRequest
    • removeLoadingRequest
    • setTeamPermanent
    • isTeamPermanent
    • getPermanentTeams
  • Renamed UltimateAdvancementAPI.loadOfflinePlayer to loadAndAddLoadingRequest
  • Renamed UltimateAdvancementAPI.unloadOfflinePlayer to removeLoadingRequest
  • Removed CacheFreeingOption, ObjectResult and Result classes
  • Reworked MultiTasksAdvancement and TaskAdvancement
  • Make advancement constructors more coherent
  • Added AdvancementGrantedEvent
  • Fixed AdvancementTab.showtab sometimes being ignored
  • Refactored the advancement granting procedure
  • Reserved a prefix for namespaces and keys for internal use. For more information, see AdvancementKey.RESERVED_NAMESPACE_PREFIX and AdvancementKey.RESERVED_KEY_PREFIX
  • Replace callbacks in UltimateAdvancementAPI class with CompletableFutures
Internal changes:
  • Massively improved the DatabaseManager
  • Use MockBukkit for tests
  • Added more tests

For more details, refer to the Javadoc or contact us on Discord. The Wiki will be updated with the 3.0.0 official release.

Information

Published onJanuary 4, 2026
Downloads0

Platforms

Paper Paper (1.15-1.21.11)