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 |