音效增强菜单(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 |
相关条目
- 音频管线 - 上述开关背后的实现类
- Sound 配置 - 配置项完整定义与 lwjgl3ify 依赖分级
- Tweaks 配置 -
soundEnhancementsButton 与 reloadSoundsButton 的定义
- 指令 -
/allocationshud 等客户端指令