Skip to content

事件 API ​

EmakiLevel 当前有 5 个同步 Bukkit 事件. runtime 只在当前线程拥有在线玩家时发布; 公开同步写 API 对错误线程返回 WRONG_THREAD

事件触发时机Cancellable可修改字段取消/结果效果
PlayerExpGainEvent倍率/日上限调整后, 经验和日配额写入前是amount取消或最终 <=0 阻止经验与配额消耗; 正数仍受剩余配额限制
PlayerPreLevelUpEvent全部校验后, journal/扣费/等级/奖励/actions 前是无阻止整次 level-up transaction
PlayerLevelUpEvent经验驱动升级, 奖励与 success actions 提交后否无post, 不可回滚
PlayerMaxLevelReachedEvent经验驱动升级首次跨到配置上限后否无milestone post; 直接 setLevel 不属于此路径
PlayerLevelChangeEventadd/remove/set/reset 等管理型等级变更实际提交后否无post; 不替代经验驱动 PlayerLevelUpEvent

所有事件均在玩家 owner thread. 事件表示内存 transaction 的对应阶段, 不保证异步持久化已写入磁盘. 监听器不得阻塞等待 I/O; 跨玩家工作应分别重新调度