SHOW:
|
|
- or go back to the newest paste.
| 1 | function cPrint(str) | |
| 2 | term.clear() | |
| 3 | term.setCursorPos(1,1) | |
| 4 | print(str) | |
| 5 | end | |
| 6 | ||
| 7 | cPrint('starting up quarry!')
| |
| 8 | os.sleep(1) | |
| 9 | cPrint('')
| |
| 10 | ||
| 11 | os.loadAPI('nav.lua')
| |
| 12 | nav.calibrate() | |
| 13 | ||
| 14 | function goBack(functionCalled) | |
| 15 | - | initx, inity, initz = nav.pos.x, nav.pos.y, nav.pos.z |
| 15 | + | initx, inity, initz, initDir = nav.pos.x, nav.pos.y, nav.pos.z, nav.pos.dir |
| 16 | if nav.pos.z ~= 0 then | |
| 17 | nav.up(math.abs(nav.pos.z)) | |
| 18 | end | |
| 19 | - | while not nav.pos.dir == 2 do |
| 19 | + | nav.goDir(2) |
| 20 | - | nav.turnRight() |
| 20 | + | |
| 21 | nav.forward(math.abs(nav.pos.y)) | |
| 22 | end | |
| 23 | if nav.pos.x ~= 0 then | |
| 24 | if nav.pos.x < 0 then | |
| 25 | nav.goDir(1) | |
| 26 | nav.forward(math.abs(nav.pos.x)) | |
| 27 | - | while nav.pos.dir ~= 1 do |
| 27 | + | |
| 28 | - | nav.turnRight() |
| 28 | + | nav.goDir(3) |
| 29 | - | end |
| 29 | + | |
| 30 | end | |
| 31 | end | |
| 32 | - | while nav.pos.dir ~= 3 do |
| 32 | + | |
| 33 | - | nav.turnRight() |
| 33 | + | nav.turnRight(2) |
| 34 | - | end |
| 34 | + | nav.forward(inity) |
| 35 | if initx/math.abs(initx) = -1 do | |
| 36 | nav.turnLeft(1) | |
| 37 | elseif initx/math.abs(initx) = 1 do | |
| 38 | nav.turnRight(1) | |
| 39 | - | |
| 39 | + | end |
| 40 | if initx ~= 0 then | |
| 41 | nav.forward(math.abs(initx)) | |
| 42 | end | |
| 43 | - | if turtle.getFuelLevel() < 200 then |
| 43 | + | nav.down(initz) |
| 44 | nav.goDir(initDir) | |
| 45 | end | |
| 46 | ||
| 47 | function refuel() | |
| 48 | if turtle.getFuelLevel() < 2*(math.abs(nav.pos.z) + math.abs(nav.pos.y) + math.abs(math.pos.x) + 10) then | |
| 49 | if not turtle.refuel() then | |
| 50 | goBack(grabFuel) | |
| 51 | end | |
| 52 | end | |
| 53 | - | if checkFuel() == then |
| 53 | + | |
| 54 | ||
| 55 | - | if checkInv == then |
| 55 | + | function checkInv() |
| 56 | if turtle.getItemCount(16) ~= 0 then | |
| 57 | - | end |
| 57 | + | goBack(dropOff) |
| 58 | end | |
| 59 | end | |
| 60 | ||
| 61 | function grabFuel() | |
| 62 | turtle.suckUp(64) | |
| 63 | end | |
| 64 | ||
| 65 | function dropOff() | |
| 66 | for i=2, 16 do | |
| 67 | turtle.select(i) | |
| 68 | turtle.drop(64) | |
| 69 | end | |
| 70 | turtle.select(1) | |
| 71 | end | |
| 72 | ||
| 73 | function forward(x) | |
| 74 | for i = 1, x do | |
| 75 | nav.forward(1) | |
| 76 | refuel() | |
| 77 | checkInv() | |
| 78 | end | |
| 79 | end |