Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- os.loadAPI("utils")
- os.loadAPI("matrix")
- os.loadAPI("aware")
- local tArgs = { ... }
- structname = tArgs[1]
- startpos = {}
- m = peripheral.wrap("right")
- local function refuel(slot)
- return m.resupply(slot)
- end
- local function placedown(slot)
- while (turtle.getItemCount(slot) < 2) do
- if (refuel(slot) == false) then
- utils.termwrite("Slot "..slot.." needs a refill!")
- sleep(3)
- end
- end
- turtle.select(slot)
- while(turtle.placeDown() == false) do
- if(turtle.digDown() == false) then
- utils.termwrite("Unable to place block beneath me!")
- sleep(3)
- end
- end
- end
- local function buildlayer(number)
- currentlayer = utils.varfromfile(structname.."/"..structname..number)
- for i=1, 100, 2 do
- for j=1, 40 do
- block = matrix.get(currentlayer, i, j)
- if(block ~= nil) then
- aware.moveto((startpos[1]+i), (startpos[2]+j))
- placedown(block)
- end
- end
- for j=40, 1, -1 do
- block = matrix.get(currentlayer, i+1, j)
- if(block ~= nil) then
- aware.moveto((startpos[1]+i+1), (startpos[2]+j))
- placedown(block)
- end
- end
- end
- end
- local function build()
- startpos = aware.getposition("current")
- structpos = 0
- while(fs.exists(structname.."/"..structname..structpos)) do
- buildlayer(structpos)
- aware.digmoveup()
- structpos = structpos + 1
- end
- aware.moveto(startpos[1],startpos[2],startpos[3]+structpos)
- aware.goto(startpos)
- end
- build()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement