Effective Advancement
Base class for a custom advancement.
A subclass defines its getDisplay (title, icon, frame, …), optional getParent to place it in a tree, and identity via getNamespacedData. Advancements register on construction and are (re)loaded in parent-before-child order; grant them with grant and check with isGrantedTo.
This is purely the client-side visual layer — the entry in the advancements screen, the toast on grant, its tree placement. It has no criteria and never fires itself; deciding when a player earns it is the child plugin's job (listen for the relevant event and call grant).
Types
Visual/behavioral display of an advancement.
Advancement frame style shown in the UI.
Functions
Display data (title, description, icon, frame, flags).
Owning plugin and a plugin-unique id; together they form the advancement key.
Whether player has completed this advancement.