Suppenbiatch

EnergyStorage

Jun 30th, 2019
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.92 KB | None | 0 0
  1. --EnergyStorageMonitorSetUp
  2.  
  3. local cell = peripheral.wrap("draconic_rf_storage_0")
  4. local monitor = peripheral.wrap("monitor_3")
  5. monitor.clear()
  6. monitor.setTextScale(1.25)
  7. sleep(2)
  8.  
  9. function round(num, idp)
  10.   local mult = 10^(idp or 0)
  11.   return math.floor(num * mult + 0.5) / mult
  12. end
  13.  
  14. function formateNumber(n) --http://richard.warburton.it
  15.     n = string.format("%.f", tostring(n))
  16.     local left,num,right = string.match(n,'^([^%d]*%d)(%d*)(.-)$')
  17.     return left..(num:reverse():gsub('(%d%d%d)','%1,'):reverse())..right
  18. end
  19.  
  20. while true do
  21.  
  22.     local energy = cell.getEnergyStored()
  23.     local maxEnergy = cell.getMaxEnergyStored()
  24.     local percentageStorage = (energy / maxEnergy) * 100
  25.     local energytransfer = cell.getTransferPerTick()
  26.  
  27.  
  28.     monitor.setCursorPos(2,2)
  29.     monitor.clearLine()
  30.     monitor.setTextColor(colors.lime)
  31.     monitor.write("Stored Energy Amount: " .. formateNumber(energy) .. " RF.")
  32.     monitor.setCursorPos(2,4)
  33.     monitor.clearLine()
  34.     monitor.write("Energy Capacity: " .. formateNumber(maxEnergy) .. " RF.")
  35.     monitor.setCursorPos(2,6)
  36.     monitor.clearLine()
  37.     monitor.write("Energy transfered: " .. formateNumber(energytransfer) .. " RF/t.")
  38.     monitor.setCursorPos(2,9)
  39.     monitor.clearLine()
  40.     monitor.write("Filled% " .. round(percentageStorage,4) .. "%") 
  41.     --colors.gray
  42.     --PercentrageBar
  43.     local monitorX, monitorY = monitor.getSize()
  44.     local bar = math.floor(((energy/maxEnergy) * (monitorX-2)) + 0.5)
  45.    
  46.     monitor.setCursorPos(2,11)
  47.     monitor.setBackgroundColor(colors.gray)
  48.     monitor.write(string.rep(" ", monitorX-2))
  49.     monitor.setCursorPos(2,11)
  50.     monitor.setBackgroundColor(colors.lime)
  51.     monitor.write(string.rep(" ", bar))
  52.  
  53.     monitor.setCursorPos(2,12)
  54.     monitor.setBackgroundColor(colors.gray)
  55.     monitor.write(string.rep(" ", monitorX-2))
  56.     monitor.setCursorPos(2,12)
  57.     monitor.setBackgroundColor(colors.lime)
  58.     monitor.write(string.rep(" ", bar))
  59.    
  60.     monitor.setBackgroundColor(colors.black)
  61.     sleep(0.2)
  62.     end
Add Comment
Please, Sign In to add comment