简体中文
事件 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 均只读