Skip to content

事件 API

Level 当前有 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;跨玩家工作应分别重新调度。