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