Advertisement
Corbinhol

FurnaceSystem API

Sep 25th, 2022 (edited)
845
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.16 KB | None | 0 0
  1. rednet.open("top");
  2. rednet.host("API", "FurnaceSystem");
  3.  
  4. local status = "loading...";
  5.  
  6. function getData()
  7.     local connected = 0;
  8.     for i = 1,8,1 do
  9.         local furnace = rednet.lookup("furnaceSystem", "Furnace" .. i);
  10.         local from, message;
  11.         if furnace ~= nil then
  12.             rednet.send(furnace, "getStatus", "furnaceSystem");
  13.             from, message = rednet.receive("furnaceSystem", 1);
  14.         end
  15.  
  16.         if message == nil then message = false end
  17.         if from == furnace and message == true then
  18.             connected = connected + 1;
  19.         end
  20.     end
  21.     if connected == 0 then return "Offline";
  22.     elseif connected > 0 and connected < 8 then return "Partially Online"
  23.     elseif connected == 8 then return "Online";
  24.     end
  25. end
  26.  
  27. function main()
  28.     while true do
  29.         status = getData();
  30.         sleep(0);
  31.     end
  32. end
  33.  
  34. function api()
  35.     while true do
  36.         local from, message = rednet.receive("API");
  37.         if message == "getFurnaceData" then
  38.             print(status);
  39.             rednet.send(from, status, "API");
  40.         end
  41.         sleep(0);
  42.     end
  43. end
  44.  
  45. parallel.waitForAny(main, api);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement