Bmorr

super_mine.lua

Jun 1st, 2021 (edited)
836
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.81 KB | None | 0 0
  1. --[[
  2. pastebin get QHCDQSyA super_mine.lua
  3. --]]
  4.  
  5. -- Process args
  6. local tArgs = { ... }
  7. if not (#tArgs >= 4) then
  8.     local programName = arg[0] or fs.getName(shell.getRunningProgram())
  9.     print("Usage: " .. programName .. " <length> <direction> <tunnels> <slideDir> Optional: <spacing>")
  10.     return
  11. end
  12.  
  13. local length, dir, tunnels, slideDir = tonumber(tArgs[1]), tonumber(tArgs[2]), tonumber(tArgs[3]), tArgs[4]
  14. if length < 1 then
  15.     print("Tunnel length must be positive")
  16.     return
  17. elseif not (0 <= dir and dir <= 3) then
  18.     print("Direction must be within [0, 4].")
  19.     return
  20. elseif tunnels < 0 then
  21.     print("Tunnel count must be positive!")
  22.     return
  23. elseif not (slideDir:find("[Ll]") or slideDir:find("[Rr]")) then
  24.     print("SlideDir must contain either L or R")
  25.     return
  26. end
  27.  
  28. local spacing = 4
  29. if #tArgs > 4 then
  30.     spacing = tonumber(tArgs[5])
  31.     if spacing <= 0 then
  32.         print("Spacing must be positive!")
  33.         return
  34.     end
  35. end
  36.  
  37. -- config.txt
  38. if fs.exists("config.txt") then
  39.     fs.delete("config.txt")
  40. end
  41. shell.run("pastebin get 1FcmHrkr config.txt")
  42. -- scan_mine.lua updater
  43. if fs.exists(".scan_mine.lua") then
  44.     fs.delete(".scan_mine.lua")
  45. end
  46. shell.run("pastebin get c5vdk7EE .scan_mine.lua")
  47.  
  48.  
  49.  
  50. slideDir = slideDir:find("[Ll]")
  51. if not fs.exists("left.lua") then
  52.     shell.run("pastebin get X75n2YnV left.lua")
  53. end
  54.  
  55. if not fs.exists("right.lua") then
  56.     shell.run("pastebin get UeKidsC2 right.lua")
  57. end
  58.  
  59. local arg_string = ""
  60. for i, arg in ipairs(arg) do
  61.     arg_string = arg_string.." "..arg
  62. end
  63.  
  64. for i = 1, tunnels do
  65.     shell.run(".scan_mine.lua "..length.." "..dir)
  66.     if i ~= tunnels then
  67.         if slideDir then
  68.             shell.run("left.lua "..spacing)
  69.         else
  70.             shell.run("right.lua "..spacing)
  71.         end
  72.     end
  73. end
  74.  
Advertisement
Add Comment
Please, Sign In to add comment