跳转到内容
我的世界XyeBBS论坛3群 进群吹水聊天!众多整合包作者、插件作者、玩家在内哦!不定时发福利,公布重要通知!
...

旧版 OptiFabric

(Legacy OptiFabric)
适用于旧版 Fabric(1.3.1 至 1.13.2)和 Ornithe(b1.7.3 至 1.14.4)的 OptiFabric
仅客户端优化

适用于 mcsr:使用 mods.tildejustin.dev

如果您正在寻找适用于常规 Fabric(而非 Ornithe)且版本为 1.14 至 1.15.2 的 OptiFabric,请查看 OptiFabric Origins

旧版 OptiFabric

适用于 Legacy Fabric (1.3.1-1.13.2) 和 Ornithe (b1.7.3-1.14.4) 的 OptiFabric

基于 RedLime 的 OptiFabric-Pre1.14 的工作,该项目是 hYdos 的 OptiFabric 1.8.9 的一个分支,而后者又是 modmuss 最初的 OptiFabric 的衍生作品。

安装

此模组需要在 mods 文件夹中同时放置 optifine jar 文件和 optifabric。对于 1.7.2 及更高版本,可以从 OptiFine 官方网站 获取;对于更旧的版本,可以从 SpeedyCube64 的 Pre-1.9 Optifine 归档 或 OptiFine 历史线程 中检索。

工作原理

此模组使用 Minecraft-Java-Edition-Speedrunning/fabric-asm,它是 Cat Core 的 Fabric-ASM/no-guava 的一个轻微衍生版本,而后者本身又是 Chocohead 的 fabric-asm 的更新版本。fabric asm 允许更极端的 asm 修改,所使用的分支不依赖于 guava 或 apache commons,而这些库在较旧的 Minecraft 版本中并未提供。

步骤

  1. 模组会在当前的 mods 文件夹中查找 optifine 安装程序、模组 jar 文件或 zip 文件。
  2. 如果找到安装程序 jar 文件,它会在其自己的临时类加载器中运行提取任务。
  3. optifine 模组 jar 是一组需要替换 Minecraft 所提供类的类文件。
  4. optifine 的替换类更改了一些 lambda 方法的名称,因此它会很好地猜测旧名称(使用原始的 Minecraft jar 文件)。
  5. 将 optifine 重映射到 intermediary。
  6. 移出击打过补丁的类,因为它们在类路径中出现两次不会有什么好处。
  7. 将 optifine 添加到类路径中。
  8. 为每个需要替换的类注册补丁调整器(tweaker)。
  9. 用提取出的类替换目标类,同时对其进行一些额外的修复,并将其设为 public(由于访问权限问题)。
  10. 希望它能正常工作。

注意事项

  • 此模组在开发环境或命名环境中实际上无法工作。就 Legacy Fabric 而言,yarn 构建在某些版本中已损坏,因此目前无法工作;feather 更好一些,但仍存在问题。
  • accessWideners 是基于 tiny remapper 的 checkPackageAccess 选项的输出创建的,但它们不太可能达到 100% 完整。如果您遇到与无效访问相关的崩溃,请报告该问题,或许能够修复。

类排除器

这是一个偶尔有用的隐藏功能,用于在重映射 jar 时移除文件。为此,它会读取 .minecraft/config/ 中的 optifabric-excluded-classes.json 文件(如果存在),并期望该文件包含一个映射关系:将版本(字段名)映射到可移除类(或纹理或其他任何内容,本质上只是文件名)的数组。 下面提供了一个示例文件内容,用于恢复 1.3.2 Light 版本中分析器(profiler)的移除操作。如果您尝试为其创建排除条目的 optifine 版本已在您的实例中加载过,请删除 .minecraft 中 .optifine 文件夹内的对应文件夹,以强制重新缓存。

{
  "OptiFine_1.3.2_L_B2": [
    "ik.class"
  ]
}
资源外链

选择礼物

使用社区积分,为喜欢的作品送上一份支持

加载中...

打赏记录

感谢每一位送出礼物的社区成员

0 次支持0 积分
正在加载内容…