Theseus 模组文档
API 参考 / 事件系统

PauseEvent


本局被暂停时投递(ESC 或暂停菜单)。宿主在改变暂停状态之前投递,因此可被否决。

方法速览

方法用途
context()暂停前的游玩状态只读快照

context()

java
public GameplayContext context();

行为:返回暂停请求受理时的状态快照(此时 paused() 仍为 false,因为状态尚未改变)。

示例

java
ctx.eventBus().subscribe(PauseEvent.class, EventPriority.HIGHEST, event -> {
    if (isBossFightActive()) {
        // 宿主直接返回,不进入暂停;音乐与判定继续
        event.setResult(EventResult.DENY);
    }
});

完整签名

java
public class PauseEvent extends CancellableEvent {
    public PauseEvent(GameplayContext context);
    public GameplayContext context();
}

行为核验:宿主的 ESC 路径、pauseGame() 与暂停菜单都读 isDenied() 决定是否跳过暂停;置 DENY 后宿主什么都不做(状态一律不变)。宿主不读 isAllowed(),ALLOW 的实际作用是提前短路、阻止后续监听器投 DENY。

稳定性:2.0 起冻结,2.x 内只增不破。