pipe_fluid - CHanzyLazer/gregtech6-CH_Edition GitHub Wiki
使用 这个插件 让公式正常显示
流体管道
此版本对原版的流体管道进行了较大的改动,主要是添加了一种流速稳定的流体管道,添加可以使用活动扳手设置流体管道优先输出方向或者限制输出方向,防止流体倒流的优化,限制管道流速的解决方案,管道染色和填充建筑泡沫的优化。
原版流体管道
默认情况下流体管道逻辑基本和原版一致, 管道间运输流体的主要逻辑是:检测自己存储流体量 $a$ 和相邻的流体量 $b$,(如果 $a \gt b$)尝试向相邻管道运输 $(a-b)/2$ 的流体(实际运输 $\lceil (a+b)/2 \rceil - b$ 的流体)。 运输完后如果自身还有超过一半的流体,则将超出的流体再次分发给周围的管道(会防止倒流,让管道达到标定的最高流速)。
由于有检测管道压力来传递流体,因此原版流体管道(默认情况)有以下特点:
- 管道间传输流体存在阻力
- 分叉后不能均分流体
- 流速不稳定
稳定流速管道
可以通过潜行使用扳手,来为流体管道装上物品栏中的橡胶圈,可以使得流体管道流速稳定(故也称橡胶圈管道
,tooltips 中也有提到这个方法)。
目前数据如下表:
管道尺寸 | 微型 | 小型 | 正常 | 大型 | 巨型 | 四合一 | 九合一 |
---|---|---|---|---|---|---|---|
橡胶圈数目 | 2 | 4 | 6 | 9 | 12 | 24 | 36 |
橡胶圈管道运输流体时不会考虑周围管道的压力,仅考虑自身之前的输入流体量来进行输出,有下面几个特点:
不存在阻力
由于其工作逻辑,橡胶圈管道之间的运输不会存在阻力。并且橡胶圈管道对于普通管道而言其内部的压力一般都为 1(防止倒流),因此普通管道流入橡胶圈管道也不会存在阻力。
稳定流速
在这个基础上,橡胶圈管道还会统计前 20 tick 的输入流体量,进行平均后得到输出的流体速率,因此其可以稳定流速。(当橡胶圈管道内流体超过 $3/4$ 时,其流速会强制提高到标定的最大流速)
绝对的均分流体
对于分叉的情况,会进行绝对的均分流体,对于不能整除的情况,会进行带有记忆的循环分配,因此可以进行绝对的均分流体。
输出面调整
可以使用活动扳手调整输出面为 优先输出
(短箭头),限制输出
(长箭头),或者 默认模式
(没有箭头),原版流体管道和稳定流速管道都可以进行设置。
可以通过 cfg 配置文件 中的 mark_ratio
选项来修改这个标记的对比度。
默认的模式循环为 优先输出
、限制输出
、默认模式
,可以通过潜行使用活动扳手来逆向循环。
优先输出
会优先向指定方向输出流体,如果指定方向不能输出则回到默认模式(会忽略掉设置的优先输出方向)。 禁止向设定的优先输出方向输入流体。
限制输出
会严格限制为指定方向输出流体,即使此方向不能输出。 禁止向设定的限制输出方向输入流体。
管道染色
优化了原版的染色系统,现在染色管道更加科学好看了。 染色的管道放置时会自动连接周围相同颜色的管道,自动连接可以连接的机器,并且不自动连接不同颜色的管道,其他的线缆,轴也有这个功能。(没有染色的则依旧是原版的逻辑,这里不再赘述)
连续使用另一种染料改变管道颜色时,管道可以完全达到这个颜色,这样两种管道可以进行堆叠,并且可以自动相互连接。
填充建筑泡沫
现在填充的建筑泡沫的颜色和管道颜色相互分离,在填充了建筑泡沫后,管道主要有以下特点:
- 为了防止 z-fighting,此时管道外端会略微超出方块边界
- 改变了管道的不透光度,在未干时为 3(水),干掉后为 255(完全不透光)
- 干掉后不能改变管道的连接方向以及进行输出面调整
- 干掉后较粗管道连接较细管道的模型会略微改变(如图),保证更加合理。
- 干掉后使用放大镜检查管道,会在建筑泡沫表面暂时显示输出面的模式(如果有)
防止倒流优化
流体管道在接收了某个方向的流体后会进行标记,防止流体倒流。 现在此基础上,在每个方向上都标记上一个倒计时,在一定时间(暂定为 8 tick)没有进行标记后,会擦除这个方向的防倒流标记。 (相比原来更加保守,可以防止更多的倒流的情况)
限制管道流速(v0.3)
TODO,现在功能不完善故不介绍
多合一管道改进(v0.3)
TODO,现在功能不完善故不介绍
管道环境光遮蔽改进(v0.3)
TODO,现在功能不完善故不介绍