TextureAtlasSpriteAccessor
EARLY:纹理图集 padding 状态
基本信息
| 属性 | 值 |
|---|---|
| 路径 | com.gtnewhorizons.navigator.mixins.early.minecraft.TextureAtlasSpriteAccessor |
| 行数 | 13(全 mod 最小的 mixin) |
| 注解 | @Mixin(TextureAtlasSprite.class)(:8)—— 无 remap = false |
| 构建器 | Mixins 的 TEXTURE_ATLAS_SPRITE_ACCESSOR(唯一无目标模组限制的) |
唯一的 @Accessor(:11)
@Accessor("useAnisotropicFiltering")
⚠️ 注解只写了字段名,没有写方法签名 ——
所以本接口的方法名与返回类型由本类的声明决定,
本类必须声明一个对应 useAnisotropicFiltering 字段的抽象方法。
⚠️ 读的是 useAnisotropicFiltering(各向异性过滤),
不是 padding ——
分类页与 MapMarker 条目里说的
「padding 状态」是我的误读,实际是各向异性过滤标志。
本 mod 读它是为了在渲染地图标记时关闭各向异性过滤,
否则小图标在斜视角下会模糊。
⚠️ 字段名是 MCP 映射名(useAnisotropicFiltering),
且 @Mixin 没有 remap = false ——
所以该名字会被重映射(符合预期,因为目标类 TextureAtlasSprite
是 Minecraft 自己的类)。而其它 mixin 目标都是第三方 mod
(用 remap = false)。
为什么无目标模组
Mixins 的 TEXTURE_ATLAS_SPRITE_ACCESSOR
(:13-15)没有 addRequiredMod,
是 6 个构建器里唯一无条件应用的 ——
因为目标 TextureAtlasSprite 是 Minecraft 自己的类。
EARLY 阶段
setPhase(Phase.EARLY)(:14)——
最早应用。因为 TextureAtlasSprite 的字段在其它 mixin
(TextureCacheMixin 等)之前就要被访问。