音效增强菜单(Sound Enhancements)
基本信息
| 属性 | 值 |
|---|---|
| 界面类 | com.mitchej123.hodgepodge.client.gui.HodgepodgeSoundOptionsGui |
| 入口注入 | client/handlers/ReloadSoundsGui.java(GuiScreenEvent.InitGuiEvent.Post) |
| 入口开关 | TweaksConfig.soundEnhancementsButton(默认 true) |
| 打开方式 | 原版「选项 → 声音」界面右下角的 Sound Enhancements... 按钮 |
| 按钮 ID | OPTIONS_BUTTON_ID = 51862(ReloadSoundsGui.java:20) |
| 语料 | assets/hodgepodge/lang/en_US.lang 的 hodgepodge.soundsmenu.* 共 21 个键 |
| 相关页 | 音频管线、Sound 配置 |
功能
这是独立于 Mod Config GUI 的第二个配置界面。Mod Config GUI 提供 8 个分类的开关列表;本界面只管音频相关的 5 项增强,且用按钮/滑条而非复选框呈现。
它挂在 GuiScreenEvent.InitGuiEvent.Post 上,动态追加到原版声音设置页 —— 源码注释说明:先扫一遍已有按钮取最大 yPosition 定位,找不到则退回 height / 6 + 168 - 48(ReloadSoundsGui.java:27-35)。
控件
| 控件 | 类型 | 按钮 ID | 绑定配置 | 位置 |
|---|---|---|---|---|
| Headphone HRTF | 循环按钮(DEFAULT→ON→OFF) | HRTF_BUTTON_ID |
SoundConfig.hrtf(Tristate) |
left, top,150×20 |
| Output Limiter | 循环按钮(DEFAULT→ON→OFF) | LIMITER_BUTTON_ID |
SoundConfig.outputLimiter(Tristate) |
left + 160, top,150×20 |
| Environmental Reverb | 切换按钮 | REVERB_BUTTON_ID |
SoundConfig.environmentalReverb |
left, top + 24,150×20 |
| Reverb Amount | 滑条(0–100) | — | SoundConfig.reverbStrength |
left, top + 44 |
| Stereo Downmix | 切换按钮 | DOWNMIX_BUTTON_ID |
SoundConfig.downmixStereoSounds |
left, top + 48,150×20 |
| Stereo Spatialization | 切换按钮 | SPATIALIZE_BUTTON_ID |
SoundConfig.spatializeStereoSounds |
left + 160, top + 48,150×20 |
| Output Device | 打开设备选择子页 | OUTPUT_DEVICE_BUTTON_ID |
SoundConfig.outputDevice |
left, top + 72,310×20 |
| Done | 确认并落盘 | DONE_BUTTON_ID |
— | left + 160, height / 6 + 168 |
交互细节
- Reverb Amount 滑条被联动:
reverbStrengthSlider.enabled = SoundConfig.environmentalReverb(HodgepodgeSoundOptionsGui.java:72)。关闭环境混响时滑条置灰,值仍写回reverbStrength(× 100为整数,滑条值 ÷ 100f 得浮点)。 - Output Device 按钮被联动:
outputDeviceButton.enabled = OutputDeviceSupport.available()(:79)。无 lwjgl3ify 或 OpenAL Soft 不支持ALC_SOFT_reopen_device时按钮直接禁用。 - 落盘时机:点 Done 时调
ConfigurationManager.save(SoundConfig.class)(:201),只保存声音分类。 - 界面提示:HRTF / 输出限制 / 立体声空间化三项在界面上方显示
hodgepodge.soundsmenu.enhancements.lwjgl3ify提示 —— 「需要 lwjgl3ify(Java 17+)」;另有一行…enhancements.reload提醒改完后要 Refresh Sounds。
数值
| 配置项 | 默认值 | 界面循环顺序 |
|---|---|---|
hrtf |
DEFAULT |
DEFAULT → ON → OFF → DEFAULT |
outputLimiter |
DEFAULT |
DEFAULT → ON → OFF → DEFAULT |
environmentalReverb |
false |
开 / 关 |
downmixStereoSounds |
true |
开 / 关 |
spatializeStereoSounds |
true |
开 / 关 |
reverbStrength |
0.3f | 滑条 0–100,对应 0.0f–1.0f |