Developers
Tabs, advancements and criteria
The fields of a tab, an advancement and a criterion. The same in data-only packs, external packs and script plugins.
Ids
Tabs and advancements have ids of the form namespace:path. Inside your pack, ids without a namespace get yours, so "root" becomes my_pack:root. Refer to other packs' advancements by their full id, for example "parent": "minecraft:story/root".
Built-in namespaces: minecraft: (the tabs story, nether, end, adventure, husbandry) and bedrock: (the achievements tab). Don't use them for your own content.
Tabs
| Field | Meaning |
|---|---|
id | The tab's id. |
title | Plain text or a lang key. |
icon | Texture path for the tab button. |
background | Texture tiled behind the tree, at its own pixel size. 16×16 textures look like Java. |
order | Position among tabs. The Java tabs are 0 to 4, achievements 100. Without it, tabs come after those at 1000 plus their registration order. The screen has room for 15 tabs plus About. |
visibility | "java" (default): advancements appear as their parents are done, so the tab appears once its first advancement is. "first": the same, but each tree's first advancement shows from the start (unless it's hidden), so players can see where to begin; the creator uses this for new tabs. "all": everything shows from the start. "first" needs BedrockAdvancements 2.0.1; older versions treat it as "java". |
unlockedBy | An advancement id (or a list): the tab is hidden, and its progress paused, for each player until they have it. Must be in another tab. Checked against saved progress, so it also applies offline, on lecterns and in the admin view. |
iconPack | The uuid of your resource pack, if it has the tab's icons. BedrockAdvancements' menus (built with the data-driven UI) can only show images from a pack they name: icons load from it at their own paths, plus .png, and vanilla icons from copies under textures/ba_icons/ (textures/items/diamond → textures/ba_icons/items/diamond.png). Without it, only BedrockAdvancements' own icons show there. The creator sets it for you. |
layout | Script plugins: "tree" (Java's automatic layout, default), "grid", "manual", or "list" (rows with each one's description, like the Bedrock achievements tab, and the quickest to open). |
A tab appears once one of its root advancements (one without a parent) is visible.
Advancements
| Field | Meaning |
|---|---|
id, tab | Its id and the tab it's in. |
parent | The advancement it comes after. Omit for a root, which starts a new tree. Keep trees to 9 steps across (the screen's width, which doesn't scroll sideways): a 10th step is off the edge. |
title, description | Plain text or lang keys. |
icon | Texture path. |
frame | "task" (default), "goal" or "challenge". |
hidden | true: stays hidden until completed, and so do the ones after it. |
toast, announce | false turns off the toast, or the chat message and Discord post. |
rewards | { "xp": 100, "commands": ["give @s diamond 1"] }. Commands run as the player. |
criterion / criteria | Data-only packs: the first goal in criterion. Elsewhere: criteria, an object of named goals. |
requirements | "all" (default), "any", or Java-style groups: [["a", "b"], ["c"]] means (a or b) and c. |
requires | Any N of the goals (or groups), like "visit 17 of these biomes". |
discordIcon | An image URL for its Discord post. Without one, built-in and vanilla icons are shown from bedrockadvancements.com; the creator fills it in for your own images. |
Criteria
A criterion is one goal: a trigger and that trigger's fields (see the trigger reference), plus:
| Field | Meaning |
|---|---|
name | Its name within the advancement. Used by award and in progress. |
count | Do it N times (event triggers). The tooltip shows a counter. |
label | Its line in the progress checklist (text or a lang key). |
advancement | ba:criterion items only: which advancement it belongs to. |
Matching ids
Fields that name items, blocks, mobs or biomes take:
- an id:
"diamond"or"minecraft:diamond"(minecraft:is implied); - a tag:
"#minecraft:logs"(item and block tags); - a mob family:
"family:monster"; "*"for anything;- a list of any of these: any of them counts.