initial commit
This commit is contained in:
157
reactorInfo
Normal file
157
reactorInfo
Normal file
@@ -0,0 +1,157 @@
|
||||
AUTOMATIC = true
|
||||
EJECT = true
|
||||
|
||||
function reactorWrite(monitor, reactor)
|
||||
monitor.clear()
|
||||
|
||||
monitor.setCursorPos(1,1)
|
||||
active = tostring(reactor.getActive())
|
||||
monitor.write("Active: ".. active)
|
||||
|
||||
currentFuel = reactor.getFuelAmount()
|
||||
fuelMax = reactor.getFuelAmountMax()
|
||||
fuel = tostring((currentFuel / fuelMax)*100)
|
||||
monitor.setCursorPos(1,2)
|
||||
monitor.write("Fuel: ".. fuel.."%")
|
||||
|
||||
energy = tostring(reactor.getEnergyProducedLastTick())
|
||||
monitor.setCursorPos(1,3)
|
||||
monitor.write("Energy: ".. energy.." RF")
|
||||
|
||||
curStore = reactor.getEnergyStored()
|
||||
maxEnergy = 10000000
|
||||
energyStore = tostring((curStore / maxEnergy)*100)
|
||||
monitor.setCursorPos(1,4)
|
||||
monitor.write("Energy Buffer: "..energyStore.."%")
|
||||
|
||||
if AUTOMATIC then
|
||||
if tonumber(energyStore) > 95 then
|
||||
reactor.setActive(false)
|
||||
monitor.setBackgroundColor(colors.red)
|
||||
end
|
||||
if tonumber(energyStore) < 95 then
|
||||
reactor.setActive(true)
|
||||
monitor.setBackgroundColor(colors.blue)
|
||||
end
|
||||
end
|
||||
|
||||
caseTemp = tostring(reactor.getCasingTemperature())
|
||||
monitor.setCursorPos(1,5)
|
||||
monitor.write("Temperature: "..caseTemp)
|
||||
|
||||
--[[Fuel Bar Graph]]--
|
||||
barWidth = math.floor((tonumber(fuel)/100)*20)
|
||||
makeBarGraph("Fuel: ", 10, 8, 19, 2, false, barWidth, monitor)
|
||||
|
||||
--[[Energy Bar Graph]]--
|
||||
barWidth = math.floor((tonumber(energyStore)/100)*20)
|
||||
makeBarGraph("Energy: ", 10, 11, 19, 2, false, barWidth, monitor)
|
||||
|
||||
--[[Produced Bar Graph]]--
|
||||
barWidth = math.floor((tonumber(energy)/1000000)*20)
|
||||
makeBarGraph("Produced: ", 10, 14, 19, 2, false, barWidth, monitor)
|
||||
|
||||
--[[Temperature Bar Graph]]--
|
||||
barWidth = math.floor((tonumber(caseTemp)/2000)*20)
|
||||
makeBarGraph("Temp: ", 10, 17, 19, 2, true, barWidth, monitor)
|
||||
|
||||
--[[On/off button]]--
|
||||
if reactor.getActive() then
|
||||
color = colors.white
|
||||
label = "ON"
|
||||
else
|
||||
color = colors.black
|
||||
label = "OFF"
|
||||
end
|
||||
makeButton(label, 31, 1,9, 5, color)
|
||||
|
||||
--[[Auto Button]]--
|
||||
if AUTOMATIC then
|
||||
color = colors.white
|
||||
label = "AUTOMATIC"
|
||||
else
|
||||
color = colors.black
|
||||
label = "MANUAL"
|
||||
end
|
||||
makeButton(label, 31, 8,9, 5, color)
|
||||
|
||||
--[[Eject/Accept]]--
|
||||
if EJECT then
|
||||
color = colors.white
|
||||
label = "EJECT"
|
||||
else
|
||||
color = colors.black
|
||||
label = "INTAKE"
|
||||
end
|
||||
makeButton(label, 31, 15,9, 5, color)
|
||||
end
|
||||
|
||||
--[[makes a bar graph for a big reactor]]--
|
||||
--[[str, num, num, num, num, num, bool, monitor]]--
|
||||
function makeBarGraph(label, xpos, ypos, width, height, inverted, barWidth, monitor)
|
||||
|
||||
--[[stops flickering]]--
|
||||
barStart = xpos + barWidth
|
||||
barEnd = width - barWidth
|
||||
|
||||
--[[makes the label]]--
|
||||
monitor.setCursorPos(1, ypos)
|
||||
monitor.write(label)
|
||||
|
||||
--[[makes the first bar]]--
|
||||
firstBar = window.create(monitor, xpos, ypos, width, height)
|
||||
if inverted then
|
||||
firstBar.setBackgroundColor(colors.green)
|
||||
else
|
||||
firstBar.setBackgroundColor(colors.orange)
|
||||
end
|
||||
firstBar.clear()
|
||||
|
||||
--[[makes the middle bar]]--
|
||||
middleBar = window.create(monitor, xpos+2, ypos, width-2, height)
|
||||
middleBar.setBackgroundColor(colors.yellow)
|
||||
middleBar.clear()
|
||||
|
||||
--[[makes the last bar]]--
|
||||
endBar = window.create(monitor, xpos+8, ypos, width-8, height)
|
||||
if inverted then
|
||||
endBar.setBackgroundColor(colors.orange)
|
||||
else
|
||||
endBar.setBackgroundColor(colors.green)
|
||||
end
|
||||
endBar.clear()
|
||||
|
||||
--[[makes the variable bar]]--
|
||||
varBar = window.create(monitor, barStart, ypos, barEnd, height)
|
||||
varBar.setBackgroundColor(colors.black)
|
||||
varBar.clear()
|
||||
|
||||
monitor.setCursorPos(xpos, ypos+2)
|
||||
monitor.write("0%")
|
||||
monitor.setCursorPos(xpos+16, ypos+2)
|
||||
monitor.write("100%")
|
||||
end
|
||||
|
||||
function makeButton(label, xpos, ypos, width, height, color)
|
||||
labelLength = string.len(label)
|
||||
ycenter = ypos + height/2
|
||||
xcenter = xpos + width/2
|
||||
labelStart = (xcenter - labelLength/2)
|
||||
|
||||
border = window.create(monitor, xpos, ypos+1, width, height)
|
||||
border.setBackgroundColor(color)
|
||||
border.clear()
|
||||
|
||||
monitor.setCursorPos(labelStart, ypos)
|
||||
monitor.setTextColor(colors.black)
|
||||
monitor.write(label)
|
||||
end
|
||||
|
||||
while true do
|
||||
reactor = peripheral.wrap("BigReactors-Reactor_0")
|
||||
monitor = peripheral.wrap("monitor_2")
|
||||
reactorWrite(monitor, reactor)
|
||||
monitor = peripheral.wrap("monitor_1")
|
||||
reactorWrite(monitor, reactor)
|
||||
os.sleep(.1)
|
||||
end
|
||||
Reference in New Issue
Block a user