Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local sidesInfo = {down = nil, up = nil, left = nil, right = nil, front = nil}
- local sidesMine = {down = 0, up = 0, left = 0, right = 0, front = 0}
- rednet.open("right")
- local senderId, message, protocol = rednet.receive("turtle_wood_cutting", 120)
- rednet.close("right")
- if (message == null) then
- term.blip("Error did not receive autorisation.", colors.red, colors.black)
- exit()
- end
- local function inspectSides()
- local suss, data = turtle.inspect()
- sidesInfo.front = data.name
- suss, data = turtle.inspectDown()
- sidesInfo.down = data.name
- suss, data = turtle.inspectUp()
- sidesInfo.up = data.name
- turtle.turnLeft()
- suss, data = turtle.inspect()
- sidesInfo.left = data.name
- turtle.turnRight()
- turtle.turnRight()
- suss, data = turtle.inspect()
- sidesInfo.right = data.name
- turtle.turnLeft()
- end
- local function resetMine()
- for key, value in pairs(sidesMine) do
- sidesMine[key] = 0
- end
- end
- local function containWood()
- inspectSides()
- for key, value in pairs(sidesInfo) do
- if (value == "minecraft:log") then sidesMine[key] = 1 end
- end
- for key, value in pairs(sidesMine) do
- if (value == 1) then return true end
- end
- return false
- end
- local function minelayer()
- print("here")
- if (sidesMine.up > 0) then
- turtle.digUp()
- turtle.up()
- sidesMine.up = 0
- end
- if (sidesMine.down > 0) then
- turtle.digDown()
- turtle.down()
- sidesMine.down = 0
- end
- if (sidesMine.front > 0) then
- turtle.dig()
- turtle.forward()
- sidesMine.front = 0
- end
- if (sidesMine.left > 0) then
- turtle.turnLeft()
- turtle.dig()
- turtle.forward()
- turtle.turnRight()
- sidesMine.left = 0
- end
- if (sidesMine.right > 0) then
- turtle.turnRight()
- turtle.dig()
- turtle.forward()
- turtle.turnLeft()
- sidesMine.right = 0
- end
- resetMine()
- end
- local function mine()
- while (containWood()) do
- minelayer()
- end
- end
- local function emptyChest()
- while(turtle.down()) do end
- turtle.select(15)
- if (turtle.detect()) then
- turtle.dig()
- end
- turtle.place()
- for i = 1, 16 do
- turtle.select(i)
- local data = turtle.getItemDetail(i)
- if (data ~= nil) then
- if (data.name ~= "minecraft:log") then
- turtle.drop()
- end
- end
- end
- end
- local function craftPlanks()
- while(turtle.down()) do end
- turtle.select(16)
- turtle.equipLeft()
- emptyChest()
- turtle.drop()
- turtle.select(1)
- turtle.craft()
- while (turtle.suck()) do end
- for i = 1, 16 do
- local data = turtle.getItemDetail(i)
- if (data ~= nil) then
- if (data.name == "minecraft:diamond_axe") then
- turtle.select(i)
- turtle.transferTo(16)
- elseif(data.name == "minecraft:chest") then
- turtle.select(i)
- turtle.transferTo(15)
- end
- end
- end
- turtle.select(16)
- turtle.equipLeft()
- turtle.select(15)
- turtle.dig()
- turtle.select(1)
- end
- turtle.select(1)
- mine()
- craftPlanks()
- rednet.open("right")
- rednet.send(senderId, "done", "turtle_wood_cutting")
- rednet.close("right")
- term.setCursorPos(3, 3)
- -- term.clear()
- term.setTextColor(colors.green)
- term.write("Done.")
- term.setTextColor(colors.white)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement