Crazy Advancements API 疯狂进度 API
作者:ZockerAxel
发布时间:2018年1月6日
原生版本:未知
测试支持:1.2
用于以编程方式创建Advancements的强大、轻量级API
点此下载插件详细介绍
🎉
CrazyAdvancementsAPI
CrazyAdvancementsAPI 是一个用于在 Minecraft 1.21 (支持旧版本 1.12 - 1.20.6) 中创建自定义进度系统的 API。它允许开发者在运行时创建、添加、移除、重构和管理自定义进度,而无需创建任何文件,并且不会干扰原版或 Spigot 的进度系统。该 API 基于 NMS,非常轻量级,具有高度的灵活性和可定制性。
✨主要功能
- 自定义进度的名称、描述、图标和背景纹理
- 设置进度的完成条件 (完全自定义)
- 设置进度的坐标
- 将进度添加到所有玩家或特定玩家/玩家组
- 设置谁可以查看哪个进度 (即使在原版中不可见)
- 保存和加载特定玩家和进度的进度
- 设置进度菜单中的活动选项卡
- 发送 Toast 通知
- 创建事件处理程序,用于监听进度选项卡是否已更改或菜单是否已关闭
为何选择此 API?
- 不创建任何文件,不干扰原版/Spigot 进度
- 基于 NMS
- 允许在玩家查看进度屏幕时更改进度的显示
- 提供 API 用于保存玩家进度
- 自定义进度的可见性选项
- 非常轻量级
安装
只需将插件放入你的 Plugins 文件夹并重新加载或启动服务器即可。
📚在线文档
文档地址:https://docs.crazyadvancements.endercentral.eu
Javadoc 地址:https://javadoc.crazyadvancements.endercentral.eu
📄JSON 进度
如果你不是开发者,你可以使用 JSON 进度。
只需将 JSON 文件放入 <Server Directory>/plugins/CrazyAdvancementsAPI/advancements/<namespace>/ 目录下。你也可以在命名空间中创建额外的文件夹,就像在原版中一样,以进一步组织你的创作。
示例:进度根 (选项卡)
{
"display": {
"icon": "iron_axe",
"title": {
"text": "Tab Name",
"color": "aqua",
"underlined": true
},
"description": {
"text": "Root",
"color": "green",
"bold": true
},
"frame": "task",
"visibility": "always",
"background_texture": "textures/block/yellow_concrete.png"
},
"flags": []
}
示例:进度
(将 custom_function 替换为 .mcfunction 文件名以用作奖励,或者省略 "reward" 部分,如果你不需要任何奖励)
{
"parent": {
"namespace": "custom",
"key": "root"
},
"display": {
"icon": "stone_sword",
"title": {
"text": "Title"
},
"description": {
"text": "Description"
},
"frame": "challenge",
"visibility": "vanilla",
"x": 5,
"y": 2.5
},
"criteria": {
"action_names": ["thing","another_thing"],
"requirements": [["thing"],["another_thing"]]
},
"reward": {
"name": "custom_function"
},
"flags": [
"SHOW_TOAST",
"DISPLAY_MESSAGE"
]
}
🐱💻GitHub
GitHub 仓库地址:https://github.com/ZockerAxel/CrazyAdvancementsAPI
💬反馈
欢迎在评论区留下你的想法!非常感谢功能请求/错误报告!也欢迎在 Discord 上进行讨论:discord.gg/qmMVJNT