Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --For directions, 0 is down, 1 is up, 2 is north (-Z), 3 is south (+Z), 4 is west (-X), and 5 is east (+X).
- tArgs = {...}
- local rs = redstone
- local name = shell.getRunningProgram()
- local redstoneSignalColour1 = colours.white
- local redstoneSignalColour2 = colours.orange
- local redstoneSignalColour3 = colours.magenta
- local redstoneSignalSide1 = "back"
- local redstoneSignalSide2 = "front"
- local engineSide = "right"
- function saveArgs()
- local file = fs.open(name..".cfg", "w")
- file.writeLine(tArgs[1])
- file.writeLine(tArgs[2])
- file.close()
- end
- function readArgs()
- if not fs.exists(name..".cfg") then
- return false
- end
- local file = fs.open(name..".cfg", "r")
- tArgs[1] = tonumber(file.readLine(tArgs[1]))
- tArgs[2] = tonumber(file.readLine(tArgs[2]))
- file.close()
- end
- function checkArgs()
- if tArgs[1] == 0 or tArgs[2] == 0 or tArgs[3] == 0 or tArgs[4] == 0 or tArgs[5] == 0 or tArgs[6] == 0 then
- print("Required arguments: Tunnel Distance (number), Tunnel Direction (number)")
- readArgs()
- end
- end
- function move(direction)
- tArgs[1] = tArgs[1] - 1
- saveArgs()
- --local engine = peripheral.wrap("right")
- --engine.move(direction, false, false)
- rs.setBundledOutput(redstoneSignalSide2, redstoneSignalColour2)
- sleep(0.5)
- rs.setBundledOutput(redstoneSignalSide2, 0)
- end
- function dig()
- rs.setBundledOutput(redstoneSignalSide1, redstoneSignalColour1)
- --rs.setBundledOutput("back", colours.white)
- sleep(0.5)
- rs.setBundledOutput(redstoneSignalSide1, 0)
- end
- function makeWalls()
- rs.setBundledOutput(redstoneSignalSide1, redstoneSignalColour3)
- --rs.setBundledOutput("back", colours.orange)
- sleep(0.5)
- rs.setBundledOutput(redstoneSignalSide1, 0)
- end
- function cycle(moveDirection)
- sleep(0.2)
- saveArgs()
- checkArgs()
- for i = 1,tArgs[1] do
- dig()
- sleep(0.2)
- makeWalls()
- sleep(0.2)
- move(moveDirection)
- end
- end
- cycle(tArgs[2])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement