Advertisement
Guest User

Stripmine2

a guest
Feb 20th, 2020
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.82 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.  if Dx > Cx then
  47.   while CurrentDir ~= 3 do -- POS x
  48.    turtle.turnRight()
  49.    if CurrentDir >= 3 then
  50.     CurrentDir = 0
  51.    else
  52.     CurrentDir = CurrentDir + 1
  53.    end
  54.   end
  55.  
  56.  elseif Dx < Cz then
  57.   while CurrentDir ~= 1 do -- NEG x
  58.    turtle.turnRight()
  59.    if CurrentDir >= 3 then
  60.     CurrentDir = 0
  61.    else
  62.     CurrentDir = CurrentDir + 1
  63.    end
  64.   end
  65.  end
  66.  
  67.  if CurrentDir == 1 or CurrentDir == 3 then
  68.   while Cx ~= Dx do
  69.    while turtle.detectUp() do
  70.     turtle.digUp()
  71.    end
  72.    while turtle.detect() do
  73.     turtle.dig()
  74.    end
  75.    if turtle.forward() then
  76.     if     CurrentDir == 1 then
  77.      Cx = Cx - 1
  78.     elseif CurrentDir == 3 then
  79.      Cx = Cx + 1
  80.     end
  81.    end
  82.    print("Current POS: ","X: "..Cx," Z: "..Cz)
  83.   end
  84.  end
  85.  
  86.  if Dz > Cz then
  87.   while CurrentDir ~= 0 do -- POS z
  88.    turtle.turnRight()
  89.    if CurrentDir >= 3 then
  90.     CurrentDir = 0
  91.    else
  92.     CurrentDir = CurrentDir + 1
  93.    end
  94.   end
  95.    
  96.  elseif Dz < Cz then
  97.   while CurrentDir ~= 2 do -- NEG z
  98.    turtle.turnRight()
  99.    if CurrentDir >= 3 then
  100.     CurrentDir = 0
  101.    else
  102.     CurrentDir = CurrentDir + 1
  103.    end
  104.   end
  105.  end
  106.  
  107.  while Cz ~= Dz do
  108.   while turtle.detectUp() do
  109.    turtle.digUp()
  110.   end
  111.   while turtle.detect() do
  112.    turtle.dig()
  113.   end
  114.   if turtle.forward() then
  115.    if     CurrentDir == 0 then
  116.     Cz = Cz + 1
  117.    elseif CurrentDir == 2 then
  118.     Cz = Cz - 1
  119.    end
  120.   end
  121.   print("Current POS: ","X: "..Cx," Z: "..Cz)
  122.  end
  123.  if Cx == Dx and Cz == Dz then
  124.   return Cx,Cz
  125.  end
  126. end
  127.  
  128. print("Destination POS: ","X: "..DestX,"Z: "..DestZ)
  129. StartPosX,StartPosZ = CurrentX,CurrentZ
  130. -- Strip Mine
  131. while CompletedTunnels < Tunnels do
  132.  CurrentX,CurrentZ = PathFind(CurrentX,CurrentZ,DestX,DestZ) -- Current , Destination ,Tunnel
  133.  -- Back Track from Tunnel
  134.  CurrentX,CurrentZ = PathFind(CurrentX,CurrentZ,StartPosX,StartPosZ)
  135.  
  136.  CurrentX,CurrentZ = PathFind(CurrentX,CurrentZ,ChestX,ChestZ)
  137.  for CurrentSlot = 1,16 do
  138.   turtle.drop()
  139.  end
  140.   CurrentX,CurrentZ = PathFind(CurrentX,CurrentZ,StartPosX+Xoffset,StartPosZ+Zoffset)
  141.   StartPosX = CurrentX
  142.   StartPosZ = CurrentZ
  143.   CompletedTunnels = CompletedTunnels + 1
  144.     while CurrentDir ~= ScrnShotDir  do
  145.    turtle.turnRight()
  146.    if CurrentDir >= 3 then
  147.     CurrentDir = 0
  148.    else
  149.     CurrentDir = CurrentDir + 1
  150.    end
  151.   end
  152.   if     CurrentDir == 0 then
  153.  DestZ = CurrentZ + TunnelLength
  154.  DestX = CurrentX
  155. elseif CurrentDir == 1 then
  156.  DestX = CurrentX - TunnelLength
  157.  DestZ = CurrentZ
  158. elseif CurrentDir == 2 then
  159.  DestZ = CurrentZ - TunnelLength
  160.  DestX = CurrentX
  161. elseif CurrentDir == 3 then
  162.  DestX = CurrentDir + TunnelLength
  163.  DestZ = CurrentZ
  164. end
  165. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement