mdc_tjc icon

mc_branch

mdc_tjc | PRO | 02/10/26 10:28:06 PM UTC (Edited) | 0 ⭐ | 465 👁️ | Never ⏰ | []
Lua |

1.99 KB

|

None

|

0 👍

/

0 👎

--Pastebin code: cqYxFLsC;  name: mc_branch
--Position this device in the branch tunnel one block above ground level
 
local tArgs = { ... } -- obtain tunnel length and turn around options
if #tArgs ~= 2 then
    print( "Usage: mc_branch followed by the tunnel <length>, and then whether to turn around: <y> or <n>" )
    return
    end
 
local length = tonumber( tArgs[1] ) -- Check if the tunnel length is > 0
if length < 1 then
    print( "Tunnel length must be positive" )
    return
    end
 
local turn = ( tArgs[2] ) -- Check if the turtle turn around option is y or n
if not( turn == ( "y" ) or turn == ( "n" )) then
    print( "Indicate whether to have the turtle turn around and return to start with a <y> or <n>" )
    return
    end
 
local fuel = turtle.getFuelLevel()
if fuel < 80 then
    print("Fuel < 80, you must add more fuel")
    return
    end
 
--definition of functions follows
 
local function tryDig() -- This function digs forward one block
    while turtle.detect() do
        if turtle.dig() then
            sleep(0.5)
        else
            return false
        end
    end
    return true
    end
 
local function tryDigUp() -- This function digs up one block
    while turtle.detectUp() do
        if turtle.digUp() then
            sleep(0.5)
        else
            return false
        end
    end
    return true
end
 
local function tryDigDown() -- This function digs down one block
    while turtle.detectDown() do
        if turtle.digDown() then
            sleep(0.5)
        else
            return false
        end
    end
    return true
end
 
-- This section is the main control section of the program
 
    tryDigUp()
    tryDigDown()
 
for i = 1, length do -- This is the main control function
    tryDig()
    turtle.forward()
    tryDigUp()
    tryDigDown()
 
end
 
if turn == "y" then
    turtle.turnLeft()
    turtle.turnLeft()
 
    for i = 1, length do -- This is the return function
        turtle.forward()
    end
end

Comments