创建降雨修复

创建降雨修复

客户端模组,阻止下雨和雪在移动的机械动力装置内部渲染。

创建

Create Rain Fix

让天气保持在移动的机械动力装置之外。

Minecraft 1.21.1 NeoForge 21.1.x Create 6.0.10 Client-side Java 21

Create Rain Fix 是一个轻量级的客户端 NeoForge 模组,可防止雨和雪透过移动的 机械动力 装置进行渲染。

火车、电梯和其他带屋顶的装置终于可以将天气隔绝在外,同时保持完全动画化。

前后对比

雨滴穿过机械动力装置的屋顶 雨滴被机械动力装置的屋顶正确阻挡
雨丝直接穿过屋顶。 内部保持干燥,而外部雨景依然可见。

特性

  • 阻挡移动装置内渲染的雨和雪。
  • 支持火车、电梯、轴承、活塞、龙门架及其他机械动力装置类型。
  • 使用真实的碰撞形状,包括玻璃、台阶、楼梯和其他部分方块。
  • 追踪插值移动、偏航角、俯仰角和旋转。
  • 当原版雨滴飞溅粒子被装置屋顶覆盖时,将其移除。
  • 处理传送门过渡期间火车车厢的可见部分。
  • 天气晴朗时不进行任何装置相关计算。
  • 无需配置、网络同步或服务端安装。

Create Rain Fix 仅改变客户端的天气渲染。它不会改变雨声或服务端的湿润与暴露检测。

兼容性

组件 支持版本
Minecraft 1.21.1
NeoForge 21.1.219 或更新的 21.1.x
机械动力 6.0.10 至(但不包括)6.1.0
Java 构建需要 21
环境 仅客户端

本项目针对官方 机械动力 6.0.10 版本 进行构建和测试。

安装

  1. 安装 Minecraft 1.21.1 及兼容版本的 NeoForge。
  2. 安装机械动力 6.0.10 或其他受支持的 6.0.x 版本。
  3. 将 create-rain-fix-1.21.1-1.0.0.jar 放入客户端的 mods 目录。

此模组在专用服务器上不是必需的,并且不添加任何网络数据包。

工作原理

Minecraft 通常根据静态世界高度图来裁剪降水效果。机械动力装置是移动实体,因此它们的方块永远不会成为该高度图的一部分。

Create Rain Fix 将附近的装置扩展到了天气高度查询中:

  1. 为每个相关装置捕获当前的插值渲染变换。
  2. 每个天气柱从世界空间转换到装置的局部坐标。
  3. 沿着装置的实际情况碰撞形状进行垂直射线追踪。
  4. 将最高命中点与世界高度图合并,在移动屋顶处裁剪雨和雪。

柱状结果会为当前帧进行缓存,传送门隐藏的列车方块会被忽略,飞溅粒子使用精确的命中高度而非取整的高度图值。

许可证

保留所有权利。