View difference between Paste ID: D4rNtBhE and 0c9EnECj
SHOW: | | - or go back to the newest paste.
1
print('Killakiaba ReactorControl Engaged. View Monitor.')
2
 
3
emptyflag=0
4
offlineflag=0
5
flashflag=0
6
 
7-
reactor=peripheral.wrap('left')
7+
reactor=peripheral.wrap('right')
8-
monitor=peripheral.wrap('right')
8+
monitor=peripheral.wrap('left')
9
 
10
monitor.setTextScale(1)
11
monitor.setBackgroundColor(colors.black)
12
 
13
while true do
14
monitor.clear()
15
monitor.setCursorPos(1,1)
16
monitor.setTextColor(colors.white)
17
monitor.write('Fuel Level:')
18
monitor.setCursorPos(1,2)
19
monitor.setTextColor(colors.yellow)
20
monitor.write(math.floor(((reactor.getFuelAmount()/reactor.getFuelAmountMax())*100)+0.5)..'% Fuel')
21
monitor.setCursorPos(1,3)
22
monitor.setTextColor(colors.lightBlue)
23
monitor.write(math.floor(((reactor.getWasteAmount()/reactor.getFuelAmountMax())*100)+0.5)..'% Waste')
24
monitor.setCursorPos(1,5)
25
monitor.setTextColor(colors.white)
26
monitor.write('Control Rod Levels:')
27
monitor.setTextColor(colors.green)
28
monitor.setCursorPos(1,6)
29
monitor.write('Rod 1:  '..(100-(reactor.getControlRodLevel(0)))..'% Depth')
30
monitor.setCursorPos(1,7)
31
monitor.write('Rod 2:  '..(100-(reactor.getControlRodLevel(1)))..'% Depth')
32
monitor.setCursorPos(1,8)
33
monitor.write('Rod 3:  '..(100-(reactor.getControlRodLevel(2)))..'% Depth')
34
monitor.setCursorPos(1,9)
35
monitor.write('Rod 4:  '..(100-(reactor.getControlRodLevel(3)))..'% Depth')
36
monitor.setCursorPos(1,10)
37
monitor.write('Rod 5:  '..(100-(reactor.getControlRodLevel(4)))..'% Depth')
38
monitor.setCursorPos(1,11)
39
monitor.write('Rod 6:  '..(100-(reactor.getControlRodLevel(5)))..'% Depth')
40
monitor.setCursorPos(1,12)
41
monitor.write('Rod 7:  '..(100-(reactor.getControlRodLevel(6)))..'% Depth')
42
monitor.setCursorPos(1,13)
43
monitor.write('Rod 8:  '..(100-(reactor.getControlRodLevel(7)))..'% Depth')
44
monitor.setCursorPos(1,14)
45
monitor.write('Rod 9:  '..(100-(reactor.getControlRodLevel(8)))..'% Depth')
46
monitor.setCursorPos(1,15)
47
monitor.write('Rod 10:  '..(100-(reactor.getControlRodLevel(9)))..'% Depth')
48
monitor.setCursorPos(1,16)
49
monitor.write('Rod 11:  '..(100-(reactor.getControlRodLevel(10)))..'% Depth')
50
monitor.setCursorPos(1,17)
51
monitor.write('Rod 12:  '..(100-(reactor.getControlRodLevel(11)))..'% Depth')
52
monitor.setCursorPos(1,18)
53
monitor.write('Rod 13:  '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
54
monitor.setCursorPos(1,19)
55
monitor.write('Rod 14:  '..(100-(reactor.getControlRodLevel(13)))..'% Depth')
56
monitor.setCursorPos(22,6)
57
monitor.write('Rod 15:  '..(100-(reactor.getControlRodLevel(14)))..'% Depth')
58
monitor.setCursorPos(22,7)
59
monitor.write('Rod 16:  '..(100-(reactor.getControlRodLevel(15)))..'% Depth')
60
monitor.setCursorPos(22,8)
61
monitor.write('Rod 17:  '..(100-(reactor.getControlRodLevel(16)))..'% Depth')
62
monitor.setCursorPos(22,9)
63
monitor.write('Rod 18:  '..(100-(reactor.getControlRodLevel(17)))..'% Depth')
64
monitor.setCursorPos(22,10)
65
monitor.write('Rod 19:  '..(100-(reactor.getControlRodLevel(18)))..'% Depth')
66
monitor.setCursorPos(22,11)
67
monitor.write('Rod 20:  '..(100-(reactor.getControlRodLevel(19)))..'% Depth')
68
monitor.setCursorPos(22,12)
69
monitor.write('Rod 21:  '..(100-(reactor.getControlRodLevel(20)))..'% Depth')
70
monitor.setCursorPos(22,13)
71
monitor.write('Rod 22:  '..(100-(reactor.getControlRodLevel(21)))..'% Depth')
72
monitor.setCursorPos(22,14)
73
monitor.write('Rod 23:  '..(100-(reactor.getControlRodLevel(22)))..'% Depth')
74
monitor.setCursorPos(22,15)
75
monitor.write('Rod 24:  '..(100-(reactor.getControlRodLevel(23)))..'% Depth')
76
monitor.setCursorPos(22,16)
77
monitor.write('Rod 25:  '..(100-(reactor.getControlRodLevel(24)))..'% Depth')
78
monitor.setCursorPos(22,17)
79
monitor.write('Rod 26:  '..(100-(reactor.getControlRodLevel(25)))..'% Depth')
80
monitor.setCursorPos(22,18)
81
monitor.write('Rod 27:  '..(100-(reactor.getControlRodLevel(26)))..'% Depth')
82-
monitor.setCursorPos(1,20)
82+
monitor.setCursorPos(22,19)
83
monitor.write('Rod 28:  '..(100-(reactor.getControlRodLevel(27)))..'% Depth')
84-
monitor.setCursorPos(1,21)
84+
monitor.setCursorPos(43,6)
85
monitor.write('Rod 29:  '..(100-(reactor.getControlRodLevel(28)))..'% Depth')
86
monitor.setCursorPos(43,7)
87
monitor.write('Rod 30:  '..(100-(reactor.getControlRodLevel(29)))..'% Depth')
88
monitor.setCursorPos(43,8)
89
monitor.write('Rod 31:  '..(100-(reactor.getControlRodLevel(30)))..'% Depth')
90
monitor.setCursorPos(43,9)
91
monitor.write('Rod 32:  '..(100-(reactor.getControlRodLevel(31)))..'% Depth')
92
monitor.setCursorPos(43,10)
93
monitor.write('Rod 33:  '..(100-(reactor.getControlRodLevel(32)))..'% Depth')
94
monitor.setCursorPos(43,11)
95
monitor.write('Rod 34:  '..(100-(reactor.getControlRodLevel(33)))..'% Depth')
96-
monitor.setCursorPos(1,27)
96+
monitor.setCursorPos(43,12)
97
monitor.write('Rod 35:  '..(100-(reactor.getControlRodLevel(34)))..'% Depth')
98-
monitor.setCursorPos(1,28)
98+
monitor.setCursorPos(43,13)
99
monitor.write('Rod 36:  '..(100-(reactor.getControlRodLevel(35)))..'% Depth')
100-
monitor.setCursorPos(1,29)
100+
monitor.setCursorPos(43,14)
101
monitor.write('Rod 37:  '..(100-(reactor.getControlRodLevel(36)))..'% Depth')
102-
monitor.setCursorPos(1,30)
102+
monitor.setCursorPos(43,15)
103
monitor.write('Rod 38:  '..(100-(reactor.getControlRodLevel(37)))..'% Depth')
104-
monitor.setCursorPos(1,31)
104+
monitor.setCursorPos(43,16)
105
monitor.write('Rod 39:  '..(100-(reactor.getControlRodLevel(38)))..'% Depth')
106-
monitor.setCursorPos(1,32)
106+
monitor.setCursorPos(43,17)
107
monitor.write('Rod 40:  '..(100-(reactor.getControlRodLevel(39)))..'% Depth')
108-
monitor.setCursorPos(1,33)
108+
monitor.setCursorPos(43,18)
109
monitor.write('Rod 41:  '..(100-(reactor.getControlRodLevel(40)))..'% Depth')
110-
monitor.setCursorPos(1,34)
110+
111
112
113
monitor.setTextColor(colors.white)
114
monitor.write('Temperature:')
115-
monitor.setCursorPos(1,35)
115+
116
monitor.setTextColor(colors.lightGray)
117
monitor.write('Casing: ')
118
if reactor.getCasingTemperature()>=650 then
119
    monitor.setTextColor(colors.purple)
120
    else if reactor.getCasingTemperature()>=950 then
121
        monitor.setTextColor(colors.red)
122
    else
123
        monitor.setTextColor(colors.green)
124
    end
125
end
126
monitor.write(reactor.getCasingTemperature()..'C')
127
 
128-
monitor.setCursorPos(1,36)
128+
129
monitor.setTextColor(colors.yellow)
130
monitor.write('Fuel: ')
131
if reactor.getFuelTemperature()>=650 then
132
  monitor.setTextColor(colors.purple)
133
  else if reactor.getFuelTemperature()>=950 then
134
    monitor.setTextColor(colors.red)
135
  else
136
 monitor.setTextColor(colors.green)
137
  end
138
end
139
monitor.write(reactor.getFuelTemperature()..'C')
140
 
141-
monitor.setCursorPos(1,37)
141+
142
monitor.setTextColor(colors.white)
143
monitor.write('Flux:')
144-
monitor.setCursorPos(1,38)
144+
145
monitor.setTextColor(colors.green)
146
monitor.write(reactor.getEnergyStored()..' RF Stored      ')
147
 
148
if reactor.getEnergyProducedLastTick()>=500 and reactor.getEnergyProducedLastTick()<2000 then
149
    monitor.setTextColor(colors.orange)
150
end
151
 
152
if reactor.getEnergyProducedLastTick()>=2000 then
153
    monitor.setTextColor(colors.red)
154
end
155
monitor.write((math.floor(reactor.getEnergyProducedLastTick()+0.5))..'RF/t')
156
 
157-
monitor.setCursorPos(1,39)
157+
158
monitor.setTextColor(colors.orange)
159
monitor.write('Warnings:')
160
 
161
if flashflag==0 then
162
  flashflag=1
163
  if offlineflag==1 then
164-
    monitor.setCursorPos(1,40)
164+
    monitor.setCursorPos(1,27)
165
    monitor.setTextColor(colors.lightGray)
166
    monitor.write('OFFLINE - Manual Override')
167
  end
168
  if emptyflag==1 then
169-
    monitor.setCursorPos(1,41)
169+
    monitor.setCursorPos(1,28)
170
    monitor.setTextColor(colors.pink)
171
    monitor.write('OFFLINE - Fuel Exhausted')
172
  end
173
  if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)>75 then
174-
    monitor.setCursorPos(1,41)
174+
    monitor.setCursorPos(1,28)
175
    monitor.setTextColor(colors.yellow)
176
    monitor.write('ONLINE - Low Power Mode')
177
  end
178
  if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)<=75 then
179-
    monitor.setCursorPos(1,41)
179+
    monitor.setCursorPos(1,28)
180
    monitor.setTextColor(colors.orange)
181
    monitor.write('ONLINE - High Power Mode')
182
  end
183
else
184
  flashflag=0
185-
  monitor.setCursorPos(1,41)
185+
  monitor.setCursorPos(1,28)
186
  monitor.clearLine()
187
end
188
 
189
if reactor.getEnergyStored()<=10000000 and reactor.getEnergyStored()>100 then
190
    reactor.setAllControlRodLevels(0+(math.floor(reactor.getEnergyStored()/100000)))
191
else
192
    reactor.setAllControlRodLevels(0)
193
end
194
 
195
if reactor.getFuelAmount()<=100 and offlineflag==0 then
196
    reactor.setAllControlRodLevels(100)
197
    reactor.setActive(false)
198
    emptyflag=1
199
else
200
    emptyflag=0
201
end
202
     
203
if rs.getInput('bottom')==false and emptyflag==0 then
204
    reactor.setActive(true)
205
    offlineflag=0
206
end
207
 
208
if rs.getInput('bottom')==true and emptyflag==0 then
209
    reactor.setActive(false)
210
    reactor.setAllControlRodLevels(100)
211
    offlineflag=1
212
end    
213
sleep(1)
214
end