View difference between Paste ID: 0Wb4RVsV and AVEmJtrp
SHOW: | | - or go back to the newest paste.
1
m = peripheral.wrap("monitor_2")
2
r = peripheral.wrap("back")
3
c1 = peripheral.wrap("tile_thermalexpansion_cell_hardened_name_2")
4
c2 = peripheral.wrap("tile_thermalexpansion_cell_hardened_name_3")
5
c3 = peripheral.wrap("tile_thermalexpansion_cell_hardened_name_4")
6
--capacitors = 4
7
8
buttonState = r.getActive()
9
buttonLabel = ""
10
if buttonState then
11
  buttonLabel = "Active"
12
else
13
  buttonLabel = "Inactive"
14
end
15
16
powerValues = {}
17
18
function cells()
19
  return c1.getEnergyStored() + c2.getEnergyStored() + c3.getEnergyStored()
20
end
21
22
function cellsMax()
23
  return c1.getMaxEnergyStored() + c2.getMaxEnergyStored() + c3.getMaxEnergyStored()
24
end
25
26
function addCommas(int)
27
  str = tostring(int)
28
  newStr = ""
29
  counter = 1
30
  for i = string.len(str), 1, -1 do
31
    if counter %3 == 0 then
32
      newStr = "," ..string.sub(str, i, i) ..newStr
33
    else
34
      newStr = string.sub(str, i, i) ..newStr
35
    end
36
    counter = counter + 1
37
  end
38
  return newStr
39
end
40
41
function addButton()
42
x, y = m.getSize()
43
44
if buttonState then
45
  m.setBackgroundColor(colors.lime)
46
else
47
  m.setBackgroundColor(colors.red)
48
end
49
50
for i = 1, x, 1 do
51
  m.setCursorPos(i, y - 2)
52
  m.write(" ")
53
end
54
start = (x / 2) - (string.len(buttonLabel) / 2)
55
End = start + string.len(buttonLabel)
56
counter = 1
57
for i = 1, x, 1 do
58
  m.setCursorPos(i, y - 1)
59
  if i < start and i > End then
60
    m.write(" ")
61
  else
62
    m.write(string.sub(buttonLabel, counter, counter))
63
    counter = counter + 1
64
  end
65
end
66
m.setBackgroundColor(colors.black)
67
end
68
function updateScreen()
69
  m.clear()
70
  m.setCursorPos(1, 1)
71
  for k, v in pairs(powerValues) do
72
    m.write(v["Name"] ..": " ..v["Value"])
73
    x, y = m.getCursorPos()
74
    m.setCursorPos(1, y + 1)
75
  end
76
end
77
78
function updateValues()
79
  tempValues = {}
80
  tempValues[1] = {}
81
  tempValues[1]["Name"] = "Energy"
82
  tempValues[1]["Value"] = addCommas(cells()) .." / " ..addCommas(cellsMax())
83
  tempValues[2] = {}
84
  tempValues[2]["Name"] = "Reactor Buffer"
85
  tempValues[2]["Value"] = addCommas(r.getEnergyStored())
86
  tempValues[3] = {}
87
  tempValues[3]["Name"] = "Fuel"
88
  tempValues[3]["Value"] = r.getFuelAmount()
89
  tempValues[4] = {}
90
  tempValues[4]["Name"] = "Waste"
91
  tempValues[4]["Value"] = r.getWasteAmount()
92
  tempValues[5] = {}
93
  tempValues[5]["Name"] = "RF/T"
94
  tempValues[5]["Value"] = r.getEnergyProducedLastTick()
95
  if powerValues ~= tempValues then
96
    powerValues = tempValues
97
    updateScreen()
98
  end
99
end
100
101
while true do 
102
  updateValues()
103
  sleep(0.1)
104
end