Advancement Format
YAML File Structure
Each .yml file in the Advancements/ folder defines one tab. The file has three sections: tab, root, and
advancements.
Full Structure
# ============================================
# Tab Configuration
# ============================================
tab:
namespace: "survival" # Unique ID, lowercase + underscores
tabOrder: 10 # Display order in tab selector (default 999 for custom tabs)
root:
icon: "NETHER_STAR" # Material for the root icon
iconCustomModelData: -1 # Custom model data for root icon (ItemsAdder/Oraxen), -1 = none
title: "&6Survival" # Tab display name (& for colors)
description: "Survival challenges"
background: "textures/block/stone.png"
# ============================================
# Advancements
# ============================================
advancements:
first_join:
title: "&aWelcome!"
description: "Join the server for the first time"
icon: NETHER_STAR
trigger: JOIN
hasReward: true
rewards:
- give %player% diamond 1
display:
x: 1.0
y: 4.0
frame: TASK
showToast: true
announceChat: false
showActionBar: true
sound:
enabled: true
type: UI.TOAST.CHALLENGE_COMPLETE
volume: 1.0
pitch: 1.0
money:
enabled: true
amount: 100.0
connection:
target: first_join
stone_breaker:
title: "Stone Breaker"
description: "Break 50 stone blocks"
icon: STONE_PICKAXE
trigger: BREAK_BLOCK
block: STONE
amount: 50
hasReward: true
rewards:
- give %player% iron_pickaxe 1
display:
x: 2.0
y: 4.0
frame: TASK
showToast: true
announceChat: false
showActionBar: true
connection:
target: first_join
Required Fields
Title & Description Color Formats
Titles and descriptions support all three color code systems. They work in-game (L menu, GUIs, broadcasts, commands) AND in the web editor live preview.
Note:
</gradient>and</rainbow>reset the color back to default after the closing tag. Formatted tags inside gradients/rainbows are preserved (e.g.<gradient:red:blue>Hello <bold>World</bold></gradient>works as expected).
Display Options
Sound
Trigger Configuration Fields
Custom Model Data
For tab-level root icon customization, use root.iconCustomModelData in the tab section.
Connections & Dependencies
Conditions
Reward Fields
Tab System
Overview
Each .yml file in Advancements/ creates one tab in the Minecraft advancement menu (L key). Tabs are managed
independently but share a global advancement ID pool.
Tab Rules
-
tab.namespacemust be unique across ALL files inAdvancements/ -
Advancement IDs (e.g.
first_join) must be unique GLOBALLY across all tabs -
The tab display name is the
root.titlevalue (supports all color formats — see Color Formats section above) -
tab.tabOrdercontrols the display order in the tab selector GUI (lower = first). Vanilla tabs usevanilla-tab-orderinconfig.ymlinstead. -
root.iconCustomModelDatasets a custom model data for the tab root icon (for ItemsAdder/Oraxen custom textures)
Available Background Textures
Any valid Minecraft vanilla texture path works. Examples:
textures/block/stone.png
textures/block/cobblestone.png
textures/block/dirt.png
textures/block/oak_planks.png
textures/block/gold_block.png
textures/block/diamond_block.png
textures/block/emerald_block.png
textures/block/netherrack.png
textures/block/end_stone.png
textures/block/prismarine.png
textures/block/red_sand.png
textures/block/sandstone.png
Custom resource pack textures are also fully supported, just use the path from your pack (e.g.
textures/block/my_custom_block.png).
Creating a Tab
Via web editor: Run /padv editor, click "+" next to the tab dropdown, enter a namespace.
Manually: Create a new .yml file in the Advancements/ folder with the required tab, root, and advancements
sections. Run /padv reload to apply.
Via in-game GUI: Not directly supported. Use the web editor or manual YAML editing.
Deleting a Tab
- Delete the
.ymlfile fromAdvancements/ - Run
/padv reload - Ensure no advancements reference IDs from the deleted tab