Advertisement
ksen145

Untitled

Feb 27th, 2023
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.95 KB | None | 0 0
  1. local reactorSide, reactor, monitorSide, monitor
  2. local rodsLevel, rodsNum, reactorCap, clock
  3. require "socket"
  4.  
  5. local function sleep(sec)
  6.     socket.select(nil, nil, sec)
  7. end
  8.  
  9. local function getPeripheral(name)
  10.     for i, v in pairs(peripheral.getNames()) do
  11.         if (peripheral.getType(v) == name) then
  12.             return v
  13.         end
  14.     end
  15.     return ""
  16. end
  17.  
  18. local function drawBox(size, xoff, yoff, color)
  19.     if (monitorSide ~= nil) then
  20.         local x,y = monitor.getCursorPos()
  21.         monitor.setBackgroundColor(color)
  22.         for i=0,size[1] - 1 do
  23.             monitor.setCursorPos(xoff + i + 1, yoff + 1)
  24.             monitor.write(" ")
  25.             monitor.setCursorPos(xoff + i + 1, yoff + size[2])
  26.             monitor.write(" ")
  27.         end
  28.         for i=0, size[2] - 1 do
  29.             monitor.setCursorPos(xoff + 1, yoff + i + 1)
  30.             monitor.write(" ")
  31.             monitor.setCursorPos(xoff + size[1], yoff + i +1)
  32.             monitor.write(" ")
  33.         end
  34.         monitor.setCursorPos(x,y)
  35.         monitor.setBackgroundColor(colors.black)
  36.     end
  37. end
  38.  
  39.  
  40. reactorSide = getPeripheral("BigReactors-Reactor")
  41. reactor = peripheral.wrap(reactorSide)
  42.  
  43. monitorSide = getPeripheral("monitor")
  44. monitor = peripheral.wrap(monitorSide)
  45.  
  46. monitor.clear()
  47. monitor.setCursorPos(1,1)
  48.  
  49. monitor.write("All Rods"..reactor.getNumberOfControlRods())
  50.  
  51. while True do
  52.     rodsNum = reactor.getNumberOfControlRods()
  53.     rodsLevel = 0
  54.  
  55.     reactorCap = reactor.getEnergyProducedLastTick()
  56.  
  57.     sleep(1)    
  58.  
  59.     rodsLevel = reactor.getControlRodLevel(1)
  60.  
  61.     if(reactorCap > reactor.getEnergyProducedLastTick()) then
  62.         reactor.setAllControlRodLevels(rodsLevel-1)
  63.     end
  64.  
  65.     if(reactorCap < reactor.getEnergyProducedLastTick()) then
  66.         reactor.setAllControlRodLevels(rodsLevel+1)
  67.     end
  68.  
  69.     monitor.clear()
  70.     monitor.setCursorPos(1,1)
  71.     monitor.write("All Rods"..reactor.getNumberOfControlRods()..rodsLevel)
  72.  
  73. end
Tags: reactor
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement