Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- areaX, areaY = ...
- local move = require("move1")
- if not areaX then
- areaX = 19
- end
- if not areaY then
- areaY = 19
- end
- local turtlePos = {0, 0, 0}
- local turtleLastPos = {turtlePos[1], turtlePos[2], turtlePos[3]}
- local turtleVec = {1, 0}
- local turtleLastVec = {turtleVec[1], turtleVec[2]}
- local workMode = 1
- local function forward()
- move.Forward()
- turtlePos[1] = turtlePos[1] + turtleVec[1]
- turtlePos[2] = turtlePos[2] + turtleVec[2]
- end
- local function upward()
- move.Up()
- turtlePos[3] = turtlePos[3] + 1
- end
- local function downward()
- move.Down()
- turtlePos[3] = turtlePos[3] - 1
- end
- local function turnLeft()
- turtle.turnLeft()
- local buffer = turtleVec[1]
- turtleVec[1] = turtleVec[2]
- turtleVec[2] = -buffer
- end
- local function turnRight()
- turtle.turnRight()
- local buffer = turtleVec[1]
- turtleVec[1] = -turtleVec[2]
- turtleVec[2] = buffer
- end
- local function varInArr(var, arr)
- for i = 1, #arr, 1 do
- if var == arr[i] then
- return true
- end
- end
- return false
- end
- local function selectItemFromList(itemList)
- local itemA = turtle.getItemDetail()
- if itemA then
- if varInArr(itemA.name, itemList) then
- return true
- end
- end
- for i=1, 16, 1 do
- if turtle.getItemCount(i) > 0 then
- turtle.select(i)
- local itemB = turtle.getItemDetail()
- if itemB then
- if varInArr(itemB.name, itemList) then
- return true
- end
- end
- end
- end
- return false
- end
- local function goToStart()
- if workMode == 1 then
- turtleLastPos = {turtlePos[1], turtlePos[2], turtlePos[3]}
- turtleLastVec = {turtleVec[1], turtleVec[2]}
- workMode = 2
- end
- while turtleVec[1] > -1 do
- turnRight()
- end
- if (turtlePos[1] + turtlePos[2] + math.abs(turtlePos[3])) > 0 then
- while turtlePos[1] > 0 do
- forward()
- end
- turnRight()
- while turtlePos[2] > 0 do
- forward()
- end
- turnLeft()
- while turtlePos[3] > 0 do
- downward()
- end
- while turtlePos[3] < 0 do
- upward()
- end
- end
- turnLeft()
- turnLeft()
- end
- local materialList = { "minecraft:cobblestone"}
- turtle.placeDown()
- while turtlePos[2] < areaY do
- if (turtlePos[2] % 2) == 0 then
- while turtlePos[1] < areaX - 1 do
- forward()
- selectItemFromList(materialList)
- turtle.placeDown()
- end
- if not (turtlePos[2] == areaY - 1) then
- turnRight()
- forward()
- selectItemFromList(materialList)
- turtle.placeDown()
- turnRight()
- else
- break
- end
- else
- while turtlePos[1] > 0 do
- forward()
- selectItemFromList(materialList)
- turtle.placeDown()
- end
- if not (turtlePos[2] == areaY - 1) then
- turnLeft()
- forward()
- selectItemFromList(materialList)
- turtle.placeDown()
- turnLeft()
- else
- break
- end
- end
- end
- goToStart()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement