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

GameStartupEvent 与 GameShutdownEvent


这一对事件用于进程级生命周期:GameStartupEvent 描述「装配结束、进入主循环之前」,GameShutdownEvent 描述「释放资源之前」。二者都是纯通知、不可取消,且没有可读访问器。

实现核验:在当前宿主源码中未检索到这两个事件的构造或投递点(全仓仅测试模组订阅)。也就是说,契约仍然成立,但实际订阅可能永远收不到。可靠的初始化 / 收尾时机请使用 Mod#onInit / Mod#onUnload,不要依赖这两个事件。

方法速览

方法用途
GameStartupEvent()构造器(无参数、无状态)
GameShutdownEvent()构造器(无参数、无状态)

GameStartupEvent()

java
public GameStartupEvent();

行为:构造一个纯通知事件。若收到,说明宿主装配已完成而主循环尚未开始;此时尚无场景,不要做需要场景或渲染上下文的操作。

GameShutdownEvent()

java
public GameShutdownEvent();

行为:构造一个纯通知事件。若收到,应在回调返回前完成收尾(关闭自建线程 / 连接、落盘缓存);该回调返回后宿主即开始释放资源,不得发起耗时操作,也不得依赖游戏线程继续运行。

示例

java
ctx.eventBus().subscribe(GameShutdownEvent.class, event -> {
    flushPendingStats();
});

完整签名

java
public final class GameStartupEvent extends Event {
    public GameStartupEvent();
}

public final class GameShutdownEvent extends Event {
    public GameShutdownEvent();
}

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