Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function selectNext()
- if turtle.getSelectedSlot()==16 then
- turtle.select(1)
- else
- turtle.select(turtle.getSelectedSlot()+1)
- if turtle.getItemCount()==0 then
- selectNext()
- end
- end
- end
- function replace(n)
- for i=1,n do
- turtle.forward()
- if turtle.getItemCount()==0 then
- selectNext()
- end
- if not turtle.compareUp() then
- turtle.digUp()
- turtle.placeUp()
- end
- end
- end
- function forward(n)
- for i=1,n do
- turtle.forward()
- end
- end
- function back(n)
- for i=1,n do
- turtle.back()
- end
- end
- function up(n)
- for i=1,n do
- turtle.up()
- end
- end
- function down(n)
- for i=1,n do
- turtle.down()
- end
- end
- function doLayer(i)
- if i=="1" then
- if turtle.getFuelLevel()<12 then
- print("Refuel")
- else
- turtle.down()
- replace(3)
- turtle.turnRight()
- replace(2)
- turtle.turnRight()
- replace(2)
- turtle.turnRight()
- replace(1)
- turtle.forward()
- turtle.turnRight()
- turtle.back()
- turtle.up()
- end
- elseif i=="2" then
- if turtle.getFuelLevel()<30 then
- print("Refuel")
- else
- down(2)
- turtle.back()
- turtle.turnLeft()
- replace(1)
- turtle.forward()
- turtle.turnRight()
- replace(5)
- turtle.forward()
- turtle.turnRight()
- replace(5)
- turtle.forward()
- turtle.turnRight()
- replace(5)
- turtle.forward()
- turtle.turnRight()
- replace(4)
- turtle.turnRight()
- turtle.forward()
- up(2)
- end
- elseif i=="3" then
- if turtle.getFuelLevel()<52 then
- print("Refuel")
- else
- down(3)
- back(3)
- turtle.turnLeft()
- replace(2)
- forward(2)
- turtle.turnRight()
- turtle.forward()
- replace(7)
- forward(2)
- turtle.turnRight()
- turtle.forward()
- replace(7)
- forward(2)
- turtle.turnRight()
- turtle.forward()
- replace(7)
- forward(2)
- turtle.turnRight()
- turtle.forward()
- replace(5)
- turtle.turnRight()
- forward(3)
- up(3)
- end
- elseif i=="4" then
- if turtle.getFuelLevel()<84 then
- print("Refuel")
- else
- down(4)
- back(6)
- turtle.turnLeft()
- replace(5)
- forward(2)
- turtle.turnRight()
- turtle.forward()
- replace(13)
- forward(2)
- turtle.turnRight()
- turtle.forward()
- replace(13)
- forward(2)
- turtle.turnRight()
- turtle.forward()
- replace(13)
- forward(2)
- turtle.turnRight()
- turtle.forward()
- replace(8)
- turtle.turnRight()
- forward(6)
- up(4)
- end
- elseif i=="5" then
- if turtle.getFuelLevel()<116 then
- print("Refuel")
- else
- down(5)
- back(9)
- turtle.turnLeft()
- replace(8)
- forward(2)
- turtle.turnRight()
- turtle.forward()
- replace(19)
- forward(2)
- turtle.turnRight()
- turtle.forward()
- replace(19)
- forward(2)
- turtle.turnRight()
- turtle.forward()
- replace(19)
- forward(2)
- turtle.turnRight()
- turtle.forward()
- replace(11)
- turtle.turnRight()
- forward(9)
- up(5)
- end
- end
- end
- function getRune()
- test = turtle.getItemDetail()
- for i=1,#runes do
- if test.name..test.damage==runes[i].name..runes[i].damage then
- return runes[i].label
- end
- end
- return nil
- end
- function findRune(label)
- turtle.select(1)
- repeat
- turtle.select(turtle.getSelectedSlot()+1)
- until getRune()==label or turtle.getSelectedSlot==16
- end
- args = {...}
- --load rune types
- runes = {}
- file = fs.open("runes","r")
- i=0
- while true do
- i=i+1
- temp1 = file.readLine()
- temp2 = file.readLine()
- temp3 = file.readLine()
- if temp1==nil then
- break
- else
- runes[i] = {label=temp1,name=temp2,damage=temp3}
- end
- end
- file.close()
- homea = vector.new(505,239,645)
- homeb = vector.new(527,239,645)
- here = vector.new(gps.locate(5))
- if args[3] then
- findRune(args[3])
- end
- if args[1]=="a" then
- if here==homeb then
- turtle.up()
- turtle.turnLeft()
- forward(22)
- turtle.turnRight()
- turtle.down()
- if args[2] then
- doLayer(args[2])
- turtle.up()
- turtle.turnRight()
- forward(22)
- turtle.turnLeft()
- turtle.down()
- end
- elseif here==homea then
- doLayer(args[2])
- else
- print("Out of position!")
- end
- elseif args[1]=="b" then
- if here==homea then
- turtle.up()
- turtle.turnRight()
- forward(22)
- turtle.turnLeft()
- turtle.down()
- if args[2] then
- doLayer(args[2])
- turtle.up()
- turtle.turnLeft()
- forward(22)
- turtle.turnRight()
- turtle.down()
- end
- elseif here==homeb then
- doLayer(args[2])
- else
- print("Out of position!")
- end
- elseif args[1]=="getrune" then
- print(getRune())
- else
- print("Unrecognised command")
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement