Events
All events fire synchronously on the target player's owner thread. All three cover only the vanilla advancement layer; category-entry unlock, activation, and claim currently publish no public events.
| Event | Timing | Cancellable | Mutable field | Cancellation/effect |
|---|---|---|---|---|
AdvancementGrantEvent | After validation, before criterion award | Yes | None | Leaves progress untouched and returns a cancelled result. |
AdvancementRevokeEvent | After validation, before criterion revocation | Yes | None | Leaves the advancement intact and returns a cancelled result. |
AdvancementCompletedEvent | From Bukkit's actual advancement-completion event | No | None | Informational after completion; exposes player, advancement id, and key. |
Grant/revoke pre-events cover every EmakiCodex mutation path: public operations, commands, actions, configured triggers, and external trigger providers. The completed event observes every advancement registered by EmakiCodex, including completion caused by another criterion-awarding source. It is not cancellable and cannot undo completion.