Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Karps Reactor Control
- --Modified from some Reactor Control CC Stuff (sorry no idea who author is, but he is cool)
- --Implements SunnyD's ProgressBar API
- --Implements Lyqyd's Touchpoint API
- --For 3x3 monitor for now
- -- Get Variables
- function getVars()
- -- Vars
- -- Fuel
- fuelMax = reactor.getFuelAmountMax()
- fuelAmount = reactor.getFuelAmount()
- -- Waste
- wasteMax = reactor.getFuelAmountMax()
- wasteAmount = reactor.getWasteAmount()
- -- Temps
- casingTemp = reactor.getCasingTemperature()
- fuelTemp = reactor.getFuelTemperature()
- -- Flux
- rfStored = reactor.getEnergyStored()
- rfStoredFormat = rfStored / 1000
- rfPerTick = reactor.getEnergyProducedLastTick()
- -- Strings
- fuelAmountText = math.floor(((reactor.getFuelAmount()/reactor.getFuelAmountMax())*100)+0.5)
- wasteAmountText = math.floor(((reactor.getWasteAmount()/reactor.getFuelAmountMax())*100)+0.5)
- casingTempText = math.floor(reactor.getCasingTemperature()*100)+0.5
- end
- -- Get number of rods and make variables
- function getRods(numberRods)
- for i = 0, numberRods do
- rodName = 'r'..i
- rodLevel = (100-(reactor.getControlRodLevel(i)))
- end
- end
- function writeTitles(curX, curY, label, color)
- monitor.setCursorPos(curX, curY)
- monitor.setTextColor(colors..'.'..color)
- monitor.write(label)
- --monitor.setCursorPos(1,5)
- --monitor.write('Control Rod Levels:')
- --monitor.setCursorPos(1,6)
- --monitor.write('R1: ')
- --monitor.setCursorPos(1,7)
- --monitor.write('R2: ')
- --monitor.setCursorPos(1,8)
- --monitor.write('R3: ')
- --monitor.setCursorPos(1,9)
- --monitor.write('R4: ')
- --monitor.setCursorPos(1,11)
- --monitor.write('Temperature:')
- --monitor.setCursorPos(1,12)
- --monitor.setTextColor(colors.lightGray)
- --monitor.write('Casing: ')
- --monitor.setTextColor(colors.yellow)
- --monitor.write('Fuel: ')
- --monitor.setCursorPos(1,15)
- --monitor.write('Flux:')
- end
- -- Draw Bars ProgressBar.SetTable("name", max, current, xMin, xMax, y)
- function drawBars(label, maxAmount, currentAmount, xMin, xMax, y)
- ProgressBar.SetTable(label, maxAmount, currentAmount, xMin, xMax, y)
- --ProgressBar.SetTable("Fuel", fuelMax, fuelAmount, 2,17,2)
- --ProgressBar.SetTable("Waste", wasteMax, wasteAmount, 2,17,3)
- --ProgressBar.SetTable("R1", 100, r1, 4,15,6)
- --ProgressBar.SetTable("R2", 100, r2, 4,15,7)
- --ProgressBar.SetTable("R3", 100, r3, 4,15,8)
- --ProgressBar.SetTable("R4", 100, r4, 4,15,9)
- --ProgressBar.SetTable("CasingTemp", 10000, casingTemp, 9,20,12)
- --ProgressBar.SetTable("FuelTemp", 10000, fuelTemp, 9,20,13)
- end
- function writeControlRods(curX, curY, label, rodNumber)
- monitor.setCursorPos(curX, curY)
- monitor.write(label)
- monitor.setCursorPos(20, curY)
- monitor.write(' '..(100-(reactor.getControlRodLevel(rodNumber)))..'% Depth')
- end
- if not fs.exists('ProgressBar') then
- print('Downloading API...')
- pastebin get rzxj0kkm ProgressBar
- else
- print('You have the API')
- end
- -- Load ProgressBar API
- os.loadAPI("ProgressBar")
- ProgressBar.SetPeripheral("back")
- -- Vars
- emptyflag = 0
- offlineflag = 0
- flashflag = 0
- -- Peripherals
- reactor = peripheral.wrap('BigReactors-Reactor_1')
- monitor = peripheral.wrap('back')
- -- Monitor Settings
- monitor.setTextScale(1)
- monitor.setBackgroundColor(colors.black)
- write("Number of control rods: ")
- userNumberRods = os.read()
- userNumberRods = userNumberRods - 1
- while true do
- monitor.clear()
- sleep(1)
- getVars()
- getRods(userNumberRods)
- for r = 0, numberRods do
- y = 6
- drawBars("", 100, rodLevel, 4, 15, y)
- y = y +1
- end
- ProgressBar.DrawToPeripheral()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement