暗影姓名标签修复

暗影姓名标签修复

移除着色器绘制的重复“幽灵”名称标签,通过在Iris的阴影通道期间跳过名称标签渲染。适用于任何着色器包,并保留阴影效果。

阴影名称标签修复

使用光影时是否见过空中漂浮着旋转、重影的名称标签?这款轻量级客户端模组可消除此问题。

问题说明

使用 Iris 光影(Complementary Reimagined、Euphoria Patches、BSL 等)时,游戏会在阴影渲染阶段从太阳视角渲染实体(包括其名称标签)。诸如光柱等特效会将此阴影缓冲区投射回屏幕,导致名称标签在真实名称旁边出现一个旋转的“鬼影”副本。

常见的解决方法是手动禁用每个光影包设置中的玩家阴影(PLAYER_SHADOW=-1),但每次切换光影包或更新时都需要重新设置,而且你会失去阴影效果。

模组功能

Shadow Nametag Fix 会在 Iris 绘制阴影渲染阶段时跳过名称标签的渲染。名称标签不会进入阴影缓冲区,因此不会产生任何投射效果——鬼影就此消失。

  • ✅ 兼容所有光影包——无需为每个光影包单独设置
  • ✅ 光影包切换或更新后依然生效
  • ✅ 保留你的阴影——仅跳过名称标签,不牺牲玩家阴影
  • ✅ 关闭光影时无任何影响——完全保持原版行为
  • ✅ 轻量设计:仅包含一个 Mixin,无配置,无额外依赖

兼容性

  • Minecraft: 1.20.1
  • 加载器: Fabric
  • Iris: 可选。模组通过反射方式查找 Iris,因此无需安装 Iris 即可运行,且不会因 Iris 更新而损坏。
  • 仅客户端——服务器端无需安装。

技术原理

一个 Mixin 注入至 EntityRenderer#renderLabelIfPresent,当 ShadowRenderingState.areShadowsCurrentlyBeingRendered() 报告阴影渲染阶段激活时取消该方法。Iris 通过反射访问,因此不存在编译期硬依赖。

许可证

MIT——可自由使用,包括将其打包进整合包。