音效增强菜单(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 等客户端指令