local refill_when = function(amt) return amt < 2 end
local refill_amt = 2
-local monitor = peripheral.wrap("monitor_1")
+local main_monitor = peripheral.wrap("monitor_1")
local treefarm_monitor = peripheral.wrap("monitor_0")
-local coal_barrels_1 = {}
+local coal_barrels = {}
for _,n in pairs({ "0", "1" }) do
local prefix = "sophisticatedstorage:limited_barrel_"
coal_barrels[prefix..n] = peripheral.wrap(prefix..n)
end
end
-local print_stats = function(to, stock)
+local print_stats = function(monitor, stock)
local total_coal = 0
local str = ""
for k,v in pairs(stock) do
total_coal = total_coal + v
- str = str..tostring(v).." in "..string.match(k, "barrel_%d+$").."\n"
+ str = str.." + "..tostring(v)
end
- m.clear()
- m.setCursorPos(1,1)
- m.write(tostring(num_deployers).." deployers connected\n\n")
- m.write(tostring(num_deployers/2).." charcoal/minute needed\n")
- m.write(tostring(total_coal).." available\n"..str)
- m.write("refreshes once every minute")
+ monitor.clear()
+ monitor.setTextColor(1)
+ monitor.setCursorPos(1,1)
+ monitor.write(tostring(num_deployers).." burners")
+ monitor.setCursorPos(1,2)
+ monitor.write(tostring(num_deployers/2).." charcoal/minute needed")
+ monitor.setCursorPos(1,3)
+ monitor.write(tostring(total_coal).." available")
+ monitor.setCursorPos(1,4)
+ monitor.setTextColor(128)
+ monitor.write(string.gsub(str, "^%s++%s*", ""))
+ monitor.setCursorPos(1,6)
+ monitor.write("refreshes once every minute")
end
local spinner_chars = {"\\","-","/","|"}
local spinner_timer = os.startTimer(0)
while true do
- local e = table.pack(os.pullSignal())
+ local e = table.pack(os.pullEvent())
if e[1] == "monitor_touch" and e[2] == treefarm_monitor then
treefarm_monitor.write(spinner())
elseif e[1] == "timer" and e[2] == main_timer then
print_stats(main_monitor, stock)
feed(stock)
elseif e[1] == "timer" and e[2] == spinner_timer then
- spinner_timer(0.5)
+ spinner_timer = os.startTimer(0.5)
local s = spinner()
- main_monitor.setCursorPos(29,12)
+ main_monitor.setCursorPos(27,10)
+ monitor.setTextColor(1)
main_monitor.write(s)
end
end