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

SettingsChangedEvent


想先跑起来?

这一页是签名与行为参考。设置保存后的通知,键集合不是精确 diff。直接做一遍:教程 · 设置项与快捷键。

宿主保存设置后投递的纯通知。

方法速览

方法用途
changedKeys()本次保存涉及的设置键集合(不可变副本)

changedKeys()

java
public Set<String> changedKeys();

行为:返回本次保存涉及的设置键集合的不可变副本;构造参数为 null 时是空集(表示宿主未提供明细)。它不是精确 diff:应以「键在集合里我才刷新」的方式使用,不要假设集合内容等于真实变化项。

示例:

java
ctx.eventBus().subscribe(SettingsChangedEvent.class, event -> {
    if (event.changedKeys().contains("musicVolume")) {
        refreshCachedVolume();
    }
});

完整签名

java
public final class SettingsChangedEvent extends Event {
    public SettingsChangedEvent(Set<String> changedKeys);
    public Set<String> changedKeys();
}

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