Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- reactor = peripheral.wrap("BigReactors-Reactor_1")
- cell = peripheral.wrap("thermalexpansion:storage_cell_1")
- celldata = cell.getMetadata()
- stored = celldata.energy.stored/1000000
- capacity = celldata.energy.capacity/1000000
- print(stored)
- print(capacity)
- local power = ...
- if power == nil then
- power = capacity-0.5
- end
- print(power)
- level = reactor.getControlRodLevel(0)
- reactor.setAllControlRodLevels(level)
- print(level)
- print("run")
- print()
- if power == "off" then
- reactor.setAllControlRodLevels(100)
- elseif tonumber(power) > 0 then
- run = true
- threshold = 1
- setlevel = tonumber(power)
- storedold = -1
- olddiffrence = -1
- diffrence = 0
- base = 100
- while run do
- os.queueEvent("tmp")
- local evt, key = os.pullEvent()
- if evt == "key" then
- if key == 211 then
- run = false
- end
- end
- celldata = cell.getMetadata()
- stored = celldata.energy.stored/1000000
- if stored ~= storedold then
- diffrence = stored-setlevel
- storedold = stored
- end
- if diffrence ~= olddiffrence then
- speed = diffrence-olddiffrence
- olddiffrence = diffrence
- end
- if diffrence > 0 then
- base = 100
- end
- level = base+((diffrence*(capacity/stored))+speed*3)
- print("level")
- print(level)
- print("base")
- print(base)
- print("speed")
- print(speed)
- if speed < 0.000500 then
- --increase production
- if base > 90 then
- base = base-1
- end
- elseif speed > 0.000500 then
- --decrease production
- if base < 100 then
- base = base+1
- end
- end
- if level >= 100 then
- level = 100
- elseif level <= 60 then
- level = 60
- end
- reactor.setAllControlRodLevels(level)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement