UltimateAdvancementAPI 2.0.0

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

  1. fren_gor
    Native Minecraft Version:
    1.15
    Tested Minecraft Versions:
    • 1.15
    • 1.16
    • 1.17
    Source Code:
    https://github.com/frengor/UltimateAdvancementAPI
    Contributors:
    fren_gor, EscanorTargaryen
    [​IMG]

    Wiki Issues Javadoc GitHub Discord

    [​IMG]

    To report a bug write a post on the discussion page or open an issue on GitHub.
    BUG REPORTS IN THE REVIEWS WILL NOT BE CONSIDERED!

    [​IMG]
    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, ...)
    Disable vanilla advancements - Completely disable vanilla advancements without touching the server jar


    [​IMG]
    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.


    [​IMG]
    Add the dependency with maven to you project and start coding.
    Check out the wiki to learn how to use the API.

    There is also a shadeable version, see the related wiki page to know more about it.
    Code (HTML5):
    <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.0.0</version>
        <scope>provided</scope>
    </dependency>


    [​IMG]
    Fully customizable - Make your own advancement tree
    Easy to use via code - Complete and well-documented API
    Support team of players - Let more people collaborate together
    Maven and shadeable version - API is distributed with maven and it can be shaded into your plugin


    [​IMG]
    /ultimateadvancementapi <progression|grant|revoke> ...
    Permission: ultimateadvancementapi.command

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

    /ultimateadvancementapi grant all <player> [giveRewards]
    Permission: ultimateadvancementapi.grant.all

    /ultimateadvancementapi grant tab <advancementTab> [player] [giveRewards]
    Permission: ultimateadvancementapi.grant.tab

    /ultimateadvancementapi grant one <advancement> [player] [giveRewards]
    Permission: ultimateadvancementapi.grant.one

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

    /ultimateadvancementapi revoke all <player> [hideTab]
    Permission: ultimateadvancementapi.revoke.all

    /ultimateadvancementapi revoke tab <advancementTab> [player] [hideTab]
    Permission: ultimateadvancementapi.revoke.tab

    /ultimateadvancementapi revoke one <advancement> [player]
    Permission: ultimateadvancementapi.revoke.one

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

    /ultimateadvancementapi progression get <advancement> [player]
    Permission: ultimateadvancementapi.progression.get

    /ultimateadvancementapi progression set <advancement> <progression> [player] [giveRewards]
    Permission: ultimateadvancementapi.progression.set


    [​IMG]
    [​IMG] [​IMG]
    Code (Java):
    // 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:
    [​IMG]

    Metrics
    emanon, anhcraft and EscanorTargaryen like this.

Recent Reviews

  1. CroaBeast
    CroaBeast
    5/5,
    Version: 2.0.0
    Usefull API, love it < 3
  2. LoreSchaeffer
    LoreSchaeffer
    5/5,
    Version: 1.0.0
    Very useful API, complete and with a lot of nice features. Easy to use and with support and resources