Theseus 模组文档
API 参考 / spi 包:游戏模式、谱面扩展与内容

TimeoutStrategy


自定义音符类型(NoteTypeDefinition.overridesJudgment() 返回 true 的接管类型)的超时兜底策略。接管类型由模组在 onJudgeTick 中自主产出判定,宿主不再按普通 missWindow 兜底;本枚举声明「超期不判」由谁兜底,防止模组漏判导致音符永远悬置。仅对接管类型消费,非接管类型声明不会被读取。

常量

常量宿主行为
HOST_FALLBACK默认。超期后按普通期限(音符 time + missWindow)由宿主补 MISS
MOD_HANDLED把宿主兜底期限延后 modHandledTimeoutCapMs();宽限期内不强制 MISS,由模组自行判定或保留音符

方法速览

方法用途
values()按声明顺序返回全部常量
valueOf(String)按名称取常量,名称非法时抛 IllegalArgumentException

values()

签名:

java
public static TimeoutStrategy[] values();

行为:返回 {HOST_FALLBACK, MOD_HANDLED},每次调用返回新数组。

valueOf(String name)

签名:

java
public static TimeoutStrategy valueOf(String name);

行为:按名称精确匹配(区分大小写);null 或未知名称抛 IllegalArgumentException。

示例

java
@Override
public boolean overridesJudgment() {
    return true;
}

@Override
public TimeoutStrategy timeoutStrategy() {
    return TimeoutStrategy.MOD_HANDLED;   // 宿主兜底期限 = missWindow + 下方宽限
}

@Override
public long modHandledTimeoutCapMs() {
    return 5000L;   // ≤ 0 视为不延长
}

完整签名

java
public enum TimeoutStrategy {
    HOST_FALLBACK,
    MOD_HANDLED
}

线程:源码未声明额外线程约束;宿主在判定管线中按需读取,不缓存。

生命周期阶段:注册窗口内由音符类型声明,运行期判定管线读取。

稳定性: 新增:2.0 内只增不破。