Minecraft wiki entry for JSON_format, associated text: The root tag.
 display: Data related to the advancement's display.
 icon*: Object containing data for the advancement's icon.
 item*: The item's ID.
 nbt: A string containing SNBT that may modify the item's appearance on the icon.
 title*: A JSON text component for the title of this advancement.
 frame: Type of frame for the icon. challenge for , goal for , task for . Defaults to task.
 background: The directory for the background to use in this advancement tab (used only for the root advancement).
 description*: A JSON text component for the description text of this advancement.
 show_toast: Whether to show a toast to the player when this advancement has been completed. Defaults to true.
 announce_to_chat: Whether to announce in the chat when this advancement has been completed. Defaults to true.
 hidden: Whether to hide this advancement and all its children from the advancement screen until this advancement have been completed. Has no effect on root advancements themselves, but still affects all their children. Defaults to false.
 parent: The parent advancement directory of this advancement. If absent, this advancement is a root advancement. Circular references cause a loading failure. Optional.
 criteria*: The criteria that have to be completed to grant the advancement.
 <criterionName>: A unique name given to the criterion.
 trigger*: The trigger for this advancement, specifies when this advancement should have its conditions checked and be completed.
 conditions: Object containing conditions that need to be met when the trigger gets activated. The criterion is marked completed when the trigger activates and all conditions passed.
Contents depend on selected  trigger, see below for details.
 requirements: Defines which criteria above must be completed to grant the advancement. Contains sublists, which in turn contain names of criteria from this advancement (all the <criterionName>s). Optional, defaults to requiring all criteria completed.
Sublist within  requirements, contains strings of <criterionName>s. The advancement is granted when all sublists have at least one criterion within them completed.
 rewards: An object representing the rewards provided when this advancement is obtained.
 recipes: To unlock recipes.
A namespaced ID for a recipe.
 loot: To give items from loot tables to the player.
A namespaced ID for a loot table.
 experience: To give an amount of experience.
 function: To run a function. Function tags are not allowed.