Row switches also break blocks now.
This commit is contained in:
parent
3c634fe129
commit
312cb33544
@ -250,6 +250,7 @@ end
|
||||
|
||||
local function orient(v, forward, right)
|
||||
print("Attempting to orient such that " .. tostring(v) .. " == " .. tostring(forward) .. ".")
|
||||
v = v:normalize()
|
||||
if vectorEqual(v, forward) then
|
||||
return true
|
||||
elseif vectorEqual(v, right) then
|
||||
@ -431,10 +432,15 @@ local function quarry(x, y, z, forward, right, pattern)
|
||||
return
|
||||
end
|
||||
end
|
||||
local bool reverseTrip = false;
|
||||
for xDelta=1,math.abs(x) do
|
||||
for zDelta=1,math.abs(z) do
|
||||
local success = true;
|
||||
orient(vector.new(0, 0, z), forward, right)
|
||||
if (reverseTrip) then
|
||||
orient(vector.new(0,0,-z), forward, right)
|
||||
else
|
||||
orient(vector.new(0, 0, z), forward, right)
|
||||
end
|
||||
success = success and attemptBreakUp(pattern)
|
||||
success = success and attemptBreakDown(pattern)
|
||||
success = success and attemptBreakFront(pattern)
|
||||
@ -443,7 +449,12 @@ local function quarry(x, y, z, forward, right, pattern)
|
||||
sendLog(FAILED, "Unable to proceed with quarrying.")
|
||||
end
|
||||
end
|
||||
if not (orient(vector.new(x, 0, 0), forward, right) and attemptBreakFront(pattern) and attemptMoveForward()) then
|
||||
reverseTrip = not reverseTrip
|
||||
if not (orient(vector.new(x, 0, 0), forward, right) and
|
||||
attemptBreakFront(pattern) and
|
||||
attemptBreakUp(pattern) and
|
||||
attemptBreakDown(pattern) and
|
||||
attemptMoveForward()) then
|
||||
sendLog(FAILED, "Unable to move to next row.")
|
||||
return
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user