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

HostGameResultEvent


宿主事实转播:结算界面初始化(成绩落库之后)投递,每局一次,携带宿主官方口径的完整结算统计。

方法速览

方法用途
chartFile()谱面文件路径
cleared()是否通关
misses()MISS 数
perfects()PERFECT 数
greats()GREAT 数
maxCombo()最大连击
totalScore()总分
grade()评级

chartFile()

java
public String chartFile();

行为:返回谱面文件路径。

cleared()

java
public boolean cleared();

行为:返回是否通关。

misses()

java
public int misses();

行为:返回 MISS 数。

perfects()

java
public int perfects();

行为:返回 PERFECT 数。

greats()

java
public int greats();

行为:返回 GREAT 数。

maxCombo()

java
public int maxCombo();

行为:返回本局最大连击。

totalScore()

java
public int totalScore();

行为:返回总分。

grade()

java
public String grade();

行为:返回评级字符串(如 "S")。

示例

java
ctx.eventBus().subscribe(HostGameResultEvent.class, event -> {
    ctx.getLogger().info("结算:" + event.chartFile() + " grade=" + event.grade()
            + " score=" + event.totalScore() + " cleared=" + event.cleared());
});

完整签名

java
public class HostGameResultEvent extends Event {
    public HostGameResultEvent(String chartFile, boolean cleared, int misses, int perfects,
                               int greats, int maxCombo, int totalScore, String grade);
    public String chartFile();
    public boolean cleared();
    public int misses();
    public int perfects();
    public int greats();
    public int maxCombo();
    public int totalScore();
    public String grade();
}

行为核验:与 GameEndEvent 的区别——GameEndEvent 在「一局游玩结束」时投递(早于结算界面,快照只有游玩中状态);本事件在「结算统计定稿」时投递。要拿评级 / 各判定计数 / 总分 / 是否通关,请订阅本事件。成绩已成事实,不可取消。

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