Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tArgs[5]=nLimit
- hmax=65
- hdig=17
- hcarry=8
- powersaving=false
- nLimit=1
- local tArgs = { ... }
- tArgs[1]=hmax
- tArgs[2]=hdig
- tArgs[3]=hcarry
- if tArgs[4] = 1 then powersavin=true end
- dwn=function()
- h=hmax
- while h>hdig do
- if turtle.detectDown then turtle.digDown() end
- turtle.down()
- h=h-1
- end
- end
- up2freedom=function()
- h=hdig
- while h<hmax do
- turtle.up()
- h=h+1
- end
- end
- refuel=function()
- if turtle.getFuelLevel() ~= "unlimited" then
- for n=1,16 do
- nCount = turtle.getItemCount(n)
- if nCount > 0 then
- turtle.select( n )
- if nCount >= nLimit then
- if turtle.refuel( nLimit ) then
- break
- end
- else
- if turtle.refuel( nCount ) then
- nLimit = nLimit - nCount
- end
- end
- end
- end
- end
- end
- back2pos=function(xde,yde,zde, vecde)
- if z>zde then
- while z>zde do
- if turtle.detectUp() then turtle.digUp() end
- turtle.up()
- z=z-1
- end
- else
- while z<zde do
- if turtle.detectDown() then turtle.digDown() end
- turtle.down()
- z=z+1
- end
- end
- if x>xde then
- while vec~=3 do
- turtle.turnLeft()
- vec=vec+1
- if vec>4 then vec=1 end
- end
- while x>xde do
- while turtle.detect() do
- turtle.dig()
- sleep(0.5)
- end
- turtle.forward()
- x=x-1
- end
- else
- while vec~=1 do
- turtle.turnLeft()
- vec=vec+1
- if vec>4 then vec=1 end
- end
- while x<xde do
- while turtle.detect() do
- turtle.dig()
- sleep(0.5)
- end
- turtle.forward()
- x=x+1
- end
- end
- if y>yde then
- while vec~=2 do
- turtle.turnLeft()
- vec=vec+1
- if vec>4 then vec=1 end
- end
- while y>yde do
- while turtle.detect() do
- turtle.dig()
- sleep(0.5)
- end
- turtle.forward()
- y=y-1
- end
- else
- while vec~=4 do
- turtle.turnLeft()
- vec=vec+1
- if vec>4 then vec=1 end
- end
- while y<yde do
- while turtle.detect() do
- turtle.dig()
- sleep(0.5)
- end
- turtle.forward()
- y=y+1
- end
- end
- while vec~=vecde do
- turtle.turnLeft()
- vec=vec+1
- if vec>4 then vec=1 end
- end
- end
- xrem=1
- yrem=0
- zrem=0
- vecrem=2
- x=0
- y=0
- z=0
- vec=1
- hcarry=hcarry-1
- file = io.open("miner.lua", "a")
- file:close()
- file = io.open("miner.lua", "r")
- test=file:read()
- if test~=nil then
- xrem=test
- yrem=file:read()
- zrem=file:read()
- vecrem=file:read()
- xrem=tonumber(xrem)
- yrem=tonumber(yrem)
- zrem=tonumber(zrem)
- vecrem=tonumber(vecrem)
- end
- file:close()
- while true do
- if powersaving==true then
- rs.setOutput("left",true)
- rs.setOutput("right",true)
- rs.setOutput("front",true)
- rs.setOutput("back",true)
- end
- while turtle.getItemCount(16)~=0 do
- sleep(1)
- for n=1,16 do
- if n ~= nCount then
- turtle.select( n )
- turtle.drop()
- end
- end
- end
- turtle.turnLeft ()
- turtle.suck ()
- turtle.turnRight ()
- if powersaving==true then
- rs.setOutput("left",false)
- rs.setOutput("right",false)
- rs.setOutput("front",false)
- rs.setOutput("back",false)
- end
- local cpusk = hmax + hcarry
- while cpusk > turtle.getFuelLevel() do refuel() end
- dwn()
- back2pos(xrem,yrem,zrem,vecrem)
- while turtle.getItemCount(16)==0 do
- if z~=hcarry then
- if turtle.detect() then turtle.dig() end
- if turtle.detectDown() then turtle.digDown() end
- if turtle.getFuelLevel() < 2 then refuel() end
- turtle.down()
- z=z+1
- else
- while turtle.detect() do
- turtle.dig()
- sleep(0.5)
- end
- while z~=0 do
- if turtle.getFuelLevel() < 2 then refuel() end
- turtle.up()
- z=z-1
- end
- if turtle.getFuelLevel() < 2 then refuel() end
- turtle.forward()
- if vec==1 then x=x+1 end
- if vec==2 then y=y-1 end
- if vec==3 then x=x-1 end
- if vec==4 then y=y+1 end
- if math.abs(x)==math.abs(y) then
- turtle.turnLeft()
- vec=vec+1
- if vec>4 then vec=1 end
- end
- if y==1 and x>0 then
- turtle.turnRight()
- while turtle.detect() do
- turtle.dig()
- sleep(0.5)
- end
- if turtle.getFuelLevel() < 2 then refuel() end
- turtle.forward()
- turtle.turnLeft()
- x=x+1
- end
- end
- local vozvrat = y + x + z
- while vozvrat > turtle.getFuelLevel() do refuel() end
- end
- xrem=x
- yrem=y
- zrem=z
- vecrem=vec
- file = io.open("miner.lua", "w")
- file:write(xrem.."\n")
- file:write(yrem.."\n")
- file:write(zrem.."\n")
- file:write(vecrem.."\n")
- file:close()
- back2pos(0,0,0,1)
- up2freedom()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement