Bugfix Mixin

[!INFO] 注册真源:MixinConfigPlugin.getMixins() 的 Phase.DEFAULT 分支 源码目录:src/main/java/makamys/coretweaks/mixin/bugfix/

12 个 Bugfix Mixin

全部在 DEFAULT 阶段注册。fixEntityTracking 是唯一一次注入 3 个类的开关。

# Mixin 目标类 门控配置 需客户端
1 chatlinkcrash.MixinForgeHooks ForgeHooks fixForgeChatLinkCrash 否
2 displaylistdelete.MixinRenderGlobal RenderGlobal fixDisplayListDelete 是
3 forge5160.MixinChunk Chunk fixEntityTracking 否
4 forge5160.MixinEntity Entity fixEntityTracking 否
5 forge5160.MixinWorld World fixEntityTracking 否
6 guiclicksound.MixinGuiListExtended GuiListExtended guiClickSound 是
7 heightmaprange.MixinChunk Chunk fixHeightmapRange 否
8 intelcolor.MixinTessellator Tessellator fixIntelRendering + !useAlternateIntelRenderingFix 是
9 intelcolor.MixinOpenGlHelper OpenGlHelper fixIntelRendering + useAlternateIntelRenderingFix 是
10 mobcap.MixinEntity Entity useSpawnTypeForMobCap 否
11 restoretravelsound.MixinNetHandlerPlayClient NetHandlerPlayClient restoreTravelSound 是
12 smallentityswim.MixinEntity Entity fixSmallEntitySwim 否

互斥的一对:intelcolor

fixIntelRendering 的两个变体由 useAlternateIntelRenderingFix(普通 boolean, 默认 false)二选一,用三元表达式选出要注入的类名:

if (Config.fixIntelRendering.isActive() && isClient) {
    mixins.add(!Config.useAlternateIntelRenderingFix
        ? "bugfix.intelcolor.MixinTessellator"
        : "bugfix.intelcolor.MixinOpenGlHelper");
}

配置注释说明:默认走 MixinTessellator(侵入性小的修法), 若问题仍出现则开启 useAlternateIntelRenderingFix 改用 MixinOpenGlHelper —— 即「按原处方的更侵入修法」。

⚠️ 任何时刻至多注入其中一个,两者永不共存。

bugfix.mobcap.MixinEntity 的冲突目标

mixin/bugfix/mobcap/MixinEntity.java 与 mixin/optimization/、mixin/tweak/ 下的 MixinEntity 不冲突, 但 useSpawnTypeForMobCap 是全 CoreTweaks 唯一默认关闭(def = FALSE) 的 Bugfix 类开关,因为改错会导致刷怪上限判定异常。

1.7.10 → 新版本回移

多个修复在配置注释中明确标注了上游修复版本,是判断行为来源的依据:

修复 上游来源
extendSprintTimeLimit(见 Tweak Mixin) MC-4839,1.9 修复
restoreTravelSound MC-233,1.9 修复
fixHeightmapRange MC-7508
fixDoubleEat MC-849
fixDisplayListDelete 1.12
fixEntityTracking MinecraftForge PR #5160
jarDiscovererCache Forge 1.12(1.9 加入)
forgeModDiscovererSkipKnownLibraries Forge 1.12
tcpNoDelay Minecraft 1.12(1.8.1 加入)

会被其它 mod 自动禁用的修复

Config.shouldDisable 在配置加载期对 4 个 bugfix 做冲突检测 (详见 功能兼容矩阵):

修复 被禁用于
fixForgeChatLinkCrash Hodgepodge ≥ 1.6.14 且其 fixes.fixUrlDetection 开启
fixEntityTracking 存在 backport5160
fixHeightmapRange 存在 LUMINA 或 Supernova
crashHandler(见 Tweak Mixin) 存在 BetterCrashes 或 CrashGuard

禁用时只打一条 INFO 日志,不改配置文件; 若用户在配置里写 force 则绕过检测(FeatureSetting.isActive 的 FORCE 分支)。

相关条目