SHOW:
|
|
- or go back to the newest paste.
1 | print('ReactorControl Engaged. View Monitor.') | |
2 | ||
3 | emptyflag=0 | |
4 | offlineflag=0 | |
5 | flashflag=0 | |
6 | ||
7 | reactor=peripheral.wrap('back') | |
8 | monitor=peripheral.wrap('right') | |
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 5: '..(100-(reactor.getControlRodLevel(4)))..'% Depth') | |
40 | monitor.setCursorPos(1,12) | |
41 | monitor.write('Rod 5: '..(100-(reactor.getControlRodLevel(4)))..'% Depth') | |
42 | monitor.setCursorPos(1,13) | |
43 | monitor.write('Rod 5: '..(100-(reactor.getControlRodLevel(4)))..'% Depth') | |
44 | ||
45 | ||
46 | monitor.setCursorPos(1,15) | |
47 | monitor.setTextColor(colors.white) | |
48 | monitor.write('Temperature:') | |
49 | monitor.setCursorPos(1,16) | |
50 | monitor.setTextColor(colors.lightGray) | |
51 | monitor.write('Casing: ') | |
52 | if reactor.getCasingTemperature()>=650 then | |
53 | monitor.setTextColor(colors.purple) | |
54 | - | monitor.setCursorPos(1,14) |
54 | + | |
55 | monitor.setTextColor(colors.red) | |
56 | else | |
57 | monitor.setTextColor(colors.green) | |
58 | end | |
59 | end | |
60 | monitor.write(reactor.getCasingTemperature()..'C') | |
61 | ||
62 | monitor.setCursorPos(1,17) | |
63 | monitor.setTextColor(colors.yellow) | |
64 | monitor.write('Fuel: ') | |
65 | if reactor.getFuelTemperature()>=650 then | |
66 | monitor.setTextColor(colors.purple) | |
67 | else if reactor.getFuelTemperature()>=950 then | |
68 | monitor.setTextColor(colors.red) | |
69 | else | |
70 | monitor.setTextColor(colors.green) | |
71 | end | |
72 | end | |
73 | monitor.write(reactor.getFuelTemperature()..'C') | |
74 | ||
75 | monitor.setCursorPos(1,18) | |
76 | monitor.setTextColor(colors.white) | |
77 | monitor.write('Flux:') | |
78 | monitor.setCursorPos(1,19) | |
79 | monitor.setTextColor(colors.green) | |
80 | monitor.write(reactor.getEnergyStored()..' RF Stored ') | |
81 | ||
82 | if reactor.getEnergyProducedLastTick()>=500 and reactor.getEnergyProducedLastTick()<2000 then | |
83 | monitor.setTextColor(colors.orange) | |
84 | end | |
85 | ||
86 | if reactor.getEnergyProducedLastTick()>=2000 then | |
87 | monitor.setTextColor(colors.red) | |
88 | end | |
89 | monitor.write((math.floor(reactor.getEnergyProducedLastTick()+0.5))..'RF/t') | |
90 | - | monitor.setCursorPos(1,20) |
90 | + | |
91 | monitor.setCursorPos(1,20) | |
92 | monitor.setTextColor(colors.orange) | |
93 | monitor.write('Warnings:') | |
94 | ||
95 | - | monitor.setCursorPos(1,20) |
95 | + | |
96 | flashflag=1 | |
97 | if offlineflag==1 then | |
98 | monitor.setCursorPos(1,21) | |
99 | monitor.setTextColor(colors.lightGray) | |
100 | - | monitor.setCursorPos(1,20) |
100 | + | |
101 | end | |
102 | if emptyflag==1 then | |
103 | monitor.setCursorPos(1,21) | |
104 | monitor.setTextColor(colors.pink) | |
105 | - | monitor.setCursorPos(1,20) |
105 | + | |
106 | end | |
107 | if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)>75 then | |
108 | monitor.setCursorPos(1,21) | |
109 | monitor.setTextColor(colors.yellow) | |
110 | monitor.write('ONLINE - Low Power Mode') | |
111 | - | monitor.setCursorPos(1,20) |
111 | + | |
112 | if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)<=75 then | |
113 | monitor.setCursorPos(1,21) | |
114 | monitor.setTextColor(colors.orange) | |
115 | monitor.write('ONLINE - High Power Mode') | |
116 | end | |
117 | else | |
118 | flashflag=0 | |
119 | monitor.setCursorPos(1,21) | |
120 | monitor.clearLine() | |
121 | end | |
122 | ||
123 | if reactor.getEnergyStored()<=10000000 and reactor.getEnergyStored()>100 then | |
124 | reactor.setAllControlRodLevels(0+(math.floor(reactor.getEnergyStored()/100000))) | |
125 | else | |
126 | reactor.setAllControlRodLevels(0) | |
127 | end | |
128 | ||
129 | if reactor.getFuelAmount()<=100 and offlineflag==0 then | |
130 | reactor.setAllControlRodLevels(100) | |
131 | reactor.setActive(false) | |
132 | emptyflag=1 | |
133 | else | |
134 | emptyflag=0 | |
135 | end | |
136 | ||
137 | if rs.getInput('bottom')==false and emptyflag==0 then | |
138 | reactor.setActive(true) | |
139 | offlineflag=0 | |
140 | end | |
141 | ||
142 | if rs.getInput('bottom')==true and emptyflag==0 then | |
143 | reactor.setActive(false) | |
144 | reactor.setAllControlRodLevels(100) | |
145 | offlineflag=1 | |
146 | end | |
147 | sleep(1) | |
148 | end |