English
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 fields | Cancellation/effect | Runtime path |
|---|---|---|---|---|---|
AdvancementGrantEvent | After the Codex advancement is resolved and is not yet complete, before the codex criterion is awarded | Yes | None | Cancellation leaves progress untouched and returns CANCELLED | Central AdvancementService.grant: the public operation, built-in triggers, and external trigger grant paths |
AdvancementRevokeEvent | After completion is confirmed, before the criterion is revoked | Yes | None | Cancellation keeps the completion state | Central AdvancementService.revoke |
AdvancementCompletedEvent | When Bukkit's PlayerAdvancementDoneEvent confirms a registrar-managed advancement completed | No | None | Post notification, cannot be rolled back | API grant, configured triggers, external AdvancementTrigger, or any other path that truly completes the registered advancement |
The completed event is published by the advancement-completion listener, and its scope is not limited to public grant implementations. It only covers definitions known to the Codex registrar; it is not a global listener for every vanilla advancement. For grant/revoke, the player, the caller-supplied id, and the resolved namespaced key are all read-only