半透明物品渲染
基本信息
| 属性 | 值 |
|---|---|
| 接口 | com.gtnewhorizon.gtnhlib.api.ITranslucentItem |
| 源码 | src/main/java/com/gtnewhorizon/gtnhlib/api/ITranslucentItem.java |
| 控制的 mixin 组 | Mixins.ITEM_TRANSLUCENCY |
| 开关配置 | GTNHLibConfig.enableTranslucentItemRenders(默认 true) |
| 作用面 | 客户端 |
功能
让 1.7.10 的物品在 3D 视角下按半透明渲染。1.7.10 的 ItemRenderer 默认按物品的 getItemStackLimit/材质分组渲染,无法表达"这件物品整体半透明"。
源码注释给出的原始动机(ITranslucentItem.java:4-6):
Implement on Items to enable them to be rendered with translucency in 3d. E.g. Utilities In Excess’s inverted ingot & tools.
接口是纯标记接口,没有任何方法需要实现。
数值
| 数值名 | 值 |
|---|---|
| 抽象方法数 | 0(标记接口) |
| 需实现的方法数 | 0 |
| 注入的 mixin 数 | 2 |
Mixins.ITEM_TRANSLUCENCY 注入 2 个客户端 mixin:
| mixin 类 | 目标 |
|---|---|
MixinItemRenderer_Translucency |
ItemRenderer |
MixinRenderItem_Translucency |
RenderItem |
两者实际位于 mixins/early/,与 动态方块音效 共享 early 阶段包。
交互
物品类实现 ITranslucentItem 后,ItemRenderer 在 3D 渲染路径上走半透明分支,深度测试与混合模式由上述两个 mixin 调整。关闭 enableTranslucentItemRenders 时两个 mixin 均不注入,实现该接口的物品退回 1.7.10 默认渲染 —— 即接口存在但不生效。
相关条目
- Mixin 枚举 -
ITEM_TRANSLUCENCY的条件表达式与阶段 - GTNHLib 配置 -
enableTranslucentItemRenders及其余 26 个配置项