local URL = "https://john.citrons.xyz/api/minecraft" local framebuf = require("framebuf") local fb = framebuf.new() local function splitw(str) local res = {} for s in str:gmatch("%S+") do table.insert(res,s) end return res end local monitors = splitw(settings.get"john.monitors") if monitors == nil or #monitors < 1 then error("need john.monitors setting") end function main() while true do local h = assert(http.get(URL, {}, true)) fb:ppm(h) local W,H = fb:get_size() local total_width = 0 for ix,iname in ipairs(monitors) do local mon = peripheral.wrap(iname) mon.setTextScale(0.5) total_width = total_width + (mon.getSize())*2 end local leftover = total_width - W print("mmm",total_width,W,leftover) local xoffs = -math.floor(leftover/2) for ix,iname in ipairs(monitors) do print("doing",ix,iname,"at",xoffs) local mon = peripheral.wrap(iname) mon.clear() mon.setTextScale(0.5) local _, bee = pcall(function() fb:present(mon,xoffs,0) end) xoffs = xoffs + (mon.getSize())*2 + 8 -- print(bee) end h.close() os.sleep(30) end end while true do local ok, err = pcall(main) if not ok then print("error",err) os.sleep(5) end end