本篇教程由作者设定使用 CC BY-NC-ND 协议。

记得以前的一次评论中我提到过,我的反应堆只需要一个电脑连接在上面就够了,不需要一大堆管道、电路什么的。这里就是我提到的那台电脑~


  反应堆(含流体反应堆)的自动化一直个是挑战。简单的MARKI反应堆自动化很容易实现,各种强冷反应堆也实现了自动化(我自己还发过一个这方面的教程)。但严格来说,强冷反应堆的自动化是有水分的:其自动化往往只是解决一部分材料,还有一些需要手动。而且有一些特殊的反应堆很难完全自动化,例如:

  • 同时使用多种规格燃料棒的反应堆。例如很经典的440反应堆,同时用到了4联和2联的铀棒。天晓得自动送进来的会是哪一种!

  • 需要替换多种耗材的反应堆(燃料棒也算是一种耗材),例如使用了各种冷却单元或反射板的反应堆。这包括了各种强冷反应堆和高效反应堆。(这里没有格雷,不讨论无限耐久的铱反射板)

  • 需要保留空位置的反应堆。某些情况下我们会希望反应堆中留一些空位置,或是并不需要放那么多的东西进去。传统的自动化很难处理这种情况。

  • 各种脉冲型反应堆(可能烧元件或不烧元件的)

  在这里,我用一台OC的电脑实现了对反应堆的全方面监管,包括温度控制和材料更换。希望能给大家一些启发,也能让大家自己动手开发更多更有趣的东西。

一、硬件环境

  • 我的世界 minecraft 1.7.10

  • 开放式电脑 OpenComputers 1.7.2.1166

  • 工业2实验版 industrialcraft2 2.2.827 experimental

二、设备摆放

OC实现反应堆的终极自动化(含程序)-第1张图片说明:

  • 本程序适用于普通反应堆和流体反应堆。因流体反应堆更复杂,此处以流体反应堆为例。

  • 适配器:这是电脑能够访问反应堆的关键设备。通过它,电脑可以得到反应堆的温度和运行状态。对于普通反应堆,贴边放置即可。但是对于流体反应堆没办法接触,需要在适配器中放进MFU,以达到隔空访问的效果:
    OC实现反应堆的终极自动化(含程序)-第2张图片这个东西的合成比较贵,但是能用得起流体反应堆的人应该不缺这点材料了。把它拿在手里,潜行+右键点击反应堆本身(在外壳还没封闭之前),MFU就记录了反应堆的位置。然后放进适配器,适配器就可以在不接触反应堆的情况下访问它。但是不能距离太远,实测最多也就能拉开2格的距离。

  • 红石I/O端口:用来开启/关闭反应堆。贴在反应堆红石接口上放置。

  • 换位器:用来取出、放入所有需要交换的东西。贴在反应堆访问接口上放置。旁边需要放一个燃料箱和一个废料箱,一个装燃料棒或冷却单元等耗材,一个收集废燃料棒和低耐久的耗材。请注意电脑对于燃料箱中的耗材不检查耐久,也就是说可以把一些用了一半的反射板或冷却单元扔进去继续用。因为燃料棒和废棒是可以从名称上区分的,如果只更换燃料棒的话可以只放一个箱子,而用到其它耗材的必须用2个箱子或是使用类似AE2的ME接口这样的容器(ME接口缓存区可以放燃料棒和替换耗材,而废棒和废耗材放进去时会进入ME网络,不会留在容器中)。顺便说一下,新版本的IC2实验版已经解决了红石冷却单元与青金石冷却单元耐久恢复的问题,不需要外力修改合成表了。但是好象没办法合成了?

三、软件设置

  老样子,电脑可以用最低级的配置就好。只消耗一点铁和少量金,很便宜的!安装好系统后,装上因特网卡,键入 pastebin get PN6nj5Cv reactor.lua ,获得控制程序。(图我不换了)

OC实现反应堆的终极自动化(含程序)-第3张图片  运行它。如果是第一次运行,会让你先设置一下参数:

OC实现反应堆的终极自动化(含程序)-第4张图片  共有5个参数需要设置,分别是红石信号发送方向(以红石I/O端口为基准)和反应堆、燃料箱、废料箱的方向(以换位器为基准),还有过热保护值(0.2就是20%时停机)。各个方向对应实际的南北西东,请认真设置。设置好以后会自动保存,下次启动程序时会提示:

OC实现反应堆的终极自动化(含程序)-第5张图片  程序会自动显示已经保存的配置(顺序就不要太在意了),如果设备没有移动的话直接回车就可以跳过。如果设置有变化,请键入 n ,重新设置。

  程序正常运行时显示如下:

OC实现反应堆的终极自动化(含程序)-第6张图片  第一行是当前游戏中的时间。第二行是反应堆的当前热值及最大热值。第三行是图型化的显示(为了让我远远的也能看到大概情况),第四行平时无内容。第五行是运行状态,第六行是可使用的命令。每个命令中大写字母是热键,最后面那个字母是当前正在执行的命令。当程序刚启动后,最后面的字母是“s”,说明当前是停机状态。按一下“r”,最后面字母改变,程序开始启动反应堆(当然如果反应堆有不符合运行的内容,反应堆还是会待机)。当按下“c”键,就进入前面的配置界面,此时反应堆自动停机,以防在配置过程中出问题。按下“x”键时会先将反应堆停机再退出。

  电脑更换耗材的规则:当发现有物品需要更换时,先停机,然后取出物品,再从燃料箱中查找替换物品,如果找不到,就会出现以下提示并继续查找,直到燃料箱中放进了相应物品才会继续运行。由于所有更换都在停机状态下进行,因此对于恒温MOX反应堆(包括强冷型)不会影响堆温。

OC实现反应堆的终极自动化(含程序)-第7张图片  至于取出的耗材如何处理,相关教程不少了,这里不再浪费时间。

  程序中已经内置了全部IC2的反应堆燃料棒、耗材和散热元件。如果想用格雷等其它模组中的其它燃料和散热元件,请自行添加到程序中:

OC实现反应堆的终极自动化(含程序)-第8张图片


  这里就是各种材料的定义。需要注意:

  • 等号前面的值就是需要从反应堆中查找的物品,如果反应堆中的物品不在这个表格中,那么程序会忽略掉它的存在。

  • 带有item项的,是需要替换的物品。如果没有该项,说明该物品不需要替换,当检测到它耐久不足时,只会停机。散热片和热交换器在正常工作状态下耐久不会低于8000的,如果低了就停机等恢复吧。

  • 带有damage值的,是需要判断耐久的物品。这里设置的值是剩余耐久(以10000为满耐久),对于可能消失的耗材不要设得太小,免得直接被烧掉。被烧掉的东西是没办法被识别和替换的。

四、讨论

  通过这个程序,不仅可以实现440EU反应堆或效率7的反应堆,还可以实现这样的反应堆:

OC实现反应堆的终极自动化(含程序)-第9张图片  这是一个效率6.5的流体反应堆,满负荷产热1200+Hu/s,如果发电效率75%可以得到800Eu/t,即使直接用斯特林发电机也能得到600Eu/t。相当不错了!而且它工作非常平稳,对于燃料短缺的人来说简直是不二之选。当然你也可以用下面的反应堆,它也会正常工作。它的效率更高(7),功率也更高。但是实际使用中它的功率不如上面的那个稳定,你可能需要一个储罐来收集一下热冷却液。长期功率我还没有测试,谁有兴趣可以测试一下哪个功率更高一些。

OC实现反应堆的终极自动化(含程序)-第10张图片

  通过调节过热保护值,本程序也可以用于各种MOX反应堆。但是考虑到安全,最好不要把温度设得太高。万一适配器被熔化掉了而红石I/O端口仍健在,程序会因运行错误而退出,但红石信号却不会消失,结果必然很悲惨。下面这个是我现在用的MOX反应堆,温度稳定控制在安全的8496,兼顾了安全和效率。有两台这样的反应堆估计就可以跳过硅岩直接发展聚变了。
OC实现反应堆的终极自动化(含程序)-第11张图片OC实现反应堆的终极自动化(含程序)-第12张图片

  终上所述,此方案基本上达到了所有类型反应堆的自动化需求,因此我称之为“终极”方案。在这个程序的保护下,你可以放心地随意向反应堆内添加、移除各种物品,即使是新手在第一次搭建反应堆时也能够保证足够的安全。希望大家提出宝贵意见,也希望大家更喜欢OC!


附:更新记录


2018.9.21 version 2.2 pastebin提取码:kaStD3nD

修改内容:

  • 增加了gt5.09.31的物品,包括新的燃料棒和冷却单元。在设置界面多了一个MOD选择,分别对应IC2和gt5。请根据自己所用的MOD进行设定。如果你没有GT5,那就没有必要更新这个版本。

  • 更改了耐久的判定方法(因为GT5的一些物品不是10000满耐久,而是100),改成以百分比控制。


2018.8.29 version2.1 pastebin提取码:PN6nj5Cv

修改内容:

  • 修正了按下“s”键不能立刻停机的错误。2.0版少写了一条语句,按下“s”键后只是停机后不再开机,却不会马上停机。我一直用脉冲反应堆,看不出这个问题,直到我搭了一个经典420反应堆才发现这个BUG。

  • 修改退出热键为x。因为我自己也经常习惯性地按下e键来关闭窗口……


2018.8.25 version2.0 pastebin提取码:1wrvyN4b

修改动机:我对于“忆晨de尘”以前发出的一个教程:IC2斯特林动能核电案例一直印象深刻。该教程中建设了一种定时脉冲的流体反应堆,在流体反应堆的功率方面做到了一种极致。但这个教程非常难以模仿,我就一直在想:能不能在我的程序中实现它的功能呢?经过多次试验,终于在新的程序中完美实现了这个想法,甚至能够更进一步,做出兼顾高功率和高效率的流体反应堆来。

修改内容:

  • 修改界面,允许输入命令:启动;停止;退出;配置。

  • 增加散热元件保护功能,使得程序对于所有类型的反应堆都可以起到保护作用

  • 修改物品表格的格式,不仅简洁易改,也提高了程序检索效率


2018.8.24    version1.0    pastebin提取码:S4v7wcrs