ComputerCraft/bures-monitor.lua
2022-07-03 12:29:44 +02:00

50 lines
1.2 KiB
Lua

-- script for monitoring Build Resources
require("printTable")
if not colony.isValid() then
print("Colony is not valid.")
return
end
local monitor = peripheral.find("monitor")
term.redirect(monitor)
local buildings = colony.getBuildings()
local buRes = {}
local function clearMonitor()
monitor.setTextScale(0.5)
monitor.clear()
monitor.setCursorPos(1, 1)
end
local function tFilter(table, func)
local result = {}
for key, value in pairs(table) do
if func(value) then
result:insert(result, value)
end
end
return result
end
local function printBuRes()
for name, list in pairs(buRes) do
term.blit(name, colours.black, colours.white)
for key, value in pairs(list) do
print(value.item.displayName, value.available .. "+" .. value.delivering .. "/" .. value.item.count)
end
end
end
local function bures()
for key, value in pairs(buildings) do
local name = value.name
if name == "" then
name = "Builder " .. value.level
end
buRes[name] = colony.getBuilderResources(value.location)
end
end
buildings = tFilter(buildings, function(value) return value.type == "builder" end)
clearMonitor()