Theseus 模组文档
API 参考 / 入口与生命周期

Notifier


向用户展示信息的通知入口,经 ModContext.notifier() 获取。通知以 复古桌面风格右下角滑入面板呈现(与游戏 BGM 信息面板同款组件,非自绘),是纯提示、无点击交互;需要「点击跳转 / 常驻 / 动态内容」时请使用 Panels。

方法速览

方法用途
info(String)普通提示,约 4 秒后自动滑出
warning(String)警告提示,约 4 秒后自动滑出
error(String)错误提示,约 4 秒后自动滑出
dialog(String, int)屏幕中央定时弹窗,到期自动关闭

完整签名

java
public interface Notifier {

    void info(String message);

    void warning(String message);

    void error(String message);

    void dialog(String message, int timeoutMs);
}

info(String message)

签名:

java
void info(String message);

行为:显示一条普通提示,右下角 复古桌面 弹窗,约 4 秒后自动滑出。

示例:

java
ctx.notifier().info("Hello Mod 已加载");

warning(String message)

签名:

java
void warning(String message);

行为:显示一条警告,呈现方式与生命周期同 info(约 4 秒后自动滑出)。

示例:

java
ctx.notifier().warning("配置文件损坏,已回退默认值");

error(String message)

签名:

java
void error(String message);

行为:显示一条错误提示,呈现方式与生命周期同 info(约 4 秒后自动滑出)。

示例:

java
ctx.notifier().error("资源加载失败");

dialog(String message, int timeoutMs)

签名:

java
void dialog(String message, int timeoutMs);

行为:显示屏幕中央定时弹窗,timeoutMs 毫秒后自动关闭。适合需要用户注意的重要信息(如版本不兼容提示、一次性解锁通知)。timeoutMs 小于等于 0 视为立即关闭(不显示);宿主实现会把负值夹到 0。

示例:

java
ctx.notifier().dialog("检测到旧版存档,已自动迁移", 4000);

线程:可在任意线程调用(仅入队后立即返回,不阻塞调用线程);游戏线程在每帧把待展示内容绘制到屏幕上。

稳定性:2.0 起冻结:2.x 内只增不破(禁止删签名 / 改签名 / 改语义);破坏性变更只在 major 版本发生且须提供迁移指南与至少一个大版本的弃用期。3.x 内继续只增不破。