Mixin 列表

[!INFO] 注册真源:3 个 mixin 配置文件 + mixinplugin/BogoSorterLateMixinLoader.java

本模组是重度 mixin 驱动的客户端功能 mod,共有 28 个 mixin 类,分为两组配置。

配置文件

文件 package 加载时机
mixins.bogosorter.early.json com.cleanroommc.bogosorter.mixins.early 早期(@env(DEFAULT),required: true)
mixins.bogosorter.json 同 early 早期
mixins.bogosorter.late.json com.cleanroommc.bogosorter.mixins.late 晚期,条件加载

三份配置的 minVersion 均为 0.8.5-GTNH,compatibilityLevel 为 JAVA_8,共用 mixins.bogosorter.refmap.json。

[!NOTE] mixins.bogosorter.early.json 与 mixins.bogosorter.json 的 package 完全相同(均为 mixins.early),二者内容一致。属构建模板冗余,非两套不同 mixin。

late 组加载机制

late 组不写死在配置里,而是由 mixinplugin/BogoSorterLateMixinLoader.java 依据 mixinplugin/TargetedMod.java 的枚举动态决定:只有目标 mod 实际加载时,其对应 mixin 才注入。因此上面 兼容适配 中列出的 late mixin 数量(14 个)是全部上限,实际生效数取决于整合包内装了哪些 mod。

early 组(14 个,mixins/early/minecraft/)

容器与 GUI 层改动:ContainerHorseInventoryMixin、CreativeSlotMixin、GuiContainerAccessor、GuiContainerDropKeyMixin、GuiContainerPinnedSlotMixin、GuiEditSignMixin、GuiKeyBindingListKeyEntryAccessor、GuiScreenAccessor、MinecraftMixin、MixinGuiKeyBindingList、MixinItemStack、RenderItemPinnedSlotMixin、SlotAccessor、SlotMixin。

其中 GuiContainerAccessor、GuiScreenAccessor、SlotAccessor、GuiKeyBindingListKeyEntryAccessor 为 @Accessor 接口(无实际变换,仅暴露受保护字段供其他 mixin 使用),其余 10 个为实体变换。

late 组(14 个,按目标 mod 分目录)

compactstorage(2)、controlling(2)、enderio(2)、etfuturum(1)、galacticraft/core(1)、galacticraft/planets(1)、ironchests(1)、thermal(2)、witchinggadgets(2)。

关联:兼容适配 · BogoSort API