Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use = peripheral.wrap("energyDetector_2")
- create = peripheral.wrap("energyDetector_3")
- screen = peripheral.wrap("monitor_0")
- max = 6400
- log = {}
- avgLog = {}
- function update()
- num = 0
- gen = create.getTransferRate()
- spend = use.getTransferRate()
- genperc = ((gen)) / (max) * 100
- useperc = ((spend)) / (max) * 100
- screen.clear()
- screen.setCursorPos(1,1)
- screen.write("Max Power Generation: " ..(max).. " FE/t")
- screen.setCursorPos(1,2)
- screen.write("Current Power Generation: " .. (gen) .." FE/t")
- screen.setCursorPos(1,3)
- screen.write("Current Power Use: " .. (spend) .." FE/t")
- screen.setCursorPos(68,2)
- screen.write(math.floor((genperc)) .."%")
- screen.setCursorPos(68,3)
- screen.write(math.floor((useperc)) .."%")
- --Adds a log. Maxes at an hour
- table.insert(log,1, (spend) )
- table.remove(log, 721)
- for i=1,(#log) do --Adds values of log
- num = num + log[i]
- end
- avg = math.floor(num / #log) --Adverages the log based on its current length
- avgperc = ((avg)) / (max) * 100
- screen.setCursorPos(1,4)
- screen.write("Average Power Use: " ..(avg).. " FE/t")
- screen.setCursorPos(68,4)
- screen.write(math.floor((avgperc)) .."%")
- --
- --Graph based on hourly log
- table.insert(avgLog,1, (avg) )
- table.remove(avgLog, 72)
- for a=1,(#avgLog) do
- for b=1, 10 do
- screen.setCursorPos(a,(20 - b))
- if ((avgLog[a])/(max)) > (b/10) then
- if ((avgLog[a])/(max)) > 1 then
- screen.setTextColour(16384) --red
- elseif ((avgLog[a])/(max)) > 0.70 then
- screen.setTextColour(16) --yellow
- else
- screen.setTextColour(8192) --green
- end
- screen.write("X")
- end
- b = b + 1
- end
- end
- screen.setTextColour(1) --white
- --
- sleep(5)
- update()
- end
- --((avg)/(max)) < ((11-b)/10)
- update()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement