diff --git a/.idea/.gitignore b/.idea/.gitignore old mode 100644 new mode 100755 diff --git a/.idea/Computercraft.iml b/.idea/Computercraft.iml old mode 100644 new mode 100755 diff --git a/.idea/misc.xml b/.idea/misc.xml old mode 100644 new mode 100755 diff --git a/.idea/modules.xml b/.idea/modules.xml old mode 100644 new mode 100755 diff --git a/.idea/vcs.xml b/.idea/vcs.xml old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/src/brulijam/drucker.lua b/src/brulijam/drucker.lua old mode 100644 new mode 100755 diff --git a/src/brulijam/files/oreTable.txt b/src/brulijam/files/oreTable.txt old mode 100644 new mode 100755 diff --git a/src/brulijam/files/shape-hex-64-20.svg b/src/brulijam/files/shape-hex-64-20.svg old mode 100644 new mode 100755 diff --git a/src/brulijam/files/shape-hex-64.svg b/src/brulijam/files/shape-hex-64.svg old mode 100644 new mode 100755 diff --git a/src/brulijam/files/shape-test-12.svg b/src/brulijam/files/shape-test-12.svg old mode 100644 new mode 100755 diff --git a/src/brulijam/gps-door.lua b/src/brulijam/gps-door.lua old mode 100644 new mode 100755 diff --git a/src/brulijam/gps-tower.lua b/src/brulijam/gps-tower.lua old mode 100644 new mode 100755 diff --git a/src/brulijam/lib/createNetworkingKey.lua b/src/brulijam/lib/createNetworkingKey.lua old mode 100644 new mode 100755 diff --git a/src/brulijam/lib/tutel.lua b/src/brulijam/lib/tutel.lua old mode 100644 new mode 100755 index 566249b..584e94e --- a/src/brulijam/lib/tutel.lua +++ b/src/brulijam/lib/tutel.lua @@ -57,7 +57,7 @@ end local function forward() if turtle.forward() then - local pos = getPos() + pos = getPos() sleep(1) if pos["r"] == 0 then pos["z"] = pos["z"] + 1 @@ -122,6 +122,54 @@ end + +local function goToPosition(toR, toX, toY, toZ) end + -- go to lastValidY + while pos["y"] < toY do + secureDigUp() + up() + end + while pos["y"] > toY do + secureDigDown() + down() + end + + --go to lastValidX + while pos["x"] < toX do + while not pos["r"] == 3 do + right() + end + secureDig() + forward() + end + while pos["x"] > toX do + while not pos["r"] == 1 do + right() + end + secureDig() + forward() + end + + --go to lastValidZ + while pos["z"] < toZ do + while not pos["r"] == 0 do + right() + end + secureDig() + forward() + end + while pos["z"] > toZ do + while not pos["r"] == 2 do + right() + end + secureDig() + forward() + end + + + + + return { secureDig=secureDig, @@ -134,4 +182,5 @@ return left=left, right=right, getPos=getPos, + goToPosition=goToPosition, } \ No newline at end of file diff --git a/src/brulijam/log-receiver.lua b/src/brulijam/log-receiver.lua old mode 100644 new mode 100755 diff --git a/src/brulijam/setLabel.lua b/src/brulijam/setLabel.lua old mode 100644 new mode 100755 diff --git a/src/brulijam/shapeBuilder.lua b/src/brulijam/shapeBuilder.lua old mode 100644 new mode 100755 diff --git a/src/brulijam/sync-client.lua b/src/brulijam/sync-client.lua old mode 100644 new mode 100755 diff --git a/src/brulijam/systemlock.lua b/src/brulijam/systemlock.lua old mode 100644 new mode 100755 diff --git a/src/brulijam/t-farmer.lua b/src/brulijam/t-farmer.lua old mode 100644 new mode 100755 diff --git a/src/brulijam/t-fiboMiner.lua b/src/brulijam/t-fiboMiner.lua old mode 100644 new mode 100755 index e07b629..80b0d06 --- a/src/brulijam/t-fiboMiner.lua +++ b/src/brulijam/t-fiboMiner.lua @@ -62,14 +62,10 @@ local function getState() state["dataGoalPathProgress"] = 0 state["dataCurrentRow"] = 0 state["dataCurrentPathProgress"] = 0 - state["x"] = 0 - state["y"] = 0 - state["z"] = 0 - state["r"] = 0 --towards south (pos Z) - state["startX"] = 0 - state["startY"] = 0 - state["startZ"] = 0 - + state["lastValidR"] = 0 + state["lastValidX"] = 0 + state["lastValidY"] = 0 + state["lastValidZ"] = 0 basic.writeToFile("brulijam/files/state-t-fiboMiner.txt", textutils.serialize(state)) else @@ -121,12 +117,10 @@ local function inventoryRework() --store items away if not spaceAvailable and chestAvailable then --turtle.up() - state["y"] = tutel.up(state["y"]) - setState(state) + tutel.up() basic.secureDigUp() --turtle.up() - state["y"] = tutel.up(state["y"]) - setState(state) + tutel.up() basic.secureDigUp() turtle.select(chestSlot) turtle.placeUp() @@ -142,11 +136,9 @@ local function inventoryRework() end end --turtle.down() - state["y"] = tutel.down(state["y"]) - setState(state) + tutel.down() --turtle.down() - state["y"] = tutel.down(state["y"]) - setState(state) + tutel.down() end if not spaceAvailable and not chestAvailable then @@ -170,18 +162,15 @@ end local function recursiveOreMining() for i=0, 3 do --turtle.turnLeft() - state["r"] = tutel.left(state["r"]) - setState(state) + tutel.left() blockFound, blockData = turtle.inspect() if isOre(blockData) then tutel.secureDig() --turtle.forward() - state["x"], state["y"], state["z"], state["r"] = tutel.forward(state["x"],state["y"],state["z"],state["r"]) - setState(state) + tutel.forward() recursiveOreMining() --turtle.back() - state["x"], state["y"], state["z"], state["r"] = tutel.back(state["x"],state["y"],state["z"],state["r"]) - setState(state) + tutel.back() end end @@ -189,24 +178,20 @@ local function recursiveOreMining() if isOre(blockData) then tutel.secureDigUp() --turtle.up() - state["y"] = tutel.up(state["y"]) - setState(state) + tutel.up() recursiveOreMining() --turtle.down() - state["y"] = tutel.down(state["y"]) - setState(state) + tutel.down() end blockFound, blockData = turtle.inspectDown() if isOre(blockData) then tutel.secureDigDown() --turtle.down() - state["y"] = tutel.down(state["y"]) - setState(state) + tutel.down() recursiveOreMining() --turtle.up() - state["y"] = tutel.up(state["y"]) - setState(state) + tutel.up() end end @@ -217,8 +202,7 @@ local function mineRow() tutel.secureDig() --turtle.forward() - state["x"], state["y"], state["z"], state["r"] = tutel.forward(state["x"],state["y"],state["z"],state["r"]) - setState(state) + tutel.forward() tutel.secureDigUp() tutel.secureDigDown() @@ -227,20 +211,16 @@ local function mineRow() --check current mining step for ore --turtle.up() - state["y"] = tutel.up(state["y"]) - setState(state) + tutel.up() recursiveOreMining() --turtle.down() - state["y"] = tutel.down(state["y"]) - setState(state) + tutel.down() recursiveOreMining() --turtle.down() - state["y"] = tutel.down(state["y"]) - setState(state) + tutel.down() recursiveOreMining() --turtle.up() - state["y"] = tutel.up(state["y"]) - setState(state) + tutel.up() inventoryRework() --clearInventory() @@ -248,9 +228,16 @@ local function mineRow() --save path progress state["dataCurrentPathProgress"] = i+1 - setState(state) end print("row: " .. state["dataCurrentRow"]+1 .. "/" .. state["dataGoalRows"] .. ", pathProgress: " .. state["dataCurrentPathProgress"]+1 .. "/" .. state["dataGoalPathProgress"]) + local pos = tutel.getPos() + --TODO SAVE LAST VALID POSITION HERE + state["lastValidR"] = pos["r"] + state["lastValidX"] = pos["x"] + state["lastValidY"] = pos["y"] + state["lastValidZ"] = pos["z"] + setState(state) + end local function mineChunk() @@ -267,33 +254,27 @@ local function mineChunk() --turn back and return to start of row if not last row if i