Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Reaktorprogramm (ohne Turbinen) --
- -- von Thor_s_Crafter --
- local rodLevel = 0
- local enPer = 0
- local enPerR = 0
- local fuel = 0
- local fuelPer = 0
- local enOut = 0
- local fuelCons = 0
- local isOn = false
- local mon
- local enCell
- local reactor
- function initPeripherals()
- local perList = peripheral.getNames()
- for i=1,#perList,1 do
- if peripheral.getType(perList[i]) == "monitor" then
- mon = peripheral.wrap(perList[i])
- end
- if peripheral.getType(perList[i]) == "tile_blockcapacitorbank_name" or peripheral.getType(perList[i]) == "tile_thermalexpansion_cell_basic_name" or peripheral.getType(perList[i]) == "tile_thermalexpansion_cell_hardened_name" or peripheral.getType(perList[i]) == "tile_thermalexpansion_cell_reinforced_name" or peripheral.getType(perList[i]) == "tile_thermalexpansion_cell_resonant_name" then
- enCell = peripheral.wrap(perList[i])
- end
- if peripheral.getType(perList[i]) == "BigReactors-Reactor" then
- reactor = peripheral.wrap(perList[i])
- --print("Reaktor gefunden!")
- end
- end
- end
- function getEnergy()
- local en = enCell.getEnergyStored()
- local enMax = enCell.getMaxEnergyStored()
- return math.floor(en/enMax*100)
- end
- function getReactorData()
- rodLevel = reactor.getControlRodLevel(1)
- enPer = getEnergy()
- enPerR = reactor.getEnergyStored()
- fuel = reactor.getFuelAmount()
- local fuelMax = reactor.getFuelAmountMax()
- fuelPer = math.floor(fuel/fuelMax*100)
- enOut = reactor.getEnergyProducedLastTick()
- fuelCons = reactor.getFuelConsumedLastTick()
- isOn = reactor.getActive()
- end
- function displayData()
- term.clear()
- term.setCursorPos(1,1)
- getReactorData()
- print("RodLevel: "..rodLevel)
- print("Energie: "..enPer.."%")
- print("Energie (Reaktor): "..enPerR.."RF")
- print("Fuel: "..fuel.."mb")
- print("Fuel: "..fuelPer.."%")
- print("Energie-Produktion: "..enOut.."RF/t")
- print("Verbrauch: "..fuelCons.."mb/t")
- write("Reaktor an: ")
- if isOn == true then print("ja")
- else print("nein") end
- --sleep(1)
- end
- function displayDataOnScreen()
- --mon.clear()
- mon.setCursorPos(1,1)
- mon.write("Energie: "..enPer.."% ")
- mon.setCursorPos(1,2)
- mon.write("Energie (Reaktor): "..enPerR.."RF ")
- mon.setCursorPos(1,4)
- mon.write("Reaktor an: ")
- if isOn == true then mon.write("ja ")
- else mon.write("nein ") end
- mon.setCursorPos(1,5)
- mon.write("Fuel: "..fuel.."mb ")
- mon.setCursorPos(1,6)
- mon.write("in Prozent: "..fuelPer.."%")
- mon.setCursorPos(1,8)
- mon.write("Energie-Produktion: "..math.floor(enOut).."RF/t ")
- mon.setCursorPos(1,9)
- mon.write("Verbrauch: ")
- local fuelCons2 = tostring(fuelCons)
- local fuelCons3 = string.sub(fuelCons2,0,4)
- mon.write(fuelCons3)
- mon.write("mb/t ")
- end
- initPeripherals()
- mon.setBackgroundColor(colors.blue)
- mon.clear()
- while true do
- getReactorData()
- displayData()
- displayDataOnScreen()
- if fuelPer <= 30 then
- reactor.setActive(false)
- else
- if enPer <= 50 then
- reactor.setActive(true)
- elseif enPer > 90 then
- reactor.setActive(false)
- end
- end
- sleep(1)
- end
Add Comment
Please, Sign In to add comment