半透明物品渲染

基本信息

属性 值
接口 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 个配置项