跳到正文

Copycats Sable Light Fix

作者:Glaz_almaz

修复在 Sable 子层中渲染仿制模型时,环境光遮蔽(AO)/平滑光照显示错误的问题。适用于 Create、Create: Extra Copycats 及相关模组。

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

Copycats Sable Light Fix

修复在 Sable 子层级中渲染的仿制模型环境光遮蔽(AO)异常问题。

模组 ID: copycats_sable_light_fix | 版本: 1.0.0 | 加载器: NeoForge 1.21.1


简介

此模组可修复在 Sable 子层级中渲染仿制模型时,环境光遮蔽(AO)/平滑光照异常的问题。

兼容任何提供仿制模型的模组,包括 Create、Extra Copycats、Create Connected 等。

修复前 / 修复后

修复前(AO 异常) 修复后(AO 正常)
Before After

工作原理

  1. 检测 – 调用 ModelBlockRenderer.tesselateBlock() 时,模组会检查正在渲染的 BakedModel 是否为仿制模型(instanceof CopycatModel,或类名是否符合 com.fiisadev.extra_copycats.*)。

  2. 拦截 – 模组不会重定向 Minecraft.useAmbientOcclusion()(该方法会被内联,因此运行时对 mixin 不可见),而是重定向 tesselateBlock() 内对 ModelBlockRenderer.tesselateWithAO() 的实际调用。

  3. 回退处理 – 如果模型是仿制模型,就将调用重定向到 tesselateWithoutAO()(平面光照);否则保留原本的 tesselateWithAO() 调用路径。

  4. 安全性 – 模组使用 try-catch 和类名回退机制,因此即使未安装 Copycats 模组也不会崩溃。此修复仅影响仿制模型;其他方块仍使用正常的 AO 渲染。

  5. 配置 – 可通过模组菜单或 config/copycats_sable_light_fix-client.toml 开启或关闭此修复。

技术详情

参数 值
Minecraft 1.21.1
加载器 NeoForge 21.1.262+
Mixin Sponge 0.16.4+mixin.0.8.7
重定向目标 通过 @Redirect 重定向至 ModelBlockRenderer.tesselateWithAO(...)
仅客户端 是

依赖项

模组 类型
NeoForge 必需
Minecraft 1.21.1 必需
Sable 2.0+ 必需

注意:任何兼容 Copycats 的模组均可使用——例如 Create、Extra Copycats、Create Connected 等。这些模组并非必需。


基于 Sable 上游问题 #1479。

常见问题

Copycats Sable Light Fix 支持哪些 Minecraft 版本?

Copycats Sable Light Fix 支持 Minecraft Java 版 1.21.1,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。

Copycats Sable Light Fix 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

Glaz_almaz 的其他作品

查看全部 →