Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- This program creates a tunnel facing to facilitate mining via 5 x 5 tunnels
- -- Pastebin code = "LptADyfD"; Pastebin name is "MDC_Tunnel_Facing"
- -- Place the turtle down on the right-forward end of the tunnel cut
- -- Place coal into Turtle slot #14 to assure adequate fueling
- -- Place netherite into Turtle slot #15 and #16 to assure adequate placement resources
- -- The program wants to know the options how many blocks you want to move forward before facing
- -- The options are RC - Right Corner; LC - Left Corner; CS - Center Section
- -- An example is RC 2; Right corner facing two blocks forward from turtle placement
- local function mv_fwd() -- This function moves the turtle forward one block
- if turtle.detect() then turtle.dig(); turtle.forward() else turtle.forward() end
- end
- local function mv_up() -- This function moves the turtle up one block
- if turtle.detectUp() then turtle.digUp(); turtle.up() else turtle.up() end
- end
- local function mv_dwn() -- This function moves the turtle down one block
- if turtle.detectDown() then turtle.digDown(); turtle.down() else turtle.down() end
- end
- local function sel_slot() -- This function selects the active slot for placing blocks
- turtle.select(15)
- if turtle.getItemCount() < 3 then turtle.select(16) end
- end
- local function place_fwd() -- This function places a block if none is present in front of the turtle
- if not turtle.detect() then sel_slot(); turtle.place() end -- check forward and place
- end
- local function place_up()
- if not turtle.detectUp() then sel_slot(); turtle.placeUp() end -- check up and place
- end
- local function place_dwn()
- if not turtle.detectDown() then sel_slot(); turtle.placeDown() end -- check down and place
- end
- local function place_LC()
- turtle.turnLeft() -- Position turtle for initial facing
- for iter3 = 1, desired_height do -- Face blocks up the left side
- place_fwd(); mv_up()
- end
- place_fwd(); turtle.turnRight(); place_fwd(); mv_dwn(); place_up()
- for iter4 = 2, desired_height do -- Face blocks down the left front column
- place_fwd(); mv_dwn()
- end
- place_fwd(); place_dwn()
- end
- local function place_CS()
- place_dwn()
- for iter5 = 1, desired_height do -- Face blocks up the left-center
- place_fwd(); mv_up()
- end
- place_fwd(); mv_dwn(); place_fwd(); place_up();
- turtle.turnRight(); mv_fwd(); turtle.turnLeft(); place_up()
- for iter6 = 2, desired_height do -- Face blocks down the center
- place_fwd(); mv_dwn()
- end
- place_fwd(); place_dwn(); turtle.turnRight(); mv_fwd(); turtle.turnLeft()
- for iter7 = 1, desired_height do -- Face blocks up the right-center
- place_fwd(); mv_up()
- end
- mv_dwn(); place_up(); for iter8 = 2, desired_height do mv_dwn() end
- place_dwn()
- end
- local function place_RC()
- for iter8 = 1, desired_height do -- Face blocks up the right face
- place_fwd(); mv_up()
- end
- place_fwd(); turtle.turnRight(); place_fwd(); mv_dwn(); place_up()
- for iter9 = 2, desired_height do -- Face blocks down the right side
- place_fwd(); mv_dwn()
- end
- place_fwd(); place_dwn(); turtle.turnLeft()
- end
- if turtle.getFuelLevel() < 200 then
- print( "Your fuel level is less than 200; refueling with 240." )
- turtle.select(14); turtle.refuel(3)
- end
- text_input = { ... } -- Obtain the number of two-block sections desired
- print ( "Checking Data Entered." )
- if ( tonumber( text_input[2] ) < 0 ) then
- print( "Error: You must respond with zero or a positive number." )
- return
- end
- option = text_input[1]
- move_forward = tonumber( text_input[2] )
- desired_height = 5
- desired_width = 5
- for iter1 = 1, move_forward do mv_fwd(); end
- if option == "All" then
- place_LC()
- turtle.turnRight(); mv_fwd(); turtle.turnLeft()
- place_CS()
- turtle.turnRight(); mv_fwd(); turtle.turnLeft()
- place_RC()
- turtle.turnLeft(); turtle.forward(); turtle.forward()
- turtle.forward(); turtle.forward(); turtle.forward()
- turtle.turnRight()
- end
- -- if option == "CS" then
- -- end
- if option == "RC" then
- place_RC()
- end
- print("Program has completed successfully.")
Advertisement