Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Utiliturtle
- function printUsage()
- print("Usage:")
- print(" util <cmd> <args>")
- print("")
- print("Commands:")
- print(" dig [up|down]")
- print(" - Digs forward (no arg), up or down, but does not move")
- print(" digForward <length>")
- print(" - Digs a 1x1 tunnel forward length")
- print(" digDown <length>")
- print(" - digs a 1x2 tunnel forward by digging forward and then 1 down")
- print(" digUp <length>")
- print(" - digs a 1x2 tunnel forward by digging forward and then 1 up")
- print(" digAll <length>")
- print(" - digs a 1x3 tunnel forward by digging forward and then up and down")
- print(" recharge <charge level> <distance = 1> <direction = up>")
- print(" - waits for turtle to recharge via charging station until charge level")
- print(" goes <distance> in <direction> to move away from charger when complete")
- end
- local tArgs = { ... }
- function digger(len, down, up, back)
- len = len or 1
- down = down or false
- up = up or false
- back = back or true
- if len == nil then
- return false
- end
- for i = 1, len do
- turtle.dig()
- if down then
- turtle.digDown()
- end
- if up then
- turtle.digUp()
- end
- turtle.forward()
- end
- if back then
- for i = 1, len do
- turtle.back()
- end
- end
- end
- function recharge(level, distance, direction)
- level = level or 1
- distance = distance or 1
- direction = direction or "up"
- fuelLevel = turtle.getFuelLevel()
- while fuelLevel < level + distance do
- print("Current Level: " .. fuelLevel)
- sleep(1)
- fuelLevel = turtle.getFuelLevel()
- end
- if (direction == "left") then
- turtle.turnLeft()
- direction = "forward"
- elseif (direction == "right") then
- turtle.turnRight()
- direction = "forward"
- end
- for i = 1, distance do
- if (direction == "up") then
- turtle.up()
- elseif (direction == "down") then
- turtle.down()
- elseif (direction == "forward") then
- turtle.forward()
- elseif (direction == "back") then
- turtle.back()
- end
- end
- end
- if #tArgs < 1 then
- printUsage()
- elseif tArgs[1] == "dig" then
- if tArgs[2] == nil then
- turtle.dig()
- elseif tArgs[2] == "down" then
- turtle.digDown()
- elseif tArgs[2] == "up" then
- turtle.digUp()
- end
- elseif tArgs[1] == "digForward" then
- if tArgs[2] == "-x" then
- digger(tArgs[3], false, false, false)
- else
- digger(tArgs[2], false, false, true)
- end
- elseif tArgs[1] == "digDown" then
- if tArgs[2] == "-x" then
- digger(tArgs[3], true, false, false)
- else
- digger(tArgs[2], true, false, true)
- end
- elseif tArgs[1] == "digUp" then
- if tArgs[2] == "-x" then
- digger(tArgs[3], false, true, false)
- else
- digger(tArgs[2], false, true, true)
- end
- elseif tArgs[1] == "digAll" then
- if tArgs[2] == "-x" then
- digger(tArgs[3], true, true, false)
- else
- digger(tArgs[2], true, true, true)
- end
- elseif tArgs[1] == "recharge" then
- recharge(tArgs[2], tArgs[3], tArgs[4])
- else
- printUsage()
- end
Advertisement
Add Comment
Please, Sign In to add comment