Skip to content

Configurations: Advancement configuration

Rowan edited this page Aug 22, 2022 · 8 revisions

A configuration for an advancement consists of multiple sections and values, the identifier of an advancement, in the example below requirementadvancement cannot have spaces and is used for the path of the advancement:

  requirementadvancement:
    type: BlockBreak
    value: any
    amount: 50
    rewards:
      message:
        type: message
        value: '&6&l50 BLOCKS BROKEN!!!'
      command:
        type: consolecommand
        value: give %player% golden_apple 1
    requirements:
      quest:
        type: advancement
        value: example.welcome
      quest2:
        type: advancement
        value: example.breaktree
      quest3:
        type: permission
        value: customadvancements.tree.example
    display:
      name: Example with requirements
      item: STONE
      item-data:
         damage: 12
         flags: 
            - HIDE_UNBREAKABLE
         custommodeldata: 1
         unbreakable: true
         glowing: false
      description: Example advancement that has requirements
      gui_location: '1:0'
      guiLocation: auto
      unit: blocks broken
      minecraft-gui-frame: "CHALLENGE"
      minecraft-toast: true
      minecraft-chat-announce: true
      minecraft-progress-type: "AUTO"

Type

This is the type of the advancement, see advancement types for information about that.

value

This is the value used for the advancement type, see advancement types for information about that.

amount

The number of times this type must be done to complete this advancement, for example for the BlockBreak advancement type how many blocks must be broken

rewards

The rewards the player should be given upon completion of this advancement, see rewards configuration for information on how to configure that.

requirements

The requirements the player must meet to activate this advancement, see requirements configuration for information on how to configure that.

display

The display settings for this advancement in the GUIs.

name

The display name of this advancement in the GUIs and commands.

item

The item this advancement should be displayed as must be a value of the Spigot Materials enum, for all values see this link

item-data (since v1.1.4)

This is the extra data an item can have, damage is an integer for how much durability is left on the item, this is used often in older versions to give items a custom texture. flags is a string list of item flags, can be found on Spigot API Docs. unbreakable makes an item unbreakable. glowing lets an item glow like it's enchanted. custommodeldata is an integer for custom model data, the modern way to give items a custom texture.

description

The description of this advancement, it will be shown in GUIs

gui_location

This is the location of this advancement in the advancements GUI, this can be set to a value formatted as page:index for example 1:12 (this will put this advancement on the first page on the 13th slot) or to auto to put it on the first free slot in the GUI.

unit

The 'unit' of this advancement. For example, blocks broken or for a break sand blocks advancement sand blocks broken. Will be shown near the progress in the GUI. Example: 5/100 blocks broken

minecraft-gui-frame (Since v1.0)

This is the frame shown in the Minecraft advancement GUI, this can be one of the three following types: TASK, GOAL or CHALLENGE

TASK: GOAL: CHALLENGE:

minecraft-toast (Since v1.0)

This is a boolean to indicate whether to show a toast for this advancement, an example for such a toast is:

minecraft-chat-announce (Since v1.0)

This is a boolean to indicate whether to announce it in chat if this advancement is completed, this can be overwritten with the announceAdvancements gamerule. An example of such an announcement is:

minecraft-progress-type (Since v1.2.4)

Can be either AUTO to let the plugin decide what's best, PERCENTAGE to show x/100 as a percentage, COUNT to show x/total as how many objectives done already (WARNING! This can cause a 'PacketTooBig' error when count is very big (> 50000)) or NONE to only indicate whether the advancement is completed or not