Advertisement
ozozx235

mechaMaker.lua

Sep 22nd, 2023 (edited)
971
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.36 KB | None | 0 0
  1. hand = peripheral.wrap("front")
  2. depot = peripheral.wrap("create:depot_0")
  3. function sort()
  4.     order = {"thermal:gold_plate","create:cogwheel","create:large_cogwheel","minecraft:iron_nugget"}
  5.     for i=1,16 do
  6.         flag = true
  7.         while flag do
  8.             flag = false
  9.             if turtle.getItemDetail(i) then
  10.                 -- print(i..": "..turtle.getItemDetail(i).name.." "..turtle.getItemDetail(i).count)
  11.                 -- print(findIdx(order,turtle.getItemDetail(i).name))
  12.                 -- print((findIdx(order,turtle.getItemDetail(i).name)))
  13.                 -- print(not (findIdx(order,turtle.getItemDetail(i).name) == i))
  14.                 if findIdx(order,turtle.getItemDetail(i).name) and (not (findIdx(order,turtle.getItemDetail(i).name) == i)) then
  15.                     dest = findIdx(order,turtle.getItemDetail(i).name)
  16.                     -- print(i .. " > " .. dest)
  17.                     -- print(not (turtle.getItemDetail(dest).name == turtle.getItemDetail(i).name))
  18.                     -- read()
  19.                     turtle.select(i)
  20.                     _, check = turtle.transferTo(dest)
  21.                     if check == "No space for items" and not (turtle.getItemDetail(dest).name == turtle.getItemDetail(i).name) then
  22.                         space = findEmpty()
  23.                         turtle.transferTo(space)
  24.                         turtle.select(dest)
  25.                         turtle.transferTo(i)
  26.                         turtle.select(space)
  27.                         turtle.transferTo(dest)
  28.                     end
  29.                     flag= turtle.getItemDetail(i) and (not turtle.getItemDetail(dest).name == turtle.getItemDetail(i).name)
  30.                     -- sleep(1)
  31.                 end
  32.             -- else
  33.                 -- print(i..": empty")
  34.             end
  35.         end
  36.         -- read()
  37.     end
  38. end
  39. function findIdx( arr, val )
  40.     index={}
  41.     for i=1,#arr do
  42.         if arr[i] == val then
  43.             index[#index+1] = i
  44.         end
  45.     end
  46.     if #index == 1 then
  47.         return index[1]
  48.     elseif #index == 0 then
  49.         return nil
  50.     else
  51.         return index
  52.     end
  53. end
  54. function findEmpty()
  55.     for i=1,16 do
  56.         if not turtle.getItemDetail(i) then
  57.             return i
  58.         end
  59.     end
  60.     return nil
  61. end
  62. function craft()
  63.     sort()
  64.     count = {1,5,5,5}
  65.     for i=1,4 do
  66.         if turtle.getItemCount(i) < count[i] then
  67.             return "over"
  68.         end
  69.     end
  70.     turtle.select(1)
  71.     turtle.dropDown(1)
  72.     -- sleep(0.6)
  73.     -- print(depot.getItemDetail(1).displayName)
  74.     -- print(depot.getItemDetail(1).durability)
  75.     for j=1,5 do
  76.         for i=2,4 do
  77.             turtle.select(i)
  78.             turtle.drop(1)
  79.             while hand.list()[1] do
  80.                 sleep(0.5)
  81.             end
  82.             -- if i<4 or j<5 then
  83.             --  print(depot.getItemDetail(1).displayName)
  84.             --  print(depot.getItemDetail(1).durability)
  85.             -- end
  86.             -- read()
  87.         end
  88.     end
  89.     craft()
  90. end
  91. craft()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement