炼药装置作为生存后期的产物,最大的好处就是可以自动化炼药过程,不用守在炼药台旁边添加材料。那么怎么制作炼药装置?如何完成自动炼药?下面小编带大家一起看看。
工具/材料
我的世界
那么这个装置的核心自然就是这个炼药台了。是不是很不科学?如此庞大的红石机构,其核心仍旧是一个小小的炼药台。其他所有的红石都不过是为了达到自动化的辅助。
这是一个经典的炼药装置。上方的漏斗放入材料,侧面的漏斗放入水瓶,下方的漏斗取出药水并放进箱子。但是在药水炼制完成之前,是不可以取出药水的,所以要给下方漏斗一个信号,阻止其传输。
如果想手动取药水的话,这样的一个装置就可以达到目的。但是一旦药水被取走,侧面漏斗又会放入新的水瓶,然后马上被下方漏斗抽走,该怎么处理?
因此需要一个延时装置。当药水被取走之后,比较器输出信号不足,经过中继器延时之后,信号停止,被充能的漏斗可以继续输入水瓶。
解决了水瓶的输入和药水的收取之后,还剩下材料的输入装置。这个装置虽然原理很简单,但是消耗的材料也是最多的。不能自由选择材料,怎么能算是全自动呢?这是材料选择的一个截面。
当拉下拉杆时电路被接通,从下方传递的信号可以被一直传到投掷器中,使投掷器将里面的材料传递到漏斗阵列中。
解决了炼药的3个步骤之后,这个装置就已经可以手动运行了。但是如果想要自动化的话,则需要一套循环检测和延时装置。
先分析一下装置的运行过程(以自动炼药循环为例):
输入炼药信号;
放入材料,并暂时阻断炼药信号输入;
等待炼药完成;
取出药水,补充水瓶;
恢复炼药信号,开始下一个循环。
控制部分就是一个锁存器。锁存器的功能图中已经标了出来。
关键的检测药水炼好的装置,我是如此设计的。我无法检测药水炼制完成,但是我可以检测什么时候最后一个材料进入炼药台,因此只需要计时20s,也就是一个材料需要的时间。
关于比较器输出信号的强度,我搬运一下wiki 的解释:
物品栏检测输出
当容器为空,则无输出。
当容器不为空,输出信号由下式给出:
输出信号强度 = 向下取整{1 + [容器内的物品数量 / (容器的物品槽总数 * 64)] * 14}
例:发射器(9个物品槽)里有300个方块,则输出信号强度为8:1 + (300/(9*64))*14 = 8.292,向下取整(即直接去掉小数部分)之后为8
注:假设一组方块为64个, 无法堆叠的物品(例如矿车)被看做是满堆叠的。
产生特定的输出信号强度
你可以利用比较器的这个特性产生特定的输出信号强度。容器内所需的物品数量可由上式的反函数,即下式给出:
需要的物品数量 = 最大值(需要的信号强度, 向上取整((容器的物品槽总数 * 64 / 14) * (需要的信号强度 - 1) ) )
例:要想使用熔炉(3个物品槽)产生强度为9的信号,你需要110个物品:8与(3*64/14)*(9-1)的最大值为109.714,向上取整后为110。
熔炉中28个物品,信号强度4
漏斗中69个物品,信号强度5
而68个物品的漏斗信号强度也是4
也就是说,当漏斗中攒够了69个物品的时候,计时器才能输出信号
而漏斗传输速度为2.5个/s,69个需要27.6s ,比预期的20s多了不少。但是由于基本是挂机炼药,所以影响并不算大,毕竟你手动添加材料(最多5个材料)也要花费不少时间对吧?
同样采用了漏斗计时器,这次放了23个物品,信号强度从1到2。接近10s的时间足够所有的材料集中到这个漏斗里,再进入下面的检测漏斗。
在服务器里,我把这个装置放在下面,并且用半砖传导上来,无疑复杂了很多,这里应该可以简化。
药水取出的控制装置因为空间不够放在了下面。被红石火把充能的红石粉会充能其右边的方块,达到了阻止炼药台下方漏斗传输的目的。只要输入信号让红石火把熄灭,那么药水就会被取出。
材料不足检测。将信号引到输入信号的阻断装置则可以停止连续炼药过程。
堆叠之后的样子。
水瓶的检测也是一样,增加一个非门,这样当没有水瓶时同样输出信号到阻断装置。
放大了看就是这样,实际上布线要紧凑一些。
当锁存器没有信号的时候,活塞会推出,挡住输入信号。
当炼药结束,锁存器给该装置信号,活塞收回,输入信号又改变锁存器状态。
延时的中继器保证有足够收取药水的时间。
当材料不足时,活塞一直推出,输入信号无法传递到该系统。
收取药水就是一个1s左右的信号缩短。那个红石火把我刚才说过吧?让它熄灭就可以收取药水,但是我们不能让它一直熄灭,因此需要这样的装置。
整个装置的教程大概就是这样了,放一些做好的图。电路都是隐藏的,外面看起来很舒服。
另外,材料检测已经计时装置输入的是持续信号,因此接到锁存器之前必须转化为短信号,上面的两种缩短器都是可以的。