事件 API
Codex 事件位于 emaki.jiuwu.craft.codex.api.event,同步发布在目标玩家 owner thread。三个事件都只覆盖原版 Advancement 层;分类条目图鉴的解锁、激活与领取当前不发布公开事件。
| 事件 | 触发时机 | Cancellable | 可修改字段 | 取消/结果效果 | runtime 路径 |
|---|---|---|---|---|---|
AdvancementGrantEvent | 已解析 Codex advancement 且尚未完成,授予 codex criterion 前 | 是 | 无 | 取消保持 progress 不变并返回 CANCELLED | 中央 AdvancementService.grant:公开 operation、内置 trigger 及外部 trigger 最终授予路径 |
AdvancementRevokeEvent | 已确认完成,撤销 criterion 前 | 是 | 无 | 取消保持完成状态 | 中央 AdvancementService.revoke |
AdvancementCompletedEvent | Bukkit PlayerAdvancementDoneEvent 确认一个 registrar 管理的 advancement 完成时 | 否 | 无 | post 通知,不可回滚 | API grant、配置 trigger、外部 AdvancementTrigger 或其他真正完成该已注册 advancement 的路径 |
Completed 事件由 advancement 完成监听器发布,不应再描述为“仅公开 grant 实现”。它只覆盖 Codex registrar 已知定义,不是全部 vanilla advancement 的全局监听。Grant/Revoke 的 player、调用 id 与解析后的 namespaced key 均只读。