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