late/client mixin 分组(21 个第三方 mod 补丁)
概览
| 属性 | 值 |
|---|---|
| 源文件位置 | src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/ |
| 文件数 | 21(顶层 0,全部在 13 个第三方 mod 子包内) |
| Phase | LATE |
| 特征 | 一 mod 一子包,文件名与目标 mod 同名 |
这 21 个是唯一按第三方 mod 命名的顶层维度,也是 Angelica 对外部 mod 支持的清单之一。
13 个子包
| 子包 | 文件数 | 目标 mod |
|---|---|---|
extrautils |
3 | Extra Utilities |
ntmSpace |
3 | NTM:Space |
etfuturum |
2 | Et Futurum: Requiem |
dragonapi |
2 | DragonAPI |
securitycraft |
2 | SecurityCraft |
thaumcraft |
2 | Thaumcraft |
biomesoplenty |
1 | Biomes O’ Plenty |
campfirebackport |
1 | Campfire Backport |
draconicevolution |
1 | Draconic Evolution |
farseek |
1 | FarSeek |
minefactoryreloaded |
1 | MineFactory Reloaded |
openblocks |
1 | OpenBlocks |
starminer |
1 | StarMiner |
| 合计(13 个子包) | 21 |
late/client/下实测就是 13 个子包,且每个都含文件,没有空目录。另有late/chisel/(1 个MixinRenderCarvableBeacon)是与client/平级的独立一级包,不在其下 —— 把late/整体算进去是 14 个目标 mod 子包 / 22 个 mixin。
补丁清单
| 类 | 目标 mod | 作用 |
|---|---|---|
MixinIconConnectedTexture |
Extra Utilities | 把 IconConnectedTexture 类型索引改为 ThreadLocal<Integer> |
MixinRenderBlockConnectedTextures |
Extra Utilities | 打破原版静态 fakeRender 的线程不安全 |
MixinRenderBlockConnectedTexturesEthereal |
Extra Utilities | 同上,Ethereal 变体 |
MixinBlockReinforcedFenceGate / MixinBlockReinforcedIronBars |
SecurityCraft | 强化方块渲染 |
MixinSkyProviderCelestial / MixinSkyProviderLaytheSunset / MixinSkyProviderOrbit |
NTM:Space | 星球天空渲染 |
MixinRenderBlockCampfire |
Campfire Backport | 营火渲染 + @ThreadSafeISBRH |
MixinThrottleableEffectRenderer / MixinThrottleableEffectRenderer_ParticleBatch |
Draconic Evolution | 可节流粒子渲染 |
MixinFogHandlerBiomeCache |
Biomes O’ Plenty | 雾处理群系缓存 |
MixinFarseekIBlockAccessValue |
FarSeek | IBlockAccess 字段访问 |
MixinRedNetCableRenderer |
MineFactory Reloaded | getTileEntity 结果加 null 守卫 |
MixinRenderTilePlacedItem |
OpenBlocks | 放置物品渲染 |
MixinTransformClientHelper |
StarMiner | 变换客户端辅助 |
MixinItemThaumometerRenderer / MixinLayerBetterElytra |
Thaumcraft | 仪表渲染 / 鞘翅图层 |
MixinTileEntityNewBeaconRenderer / MixinTileEntityTrophyRenderer / MixinTileJarRenderer |
未标注(compat/ 下有对应 41 个文件) |
各类 TileEntity 渲染器 |
最后 3 个的子包名不带 mod 前缀,因此仅凭子包名无法确定目标 mod。src/main/java/.../compat/ 目录(41 个文件,按第三方 mod 分 17 个子包)是配套的运行时兼容代码。
门控:两套并存
| 机制 | 覆盖 | 例子 |
|---|---|---|
CompatConfig 开关 |
9 个 mod | fixSecurityCraft、fixNTMSpace、fixThaumcraft、fixMinefactoryReloaded |
addRequiredMod(TargetedMod.X) |
28 个 mod | TargetedMod.STARMINER(Mixins.java:83)、TargetedMod.CAMPFIRE_BACKPORT 等 |
在本维度中,securitycraft、ntmSpace、thaumcraft、minefactoryreloaded 有对应的 CompatConfig 开关;starminer、chisel、farseek、openblocks 等只有 TargetedMod 探测而没有配置开关。
与 ASM 路径的分工
这 21 个走 Mixin 路径。第三方 mod 的 ASM 兼容由 CompatHandlers 的 5 项枚举负责(Stacks on Stacks、Extra Utilities、Immersive Engineering、Thaumcraft、ThaumicHorizons)。
同一个 mod 可能两条路径都有:extrautils 与 thaumcraft 在 late/client 里有 mixin,同时也在 CompatHandlers 里。fixExtraUtils / fixThaumcraft 开关控制的是** ASM 那一侧**,不影响 mixin 是否加载。
相关条目
- Mixin 注册表 - 53 组枚举
- NotFine mixin 分组 -
late/notfine另有 7 个第三方 mod 子包 - CompatConfig - 9 个开关
- TargetedMod - 28 项目标探测
- CompatHandlers - ASM 侧的 5 项
- AngelicaCompat - 下游兼容包,含同批 mod 的独立实现