Posted 19 August 2012 - 12:21 AM
I've been using Pruby's awesome sphere and dome building turtle program (http://www.computerc...__fromsearch__1) to build a huge Death Star replica. The problem I have is the turtle stopped at level 43 of 160 due to minecraft crashing. I don't really want to start again as it's taken about 6 hours to get this far! So what I want to do is try to make the turtle skip x amount of layers (in this case 43) or if that's not possible changing the outcome of the "safeup," safeforward," etc to skip over already completed layers. Here is the code:
-- Dome and sphere builder.
-- Copyright © 2012 Timothy Goddard
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of
-- this software and associated documentation files (the "Software"), to deal in
-- the Software without restriction, including without limitation the rights to
-- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-- the Software, and to permit persons to whom the Software is furnished to do so,
-- subject to the following conditions:
--
-- The above copyright notice and this permission notice shall be included in all
-- copies or substantial portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-- FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--
-- usage: sdbuild <type> <radius> [-c]
-- type should be either dome or sphere
-- radius is distance from centre - total width is actually 2 * radius + 1
-- the structure will be built with its lowest point on the level the turtle is at
-- the block the turtle starts on will be the horizontal centre
-- if -c is passed, will only calculate number of blocks required and not build
local arg = { ... }
type = arg[1]
radius = tonumber(arg[2])
cost_only = false
blocks = 0
if arg[3] == "-c" then
cost_only = true
end
-- Navigation features
-- allow the turtle to move while tracking its position
-- this allows us to just give a destination point and have it go there
positionx = radius
positiony = radius
facing = 0
function turnRightTrack()
turtle.turnRight()
facing = facing + 1
if facing >= 4 then
facing = 0
end
end
function turnLeftTrack()
turtle.turnLeft()
facing = facing - 1
if facing < 0 then
facing = 3
end
end
function safeForward()
success = false
while not success do
success = turtle.forward()
if not success then
print("Blocked attempting to move forward.")
print("Please clear and press enter to continue.")
io.read()
end
end
end
function safeBack()
success = false
while not success do
success = turtle.back()
if not success then
print("Blocked attempting to move back.")
print("Please clear and press enter to continue.")
io.read()
end
end
end
function safeUp()
success = false
while not success do
success = turtle.up()
if not success then
print("Blocked attempting to move up.")
print("Please clear and press enter to continue.")
io.read()
end
end
end
function moveY(targety)
if targety == positiony then
return
end
[code] Any help would be appreciated.