Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local tbl = {}
- local isRedstoneSignalOn = false
- local modem = peripheral.wrap("left")
- modem.open(11)
- local function initializeLamps()
- for a, v in pairs(peripheral.getNames()) do
- if peripheral.getType(v) == "colorful_lamp" then
- tbl[#tbl + 1] = peripheral.wrap(v)
- end
- end
- end
- local function getRandomColor()
- return math.random(0, 32767)
- end
- local function applyRandomColors()
- for i = 1, #tbl do
- tbl[i].setLampColor(getRandomColor())
- end
- end
- local function turnOffLamps()
- for i = 1, #tbl do
- tbl[i].setLampColor(32767)
- end
- end
- local function checkRedstoneSignal()
- while true do
- local redstoneInput = redstone.getInput("back")
- if redstoneInput then
- if not isRedstoneSignalOn then
- isRedstoneSignalOn = true
- applyRandomColors()
- end
- else
- if isRedstoneSignalOn then
- isRedstoneSignalOn = false
- turnOffLamps()
- end
- end
- sleep(0.3)
- end
- end
- initializeLamps()
- parallel.waitForAll(checkRedstoneSignal, function()
- while true do
- if isRedstoneSignalOn then
- sleep(0.6)
- applyRandomColors()
- else
- turnOffLamps()
- sleep(0.6)
- end
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement