Row switches also break blocks now.
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user