Advertisement
Guest User

Untitled

a guest
May 4th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.96 KB | None | 0 0
  1. --pastebin code: G47j7rDW
  2.  
  3. local bridge = peripheral.wrap("left")
  4. local net = peripheral.wrap("back")
  5.  
  6. bridge.clear()
  7.  
  8. local width = 100
  9.  
  10. local storageUnits = {
  11. {
  12. ["id"] = "tile_blockcapacitorbank_name_0",
  13. ["name"] = "Hauptspeicher"
  14. },
  15. {
  16. ["id"] = "tile_thermalexpansion_cell_reinforced_name_0",
  17. ["name"] = "Werkspeicher1"
  18. },
  19. {
  20. ["id"] = "tile_thermalexpansion_cell_reinforced_name_1",
  21. ["name"] = "Werkspeicher2"
  22. },
  23.  
  24. }
  25.  
  26. local offset = 0
  27. for key, storageUnit in pairs(storageUnits) do
  28. if net.getTypeRemote(storageUnit["id"]) == "tile" then
  29. pxOffset = offset * 20
  30. storageUnit["label"] = bridge.addText(4, 4 + pxOffset, storageUnit["name"], 0xffffff)
  31. storageUnit["bar"] = bridge.addBox(4, 14 + pxOffset, 0, 5, 0xCC0000, 0.9)
  32. storageUnit["bar"].setZ(2)
  33. storageUnit["bg"] = bridge.addBox(4, 14 + pxOffset, width, 5, 0x000000, 0.5)
  34. storageUnit["num"] = bridge.addText(4, 24 + pxOffset, "0/0", 0xffffff)
  35. storageUnit["percent"] = bridge.addText(0 + bridge.getStringWidth(storageUnit["name"]), 4 + pxOffset, "##%", 0xffffff)
  36. offset = offset + 2
  37. elseif net.getTypeRemote(storageUnit["id"]) == "harvester" then
  38. pxOffset = offset * 10
  39. storageUnit["label"] = bridge.addText(4, 34 + pxOffset, storageUnit["name"].." :", 0xffffff)
  40. storageUnit["run"] = bridge.addText(0 + bridge.getStringWidth(storageUnit["name"]), 34 + pxOffset, "", 0xffffff)
  41. offset = offset + 1
  42. elseif net.getTypeRemote(storageUnit["id"]) == "planter" then
  43. pxOffset = offset * 10
  44. storageUnit["label"] = bridge.addText(4, 44 + pxOffset, storageUnit["name"].." :", 0xffffff)
  45. storageUnit["run"] = bridge.addText(0 + bridge.getStringWidth(storageUnit["name"]), 44 + pxOffset, "", 0xffffff)
  46. offset = offset + 1
  47. end
  48. end
  49.  
  50. while true do
  51. for i=#storageUnits,1,-1 do
  52. storageUnit = storageUnits[i]
  53. if net.isPresentRemote(storageUnit["id"]) then
  54. if net.getTypeRemote(storageUnit["id"]) == "tile" then
  55. t = peripheral.wrap(storageUnit["id"])
  56. capacity = t.getMaxEnergyStored("")
  57. amount = t.getEnergyStored("")
  58. storageUnit["bar"].setWidth(width / capacity * amount)
  59. perc = math.floor(amount/capacity * 100)
  60. tCap = tostring(capacity)
  61. tAmt = tostring(amount)
  62. tPerc = tostring(perc)
  63. storageUnit["num"].setText(tAmt.."/"..tCap)
  64. storageUnit["percent"].setText(tPerc.."%")
  65. elseif net.getTypeRemote(storageUnit["id"]) == "harvester" or net.getTypeRemote(storageUnit["id"]) == "planter" then
  66. t = peripheral.wrap(storageUnit["id"])
  67. running = t.isActive()
  68. if running == true then
  69. storageUnit["run"].setText("Running")
  70. storageUnit["run"].setColor(0x33cc33)
  71. --storageUnit["label"].setText(storageUnit["name"]..": Running")
  72.  
  73. else
  74. storageUnit["run"].setText("Not Running")
  75. storageUnit["run"].setColor(0xff0000)
  76. --storageUnit["label"].setText(storageUnit["name"]..": Not Running")
  77. end
  78. end
  79. else
  80. if net.getTypeRemote(storageUnit["id"]) == "tile" then
  81. storageUnit["bar"].delete()
  82. storageUnit["bg"].delete()
  83. storageUnit["label"].delete()
  84. storageUnit["num"].delete()
  85. storageUnit["percent"].delte()
  86. table.remove(storageUnits, i)
  87. elseif net.getTypeRemote(storageUnit["id"]) == "harvester" or net.getTypeRemote(storageUnit["id"]) == "planter" then
  88. storageUnit["label"].delete()
  89. storageUnit["run"].delete()
  90. table.remove(storageUnits, i)
  91. end
  92. end
  93. end
  94. sleep(0.5)
  95. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement