ModsJava
Crazy Advancements API
Java mod listed for Minecraft 1.21. Downloads from the MC Java Mods app on Android.
⬇ Download on Spigot
API for creating Advancements in 1.21 (older versions support 1.12 - 1.20.6)
What this API can do:
Create, add, remove, refactor and manage custom Advancements at Runtime with the following features:
- Give your advancement a name, description, icon, background texture
- Set the required criteria for an advancement (fully customizable!)
- Set the coordinates of an Advancement
- Add advancements to all players
- Add advancements to specific players/player groups
- Set who can see which advancement (even if they would/wouldn't be visible in Vanilla)
- Save Advancement progress for specific players and specific advancements
- Load Advancement progress for specific players and specific advancements
- Set the Active TAB in the Advancement Menu
- Send Toast Notifications
- Create an EventHandler for listening if the Advancement TAB has changed or if the menu has been closed
Why should I use this API instead of any other?
This API does not create any files for advancements and doesn't interfere with Vanilla/Spigot Advancements because it I is based on NMS. It also allows you to change the display of your advancement while the player is viewing the Advancement Screen and has an API ready for saving player's progress whereever you want (just get the save string and put it whereever you want and put it in when you want to load it). Also, there are custom Visibility options for advancements.
On top of that, the API is very light-weight, which makes it very flexible in terms of what you can use it for and keeps the file size at a minimum.
How can I install this API
Just drop it into your Plugins folder and reload or start your server
Online Documentation
There is also a Javadoc available at https://javadoc.crazyadvancements.endercentral.eu
JSON Advancements
If you aren't a developer, you can use JSON Advancements.
Just place your JSON Files into <Server Directory>/plugins/CrazyAdvancementsAPI/advancements/<namespace>/
Inside the namespace you may also create additional folders like in vanilla to further structure your creation.
Example Advancement Root (Tab):
Code (Text):
{
"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": []
}
"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": []
}
(Replace custom_function with a .mcfunction name to use it as a reward or ommit the "reward" part alltogether if you don't want any rewards)
Code (Text):
{
"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"
]
}
"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
The GitHub Repository can be found here:
https://github.com/ZockerAxel/CrazyAdvancementsAPI
Tell me what you think in the comments! Feature requests/bug reports are much appreciated! Also, discussion is open on discord: discord.gg/qmMVJNT
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft version listed: 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Crazy Advancements API is a free Minecraft Java mod. Compatible with Minecraft 1.21. Downloaded 18,498 times (via Spigot). Download it and open it directly in the game.