Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Autor Animum
- --Program version beta 1
- --turtle excavates a tunnel of
- --width 1 and height 3
- --turtle can lay torches
- --turtle can put a block under the torch
- --Minecraft version 1.16.3
- --Forge version 34.1.18
- --CCTweaked version 1.93.0
- --The program can adapt
- --to the turtle version - normal/advanced
- --slot 1 - torch
- --slot 2 - block under the torch
- --example code : Digtunel [number > 1 -length tunel]
- -- [torch place - number 0/nill - no / number 1 - yes]
- -- Digtunel 15 0
- if term.isColor() then
- term.setTextColour(colors.lime)
- end
- local tArgs = { ... }
- Length = tonumber( tArgs[1] )
- Torch = tonumber( tArgs[2] )
- Lpos = 1 --Lenght position
- Err = 0 --error
- TT = 0 --torch time
- --displays status to the screen
- --Mined : [Position] Fuel : [turtlefuelstatus]
- function Status (Lpos)
- term.clear()
- term.setCursorPos(1,1)
- term.write("Mined : ")
- term.write(Lpos)
- term.write(" Fuel : ")
- term.write(turtle.getFuelLevel())
- end
- --turtle excavated space in front of him,
- --if there is something
- --and moves forward
- function Dfr ()
- while turtle.detect() do
- turtle.dig()
- sleep(0.1)
- end
- turtle.forward()
- end
- --turtle excavated space in above of him,
- --if there is something
- function Dup ()
- while turtle.detectUp() do
- turtle.digUp()
- sleep(0.1)
- end
- end
- --turtle excavated space in under of him,
- --if there is something
- function Ddo ()
- while turtle.detectDown() do
- turtle.digDown()
- sleep(0.1)
- end
- end
- --laying torches
- function Pltorch()
- turtle.select(1)
- if not turtle.placeDown()
- then
- turtle.down()
- turtle.select(2)
- sleep(0.1)
- turtle.placeDown()
- sleep(0.1)
- turtle.up()
- turtle.select(1)
- sleep(0.1)
- turtle.placeDown()
- end
- end
- --displays status to the screen
- function Sterror (Err)
- term.clear()
- term.setCursorPos(1,1)
- --no error
- if Err == 0
- then
- if term.isColor() then
- term.setTextColour(colors.lime)
- end
- term.write("done")
- elseif Err == 1
- then
- if term.isColor() then
- term.setTextColour(colors.red)
- end
- term.write("No fuel")
- else
- if term.isColor() then
- term.setTextColour(colors.orange)
- end
- term.write("Unknown error")
- end
- end
- --main program
- --turtle fuel level > 10000?
- if turtle.getFuelLevel() > 10000
- then
- --main loop
- for Lpos=1,Length,1 do
- if turtle.getFuelLevel() < 100
- then break end
- Dfr()
- sleep(0.1)
- Dup()
- sleep(0.1)
- Ddo()
- sleep(0.1)
- --place torch every 5 blocks
- if Torch == 1
- then
- if TT < 4
- then
- TT = TT + 1
- else
- Pltorch()
- TT = 0
- end
- end
- sleep(0.1)
- Status(Lpos)
- sleep(0.1)
- end
- if turtle.getFuelLevel() < 100
- then
- --error end - no fuel
- Sterror(1)
- else
- --normal end
- Sterror(0)
- end
- else
- --error end - no fuel
- Sterror(1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement