Theseus 模组文档
API 参考 / 只读视图、场景、音频与文本

HudValues


想先跑起来?

这一页是签名与行为参考。一帧数值快照,由宿主每帧注入。直接做一遍:教程 · 自定义 HUD。

HUD 数值只读视图。宿主在每次覆盖渲染前经 GameplayHud#updateValues(HudValues) 注入本帧快照,模组在 GameplayHud#values() 中读回。

方法速览

方法用途
progress()游玩进度 0-1
combo()当前连击数
maxCombo()历史最大连击数
score()当前分数
accuracy()准度 0-1
musicTimeMs()当前音乐时间(毫秒)
perfects() / greats() / misses()三种内置判定计数

progress()

java
double progress();

行为:游玩进度 0-1(宿主按已处理音符数 / 总音符数计算)。示例:

java
double p = values.progress();

combo()

java
int combo();

行为:当前连击数。示例:

java
int c = values.combo();

maxCombo()

java
int maxCombo();

行为:历史最大连击数。示例:

java
int best = values.maxCombo();

score()

java
int score();

行为:当前分数。示例:

java
int s = values.score();

accuracy()

java
double accuracy();

行为:准度 0-1(宿主由百分比口径换算)。示例:

java
double acc = values.accuracy();

musicTimeMs()

java
long musicTimeMs();

行为:当前音乐时间(毫秒)。示例:

java
long t = values.musicTimeMs();

perfects()

java
int perfects();

行为:PERFECT 计数。示例:

java
int p = values.perfects();

greats()

java
int greats();

行为:GREAT 计数。示例:

java
int g = values.greats();

misses()

java
int misses();

行为:MISS 计数。示例:

java
int m = values.misses();

完整签名

java
public interface HudValues {
    double progress();
    int combo();
    int maxCombo();
    int score();
    double accuracy();
    long musicTimeMs();
    int perfects();
    int greats();
    int misses();
}

关键契约:数值语义与 GameplayContext 对应成员一致,但口径以 HUD 显示为准(accuracy() 为 0-1)。「数值注入 + 覆盖渲染」配对使用:模组应保存 updateValues 送来的快照供 values() 返回,不要自行缓存来自其他渠道的数值;updateValues 的入参快照永不为 null。

线程:源码未声明额外线程约束。

性能:源码未标注额外性能约束(宿主每帧注入一次快照)。

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