Advertisement
Guest User

StripMineFix

a guest
Feb 21st, 2020
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.93 KB | None | 0 0
  1. -- Getting Coords
  2. print("What are my Coords?: ")
  3. io.write("X: ")
  4. CurrentX = tonumber(io.read())
  5. io.write("Z: ")
  6. CurrentZ = tonumber(io.read())
  7. print("What Are my Coords right before the chest?: ")
  8. io.write("X: ")
  9. ChestX = tonumber(io.read())
  10. io.write("Z: ")
  11. ChestZ = tonumber(io.read())
  12. print("Which Direction am i facing?: ")
  13. CurrentDir = tonumber(io.read())
  14.  
  15. -- getting ready to strip mine
  16. print("How many Tunnels?: ")
  17. Tunnels = tonumber(io.read())
  18. CompletedTunnels = 0
  19. print("How long is each tunnel?: ")
  20. TunnelLength = tonumber(io.read())
  21. print("Next Tunnel Coords: ")
  22. io.write("X: ")
  23. ScrnshotX = tonumber(io.read())
  24. io.write("Z: ")
  25. ScrnshotZ = tonumber(io.read())
  26. print("Next Tunnel Direction?: ")
  27. ScrnShotDir = tonumber(io.read())
  28. Xoffset = ScrnshotX - CurrentX
  29. Zoffset = ScrnshotZ - CurrentZ
  30. if     CurrentDir == 0 then
  31.  DestZ = CurrentZ + TunnelLength
  32.  DestX = CurrentX
  33. elseif CurrentDir == 1 then
  34.  DestX = CurrentX - TunnelLength
  35.  DestZ = CurrentZ
  36. elseif CurrentDir == 2 then
  37.  DestZ = CurrentZ - TunnelLength
  38.  DestX = CurrentX
  39. elseif CurrentDir == 3 then
  40.  DestX = CurrentDir + TunnelLength
  41.  DestZ = CurrentZ
  42. end
  43.  
  44. function PathFind(Cx,Cz,Dx,Dz)
  45.  --Checking Directions
  46.  while Cx ~= Dz or Cz ~= Dz do
  47.   if Dx > Cx then
  48.    while CurrentDir ~= 3 do -- POS x
  49.     turtle.turnRight()
  50.     if CurrentDir >= 3 then
  51.      CurrentDir = 0
  52.     else
  53.      CurrentDir = CurrentDir + 1
  54.     end
  55.    end
  56.  
  57.   elseif Dx < Cz then
  58.    while CurrentDir ~= 1 do -- NEG x
  59.     turtle.turnRight()
  60.     if CurrentDir >= 3 then
  61.      CurrentDir = 0
  62.     else
  63.      CurrentDir = CurrentDir + 1
  64.     end
  65.    end
  66.   end
  67.  
  68.   if CurrentDir == 1 or CurrentDir == 3 then
  69.    while Cx ~= Dx do
  70.     while turtle.detectUp() do
  71.      turtle.digUp()
  72.     end
  73.     while turtle.detect() do
  74.      turtle.dig()
  75.     end
  76.     if turtle.forward() then
  77.      if     CurrentDir == 1 then
  78.       Cx = Cx - 1
  79.      elseif CurrentDir == 3 then
  80.       Cx = Cx + 1
  81.      end
  82.     end
  83.     print("Current POS: ","X: "..Cx," Z: "..Cz)
  84.    end
  85.   end
  86.  
  87.   if Dz > Cz then
  88.    while CurrentDir ~= 0 do -- POS z
  89.     turtle.turnRight()
  90.     if CurrentDir >= 3 then
  91.     CurrentDir = 0
  92.     else
  93.      CurrentDir = CurrentDir + 1
  94.     end
  95.    end
  96.    
  97.   elseif Dz < Cz then
  98.    while CurrentDir ~= 2 do -- NEG z
  99.     turtle.turnRight()
  100.     if CurrentDir >= 3 then
  101.      CurrentDir = 0
  102.     else
  103.      CurrentDir = CurrentDir + 1
  104.     end
  105.    end
  106.   end
  107.  
  108.   while Cz ~= Dz do
  109.    while turtle.detectUp() do
  110.     turtle.digUp()
  111.    end
  112.    while turtle.detect() do
  113.     turtle.dig()
  114.    end
  115.    if turtle.forward() then
  116.     if     CurrentDir == 0 then
  117.      Cz = Cz + 1
  118.     elseif CurrentDir == 2 then
  119.      Cz = Cz - 1
  120.     end
  121.    end
  122.    print("Current POS: ","X: "..Cx," Z: "..Cz)
  123.   end
  124.   if Cx == Dx and Cz == Dz then
  125.    return Cx,Cz
  126.   end
  127.  end
  128. end
  129. print("Destination POS: ","X: "..DestX,"Z: "..DestZ)
  130. StartPosX,StartPosZ = CurrentX,CurrentZ
  131. -- Strip Mine
  132. while CompletedTunnels < Tunnels do
  133.  CurrentX,CurrentZ = PathFind(CurrentX,CurrentZ,DestX,DestZ) -- Current , Destination ,Tunnel
  134.  -- Back Track from Tunnel
  135.  CurrentX,CurrentZ = PathFind(CurrentX,CurrentZ,StartPosX,StartPosZ)
  136.  
  137.  CurrentX,CurrentZ = PathFind(CurrentX,CurrentZ,ChestX,ChestZ)
  138.  for CurrentSlot = 1,16 do
  139.   turtle.drop()
  140.  end
  141.   CurrentX,CurrentZ = PathFind(CurrentX,CurrentZ,StartPosX+Xoffset,StartPosZ+Zoffset)
  142.   StartPosX = CurrentX
  143.   StartPosZ = CurrentZ
  144.   CompletedTunnels = CompletedTunnels + 1
  145.     while CurrentDir ~= ScrnShotDir  do
  146.    turtle.turnRight()
  147.    if CurrentDir >= 3 then
  148.     CurrentDir = 0
  149.    else
  150.     CurrentDir = CurrentDir + 1
  151.    end
  152.   end
  153.   if     CurrentDir == 0 then
  154.  DestZ = CurrentZ + TunnelLength
  155.  DestX = CurrentX
  156. elseif CurrentDir == 1 then
  157.  DestX = CurrentX - TunnelLength
  158.  DestZ = CurrentZ
  159. elseif CurrentDir == 2 then
  160.  DestZ = CurrentZ - TunnelLength
  161.  DestX = CurrentX
  162. elseif CurrentDir == 3 then
  163.  DestX = CurrentDir + TunnelLength
  164.  DestZ = CurrentZ
  165. end
  166. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement