COWMODSКаталог модов

UltimateAdvancementAPI

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

Автор: frengor11,8 тыс.42обновлён 1 окт. 2026 г.
БиблиотекиУтилиты

Описание

Logo

Wiki • Issues • Javadoc • GitHub • Discord • Generator • FAQ

Advancement Tab Image

Bugs should be reported on Discord or opening an issue on GitHub.

If a Minecraft version just come out and you are waiting for the update, please check out the FAQ.

3.0.0 Beta

3.0.0 Beta is available on the main-3.0.0 branch. Download it if you want to try it out.
The Javadoc for the beta is published here.


Features

Simple - Create advancements for your server with ease
Async - Every operation is packet based. This means no lag for the server!
Advancement Visibility - Easy visibility system to customize advancement visibilities
Advancements for teams - The player progression is synchronized between members of the same team
Offline Player Support - Extensive and complete API to modify offline players progressions
Toasts - Send custom toast notifications
Database system - Fast and reliable savings wherever you want (SQLite, MySQL, In-Memory)
Disable vanilla advancements - Completely disable vanilla advancements without touching the server jar

For server owners

This is a plugin for developers. If a plugin you use needs it, just download the correct version for you server and drop it into your plugins folder.

For developers

Add the dependency with maven to your project and start coding.
Check out the wiki to learn how to use the API.

Maven
<repositories>
    <repository>
        <id>fren_gor</id>
        <url>https://nexus.frengor.com/repository/public/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.frengor</groupId>
    <artifactId>ultimateadvancementapi</artifactId>
    <version>2.8.2</version>
    <scope>provided</scope>
</dependency>

There is also a shadeable version, see the related wiki page to know more about it.

Why our API

Fully customizable - Make your own advancements
Easy to use - Complete and well-documented API
Support teams of players - Let more players collaborate together thanks to native support for teams
Maven and shadeable version - API is distributed with maven and it can be shaded into your plugins
Great support - Ask your questions on our Discord server
Online generator - The API comes with UltimateAdvancementGenerator, the official tool that helps you designing your advancements graphically

UltimateAdvancementGenerator

The official online tool to design your advancement graphically. The Java classes for your plugin are then generated by the tool automatically.

Try it now
UltimateAdvancementGenerator (NEW)

UltimateAdvancementGenerator (OLD)

Video tutorial (Old Generator)



Video tutorial (New Generator)

WIP

❗WARNING❗: The tool is still in BETA, please report bugs on GitHub.


Commands and permissions

Commands and Permissions

/ultimateadvancementapi <progression|grant|revoke> ...
Permission: ultimateadvancementapi.command

/ultimateadvancementapi grant <all|tab|one> ...
Permission: ultimateadvancementapi.grant

/ultimateadvancementapi grant all [giveRewards]
Permission: ultimateadvancementapi.grant.all

/ultimateadvancementapi grant tab [player] [giveRewards]
Permission: ultimateadvancementapi.grant.tab

/ultimateadvancementapi grant one [player] [giveRewards]
Permission: ultimateadvancementapi.grant.one

/ultimateadvancementapi revoke <all|tab|one> ...
Permission: ultimateadvancementapi.revoke

/ultimateadvancementapi revoke all [hideTab]
Permission: ultimateadvancementapi.revoke.all

/ultimateadvancementapi revoke tab [player] [hideTab]
Permission: ultimateadvancementapi.revoke.tab

/ultimateadvancementapi revoke one [player]
Permission: ultimateadvancementapi.revoke.one

/ultimateadvancementapi progression <get|set> ...
Permission: ultimateadvancementapi.progression

/ultimateadvancementapi progression get [player]
Permission: ultimateadvancementapi.progression.get

/ultimateadvancementapi progression set [player] [giveRewards]
Permission: ultimateadvancementapi.progression.set


Example

// Creates an advancement called "Example" with the description:
// - "A random"
// - "description."
public class MainClass extends JavaPlugin implements Listener {

    private AdvancementTab advancementTab;
    private UltimateAdvancementAPI api;

    @Override
    public void onEnable() {
        api = UltimateAdvancementAPI.getInstance(this);

        advancementTab = api.createAdvancementTab("your_tab_name");

        AdvancementDisplay rootDisplay = new AdvancementDisplay(Material.GRASS_BLOCK, "Example", AdvancementFrameType.TASK, true, true, 0, 0, "A random", "description.");

        RootAdvancement root = new RootAdvancement(advancementTab, "root", rootDisplay, "textures/block/stone.png");

        advancementTab.registerAdvancements(root);

        Bukkit.getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onJoin(PlayerLoadingCompletedEvent e) {
        // Called after a player has successfully been loaded by the API
        Player p = e.getPlayer();
        // Here you can show tabs to players
        advancementTab.showTab(p);
    }
}

Result:
Result of the example


bStats


Metrics

Галерея

An example tab using the multi-parent featureAnother example tab using the multi-parent featureUltimateAdvancementAPI in actionAPI cover

Последние версии

Все версии →
beta

UltimateAdvancementAPI 3.0.0-beta-4

3.0.0-beta-4
1 окт. 2026 г.645Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, spigot
Скачать
Что нового
You can support the development of UltimateAdvancementAPI by contributions or by [sponsoring the project on Github](https://github.com/sponsors/frengor). * Added support for Minecraft 26.3 * Updated CommandAPI to 12.1.0 * Improved the plugin update checker
release

UltimateAdvancementAPI 2.8.2

2.8.2
1 окт. 2026 г.505Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, spigot
Скачать
Что нового
You can support the development of UltimateAdvancementAPI by contributions or by [sponsoring the project on Github](https://github.com/sponsors/frengor). * Added support for Minecraft 26.3 * Updated CommandAPI to 12.1.0
beta

UltimateAdvancementAPI 3.0.0-beta-3

3.0.0-beta-3
28 июл. 2026 г.1,2 тыс.Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, spigot
Скачать
Что нового
You can support the development of UltimateAdvancementAPI by contributions or by [sponsoring the project on Github](https://github.com/sponsors/frengor). * Added support for Minecraft 26.2 (by [@Ariouz](https://github.com/Ariouz)) * Updated CommandAPI to 12.0.0 * Updated Libby to 1.3.2 * SQLite database is now [vacuumed](https://sqlite.org/lang_vacuum.html) at startup, optimizing the database file and reducing its disk space #### Internal changes: * Unused imports are now checked at compile time * The project now uses .editorconfig * Added project icon for IntelliJ ### UltimateAdvancementGenerator Released the new version of [UltimateAdvancementGenerator](https://generator.devheim.space/), the official generator for UltimateAdvancementAPI: * New UI and improved user experience * Supports both 2.X.X and 3.0.0-beta versions * To migrate, download the JSON data from the [old generator](https://escanortargaryen.dev/UltimateAdvancementGenerator/), log in on the [new one](https://generator.devheim.space/) and import it into a new project * You can now manage multiple projects using your Google account * Export your projects as JSON to easily share them with your collaborators * Easily insert color codes with the new widget in titles and descriptions * Other fixes and improvements * The tool is still in **BETA**, please report bugs and wanted features on [GitHub](https://github.com/frengor/UltimateAdvancementAPI/issues)
release

UltimateAdvancementAPI 2.8.1

2.8.1
28 июл. 2026 г.440Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, spigot
Скачать
Что нового
You can support the development of UltimateAdvancementAPI by contributions or by [sponsoring the project on Github](https://github.com/sponsors/frengor). * Added support for Minecraft 26.2 (by [@Ariouz](https://github.com/Ariouz)) * Updated CommandAPI to 12.0.0 * Updated Libby to 1.3.2 * SQLite database is now [vacuumed](https://sqlite.org/lang_vacuum.html) at startup, optimizing the database file and reducing its disk space #### Internal changes: * Unused imports are now checked at compile time * The project now uses .editorconfig * Added project icon for IntelliJ ### UltimateAdvancementGenerator Released the new version of [UltimateAdvancementGenerator](https://generator.devheim.space/), the official generator for UltimateAdvancementAPI: * New UI and improved user experience * Supports both 2.X.X and 3.0.0-beta versions * To migrate, download the JSON data from the [old generator](https://escanortargaryen.dev/UltimateAdvancementGenerator/), log in on the [new one](https://generator.devheim.space/) and import it into a new project * You can now manage multiple projects using your Google account * Export your projects as JSON to easily share them with your collaborators * Easily insert color codes with the new widget in titles and descriptions * Other fixes and improvements * The tool is still in **BETA**, please report bugs and wanted features on [GitHub](https://github.com/frengor/UltimateAdvancementAPI/issues)
beta

UltimateAdvancementAPI 3.0.0-beta-2

3.0.0-beta-2
23 апр. 2026 г.503Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, spigot
Скачать
Что нового
* Added support for Minecraft 26.1.2 * Updated CommandAPI to 11.2.0 * Renamed the `mojang-mapped` classifier to `mojang-mapped-legacy`. Starting from 26.1, both Spigot and Paper are Mojang mapped, so we now consider these versions as legacy, since they are only useful on (Mojang mapped) Paper 1.18-1.21.11 servers. * Minor improvements
release

UltimateAdvancementAPI 2.8.0

2.8.0
23 апр. 2026 г.520Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, spigot
Скачать
Что нового
* Added support for Minecraft 26.1.2 * Updated CommandAPI to 11.2.0 * Renamed the `mojang-mapped` classifier to `mojang-mapped-legacy`. Starting from 26.1, both Spigot and Paper are Mojang mapped, so we now consider these versions as legacy, since they are only useful on (Mojang mapped) Paper 1.18-1.21.11 servers. * Minor improvements
beta

UltimateAdvancementAPI 3.0.0-beta-1

3.0.0-beta-1
4 янв. 2026 г.329Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, spigot
Скачать
Что нового
* 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 `BaseComponent`s 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 `CompletableFuture`s #### Internal changes: * Massively improved the `DatabaseManager` * Use MockBukkit for tests * Added more tests For more details, refer to the [Javadoc](https://frengor.com/javadocs/UltimateAdvancementAPI/3.0.0-beta-1/) or contact us on Discord. The Wiki will be updated with the 3.0.0 official release.
release

UltimateAdvancementAPI 2.7.2

2.7.2
20 дек. 2025 г.3,2 тыс.Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, spigot
Скачать
Что нового
* Updated to Minecraft 1.21.11 * Updated CommandAPI to 11.1.0 * Commands do not fail anymore if an advancement method throws `UnsupportedOperationException`. `UnsupportedOperationException` is thrown when granting or revoking some advancements (like `FakeAdvancement`s), usually when they are not saved in the database. Now, when an `UnsupportedOperationException` is thrown, the advancement is simply ignored instead of failing the command execution #### Internal changes: * Refactored commands implementation
release

UltimateAdvancementAPI 2.7.1

2.7.1
31 окт. 2025 г.241Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10bukkit, paper, spigot
Скачать
Что нового
* Replaced usages of (the deprecated) `PlayerLoginEvent` on Paper 1.21.7+ * Fixed SQLite not working on 1.15-1.17.1 * Minor fixes and improvements
release

UltimateAdvancementAPI 2.7.0

2.7.0
9 окт. 2025 г.165Minecraft: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10bukkit, paper, spigot
Скачать
Что нового
* Added support for Minecraft 1.21.9 and 1.21.10 * Updated CommandAPI to 11.0.0 * Updated ConfigUpdater to 2.2 * `TeamLoadEvent` may now provide an invalid `TeamProgression`, fixing a rare `IllegalArgumentException`. `TeamLoadEvent` has been deprecated for removal since 2.2.0, it is recommended to use `AsyncTeamLoadEvent` instead