-- Get modem local modem = peripheral.find("modem", rednet.open) local reactorStatus = false while true do -- Get power level from behind local block = peripheral.wrap("back") local power = block.getEnergyStored() local maxPower = block.getEnergyCapacity() -- Check if there is a redstone signal from the front side local redstoneSignal = redstone.getInput("front") -- If the power is less than x%, send a redstone signal until it's above 90% local powerThMin = 0.5 local powerThMax = 0.9 if redstoneSignal then redstone.setOutput("left", true) reactorStatus = true else if power < maxPower * powerThMin then redstone.setOutput("left", true) -- Send a message to the server reactorStatus = true else if power > maxPower * powerThMax then redstone.setOutput("left", false) -- Send a message to the server reactorStatus = false end end end local message = reactorStatus and "reactor_charging" or "reactor_discharging" rednet.broadcast(message, "cakehud_reactor") -- Make the screen term.clear() term.setCursorPos(1, 1) print("Power: " .. power .. "/" .. maxPower .. " (" .. math.floor(power / maxPower * 100) .. "%)") local thMsg = reactorStatus and "Power is below " .. powerThMin * 100 .. "%\nReactor is charging until " .. powerThMax * 100 .. "%" or "Power is above " .. powerThMin * 100 .. "%\nReactor is discharging until " .. powerThMin * 100 .. "%" print(thMsg) print("\nCTRL + T to exit") print("\nCakeHUD v1.0") -- Wait sleep(0.5) end