SoundSystemUnpauseFix
基本信息
修复关闭 GUI 或取消暂停游戏时音效重复播放。来源:Forkage / immibis。
配置开关 soundSystemUnpauseFix(默认 true,分组 bugfixes)。
目标
| 项 | 值 |
|---|---|
| 补丁名 | SoundSystemUnpauseFix |
| 目标类 | net/minecraft/client/audio/SoundManager |
关键实现手法
super(name, targetClassName, "", ""); // 方法名与描述符传空串
@Override
protected void patchClassNode(ClassNode classNode) { ... } // 覆写整类处理
传 "" 而非 null 是哨兵值——因为它覆写了 patchClassNode,
绕开基类里 targetMethodName == null 的方法级筛选,
对目标类的所有方法自行判断。
这与 FileRCEPatcher 传
null, null的写法并存, 两者都能达到「整类生效」,但走的分支不同。
客户端专属
目标类 net/minecraft/client/audio/SoundManager 是纯客户端类,
服务端不存在,因此服务端不会命中。
相关条目
源码
src/main/java/pl/asie/foamfix/forkage/coremod/patchers/SoundSystemUnpauseFixPatcher.java