This commit is contained in:
Julian Brammer 2024-06-22 00:24:29 +02:00
parent 1e29d967cf
commit 6ff663bb44

View File

@ -1,3 +1,5 @@
local basic = require("basic")
--secure digging wrappers --secure digging wrappers
local function secureDig() local function secureDig()
while turtle.detect() do while turtle.detect() do
@ -19,68 +21,96 @@ end
--location returning move wrapper --location returning move wrapper
--https://www.youtube.com/watch?v=bZe5J8SVCYQ --https://www.youtube.com/watch?v=bZe5J8SVCYQ
local function forward(x, y, z, r)
if turtle.forward() then local function savePos()
sleep(1) basic.writeToFile("brulijam/files/pos.txt", textutils.serialize(state))
if r == 0 then
z = z + 1
elseif r == 1 then
x = x - 1
elseif r == 2 then
z = z - 1
elseif r == 3 then
x = x + 1
end
end
return x,y,z,r
end end
local function back(x, y, z, r) local function getPos()
if not fs.exists "brulijam/files/pos.txt" then
basic.clearDisplay()
print("[Postion init]")
write("x: ")
x = read()
write("y: ")
y = read()
write("z: ")
z = read()
write("r (S=0,W=1,N=2,E=3):")
r = read()
basic.clearDisplay()
pos = {}
pos["x"] = x
pos["y"] = y
pos["z"] = z
pos["r"] = r
basic.writeToFile("brulijam/files/pos.txt", textutils.serialize(pos))
else
pos = basic.readFileAll("brulijam/files/pos.txt")
pos = textutils.unserialize(pos)
end
return pos
end
local function forward()
if turtle.forward() then
local pos = getPos()
sleep(1)
if pos["r"] == 0 then
pos["z"] = pos["z"] + 1
elseif pos["r"] == 1 then
pos["x"] = pos["x"] - 1
elseif pos["r"] == 2 then
pos["z"] = pos["z"] - 1
elseif pos["r"] == 3 then
pos["x"] = pos["x"] + 1
end
end
end
local function back()
sleep(1) sleep(1)
if turtle.back() then if turtle.back() then
if r == 0 then if pos["r"] == 0 then
z = z - 1 pos["z"] = pos["z"] - 1
elseif r == 1 then elseif pos["r"] == 1 then
x = x + 1 pos["x"] = pos["x"] + 1
elseif r == 2 then elseif pos["r"] == 2 then
z = z + 1 pos["z"] = pos["z"] + 1
elseif r == 3 then elseif pos["r"] == 3 then
x = x - 1 pos["x"] = pos["x"] - 1
end end
end end
return x,y,z,r
end end
local function up(y) local function up()
sleep(1) sleep(1)
if turtle.up() then if turtle.up() then
y = y + 1 pos["y"] = pos["y"] + 1
end end
return y
end end
local function down(y) local function down()
sleep(1) sleep(1)
if turtle.down() then if turtle.down() then
y = y - 1 pos["y"] = pos["y"] - 1
end end
return y
end end
local function left(r) local function left()
sleep(1) sleep(1)
if turtle.turnLeft() then if turtle.turnLeft() then
r = (r-1) % 4 pos["r"] = (pos["r"]-1) % 4
end end
return r
end end
local function right(r) local function right()
sleep(1) sleep(1)
if turtle.turnRight() then if turtle.turnRight() then
r = (r+1) % 4 pos["r"] = (pos["r"]+1) % 4
end end
return r
end end