我的世界OC电脑红石控制NC裂变堆
前言
若是你只想全自动无脑操控NC裂变堆,现在本人写了另一篇无需手动输入任何参数的版本的版本,使用OC电脑自动化控制NC裂变堆,但是该版本的可能性更多,
只要是需要有周期性启停的,且支持红石信号的机器都可以使用此代码,经过稍微的修改即可运行
代码与使用教程
反应堆全貌
言简意赅,写了个很简易的小程序用于控制不稳定的NC核裂变反应堆,虽然使用原版也可以做到。但是其会频繁启停可能会导致额外的卡顿,
此时借用电脑加上简易代码就可以做到更好的控制。代码如下
local rs = require("component").redstone
local side = require("sides")
print("please input heat capacity")
hc = io.read()
print("please input heat growth")
hg = io.read() * 20
print("please input cooling rate")
cr = io.read() * 20
runtime = math.floor((hc * 0.9) / hg)
coolingtime = math.ceil(runtime * hg / cr)
print("Reactor will run ", runtime, " seconds then stop for cooling ", coolingtime, " seconds")
while(true) do
rs.setOutput(side.back, 1)
os.execute("sleep " .. runtime)
rs.setOutput(side.back, 0)
os.execute("sleep " .. coolingtime)
end
随后准备一个装有红石卡的电脑,装好后将代码随意保存为一个lua脚本,随后运行脚本屏幕会提示输入相应信息
代码效果
打开反应堆,鼠标放置到热量条上方,根据弹出的框体,从上到下依次输入总热容量,净热量产出与冷却速率,冷却速率输入正数即可
所需信息
随后将会自动计算运行多长时间是安全的,随后需要冷却多少时间,为一个循环
可自定义更改代码部分
runtime = math.floor((hc * 0.9) / hg)
代码中的0.9为计算到总热容量的90%即停机冷却,若整合包较为卡顿请酌情降低,我为此付出过惨痛代价
rs.setOutput(side.back, 1)
在设置红石输出的部分,可选的输出有up,down,front,back,right与left,其中left与right为机箱朝向的左与右,根据机箱贴着核反应堆控制器的面决定
基本原理
其基本原理为通过输入的参数计算运行多长时间后会达到设定的热量阈值,随后进行冷却产生的热量又所需要的时间,随后根据计算出来的结果执行循环即可。
运行完程序后屏幕也可以拆掉或是留着,看个人喜好,因为没找到如何编写lua的界面的教程,所以没写图形界面。