View difference between Paste ID: HW4Ri2ZT and xdFQJSZM
SHOW: | | - or go back to the newest paste.
1
local monitor = peripheral.wrap("monitor_1")
2
local capacitor = peripheral.wrap("tile_blockcapacitorbank_name_1")
3
local reactor = peripheral.wrap("BigReactors-Reactor_0")
4
local turbine_1 = peripheral.wrap("BigReactors-Turbine_0")
5
local turbine_2 = peripheral.wrap("BigReactors-Turbine_1")
6
local turbine_3 = peripheral.wrap("BigReactors-Turbine_2")
7
local turbine_4 = peripheral.wrap("BigReactors-Turbine_4")
8
9
monitor.setTextColor(1)
10
monitor.setBackgroundColor(128)
11
monitor.clear()
12
local width, height = monitor.getSize()
13
print("Monitor size: Columns:"..width..", Rows:"..height)
14-
capacitorCount = 56
14+
15
makePercent = 100
16
capacitorCount = 112
17
capacitorBasic = 1000000
18
capacitorStandard = 5000000
19
capacitorVibrant = 25000000
20
totalCapacity = (capacitorCount) * (capacitorVibrant)
21
22
reactorRunning = false
23
reactor.setActive(false)
24
turbine_1.setActive(true)
25
turbine_1.setInductorEngaged(false)
26
turbine_2.setActive(true)
27
turbine_2.setInductorEngaged(false)
28
turbine_3.setActive(true)
29
turbine_3.setInductorEngaged(false)
30
turbine_4.setActive(true)
31
turbine_4.setInductorEngaged(false)
32
33
34
35
36
while true do
37
  capacitorLevel = capacitor.getEnergyStored()
38
  capacitorAdjusted = (capacitorLevel) * (capacitorCount)
39
  capacitorFillPct = ((capacitorAdjusted) / (totalCapacity)) * (100)
40
  capacitorInt = math.floor(capacitorFillPct)
41
  
42
  reactorCasingTemp = math.floor(reactor.getCasingTemperature())
43
  reactorRodLevel = reactor.getControlRodLevel(1)
44
  
45
  turbineSpeed_1 = math.floor(turbine_1.getRotorSpeed())
46
  turbineSpeed_2 = math.floor(turbine_2.getRotorSpeed())
47
  turbineSpeed_3 = math.floor(turbine_3.getRotorSpeed())
48
  turbineSpeed_4 = math.floor(turbine_4.getRotorSpeed())
49-
    elseif (reactorCasingTemp >= 720) and (reactorRodLevel ~= 80) then
49+
50-
      reactor.setAllControlRodLevels(60)
50+
51
    reactorRunning = true
52
  elseif (capacitorFillPct >=99) and (reactorRunning == true) then
53
    reactorRunning = false
54
  end
55
  
56
  if reactorRunning == true then
57
    reactor.setActive(true)
58
    if reactor.getActive() == false then
59
      reactor.setActive(true)
60
    end
61
    if reactorCasingTemp < 720 and (reactorRodLevel ~= 0) then
62
      reactor.setAllControlRodLevels(0)
63
    elseif (reactorCasingTemp >= 720) and (reactorRodLevel ~= 30) then
64
      reactor.setAllControlRodLevels(30)
65
    end
66
    if (reactorCasingTemp >= 720) then
67
      if (turbineSpeed_1 < 1780) and (turbine_1.getFluidFlowRateMax() ~= 2000) then
68
        turbine_1.setFluidFlowRateMax(2000)
69
      end
70
      if (turbineSpeed_2 < 1780) and (turbine_2.getFluidFlowRateMax() ~= 2000) then
71
        turbine_2.setFluidFlowRateMax(2000)
72
      end
73
      if (turbineSpeed_3 < 1780) and (turbine_3.getFluidFlowRateMax() ~= 2000) then
74
        turbine_3.setFluidFlowRateMax(2000)
75
      end
76
      if (turbineSpeed_4 < 1780) and (turbine_4.getFluidFlowRateMax() ~= 2000) then
77
        turbine_4.setFluidFlowRateMax(2000)
78
      end
79
      if (turbineSpeed_1 > 1780) and (turbineSpeed_1 <= 1850) and (turbine_1.getFluidFlowRateMax() ~= 2000) then
80
        turbine_1.setFluidFlowRateMax(2000)
81
        turbine_1.setInductorEngaged(true)
82
      end
83
      if (turbineSpeed_2 > 1780) and (turbineSpeed_2 <= 1850) and (turbine_2.getFluidFlowRateMax() ~= 2000) then
84
        turbine_2.setFluidFlowRateMax(2000)
85
        turbine_2.setInductorEngaged(true)
86
      end
87
      if (turbineSpeed_3 > 1780) and (turbineSpeed_3 <= 1850) and (turbine_3.getFluidFlowRateMax() ~= 2000) then
88
        turbine_3.setFluidFlowRateMax(2000)
89
        turbine_3.setInductorEngaged(true)
90
      end
91
      if (turbineSpeed_4 > 1780) and (turbineSpeed_4 <= 1850) and (turbine_4.getFluidFlowRateMax() ~= 2000) then
92
        turbine_4.setFluidFlowRateMax(2000)
93
        turbine_4.setInductorEngaged(true)
94
      end
95
      if (turbineSpeed_1 > 1850) and (turbine_1.getFluidFlowRateMax() ~= 0) then
96
        turbine_1.setFluidFlowRateMax(0)
97
      end
98
      if (turbineSpeed_2 > 1850) and (turbine_2.getFluidFlowRateMax() ~= 0) then
99
        turbine_2.setFluidFlowRateMax(0)
100
      end
101
      if (turbineSpeed_3 > 1850) and (turbine_3.getFluidFlowRateMax() ~= 0) then
102
        turbine_3.setFluidFlowRateMax(0)
103
      end
104
      if (turbineSpeed_4 > 1850) and (turbine_4.getFluidFlowRateMax() ~= 0) then
105
        turbine_4.setFluidFlowRateMax(0)
106
      end
107
    end
108
  end
109
  
110
  if reactorRunning == false then
111
    reactor.setActive(false)
112
    if reactor.getActive == true then
113
      reactor.setActive(false)
114
    end
115
    if turbine_1.getFluidFlowRateMax() ~= 0 then
116
      turbine_1.setFluidFlowRateMax(0)
117
    end
118
    if turbine_1.getInductorEngaged() ~= false then
119
      turbine_1.setInductorEngaged(false)
120
    end
121
    if turbine_2.getFluidFlowRateMax() ~= 0 then
122
      turbine_2.setFluidFlowRateMax(0)
123
    end
124
    if turbine_2.getInductorEngaged() ~= false then
125
      turbine_2.setInductorEngaged(false)
126
    end
127
    if turbine_3.getFluidFlowRateMax() ~= 0 then
128
      turbine_3.setFluidFlowRateMax(0)
129
    end
130
    if turbine_3.getInductorEngaged() ~= false then
131
      turbine_3.setInductorEngaged(false)
132
    end
133
    if turbine_4.getFluidFlowRateMax() ~= 0 then
134
       turbine_4.setFluidFlowRateMax(0)
135
    end
136
    if turbine_4.getInductorEngaged() ~= false then
137
      turbine_4.setInductorEngaged(false)
138
    end
139
  end
140
  
141
  --monitor.drawBox(1,14,20,26)
142
  monitor.setCursorPos(1,1)
143
  monitor.write(capacitorInt)
144
  monitor.setCursorPos(1,2)
145
  monitor.write(turbineSpeed_1)
146
  monitor.setCursorPos(1,3)
147
  monitor.write(turbineSpeed_2)
148
  monitor.setCursorPos(1,4)
149
  monitor.write(turbineSpeed_3)
150
  monitor.setCursorPos(1,5)
151
  monitor.write(turbineSpeed_4)
152
  sleep(0.2)
153
  monitor.clear()
154
end