View difference between Paste ID: K0vb92jy and X1ScXd1J
SHOW: | | - or go back to the newest paste.
1
--[[
2
   /---------------------------------\
3
   | The Big Reactors Status Display |
4
   \---------------------------------
5
]]
6
 
7
-- =============
8
-- Configuration
9
-- =============
10
 
11
-- This is the side on which your reactor is connected
12-
local turbine0_side = "BigReactors-Turbine_0"
12+
local turbine0_side = "BigReactors-Turbine_2"
13-
local turbine1_side = "BigReactors-Turbine_1"
13+
local turbine1_side = "BigReactors-Turbine_3"
14
-- This is the side on which your monitor is connected
15-
local monitor_side = "right"
15+
local monitor_side = "left"
16
 
17
18
 
19
-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
20
-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
21
 
22
-- If the reactor is not connected, exit the program
23
if not peripheral.isPresent(turbine0_side) then
24
  print("Please check, that the turbine is connected to the same side as in your config!")
25
  return
26
end
27
if not peripheral.isPresent(turbine1_side) then
28
  print("Please check, that the turbine is connected to the same side as in your config!")
29
  return
30
end
31
-- If the monitor is not connected, exit
32
if not peripheral.isPresent(monitor_side) then
33
  print("Please check, that the monitor is connected to the same side as in your config!")
34
  return
35
end
36
 
37
-- Wrap the peripherals
38
local t1 = peripheral.wrap(turbine0_side)
39
local t2 = peripheral.wrap(turbine1_side)
40
while not t1.getConnected() do sleep(10) end
41
while not t2.getConnected() do sleep(10) end
42
local m = peripheral.wrap(monitor_side)
43
 
44
print("The program is now running on the monitor!")
45
 
46
-- BEGIN FUNCTIONS PART
47
function clear()
48
  m.clear()
49
  m.setTextColor(colors.white)
50
  m.setBackgroundColor(colors.black)
51
  m.setCursorPos(1, 1)
52
end
53
 
54
function resetColors()
55
  m.setTextColor(colors.white)
56
  m.setBackgroundColor(colors.black)
57
end
58
 
59
function newLine()
60
  local x, y = m.getCursorPos()
61
  m.setCursorPos(1, y+1)
62
end
63
 
64
function drawUI()
65
  m.write("/---------------------------\\")
66
 
67
  for x = 2, 19, 1 do
68
    m.setCursorPos(1, x)
69
        m.write("|")
70
        m.setCursorPos(29, x)
71
        m.write("|")
72
  end
73
 
74
  m.setCursorPos(2, 8)
75
  m.write("---------------------------")
76
 
77
  m.setCursorPos(1, 19)
78
  m.write("\\---------------------------/")
79
end
80
 
81
-- END FUNCTIONS PART
82
 
83
-- Repeat forever
84
while true do
85
  -- Clear the terminal
86
  clear()
87
  -- Draw the basic UI layout
88
  resetColors() 
89
  drawUI()
90
 
91
  -- Turbine Status
92
  local t1active = t1.getActive()
93
  local t2active = t2.getActive()
94
  m.setCursorPos(3, 2) 
95-
  m.write("Turbine 1: ")
95+
  m.write("Turbine 3: ")
96
  m.setCursorPos(3, 9)
97-
  m.write("Turbine 2: ")
97+
  m.write("Turbine 4: ")
98
  
99
  m.setCursorPos(17, 2)
100
  if t1active then
101
	m.setBackgroundColor(colors.green)
102
    m.setTextColor(colors.white)
103
    m.write("  ACTIVE  ")
104
  else
105
    m.setBackgroundColor(colors.red)
106
    m.setTextColor(colors.white)
107
    m.write(" INACTIVE ")
108
  end
109
  
110
  m.setCursorPos(17, 9)
111
  if t2active then
112
	m.setBackgroundColor(colors.green)
113
    m.setTextColor(colors.white)
114
    m.write("  ACTIVE  ")
115
  else
116
    m.setBackgroundColor(colors.red)
117
    m.setTextColor(colors.white)
118
    m.write(" INACTIVE ")
119
  end
120
  -- END Turbine Status
121
 
122
  -- Turbine RPM
123
  local rpmt1
124
  local rpmt2
125
  resetColors()
126
  rpmt1 = math.ceil(t1.getRotorSpeed())
127
  m.setCursorPos(3, 4)  
128
  m.setTextColor(colors.white)
129
  m.write("Rotor Speed: ")
130
  m.setCursorPos(18, 4)
131
  m.setTextColor(colors.yellow)
132
  m.write(rpmt1 .. " RPM")
133
  
134
  rpmt2 = math.ceil(t2.getRotorSpeed())
135
  m.setCursorPos(3, 11)  
136
  m.setTextColor(colors.white)
137
  m.write("Rotor Speed: ")
138
  m.setCursorPos(18, 11)
139
  m.setTextColor(colors.yellow)
140
  m.write(rpmt2 .. " RPM")
141
  -- END Turbine RPM
142
 
143
  -- Turbine Flow Rate
144
  resetColors()
145
  local flowt1
146
  local flowt2
147
  flowt1 = math.floor(t1.getFluidFlowRate())
148
  m.setCursorPos(3, 5)
149
  m.setTextColor(colors.white)
150
  m.write("Flow Rate:")
151
  m.setCursorPos(18, 5)
152
  m.setTextColor(colors.cyan)
153
  m.write(flowt1 .. " mB/T")
154
  
155
  flowt2 = math.floor(t2.getFluidFlowRate())
156
  m.setCursorPos(3, 12)
157
  m.setTextColor(colors.white)
158
  m.write("Flow Rate:")
159
  m.setCursorPos(18, 12)
160
  m.setTextColor(colors.cyan)
161
  m.write(flowt2 .. " mB/T")
162
  -- END Flow Rate
163
  
164
  
165
  -- Turbine Energy Output
166
  resetColors()
167
  local powert1
168
  local powert2
169
  powert1 = math.floor(t1.getEnergyProducedLastTick())
170
  m.setCursorPos(3, 6)
171
  m.setTextColor(colors.white)
172
  m.write("Energy Output:")
173
  m.setCursorPos(18, 6)
174
  m.setTextColor(colors.purple)
175
  m.write(powert1 .. " RF/T")
176
 
177
  powert2 = math.floor(t2.getEnergyProducedLastTick())
178
  m.setCursorPos(3, 13)
179
  m.setTextColor(colors.white)
180
  m.write("Energy Output:")
181
  m.setCursorPos(18, 13)
182
  m.setTextColor(colors.purple)
183
  m.write(powert2 .. " RF/T")
184
  -- END Energy Output
185
  
186
  -- Total Energy
187
  resetColors()
188
  m.setCursorPos(8, 16)
189
  m.setTextColor(colors.white)
190
  m.write("Total Output:")
191
  resetColors()
192
  m.setCursorPos(10, 17)
193
  m.setTextColor(colors.purple)
194
  m.write(powert1 + powert2.. " RF/T")
195
  -- END Total Energy
196
 
197
  -- Sleep for a 1/4 of a second (decreases CPU load significantly)...
198
  sleep(1)
199
end