Advancement



Advancements are an upcoming feature set to replace achievements.

Usage
Unlike achievements, advancements are easily customizable with the use of JSON files. Its tab-based UI can support a large number of tabs, but currently only 4-5 are planned for vanilla Minecraft: "mine & craft", "nether", "end", "combat", "engineering", and perhaps other variants. Each tab has a different background with a repeating texture.

The command has the ability to grant, revoke and test for advancements on a given player.

JSON Format
The advancements in the 'data/advancements' folder of a Minecraft world store the advancement data for that world as separate json files:

One of these JSON files is structured according to the following format: For story advancements:


 * : The root tag.
 * : The display data. (for story advancements)
 * : An item or block id to represent the icon in the advancements window.
 * : The title for this story advancement.
 * : The directory for the background to use in this advancement tab (only for the root advancement)
 * : The parent advancement directory of this advancement. (Does not apply for the root advancement)
 * : The criteria that have to be met.
 * : A name given to the criteria (can be any string, should be unique)
 * : The trigger for this advancement; specifies when the game should check for advancement. (all the available triggers are listed below)
 * : All the conditions that need to be met when the trigger gets activated. (all the available conditions are listed below)
 * : A list of requirements (all the ) this is probably to specify what criteria need to be grouped together to form a requirement, if any of these requirements is met, the advancement is added to the player's advancements list
 * : All the rewards when this advancement is obtained.
 * : a list of recipes (strings)