These are the functions which can be called directly in a script advancement file.







setRequirements:

    Arguments:

        String, String array

    Usage:

        Requirements type, criteria exception array

    Notes:

        This is a helper method designed to make setting criteria requirements easier. If set to "all" this will make all criteria required for completion. If set to "any" this will make any criteria complete the advancement. If set to "any" the array of criteria exceptions is used to configure the requirements where all exceptions are required plus any other single criteria.



setRequirements:

    Arguments:

        String

    Usage:

        Requirements type. This type can be either "any" or "all"

    Notes:

        This is a helper method designed to make setting criteria requirements easier. If set to "all" this will make all criteria required for completion. If set to "any" this will make any criteria complete the advancement.



setBackground:

    Arguments:

        boolean

    Usage:

        background resource location

    Notes:

        Sets the background for the advancement page. This is required and only used by root advancements. Be aware the background is tiled.



setPos:

    Arguments:

        int, int

    Usage:

        x pos, y pos

    Notes:

        Sets the x and y coordinates of the advancement.



setIcon:

    Arguments:

        ItemBlockData

    Usage:

        item data

    Notes:

        Sets the item icon for the advancement. This is required.



setHidden:

    Arguments:

        boolean

    Usage:

        if the advancement should be hidden

    Notes:

        Sets if the advancement should be hidden until it is completed. Not compatible with other visibility options.



setDescription:

    Arguments:

        String

    Usage:

        description

    Notes:

        Sets the description for the advancement. This or setTranslatedDescription is required.



setTitle:

    Arguments:

        String

    Usage:

        title

    Notes:

        Sets the title for the advancement. This or setTranslatedTitle is required.



addCriteria:

    Arguments:

        String, String

    Usage:

        criteria name, criteria trigger type

    Notes:

        Adds a criteria to the advancement with the specified type. Returns the criteria object for use as a variable.



addRequirements:

    Arguments:

        String array

    Usage:

        array of criteria requirements

    Notes:

        This is the manual way of adding requirements. The array of criteria requirements will be added as a requirement array. This is done in basically the same way as vanilla Json advancements, where an array of requirements is a group of criteria that, if all are completed, the advancement is completed. Multiple arrays can be added by calling this function multiple times.



addRewardRecipe:

    Arguments:

        String

    Usage:

        recipe name

    Notes:

        Adds a recipe as a reward for completing the advancement. You can get the name of the recipe you want to grant from NEI or JEI.



pageRequiresRoot:

    Notes:

        Convenience method to add a 'triumph:completed_advancement' criteria for this root to every advancement on the page. Can only be used in a root advancement.



setFrameType:

    Arguments:

        boolean

    Usage:

        frame type

    Notes:

        Sets the frame type for the advancement. Options are "TASK", "CHALLENGE", "GOAL". Default is TASK.



alwaysVisible:

    Notes:

        Makes the advancement always visible. All visibility options (alwaysVisible, alwaysHidden, visibleIf, hiddenIf, visibleUnless and hiddenUnless) are run in order of addition to the script. The first one in the list to be completed is the one which enforces its visibility option.



alwaysHidden:

    Notes:

        Makes the advancement always hidden. All visibility options (alwaysVisible, alwaysHidden, visibleIf, hiddenIf, visibleUnless and hiddenUnless) are run in order of addition to the script. The first one in the list to be completed is the one which enforces its visibility option.



visibleIf:

    Arguments:

        String

    Usage:

        Advancement resource location or gamestage name

    Notes:

        Makes the advancement visible if the provided advancement/gamestage is complete. All visibility options (alwaysVisible, alwaysHidden, visibleIf, hiddenIf, visibleUnless and hiddenUnless) are run in order of addition to the script. The first one in the list to be completed is the one which enforces its visibility option.



hiddenIf:

    Arguments:

        String

    Usage:

        Advancement resource location or gamestage name

    Notes:

        Makes the advancement hidden if the provided advancement/gamestage is complete. All visibility options (alwaysVisible, alwaysHidden, visibleIf, hiddenIf, visibleUnless and hiddenUnless) are run in order of addition to the script. The first one in the list to be completed is the one which enforces its visibility option.



visibleUnless:

    Arguments:

        String

    Usage:

        Advancement resource location or gamestage name

    Notes:

        Makes the advancement visible if the provided advancement/gamestage is not completed. All visibility options (alwaysVisible, alwaysHidden, visibleIf, hiddenIf, visibleUnless and hiddenUnless) are run in order of addition to the script. The first one in the list to be completed is the one which enforces its visibility option.



addRewardItem:

    Arguments:

        ItemBlockData

    Usage:

        item data

    Notes:

        Adds the item as a reward for completing this advancement.



setShowToast:

    Arguments:

        boolean

    Usage:

        if the toast should be shown

    Notes:

        Sets if a toast should be shown to the player when the advancement is completed.



pageHiddenIf:

    Arguments:

        String

    Usage:

        Advancement resource location or gamestage name

    Notes:

        Only usable in root advancements. Makes the page hidden if the provided advancement/gamestage is complete. All visibility options (alwaysVisible, alwaysHidden, visibleIf, hiddenIf, visibleUnless and hiddenUnless) are run in order of addition to the script. The first one in the list to be completed is the one which enforces its visibility option.



pageAlwaysHidden:

    Notes:

        Only usable in root advancements. Makes the page always hidden. All visibility options (alwaysVisible, alwaysHidden, visibleIf, hiddenIf, visibleUnless and hiddenUnless) are run in order of addition to the script. The first one in the list to be completed is the one which enforces its visibility option.



pageHiddenUnless:

    Arguments:

        String

    Usage:

        Advancement resource location or gamestage name

    Notes:

        Only usable in root advancements. Makes the page hidden if the provided advancement/gamestage is not completed. All visibility options (alwaysVisible, alwaysHidden, visibleIf, hiddenIf, visibleUnless and hiddenUnless) are run in order of addition to the script. The first one in the list to be completed is the one which enforces its visibility option.



setRepeatTime:

    Arguments:

        long

    Usage:

        number of seconds before the advancement can be repeated

    Notes:

        Sets the number of seconds real time between advancement completion and when it will be completable again.



hiddenUnless:

    Arguments:

        String

    Usage:

        Advancement resource location or gamestage name

    Notes:

        Makes the advancement hidden if the provided advancement/gamestage is not completed. All visibility options (alwaysVisible, alwaysHidden, visibleIf, hiddenIf, visibleUnless and hiddenUnless) are run in order of addition to the script. The first one in the list to be completed is the one which enforces its visibility option.



pageVisibleIf:

    Arguments:

        String

    Usage:

        Advancement resource location or gamestage name

    Notes:

        Only usable in root advancements. Makes the page visible if the provided advancement/gamestage is complete. All visibility options (alwaysVisible, alwaysHidden, visibleIf, hiddenIf, visibleUnless and hiddenUnless) are run in order of addition to the script. The first one in the list to be completed is the one which enforces its visibility option.



hideLines:

    Notes:

        Sets the advancement to hide connection lines to parents.



drawDirectLines:

    Notes:

        Sets the advancement to draw direct lines to parents.



addParent:

    Arguments:

        String

    Notes:

        Adds a parent for the advancement. This only effects its position on the advancement page and connection lines. By default parents are not required for the advancement to be completed. At least one parent is required for non-root advancements. If the string ends with a / it will be treated as a folder, and all advancements within that folder will be added as parents.



setRewardExperience:

    Arguments:

        int

    Usage:

        experience

    Notes:

        Sets the experience amount for the reward for completing the advancement. This is in xp, not in levels.



addRewardLootTable:

    Arguments:

        String

    Usage:

        loottable resource location

    Notes:

        Adds a loot table reward.



setRequiresParents:

    Notes:

        This is a helper method which adds criteria either named 'completedParent'/'completedParent2'/etc or if the 'useNewParentCompletionCriteriaNames' option is set in the main config named the same as their title or resource location (Example: "Completed Some Advancement Title") with type "triumph:completed_advancement", and makes them a requirement. This effectively makes the advancement require its parents to be completed before it can be completed.



addRewardSkillable:

    Arguments:

        String, int

    Usage:

        skill, levels

    Notes:

        Adds a Skillable skill level up reward.



addRewardFunction:

    Arguments:

        String

    Usage:

        function name

    Notes:

        Adds the function with the provided name as a reward for completing the advancement.



setTranslatedDescription:

    Arguments:

        String

    Usage:

        description translation path

    Notes:

        Sets the description for the advancement. Used for localization. This or setDescription is required.



pageVisibleUnless:

    Arguments:

        String

    Usage:

        Advancement resource location or gamestage name

    Notes:

        Only usable in root advancements. Makes the page visible if the provided advancement/gamestage is not completed. All visibility options (alwaysVisible, alwaysHidden, visibleIf, hiddenIf, visibleUnless and hiddenUnless) are run in order of addition to the script. The first one in the list to be completed is the one which enforces its visibility option.



pageAlwaysVisible:

    Notes:

        Only usable in root advancements. Makes the page always visible. All visibility options (alwaysVisible, alwaysHidden, visibleIf, hiddenIf, visibleUnless and hiddenUnless) are run in order of addition to the script. The first one in the list to be completed is the one which enforces its visibility option.



setUncompletedLineColor:

    Arguments:

        int, int, int

    Usage:

        red, green, blue

    Notes:

        Sets the uncompleted line color for the advancement.



setUncompletedLineColor:

    Arguments:

        int

    Usage:

        color int

    Notes:

        Sets the uncompleted line color for the advancement.



setAnnounceToChat:

    Arguments:

        boolean

    Usage:

        if advancement completion should be announced in chat

    Notes:

        Sets if the advancement completion should be announced in chat.



setTranslatedTitle:

    Arguments:

        String

    Usage:

        title translation path

    Notes:

        Sets the translated title for the advancement. Used for localization. This or setTitle is required.



setCompletedLineColor:

    Arguments:

        int, int, int

    Usage:

        red, green, blue

    Notes:

        Sets the completed line color for the advancement.



setCompletedLineColor:

    Arguments:

        int

    Usage:

        color int

    Notes:

        Sets the completed line color for the advancement.



setUncompletedTitleColor:

    Arguments:

        int

    Usage:

        color int

    Notes:

        Sets the uncompleted title color for the advancement.



setUncompletedTitleColor:

    Arguments:

        int, int, int

    Usage:

        red, green, blue

    Notes:

        Sets the uncompleted title color for the advancement.



setUncompletedIconColor:

    Arguments:

        int

    Usage:

        color int

    Notes:

        Sets the uncompleted icon color for the advancement.



setUncompletedIconColor:

    Arguments:

        int, int, int

    Usage:

        red, green, blue

    Notes:

        Sets the uncompleted icon color for the advancement.



setCompletedIconColor:

    Arguments:

        int, int, int

    Usage:

        red, green, blue

    Notes:

        Sets the completed icon color for the advancement.



setCompletedIconColor:

    Arguments:

        int

    Usage:

        color

    Notes:

        Sets the completed icon color for the advancement.



setCompletedTitleColor:

    Arguments:

        int, int, int

    Usage:

        red, green, blue

    Notes:

        Sets the completed title color for the advancement.



setCompletedTitleColor:

    Arguments:

        int

    Usage:

        color

    Notes:

        Sets the completed title color for the advancement.



