Advertisement
hypnotizd

Draconic Evolution Pylon Example

Feb 29th, 2016
5,933
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.24 KB | None | 0 0
  1. ----------------------------------------------------------
  2. -- Draconic Evolution Pylon Example                     --
  3. --                                                      --
  4. -- Minecraft FTB Infinity Evolved Episode 69            --
  5. -- https://www.youtube.com/watch?v=u60-JhRAisg          --
  6. --                                                      --
  7. -- YouTube Channel http://youtube.com/hypnotizd         --
  8. ----------------------------------------------------------
  9.  
  10. -- refreshRate in seconds for the monitor to update
  11. local refreshRate = 1
  12. local prevEnergyStored = 0
  13. local diff = 0
  14.  
  15. local pylon = nil
  16. local modem = nil
  17. local modemName = nil
  18. local modemSide = nil
  19. local side = {"front","back","top","bottom","left","right"}
  20.  
  21. local function findModem()
  22.   local ret = nil
  23.   for k,v in pairs(side) do
  24.     local p = peripheral.wrap(v)
  25.     if (p) then
  26.       if (string.find(p.getNamesRemote(v)[1],"draconic")) then
  27.         modemName = p.getNamesRemote(v)[1]
  28.         modemSide = v
  29.         modem = p
  30.         return modemSide
  31.       end
  32.     end
  33.   end
  34.   return nil
  35. end
  36.  
  37. local function comma_value(amount)
  38.   local formatted = amount
  39.   local k = 0
  40.   while true do
  41.     formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
  42.     if (k == 0) then
  43.       break
  44.     end
  45.   end
  46.   return formatted
  47. end
  48.  
  49. local function getEnergyStored()
  50.   return modem.callRemote(modemName, "getEnergyStored")
  51. end
  52.  
  53. local function getMaxEnergyStored()
  54.   return modem.callRemote(modemName, "getMaxEnergyStored")
  55. end
  56.  
  57. local function init()
  58.   findModem()
  59.   if (modemSide == nil) then
  60.     print("Error! No modem found!")
  61.   end
  62. end
  63.  
  64. init()
  65.  
  66. while true do
  67.   local energyStored = getEnergyStored()
  68.   local maxEnergyStored = getMaxEnergyStored()
  69.   local percent = energyStored/maxEnergyStored*100
  70.   diff = (energyStored - prevEnergyStored)/(refreshRate*20)
  71.   term.clear()
  72.   term.setCursorPos(1,1)
  73.   print("    Max Energy: "..comma_value(maxEnergyStored))
  74.   print("Current Energy: "..comma_value(energyStored).." ("..percent.."%)")
  75.   print()
  76.   if (diff > 0) then
  77.     print("     Avg. RF/t: +"..comma_value(diff))
  78.   else
  79.     print("     Avg. RF/t: "..comma_value(diff))
  80.   end
  81.   prevEnergyStored = energyStored
  82.   os.sleep(refreshRate)
  83. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement