Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.68 KB | None | 0 0
  1. term.clear()
  2. term.setCursorPos(1,1)
  3. term.write("dvdCorp Turtle Sorting v0.1")
  4. os.loadAPI("json")
  5. str = {}
  6. str[0]='{"name":"minecraft:fence","dir":"right"}'
  7. str[1]='{"name":"minecraft:dirt","dir":"right"}'
  8. containsEnabled = "true"
  9. contains = "minecraft"
  10. containsDir = "right"
  11. notContainsDir = "forward"
  12. Count = 0
  13. for Index, Value in pairs( str ) do
  14.   Count = Count + 1
  15. end
  16. j = 0
  17. slot = 1
  18. while (true) do
  19.   jsonObj = json.decode(str[j])
  20.     data = turtle.getItemDetail(slot)
  21.     if(data) then
  22.     if (containsEnabled == "true") then
  23.     if(string.match(data.name,contains)) then
  24.     if(containsDir == "left") then
  25.                 turtle.select(slot)
  26.                 turtle.turnLeft()
  27.                 sleep(1)
  28.                 turtle.drop(turtle.getItemCount(slot))
  29.                 turtle.turnRight()
  30.                 sleep(1)
  31.             elseif (containsDir == "right") then
  32.                 turtle.select(slot)
  33.                 turtle.turnRight()
  34.                 sleep(1)
  35.                 turtle.drop(turtle.getItemCount(slot))
  36.                 turtle.turnLeft()
  37.                 sleep(1)
  38.             elseif (containsDir == "up") then
  39.                 turtle.select(slot)
  40.                 turtle.dropUp(turtle.getItemCount(slot))
  41.             elseif (containsDir == "down") then
  42.                 turtle.select(slot)
  43.                 turtle.dropDown(turtle.getItemCount(slot))
  44.             elseif (containsDir == "forward") then
  45.                 turtle.select(slot)
  46.                 turtle.drop(turtle.getItemCount(slot))
  47.             elseif (containsDir == "back") then
  48.                 turtle.select(slot)
  49.                 turtle.turnRight()
  50.                 sleep(1)
  51.                 turtle.turnRight()
  52.                 sleep(1)
  53.                 turtle.drop(turtle.getItemCount(slot))
  54.                 turtle.turnLeft()
  55.                 sleep(1)
  56.                 turtle.turnLeft()
  57.                 sleep(1)
  58.             end
  59.             else
  60.             if(notContainsDir == "left") then
  61.                 turtle.select(slot)
  62.                 turtle.turnLeft()
  63.                 sleep(1)
  64.                 turtle.drop(turtle.getItemCount(slot))
  65.                 turtle.turnRight()
  66.                 sleep(1)
  67.             elseif (notContainsDir == "right") then
  68.                 turtle.select(slot)
  69.                 turtle.turnRight()
  70.                 sleep(1)
  71.                 turtle.drop(turtle.getItemCount(slot))
  72.                 turtle.turnLeft()
  73.                 sleep(1)
  74.             elseif (notContainsDir == "up") then
  75.                 turtle.select(slot)
  76.                 turtle.dropUp(turtle.getItemCount(slot))
  77.             elseif (notContainsDir == "down") then
  78.                 turtle.select(slot)
  79.                 turtle.dropDown(turtle.getItemCount(slot))
  80.             elseif (notContainsDir == "forward") then
  81.                 turtle.select(slot)
  82.                 turtle.drop(turtle.getItemCount(slot))
  83.             elseif (notContainsDir == "back") then
  84.                 turtle.select(slot)
  85.                 turtle.turnRight()
  86.                 sleep(1)
  87.                 turtle.turnRight()
  88.                 sleep(1)
  89.                 turtle.drop(turtle.getItemCount(slot))
  90.                 turtle.turnLeft()
  91.                 sleep(1)
  92.                 turtle.turnLeft()
  93.                 sleep(1)
  94.             end
  95.     end
  96.     end
  97.         if(jsonObj.name == data.name) then
  98.             dir = jsonObj.dir
  99.             print(data.name .. " : " .. dir)
  100.    if(dir == "left") then
  101.                 turtle.select(slot)
  102.                 turtle.turnLeft()
  103.                 sleep(1)
  104.                 turtle.drop(turtle.getItemCount(slot))
  105.                 turtle.turnRight()
  106.                 sleep(1)
  107.             elseif (dir == "right") then
  108.                 turtle.select(slot)
  109.                 turtle.turnRight()
  110.                 sleep(1)
  111.                 turtle.drop(turtle.getItemCount(slot))
  112.                 turtle.turnLeft()
  113.                 sleep(1)
  114.             elseif (dir == "up") then
  115.                 turtle.select(slot)
  116.                 turtle.dropUp(turtle.getItemCount(slot))
  117.             elseif (dir == "down") then
  118.                 turtle.select(slot)
  119.                 turtle.dropDown(turtle.getItemCount(slot))
  120.             elseif (dir == "forward") then
  121.                 turtle.select(slot)
  122.                 turtle.drop(turtle.getItemCount(slot))
  123.             elseif (dir == "back") then
  124.                 turtle.select(slot)
  125.                 turtle.turnRight()
  126.                 sleep(1)
  127.                 turtle.turnRight()
  128.                 sleep(1)
  129.                 turtle.drop(turtle.getItemCount(slot))
  130.                 turtle.turnLeft()
  131.                 sleep(1)
  132.                 turtle.turnLeft()
  133.                 sleep(1)
  134.             end
  135.         end  
  136.     end
  137.     if(j > Count) then
  138.         j = 0
  139.     else
  140.   if(str[j+1] ~= nil) then
  141.           j = j + 1
  142. else
  143. j = 0
  144. end
  145.     end
  146.     if(slot > 12) then
  147.         slot = 1
  148.     else
  149.         slot = slot + 1
  150.     end
  151.     sleep(0.1)
  152. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement