← Назад к ресурсам

UltimateAdvancementAPI

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

Modrinth library utility

Описание

![Logo](https://i.imgur.com/vzZX3GF.png) [Wiki](https://github.com/frengor/UltimateAdvancementAPI/wiki) • [Issues](https://github.com/frengor/UltimateAdvancementAPI/issues) • [Javadoc](https://frengor.com/javadocs/UltimateAdvancementAPI/latest/) • [GitHub](https://github.com/frengor/UltimateAdvancementAPI) • [Discord](https://discord.com/invite/KRS7dSU6tR) • [Generator](https://generator.devheim.space/) • [FAQ](https://github.com/frengor/UltimateAdvancementAPI/wiki/FAQ) ![Advancement Tab Image](https://github.com/frengor/UltimateAdvancementAPI/wiki/images/spigot-photo.png) *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](https://github.com/frengor/UltimateAdvancementAPI/wiki/FAQ#a-new-minecraft-version-just-come-out-when-will-ultimateadvancementapi-be-ready-for-the-new-version).** ### **3.0.0 Beta** > **3.0.0 Beta** is available on the [`main-3.0.0` branch](https://github.com/frengor/UltimateAdvancementAPI/tree/main-3.0.0). Download it if you want to try it out. > The Javadoc for the beta is published [here](https://frengor.com/javadocs/UltimateAdvancementAPI/3.0.0-beta-3/). ![Features](https://i.imgur.com/WDXwIOB.png) **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](https://i.imgur.com/VzMOSKE.png) 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](https://i.imgur.com/T8LnmOX.png) Add the dependency with maven to your project and start coding. [Check out the wiki](https://github.com/frengor/UltimateAdvancementAPI/wiki) to learn how to use the API. Maven ```xml fren_gor https://nexus.frengor.com/repository/public/ com.frengor ultimateadvancementapi 2.8.1 provided ``` There is also a shadeable version, see the [related wiki page](https://github.com/frengor/UltimateAdvancementAPI/wiki/Shadeable-Version) to know more about it. ![Why our API](https://i.imgur.com/T30sPx1.png) 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](https://discord.gg/KRS7dSU6tR) Online generator - The API comes with [UltimateAdvancementGenerator](https://generator.devheim.space/), the official tool that helps you designing your advancements graphically ![UltimateAdvancementGenerator](https://raw.githubusercontent.com/wiki/frengor/UltimateAdvancementAPI/images/generator.png) 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)**](https://generator.devheim.space/) [**UltimateAdvancementGenerator (OLD)**](https://escanortargaryen.dev/UltimateAdvancementGenerator/) **Video tutorial (Old Generator)** **Video tutorial (New Generator)** _**WIP**_ ❗WARNING❗: The tool is still in **BETA**, please report bugs on [GitHub](https://github.com/frengor/UltimateAdvancementAPI/issues). ![Commands and permissions](https://i.imgur.com/6rx1ijT.png) Commands and Permissions /ultimateadvancementapi ... **Permission:** ultimateadvancementapi.command /ultimateadvancementapi grant ... **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 ... **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 ... **Permission:** ultimateadvancementapi.progression /ultimateadvancementapi progression get [player] **Permission:** ultimateadvancementapi.progression.get /ultimateadvancementapi progression set [player] [giveRewards] **Permission:** ultimateadvancementapi.progression.set ![Example](https://i.imgur.com/7kEM6UJ.png) ```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: ![Result of the example](https://raw.githubusercontent.com/wiki/frengor/UltimateAdvancementAPI/images/spigot-page-example.png) ### bStats [![Metrics](https://bstats.org/signatures/bukkit/UltimateAdvancementAPI.svg)](https://bstats.org/plugin/bukkit/UltimateAdvancementAPI/12593)