本篇教程由作者设定未经允许禁止转载。

众所周知AS里手工浸泡水晶石是一件非常费时且费劲的事情,本文的目的是寻找一种在其他Mod数量较少且可能有大量物品被ban,特别是没有集成动力的环境下(纯AS也许不是不行,但原版的物流恐怕就够你喝一壶了)也能够轻松使用的自动化浸泡水晶石方案。


注意事项:本教程实现于1.12.2,1.16.x理论上可用。内有详细原理讲解,只需抄作业的朋友直接看图下方的说明即可。

由于不考虑集成动力或其他能够根据需要筛选NBT数据的Mod,这个装置暂时不涉及水晶石属性的提纯和优化,只讲解最基础的水晶石增殖原理。下面是我给出的一个实现方案,大小为5 x 4 x 5,可纵向堆叠(不含旁边用来阻止水往外流的玻璃,图中堆叠了两层):

少Mod环境下的AS水晶石自动化增殖方案详细解析-第1张图片

方案中仅使用原版设备(发射器、侦测器、投掷器、漏斗、比较器、中继器、红石火把)和部分TE设备(流体转置机,动能物品管道,伺服器),不使用活塞(太吵)。TE设备非唯一解,如有替代(实际上有很多)可以直接使用替代品,后面会详细说明。


首先我们来分析一下自动化泡水晶方案的需求:

合成表:水晶石(掉落物)+星能液(方块)->水晶石(掉落物)+(水晶石(掉落物))

实际我们能使用的材料:水晶石(物品),星能液(流体),收集的产物也必须为物品。

因此,需要有:

  1. 星能液的放置和检测

  2. 水晶石产物收集

  3. 重新放置新的水晶石


Part1a 星能液的放置和检测

自动放星能液的方式有很多,这里我们采用检测星能液消失的方块更新来实现自动补充星能液。每次星能液被消耗和补充时,都会触发旁边的侦测器发出脉冲信号,从而我们可以利用一个发射器构成的T触发器来实现脉冲(方块更新触发)到状态(是否有星能液)的转换:

少Mod环境下的AS水晶石自动化增殖方案详细解析-第2张图片注意,这里的发射器方向朝下(其实朝旁边也可以主要为了省地方),内部放置一个水桶。当往侦测器面前倒入星能液时,侦测器发出信号激活发射器,发射器倒空水桶后,比较器输出从2变为1,红石灯熄灭,代表系统的状态由需要补充星能液变为正常运作。如果将星能液取出,侦测器将再次激活发射器收回下方的水,比较器输出2,红石灯亮起,代表系统状态变为需要补充星能液(此时,红石灯旁边的方块将被激活)。只要将与红石灯相邻的砂岩方块简单地替换为发射器即可实现自动补充星能液:

少Mod环境下的AS水晶石自动化增殖方案详细解析-第3张图片

建议先放置星能液再放置发射器,最终需要调整到如图所示的状态,发射器内只放置一个星能液桶。这样,一个自动检测并放置星能液的机构就搭建完成了。如果你能够使用BC的水闸等可以直接在世界中放置流体且不造成浪费的机器,也可以用来替代这个方案并无视下一段,因为这些水闸类方块只需要直接往里输入星能液就行了。

Part1b 星能液的自动补充

这里我使用TE的流体转置机和动能物品管道来完成自动装桶并放入发射器的工作。替代品可以选择MEK或EIO的水槽等带有装桶功能的容器(推荐,可以直接设置推拉还不耗电),或IC2的流体装罐机等,只要能完成自动装桶即可(意思是你自己手动装也行)

少Mod环境下的AS水晶石自动化增殖方案详细解析-第4张图片流体转置机设置为右侧输出,左侧和上侧输入,开启自动输出,发射器上的伺服器设置星能液桶为黑名单(或白名单空桶),红石模式禁用。现在如果尝试舀走中间的星能液,发射器将会自动放下新的星能液,流体转置机拿到空桶后进行装桶并放回发射器。至此有关星能液的部分我们就全部完成啦。

- 这里不使用TE机器的自动输入/输出模式主要原因是流体转置机不会检查桶里是否有液体,于是导致转置机拿走装满的桶试图装桶然后卡死。


Part2 水晶石产物收集与放置

我们的目标是每次星能液被消耗时取回生成的所有水晶石,然后放入一个水晶石继续浸泡。为了不影响到附近的其他东西,这里我使用漏斗作为收集容器。可用的替代有TE的真空箱子等各种类似物,但前提是可以用红石控制。

先来简单地考察一下我们收集产物时系统(需要)发生的事件:

  1. 星能液被消耗,T触发器状态变为亮起

  2. (漏斗取消激活,收走所有产物并送入投掷器)

  3. 星能液补充完毕,T触发器状态变回熄灭

  4. (重新激活漏斗,触发投掷器放回一个水晶石)

可以看到漏斗和投掷器的激活实际上与状态检测器的更新是完全同步的,因此我们只需要简单地把状态检测器和收集-发送装置相连...就行?先来看看漏斗和投掷器的摆放:少Mod环境下的AS水晶石自动化增殖方案详细解析-第5张图片

投掷器面向星能液,漏斗直接放置在星能液下方,方向无所谓(当然如果你没有主动抽取的伺服器类装置,就得对准你的管道方向了),伺服器设为主动抽取。

注意,不要使用过慢的物流装置!否则会导致物品还没有进入投掷器,投掷器就被触发导致卡死。漏斗取消激活到投掷器激活之间有10红石刻(1秒)的延迟,因此需要保证物品能在1秒内到达投掷器。如果没有信心的话,也可以在下面的步骤中把红石火把右侧的红石线替换为中继器,最多可以多延迟4红石刻。

实在没有能把物品放进去的东西的话你可以选择使用比较器+投掷器,代价是稍微增加装置的尺寸。


红石连线如下图:

少Mod环境下的AS水晶石自动化增殖方案详细解析-第6张图片左侧的比较器为新放置的,位置在上一段提到的比较器对面。输出经过反相后连接到漏斗,同时经过中继器连接到投掷器上。

此时,当星能液被消耗(状态检测器亮起)时,红石火把熄灭,漏斗被取消激活,收集所有水晶石并送回投掷器。星能液补充完毕瞬间,状态检测器熄灭,红石火把亮起,漏斗重新激活禁止捡起物品,投掷器同时被触发,扔出一个水晶石重新开始浸泡。到目前为止,我们已经实现了大部分所需的功能:将水晶石自动放入星能液浸泡,浸泡完毕后自动收回并补充星能液,如此循环。但是问题来了,如何启动这个小玩意呢?


Part3 添加启动开关和物品缓存
少Mod环境下的AS水晶石自动化增殖方案详细解析-第7张图片

控制装置:如图所示,在砂岩这侧的比较器旁边放置一个拉杆,即可作为装置的开关(拉杆激活时关闭并收走水晶,拉杆关闭瞬间启动)。具体原理:拉杆覆盖了检测器的输出,当拉杆拉起时,红石火把持续熄灭,漏斗启动收走物品。拉杆关闭时,不再覆盖检测器,火把亮起瞬间将激活投掷器放置一个水晶开始浸泡。

缓存装置:这里使用TD的致密动能管道作为低优先级的缓存通道连接到箱子,MEK的阻挡管道等类似物品也可以代替,实现物品优先放入投掷器的目的。最后,记得在星能液上方放置一个方块防止投掷器抽风把水晶石丢到外面。

使用方法:在投掷器中放入水晶石,之后关闭拉杆开始挂机。

装置搭建部分到此结束,我们已经搭建了一个造价低廉,占地较小的全自动浸泡装置。那么这个装置的实际使用效果到底如何呢,接下来我们对无脑浸泡的过程做一点理论分析。


Part4 利用无脑浸泡刷属性的可能性分析

对于造出来给生存模式用的东西,稳定性是首要考虑的。浸泡水晶石过程中可能遇到的问题如下:

  1. 服务器有扫地大妈

    这最为无解的一种情况,没有任何装置能从根源上解决问题,但你可以通过手动启停装置或使用定时器避开扫地大妈来规避。

  2. 有预料之外的生物靠近

    不会造成任何影响除非它把水晶石捡走了。推荐把它鲨了然后把水晶石放回去重启,之后做个围墙防止生物靠近。

  3. 星能液用完了

    稍微分析一下,如果星能液用完,发射器将会收不到新的星能液桶,从而无法放置星能液,也就不能更新装置状态。这时候装置会锁定在关闭状态,水晶石全部被收走,不会造成水晶石丢失或状态错乱之类的问题,但也无法自动在星能液足够的情况下自动重启,重启需要有星能液桶并拆除与发射器连线的红石线(此时为激活状态)重新放置。推荐解决方案:检查星能液容器容量,快用完时关闭装置。

  4. 丢进了奇怪的东西

    显然,没有留缝给你丢东西进去。

  5. 暂时还没想出来有别的问题

    笔者的装置在教程编辑过程中一直正常运转并产出了大约20块水晶石,效率还算能接受。

关于刷出来的水晶石属性:

阅读AS的源码(1.12.2)水晶石生长部分可知,水晶石在浸泡1分钟后,之后每tick都有1/300的几率吸收星能液并增加尺寸(这意味着平均需要75秒来浸泡一个水晶),每次增加尺寸为40-130,当尺寸增加到最大时,每次有1/6的概率碎裂为两个新的水晶,其中一个新的水晶尺寸会很小,纯度随机增加0-10%,另一个水晶纯度不变,尺寸保持较大。因此,只要不停地持续浸泡,水晶的纯度将会不断增长,而水晶的大小则会呈现大多数达到或接近上限,少数大小很小(刚分裂开的新水晶)的分布。综上,实际上只需要持续地浸泡就可以获取大量品质相对优良的水晶石。