Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- starting_x, starting_y, starting_z = gps.locate(5)
- possible_sides = {"left", "right"}
- function get_opposite_side()
- local side = read()
- if side == "left" then
- return possible_sides[2]
- elseif side == "right" then
- return possible_sides[1]
- else
- return get_side()
- end
- end
- function is_int(number)
- return (type(number) == "number") and (math.floor(number) == number)
- end
- function get_num()
- local blocks_to_dig = read()
- if not is_int(blocks_to_dig) then
- return get_num()
- else
- return tonumber(blocks_to_dig)
- end
- end
- blocks = get_num()
- function turn_around(side)
- local func_table = {["left"] = turtle.turnLeft, ["right"] = turtle.turnRight}
- func_table[side]()
- turtle.dig()
- turtle.foward()
- func_table[side]()
- main_loop()
- end
- function dig_column()
- if turtle.getFuelLevel() ~= "unlimited" and turtle.getFuelLevel() < 1 then
- turtle.refuel()
- end
- local success, data = turtle.inspectUp()
- local blocks_dug_up = 0
- while success and (data.name ~= "minecraft:air") do
- turtle.digUp()
- turtle.up()
- blocks_dug_up = blocks_dug_up + 1
- success, data = turtle.inspect()
- end
- if table.pack(turtle.inspect())[2].name ~= "minecraft:air" then
- turtle.dig()
- end
- turtle.forward()
- if blocks_dug_up ~= 0 then
- for i = 0, index - 1, 1 do
- turtle.digDown()
- turtle.down()
- end
- end
- end
- function main_loop()
- local blocks_dug_front = 0
- while blocks_dug_front ~= blocks do
- dig_column()
- blocks_dug_front = blocks_dug_front + 1
- end
- turn_side = get_opposite_side()
- turn_around(turn_side)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement