--Hollow Simple Script v1 --Turtle Program Computer Craft --by SemlerPDX(July2021) --pastebin get BfnmYS5q Hollow --COMMENT SYNTAX EXPLAINATION --torches must be in slot 1 (one for every 8th block, every 5th row) --example: Hollow 22 31 (makes empty room 22 blocks deep and 31 blocks wide, with full torch coverage) -- Variables -- local args = {...} local d = args[1] or 0 local w = args[2] or 0 local r = 0 + d local dLit = 4 local wLit = 0 local t = turtle -- F-ACK -- if #args ~= 2 then print("") print("") return end if d == 0 then print("") print("") return end --if d <= 6 then -- print("") -- print("") -- return --end -- Functions -- --force forward function by CCCode local function forceForward() while not t.forward() do t.dig() end end --dig down, decrement lit variable local function fDown() t.digDown() t.down() end --dig up, turn around local function fUp() t.digUp() t.up() end local function fRow() fUp() fUp() for v=1,3 do for s=1,d do if v == 3 then if dLit == 0 and wLit == 0 then dLit = 8 fUp() t.placeDown() forceForward() fDown() else forceForward() end if wLit == 0 then dLit = dLit - 1 end else forceForward() end end if v ~= 3 then t.turnLeft() t.turnLeft() fDown() end end end local function fTurn() t.turnLeft() forceForward() t.turnLeft() end --return home local function fHome() fUp() t.turnLeft() t.turnLeft() r = 0 + d while r ~=0 do forceForward() r = r -1 end fDown() end --clear display screen local function fset() term.clear() term.setCursorPos(1,1) end -- Pre-fire scripts -- fset() print("Beginning Hollow "..tostring(d).." blocks deep and "..tostring(w).." blocks wide...") sleep(1) print(" -press any key to cancel-") sleep(2) ---- Main Loop ---- while w ~= 0 do local function fcancel() local event, key = os.pullEvent("key") end local function fmain() fRow() fHome() fTurn() w = w - 1 if wLit == 0 then wLit = 5 end wLit = wLit - 1 dLit = 4 end FunctionEnabled = parallel.waitForAny(fcancel,fmain) if FunctionEnabled == 1 then textutils.slowPrint("Cancelling Hollow...", 15) sleep(1.65) break end end -- Evaluate Ending -- if FunctionEnabled == 1 then --(1 = functions cancelled, 2 = standard function looped) fset() print("Hollow Cancelled by user") else fset() print("Hollow "..tostring(args[1]).." "..tostring(args[2]).." Finished") fset() print("...program complete") end