Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- carrot xddddddddddd
- MonitorSide = "right"
- Cell = peripheral.wrap("left")
- Monitor = peripheral.wrap(MonitorSide)
- function ClearMonitor()
- Monitor.setTextColor(colours.black)
- Monitor.setBackgroundColor(colours.black)
- Monitor.clear()
- Monitor.setCursorPos(1,1)
- end
- function DrawText(xPos, yPos, text, textColour, backgroundColour)
- Monitor.setBackgroundColor(backgroundColour)
- Monitor.setTextColor(textColour)
- Monitor.setCursorPos(xPos,yPos)
- Monitor.write(text)
- end
- function DrawLine(xPos, yPos, lineLength, colour)
- Monitor.setBackgroundColor(colour)
- Monitor.setTextColor(colour)
- Monitor.setCursorPos(xPos,yPos)
- Monitor.write(string.rep(" ", lineLength))
- end
- function ProgressBar(xPos, yPos, width, value, maxValue, backgroundColour, progressColour)
- DrawLine(xPos, yPos, width, backgroundColour) --backgoround bar
- local barSize = math.floor((value/maxValue) * width)
- DrawLine(xPos, yPos, barSize, progressColour) --progress so far
- end
- function GroupBoxHeader(xPos, yPos, width, header, textColour, backgroundColour)
- local headerLength = string.len(header)
- local repeatChars = width - 4 - headerLength
- if (repeatChars < 0) then
- repeatChars = 0
- end
- local head = "--- " .. header .. " " .. string.rep("-", repeatChars)
- DrawText(xPos, yPos, head, textColour, backgroundColour)
- end
- function Main()
- local termWriteCounter = 0
- while true do
- os.sleep(0.2)
- Cell = peripheral.wrap("left")
- Monitor = peripheral.wrap(MonitorSide)
- if (Cell ~= nil and Monitor ~= nil) then
- local maxEnergy = Cell.getMaxEnergyStored("unknown")
- local energyLastTick = Cell.getEnergyStored("unknown")
- local currentTicks = os.clock() * 20
- local energyNextTicks = Cell.getEnergyStored("unknown")
- local nextTicks = os.clock() * 20
- local tickDifference = (nextTicks - currentTicks)
- local energyDifference = math.ceil(energyNextTicks - energyLastTick)
- local tickEnergyDifference
- if (tickDifference > 0) then
- tickEnergyDifference = energyDifference / tickDifference
- else
- tickEnergyDifference = energyDifference
- end
- term.clear()
- term.setCursorPos(1, 1)
- print("Max Energy: " .. maxEnergy)
- print("Energy stored last tick: " .. energyLastTick .. " RF/t")
- print("Energy stored last tick: " .. energyLastTick / 1000 .. " KiRF/t")
- print("Energy stored next tick: " .. energyNextTicks)
- print("Energy stored next tick: " .. energyNextTicks / 1000 .. " KiRF/t")
- print("Energy Difference: " .. energyDifference .. " RF/t")
- print("Energy Difference: " .. energyDifference / 1000 .. " KiRF/t")
- print("Last Tick time: " .. currentTicks)
- print("Next Tick time: " .. nextTicks)
- print("Tick Difference: " .. tickDifference)
- print("Energy Difference over passed ticks: " .. tickEnergyDifference)
- local finalEnergyDifference = tickEnergyDifference / 1000
- print("Energy Difference over passed ticks: " .. tickEnergyDifference .. " KiRF/t")
- local w, h = Monitor.getSize()
- ClearMonitor()
- DrawText(2, 2, "Energy Stored", colours.white, colours.black)
- ProgressBar(2, 4, w - 2, energyNextTicks, maxEnergy, colours.grey, colours.green)
- GroupBoxHeader(2, 6, w - 2, "Generated Energy", colours.cyan, colours.black)
- DrawText(2, 8, finalEnergyDifference .. " KiRF/t Generated", colours.white, colours.black)
- end
- end
- end
- Main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement