概述
🔍 简介
UniMixins 是 Minecraft 1.7.10 的 Mixin 引导模组(并包括部分 1.8.9 - 1.12.2 支持),旨在实现最大的兼容性。
它能够结合尽可能多的 Mixin 的功能,并且其模块化特性使得如果需要,可以与其他 Mixin 一起使用。
❓ 出现该模组的原因
1.7.10 中存在许多 Mixin 引导模组,每个引导模组在提供 Mixin 的基础上都提供了一组不同的额外功能,一般称之为“附加功能”。
由于这些引导模组中的每一个都是整体式的,因此由于不可避免的功能重叠,无法同时使用不同的引导模组。
为了避免这个问题,UniMixins 将每个功能作为一个单独的模块提供(但为了方便起见,仍然提供了一个集成了全部类型的 jar)。
🖋️ 区别
这些模组区别请见此处,抑或此处。
其中的符号
[NOP]:不做任何事情. (issue);
[SEP]:可作为分开的模组存在。
🍴 食用方式
下载后缀为 -all 的 jar,并将其放入你的模组目录中。删除任何其他冲突的 Mixin 引导模组(请参阅“区别”中的表格)。
注意:重要的是命名 jar 文件使其按字母顺序排在第一位,以避免嵌入 Mixin 的模组出现 命名顺序问题。这就是为什么该模组以字符 + 开头的原因。如果重命名的 jar 遇到问题,则可能需要将其更改为字符 ! 。
作为参考,以下是一些字符排序顺序:! > + > 0 > [ > _ > a (从左至右优先级越来越低)。
你还可以使用某一个 jar 模块组装自己的组合。某些模块依赖于其他模块,请参阅模块列表部分。
在不存在其他 Mixin 的前提下,模块化安装的话你至少需要:
📖 -all 中的内容/模块列表
Mixin (UniMix):提供由 UniMixins 开发人员基于 Fabric 分支维护的 Mixin 分支。
SpongeMixins:提供 SpongeMixins 的附加功能。
MixinBooterLegacy:提供 MixinBooterLegacy 的附加功能,以及重新迁移的 MixinExtras。
MixinExtras:提供 MixinExtras。
GasStation:提供对 GasStation 附加功能。
来自于 SpongeMixins。
来自于 MixinBooterLegacy。
来自于 MixinExtras。
GTNHMixins:提供 GTNHMixins 的附加功能,以及重新迁移的 MixinExtras。
Compact:通过修复模组中对 Mixin 类的部分的错误引用来提高兼容性。
Mixingasm:改进了 Mixin 与 ASM 之间的兼容性。
可选
特别可选
FAQ
为什么又有了一个 Mixin 引导模组啊?你没读过那张XKCD连环漫画吗?
目前 1.7.10 上的 Mixin 引导模组之间存在太多碎片化的东西,不同的模组需要互不兼容的不同引导模组。这种情况部分是由于开发人员之间的冲突,部分是由于技术原因(加载器以整体方式设计,这会导致不兼容)。这个项目没有这些问题。
Github 仓库图片(翻译)
为什么使用 Fabric 的 Mixin 分支?这不是 Forge 模组吗?
比起上游分支(SpongePowered 的较旧分支),Mixin 的 Fabric 分支维护得更积极,并且有一些额外的修复。Mixin 的 Fabric 分支的大多数更改都不是特定于 Fabric 的。
特别可选里的所有模组是干什么的?
SpongeMixins、Grimoire、MixinBooterLegacy、GasStation 和 GTNHMixins 提供了多种方式,让你混入到非 coremods 的类别中(Mixin 本身不支持)。
Mixingasm 修复了一个 Mixin 问题,该问题由于 Mixin 改变了它们的调用方式而破坏了一些 ASM 模组。
MixinExtras 添加了新的 Mixin 功能,模组可以使用这些功能来编写侵入性较小的 Mixin。
Mixin? mixin? SpongeMixins? SpongePowered? 有什么区别吗?
许可
UniMixins 的许可证为 Unlicense,但部分模块的许可不同(LGPLv3 和 2.1),详见 Github 上的许可证说明。