Iris(着色器)mixin 分组(44 个)
概览
| 属性 | 值 |
|---|---|
| 源文件位置 | src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/ |
| 文件数 | 44(顶层 38 + startup 6) |
| Phase | EARLY |
| 主题 | Iris 光影着色器管线 |
| modid | 无 —— assets/iris 是资源域,不是 modid |
Iris 以库的形式内嵌在 Angelica jar 中。src/main/java/net/coderbot/iris/ 有 381 个文件,是本仓最大的单一子系统。
顶层 38 个
渲染器与模型(22)
MixinRender、MixinRenderBiped、MixinRenderBlocks_FaceNormals、MixinRenderBlocks_FallingShading、MixinRenderBlocks_ItemId、MixinRenderDragon、MixinRenderEndPortal、MixinRenderEntityFlame、MixinRenderFallingBlock、MixinRenderGlobal、MixinRenderHorse、MixinRenderItem、MixinRenderManager、MixinRenderManagerDAPI、MixinRenderNameTag、MixinRenderPlayerArmor、MixinRendererLivingEntity、MixinModelBiped、MixinEntityRenderer、MixinEffectRenderer_Particles、MixinEntityPickupFX、MixinTileEntityRendererDispatcher
物品与手持物(6)
MixinItem、MixinItemRenderer、MixinItemRendererBackhand、MixinItemRenderer_ItemId、MixinHeldItemGlintEdges、MixinDroppedItemGlintEdges
MixinItemRendererBackhand 是针对 Backhand 的补丁 —— 1.7.10 上 Backhand 把物品渲染到副手,Iris 的变换器需要知道这件事。
Accessor(2)
| 类 | 用途 |
|---|---|
AccessorEntityHorse |
访问 EntityHorse 私有字段 |
AccessorModelBox |
访问 ModelBox 私有字段 |
用 Mixin 的 @Accessor 替代 AT,Iris 里只有这 2 个。
其余(8)
MixinFramebuffer、MixinGlProgram、MixinGuiIngameForge、MixinLocale、MixinNetHandlerPlayClient_NbtRemesh、MixinTextureManager_ReloadCount、MixinTileEntityBeaconRenderer、MixinWorldNbtCache
| 类 | 作用 |
|---|---|
MixinNetHandlerPlayClient_NbtRemesh |
收到区块 NBT 时触发区块网格重建 |
MixinWorldNbtCache |
World 的 NBT 缓存 |
MixinTextureManager_ReloadCount |
纹理重载计数 |
MixinTileEntityBeaconRenderer |
信标光柱渲染 |
MixinLocale |
语言文本替换 |
startup 子包(6)
early/shaders/startup/ 的 6 个 mixin 处理着色器启动期的类加载与 GL 上下文准备。Iris.warmupShaderTransforms() 在 ClientProxy.java:145 于 preInit 阶段被调用(enableIris 为 true 时),早于 Iris 的 fmlInitEvent。
与 Iris 启用开关的关系
整套 44 个 mixin 受 AngelicaConfig.enableIris 控制(默认 true,RequiresMcRestart)。关闭时:
ClientProxy.java:143-146不调IrisGLSMBridge.installImmediateExtendedHandler()与Iris.warmupShaderTransforms()ClientProxy.java:168-175不注册IrisGLSMBridge/IrisDebugScreenHandler,不调Iris.INSTANCE.fmlInitEvent()- Iris 的 3 个按键绑定也不注册(见 KeyBinding 注册总表)
资源域
Iris 使用 assets/iris/ 资源域,但该域下没有 lang 目录(0 个 .lang 文件)。Iris 的语言键(包括 key.category.iris.keybinds)实际写在 assets/angelica/lang/ 下 —— 见 资源域与语言文件。
相关条目
- Iris(内嵌库) - 381 个 java 文件的子系统
- Mixin 注册表 -
shaders组共 44 个注册名 - AngelicaModulesConfig -
enableIris - KeyBinding 注册总表 - 3 个 Iris 按键
- Backhand -
MixinItemRendererBackhand的目标