[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://escanortargaryen.dev/UltimateAdvancementGenerator/) • [FAQ](https://github.com/frengor/UltimateAdvancementAPI/wiki/FAQ)

*Bugs should be reported on Discord or opening an issue on GitHub.*
 **Simple** - 创建服务器的奖励升级,轻松简便 **Async** - 每个操作都是基于包的。这意味着服务器不会出现延迟! **Advancement Visibility** - 易于自定义奖励升级可见性的系统 **Advancements for teams** - 团队成员之间的进度同步 **Offline Player Support** - 完整的 API,用于修改离线玩家的进度 **Toasts** - 发送自定义吐司通知 **Database system** - 快速可靠的存储,随心所欲 (SQLite, MySQL, In-Memory) **Disable vanilla advancements** - 在不修改服务器 jar 的情况下,完全禁用原始奖励升级
 这是一个针对开发者的插件。如果您使用的插件需要它,只需下载适用于您服务器的版本并将其放入插件文件夹中即可。
 将依赖项添加到项目的 Maven 中,然后开始编写代码。 [查看 Wiki](https://github.com/frengor/UltimateAdvancementAPI/wiki) 以了解如何使用 API。
Maven
```xml 完全可定制 - 创建您自己的奖励升级 易于使用 - 完整且记录完善的 API 支持玩家团队 - 借助对团队的本地支持,让更多玩家可以协作 Maven 和可混淆版本 - API 使用 Maven 分发,并可以混淆到您的插件中 强大的支持 - 在我们的 [Discord 服务器](https://discord.gg/KRS7dSU6tR) 上提问 在线生成器 - API 带有 [UltimateAdvancementGenerator](https://escanortargaryen.dev/UltimateAdvancementGenerator/),该工具可以帮助您在图形化界面上设计奖励升级
 官方在线工具,用于图形化设计您的奖励升级。 然后该工具将自动生成您的插件的 Java 类。
**立即试用**
[**UltimateAdvancementGenerator**](https://escanortargaryen.dev/UltimateAdvancementGenerator/)
**视频教程**
❗WARNING❗: 该工具仍处于 **BETA** 版本,请在 [GitHub](https://github.com/frengor/UltimateAdvancementAPI/issues) 上报告错误。
❗WARNING❗: 该工具仍处于 **BETA** 版本,请在 [GitHub](https://github.com/frengor/UltimateAdvancementAPI/issues) 上报告错误。

Commands and Permissions
/ultimateadvancementapi ```java // 创建名为 "Example" 的奖励升级,其描述为: // - "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) { // 在 API 成功加载玩家后调用 Player p = e.getPlayer(); // 在这里您可以向玩家显示奖励升级标签 advancementTab.showTab(p); } } ```
结果:
