Skip to content

helix / AdvancementDef

Class: AdvancementDef

Defined in: core/values/advancement.ts:69

A registerable advancement, built from typed Triggers plus an optional reward function. Renders to the JSON written into data/<ns>/<advancement folder>/<name>.json (via Datapack.advancement).

The common shape is a hidden trigger advancement - no display, no parent, one criterion, a rewards.function. The reward function typically runs some behaviour and then advancement revoke @s only <this> to re-arm, giving an event handler that fires once per occurrence.

dp.advancement("zzz/item/wand/on_attack", Advancement().criterion("trigger", Trigger.playerHurtEntity(wand)) .reward("mypack:zzz/item/wand/on_attack"));

Constructors

Constructor

new AdvancementDef(): AdvancementDef

Returns

AdvancementDef

Methods

criterion()

criterion(name, trigger): this

Defined in: core/values/advancement.ts:74

Add a named criterion (its trigger). Default requirements (all criteria) apply.

Parameters

name

string

trigger

Trigger

Returns

this


reward()

reward(functionId): this

Defined in: core/values/advancement.ts:80

Set rewards.function to the function resource id (<ns>:name).

Parameters

functionId

string

Returns

this


toJson()

toJson(version): Record<string, unknown>

Defined in: core/values/advancement.ts:86

The advancement JSON, with embedded values rendered for version.

Parameters

version

VersionProfile

Returns

Record<string, unknown>

Released under the MIT License · Credits