
诡异终结 GeckoLib 补丁
让Eldritch End在AzureLib 3.1+上运行。
让 Eldritch End 在 AzureLib 3.1+ 上运行。
Eldritch End 构建于 AzureLib 的旧版动画 API 之上,而该 API 已在 AzureLib 3.1 中被移除。这让你不得不在 Eldritch End 和所有需要新版 AzureLib 的模组之间二选一。
此补丁消除了这个选择:它在 Eldritch End 的类加载时将其引用重写为 GeckoLib,从而让两者可以共存于同一个整合包中。
为什么这能奏效
AzureLib 是 GeckoLib 的一个分支。直到 3.0.x 版本,其 jar 包都同时附带了两套动画系统——一套继承自 GeckoLib,位于 mod.azure.azurelib.* 下,另一套是位于 mod.azure.azurelib.rewrite.* 下的新系统。
在 3.1 中,旧的那套被删除,由重写版取而代之。
Eldritch End 只使用了继承的那一半。因此此补丁并不是将它强制迁移到一个陌生的库上——而是将它指回 AzureLib 最初复制的那份代码。
签名一一对应。
此补丁解决的问题
Cataclysm: Spellbooks 1.2.9+ 与 Eldritch End 共存于同一整合包。
Cataclysm: Spellbooks 1.2.9 需要 AzureLib 3.1+,而 Eldritch End 需要 3.0.x 或更早版本。没有此补丁,你只能二选一安装。
请注意,1.2.5 情况正好相反——它需要 3.0.x——因此降级 Cataclysm: Spellbooks 只是把问题换了个地方。
Mobs of Mythology 3.x 与 Eldritch End 共存于同一整合包。
同样的冲突,同样的修复方式。
任何基于 AzureLib 3.1+ 构建的模组。
这个分裂正好贯穿 AzureLib 自身的版本历史,因此随着越来越多的扩展模组迁移到新 API,这个问题会不断出现。
一个没有任何警告、令人困惑的崩溃。
Eldritch End 在其元数据中声明了 azurelib: "*",意为"任意版本",因此加载时不会有任何警告。
在 3.1+ 上,它的类加载时会直接失败——通常是 NoClassDefFoundError: mod/azure/azurelib/animatable/GeoEntity(它的生物实现了该接口)或 mod/azure/azurelib/renderer/GeoEntityRenderer(它的渲染器继承自该类)。
这两条报错信息都没有指向真正的原因。
安装
将 jar 文件与 Eldritch End 一起放入你的 mods 文件夹中。无需任何配置。
需要 Forge 1.20.1、Eldritch End 0.3.4+、GeckoLib 4.2+、AzureLib 3.0+ 以及 Sinytra Connector(Eldritch End 是一个 Fabric 模组)。
安装 AzureLib 3.0.x 时,此补丁无害但也无用——你只需要在 3.1 及以上版本中使用它。
如果你之后更换了 Eldritch End 的 jar 文件,请删除 mods/.connector/Eldritch_End*,以便 Connector 重新生成其缓存。
此模组不是什么
它不包含任何 Eldritch End 代码,也不重新分发任何内容。
它在游戏加载时于内存中修补官方 jar,因此你仍然需要从 Eldritch End 自己的页面正常下载它。
致谢
Eldritch End 由 ElocinDev 制作——没有它此补丁毫无用处,请去支持原作。
AzureLib 由 AzureDoom 制作。
GeckoLib 由 Bernie 和 Tslat 制作。
报告 Bug 前请先阅读
Eldritch End 的作者从未针对 GeckoLib 进行过测试。
如果安装此补丁后出现问题,请在此处报告,而不是向 Eldritch End 的开发者报告——并请先检查移除补丁后问题是否仍然存在。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。