Guest User

quarry

a guest
Dec 1st, 2013
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.37 KB | None | 0 0
  1. function dumpIntoChest()
  2.   turtle.select(16)
  3.   turtle.placeUp()
  4.   for i = 1, 15 do
  5.     turtle.select(i)
  6.     turtle.dropUp()
  7.   end
  8.   turtle.select(16)
  9.   turtle.digUp()
  10.   turtle.select(1)
  11. end
  12.  
  13. function digStripe(length)
  14.   for xDec = 1, length - 1 do
  15.     if turtle.getItemCount(15) > 0 then
  16.       dumpIntoChest()
  17.     end
  18.     turtle.digDown()
  19.     turtle.forward()
  20.   end
  21.   turtle.digDown()
  22.   turtle.turnRight()
  23.   turtle.turnRight()
  24.   for xDec = 1, length - 1 do
  25.     turtle.forward()
  26.   end
  27.   turtle.turnRight()
  28.   turtle.turnRight()
  29. end
  30.  
  31. function digSquare(length, width)
  32.   for yDec = 1, width -1 do
  33.     digStripe(length)
  34.     turtle.turnRight()
  35.     turtle.forward()
  36.     turtle.turnLeft()
  37.   end
  38.   digStripe(length)
  39.   turtle.turnLeft()
  40.   for yDec = 1, width - 1 do
  41.     turtle.forward()
  42.   end
  43.   turtle.turnRight()
  44. end
  45.  
  46. function digCube(length, width, height)
  47.   for zDec = 1, height - 1 do
  48.     digSquare(length, width)
  49.     turtle.down()
  50.   end
  51.   digSquare(length, width)
  52.   for zDec = 1, height - 1 do
  53.     turtle.up()
  54.   end
  55. end
  56. local arg = { ... }
  57.  
  58. if #arg == 3 then
  59.   x = tonumber(arg[1])
  60.   y = tonumber(arg[2])
  61.   z = tonumber(arg[3])
  62.  
  63.   local fuel = turtle.getFuelLevel()
  64.   if fuel == "unlimited" then
  65.     fuel = 0
  66.     fuelNeeded = -1
  67.   else
  68.     fuelNeeded = ((((x-1)*2)+1) * (y-1) * z + z - 1)
  69.   end
  70.   --print (x..y..z)
  71.  
  72.   print("Quarrying out area")
  73.   print("Dimensions:")
  74.   print("x: "..x)
  75.   print("y: "..y)
  76.   print("z: "..z)
  77.   print("")
  78.   print("Fuel: "..fuel)
  79.   print("Fuel needed: "..fuelNeeded)
  80.   print("")
  81.   if fuel < fuelNeeded then
  82.     print("Please refuel me! I need a minimum of "..fuelNeeded.." fuel!")
  83.   else
  84.     --Main quarry program
  85.  
  86.     digCube(x, y, z)
  87.    
  88.     if turtle.getFuelLevel() == "unlimited" then
  89.       print("Unlimited fuel, fuel calculation disabled!")
  90.     else
  91.       fuelReallyNeeded = fuel - turtle.getFuelLevel()
  92.    
  93.       print("Fuel after quarrying: "..turtle.getFuelLevel())
  94.       print("Fuel needed: "..fuelReallyNeeded)
  95.    
  96.       if fuelReallyNeeded == fuelNeeded then
  97.         print("Fuel needed equals what I calculated!")
  98.       else
  99.         print("Aww shit. I calculated the wrong fuel usage! :-[")
  100.         print("Creepers may kill me")
  101.       end
  102.     end
  103.     dumpIntoChest()
  104.   end
  105. else
  106.   print("Usage: quarry <length> <width> <height>")
  107.   print("[stderr] Wrong parameters.")
  108. end
Advertisement
Add Comment
Please, Sign In to add comment