Advertisement
sreny

Bigger Reactor Control

Aug 17th, 2022
984
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.07 KB | Gaming | 0 0
  1. sleep(2)
  2. local reactor = peripheral.wrap("back")
  3. local MIN_THRESHOLD = .4
  4. local MAX_THRESHOLD = .8
  5. local previousRodLevel = -1
  6.  
  7. reactor.setActive(true)
  8. capacity = reactor.battery().capacity()
  9.  
  10. while true do
  11. energystorage = reactor.battery().stored()
  12.     ediff = (MAX_THRESHOLD - MIN_THRESHOLD)*capacity
  13.     ediffper = ediff / 100
  14.    
  15.     if energystorage < MIN_THRESHOLD * capacity then
  16.         if 0 ~= previousRodLevel then
  17.             reactor.setAllControlRodLevels(0)
  18.             previousRodLevel = 0
  19.         end
  20.     elseif energystorage > MIN_THRESHOLD*capacity then
  21.         if energystorage >= MAX_THRESHOLD*capacity then
  22.             if 100 ~= previousRodLevel then
  23.                 reactor.setAllControlRodLevels(100)
  24.                 previousRodLevel = 100
  25.             end
  26.         else
  27.             optimalRodLevel = math.floor((energystorage - MIN_THRESHOLD*capacity)/(ediffper+1))
  28.             if optimalRodLevel ~= previousRodLevel then
  29.                 reactor.setAllControlRodLevels(optimalRodLevel)
  30.                 previousRodLevel = optimalRodLevel
  31.             end
  32.         end
  33.     end
  34.     sleep(1)
  35. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement