Advertisement
jdroid91

lumberFarm

Oct 8th, 2023 (edited)
259
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.04 KB | None | 1 0
  1. local currentDirection = nil
  2.  
  3. function getCurrentDirection()
  4.     local blockStatus, blockData = turtle.inspect()
  5.     if (blockStatus == false)
  6.     then
  7.         local tp1X, tp1Y, tp1Z = gps.locate()
  8.         turtle.forward()
  9.         local tp2X, tp2Y, tp2Z = gps.locate()
  10.         turtle.back()
  11.      
  12.         if (tp1X == tp2X)
  13.         then
  14.             if (tp1Z < tp2Z)
  15.             then
  16.                 currentDirection = "South"
  17.             else
  18.                 currentDirection = "North"
  19.             end
  20.         else
  21.             if (tp1X < tp2X)
  22.             then
  23.                 currentDirection = "East"
  24.             else
  25.                 currentDirection = "West"
  26.             end
  27.         end
  28.     else
  29.         turnLeft()
  30.         getCurrentDirection()
  31.     end
  32. end
  33.  
  34. function turnLeft()
  35.     if (currentDirection == "North")
  36.     then
  37.         currentDirection = "West"
  38.     elseif (currentDirection == "West")
  39.     then
  40.         currentDirection = "South"
  41.     elseif (currentDirection == "South")
  42.     then
  43.         currentDirection = "East"
  44.     else
  45.         currentDirection = "North"
  46.     end
  47.     turtle.turnLeft()
  48. end
  49.  
  50. function turnRight()
  51.     if (currentDirection == "North")
  52.     then
  53.         currentDirection = "East"
  54.     elseif (currentDirection == "East")
  55.     then
  56.         currentDirection = "South"
  57.     elseif (currentDirection == "South")
  58.     then
  59.         currentDirection = "West"
  60.     else
  61.         currentDirection = "North"
  62.     end
  63.     turtle.turnRight()
  64. end
  65.  
  66. function gotoPoint(dp, aboveTree)
  67.     dpX = dp.x
  68.     if (aboveTree ~= nil)
  69.     then
  70.         dpY = dp.+ 1
  71.     else
  72.         dpY = dp.y
  73.     end
  74.     dpZ = dp.z
  75.     local clX, clY, clZ = gps.locate()
  76.    
  77.     while (clY ~= dpY)
  78.     do
  79.         if (clY > dpY)
  80.         then
  81.             turtle.down()
  82.         else
  83.             turtle.up()
  84.         end
  85.         clX, clY, clZ = gps.locate()    
  86.     end
  87.    
  88.     while (clX ~= dpX)
  89.     do
  90.         if (clX > dpX)
  91.         then
  92.             while (currentDirection ~= "West")
  93.             do
  94.                 turnLeft()
  95.             end
  96.         else
  97.             while (currentDirection ~= "East")
  98.             do
  99.                 turnLeft()
  100.             end
  101.         end
  102.         turtle.forward()
  103.         clX, clY, clZ = gps.locate()
  104.     end
  105.    
  106.     while (clZ ~= dpZ)
  107.     do
  108.         if (clZ > dpZ)
  109.         then
  110.             while (currentDirection ~= "North")
  111.             do
  112.                 turnLeft()
  113.             end
  114.         else
  115.             while (currentDirection ~= "South")
  116.             do
  117.                 turnLeft()
  118.             end
  119.         end
  120.         turtle.forward()
  121.         clX, clY, clZ = gps.locate()
  122.     end
  123. end
  124.  
  125. local home = {
  126.     x = -1437,
  127.     y = -50,
  128.     z = -399
  129. }
  130.  
  131. local startingPoints = {
  132.     {
  133.         x = -1438,
  134.         y = -50,
  135.         z = -399
  136.     },
  137.     {
  138.         x = -1438,
  139.         y = -56,
  140.         z = -398
  141.     },
  142.     {
  143.         x = -1438,
  144.         y = -56,
  145.         z = -388
  146.     },
  147.     {
  148.         x = -1440,
  149.         y = -56,
  150.         z = -388
  151.     },
  152.     {
  153.         x = -1440,
  154.         y = -56,
  155.         z = -382
  156.     },
  157.     {
  158.         x = -1440,
  159.         y = -56,
  160.         z = -377
  161.     },
  162.     {
  163.         x = -1444,
  164.         y = -56,
  165.         z = -376
  166.     },
  167.     {
  168.         x = -1445,
  169.         y = -56,
  170.         z = -380
  171.     },
  172.     {
  173.         x = -1445,
  174.         y = -56,
  175.         z = -385
  176.     },
  177.     {
  178.         x = -1449,
  179.         y = -56,
  180.         z = -386
  181.     },
  182.     {
  183.         x = -1450,
  184.         y = -56,
  185.         z = -382
  186.     },
  187.     {
  188.         x = -1450,
  189.         y = -56,
  190.         z = -377
  191.     },
  192.     {
  193.         x = -1455,
  194.         y = -56,
  195.         z = -377
  196.     },
  197.     {
  198.         x = -1455,
  199.         y = -56,
  200.         z = -380
  201.     },
  202.     {
  203.         x = -1455,
  204.         y = -56,
  205.         z = -385
  206.     },
  207.     {
  208.         x = -1460,
  209.         y = -56,
  210.         z = -382
  211.     },
  212.     {
  213.         x = -1460,
  214.         y = -56,
  215.         z = -377
  216.     },
  217.     {
  218.         x = -1464,
  219.         y = -56,
  220.         z = -376
  221.     },
  222.     {
  223.         x = -1465,
  224.         y = -56,
  225.         z = -380
  226.     },
  227.     {
  228.         x = -1465,
  229.         y = -56,
  230.         z = -385
  231.     }
  232. }
  233.  
  234. local trees = {
  235.     {
  236.         x = -1440,
  237.         y = -57,
  238.         z = -387
  239.     },
  240.     {
  241.         x = -1440,
  242.         y = -57,
  243.         z = -382
  244.     },
  245.     {
  246.         x = -1440,
  247.         y = -57,
  248.         z = -377
  249.     },
  250.     {
  251.         x = -1444,
  252.         y = -57,
  253.         z = -376
  254.     },
  255.     {
  256.         x = -1445,
  257.         y = -57,
  258.         z = -380
  259.     },
  260.     {
  261.         x = -1445,
  262.         y = -57,
  263.         z = -385
  264.     },
  265.     {
  266.         x = -1449,
  267.         y = -57,
  268.         z = -386
  269.     },
  270.     {
  271.         x = -1450,
  272.         y = -57,
  273.         z = -382
  274.     },
  275.     {
  276.         x = -1450,
  277.         y = -57,
  278.         z = -377
  279.     },
  280.     {
  281.         x = -1455,
  282.         y = -57,
  283.         z = -377
  284.     },
  285.     {
  286.         x = -1455,
  287.         y = -57,
  288.         z = -380
  289.     },
  290.     {
  291.         x = -1455,
  292.         y = -57,
  293.         z = -385
  294.     },
  295.     {
  296.         x = -1459,
  297.         y = -57,
  298.         z = -386
  299.     },
  300.     {
  301.         x = -1460,
  302.         y = -57,
  303.         z = -382
  304.     },
  305.     {
  306.         x = -1460,
  307.         y = -57,
  308.         z = -377
  309.     },
  310.     {
  311.         x = -1464,
  312.         y = -57,
  313.         z = -376
  314.     },
  315.     {
  316.         x = -1465,
  317.         y = -57,
  318.         z = -380
  319.     },
  320.     {
  321.         x = -1465,
  322.         y = -57,
  323.         z = -385
  324.     }
  325. }
  326.  
  327. getCurrentDirection()
  328. gotoPoint(startingPoints[1])
  329. gotoPoint(startingPoints[2])
  330. gotoPoint(startingPoints[3])
  331. gotoPoint(startingPoints[4])
  332. gotoPoint(trees[1])
  333.  
  334. local startingPointIndex = 4
  335. local treeIndex = 2
  336. while (treeIndex <= #trees)
  337. do
  338.     shell.run("./lumber")
  339.     getCurrentDirection()
  340.     gotoPoint(startingPoints[startingPointIndex])
  341.     gotoPoint(startingPoints[startingPointIndex + 1])
  342.     gotoPoint(trees[treeIndex])
  343.    
  344.     startingPointIndex = startingPointIndex + 1
  345.     treeIndex = treeIndex + 1
  346. end
  347.  
  348. shell.run("./lumber")
  349. getCurrentDirection()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement