View difference between Paste ID: X3kUScYW and hkVB4B1a
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