Advertisement
Guest User

Untitled

a guest
Mar 1st, 2015
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.70 KB | None | 0 0
  1. cobChest = peripheral.wrap("front")
  2. compChest = peripheral.wrap("back")
  3. turt = peripheral.wrap("left")
  4. turtInDir1 = "west"
  5. turtOutDir1 = "west"
  6. turtFailDir1 = "east"
  7. turtInDir2 = "east"
  8. turtOutDir2 = "west"
  9. turtFailDir2 = "west"
  10. craft = {1,2,3,5,6,7,9,10,11}
  11.  
  12. compress = {
  13. "tile.stonebrick",
  14. "tile.extrautils:cobblestone_compressed.0",
  15. "tile.extrautils:cobblestone_compressed.1",
  16. "tile.extrautils:cobblestone_compressed.2",
  17. "tile.extrautils:cobblestone_compressed.3",
  18. "tile.extrautils:cobblestone_compressed.4",
  19. "tile.extrautils:cobblestone_compressed.5",
  20. "tile.extrautils:cobblestone_compressed.6"
  21. }
  22.  
  23. while (true) do
  24.    
  25.   for o,p in pairs(compress) do
  26.     if (p == "tile.stonebrick") then
  27.         stacks = cobChest.getAllStacks()
  28.         cobbleStacks = {}
  29.         for i=1, cobChest.getInventorySize() do
  30.           if (stacks[i] ~= nil and stacks[i]["raw_name"] == p) then
  31.             cobbleStacks[i] = stacks[i]["qty"]
  32.           end
  33.         end
  34.        
  35.         cobbleCount = 0;
  36.         for i,v in pairs(cobbleStacks) do
  37.           cobbleCount = cobbleCount + v
  38.         end
  39.         print(cobbleCount)
  40.         target = ((math.floor(cobbleCount / 9) <= 64) and math.floor(cobbleCount / 9) or 64)
  41.         print(target)
  42.         print(textutils.serialize(cobbleStacks))
  43.        
  44.         for i,v in pairs(craft) do
  45.           print("Craft Slot: "..v)
  46.           for j,k in pairs(cobbleStacks) do
  47.             print("  Chest Slot: "..j)
  48.             if (turtle.getItemCount(v)<target and k>=(target-turtle.getItemCount(v))) then
  49.               cobChest.pushItemIntoSlot(turtInDir1,j,(target-turtle.getItemCount(v)),v)
  50.             end
  51.           end
  52.         end
  53.         doCraft = true
  54.         for i,v in pairs(craft) do
  55.           if (turtle.getItemDetail(v) == nil or turt.getStackInSlot(v)["raw_name"] ~= p) then
  56.             doCraft = false
  57.           end
  58.         end
  59.         if (doCraft) then
  60.           turtle.select(4)
  61.           turtle.craft()
  62.           if (turtle.getItemCount() > 0 and turt.getStackInSlot(4)["raw_name"]=="tile.extrautils:cobblestone_compressed.7") then
  63.             turt.pushItem("up",4)
  64.           else
  65.               turt.pushItem(turtOutDir1, 4)
  66.           end
  67.         else
  68.           for i,v in pairs(craft) do
  69.             if (turtle.getItemCount(v) > 0) then
  70.               turt.pushItem(turtFailDir1, v)
  71.             end
  72.           end
  73.         end
  74.         stacks = compChest.getAllStacks()
  75.         for i=1, compChest.getInventorySize() do
  76.             if (stacks[i] ~= nil and stacks[i]["raw_name"] == p) then
  77.                 compChest.pushItem("east", i, 64, 16)
  78.                 turt.pushItem("east", 16)
  79.             end
  80.         end
  81.     else
  82.         stacks = compChest.getAllStacks()
  83.         cobbleStacks = {}
  84.         for i=1, compChest.getInventorySize() do
  85.           if (stacks[i] ~= nil and stacks[i]["raw_name"] == p) then
  86.             cobbleStacks[i] = stacks[i]["qty"]
  87.           end
  88.         end
  89.        
  90.         cobbleCount = 0;
  91.         for i,v in pairs(cobbleStacks) do
  92.           cobbleCount = cobbleCount + v
  93.         end
  94.         print(cobbleCount)
  95.         target = ((math.floor(cobbleCount / 9) <= 64) and math.floor(cobbleCount / 9) or 64)
  96.         print(target)
  97.         print(textutils.serialize(cobbleStacks))
  98.        
  99.         for i,v in pairs(craft) do
  100.           print("Craft Slot: "..v)
  101.           for j,k in pairs(cobbleStacks) do
  102.             print("  Chest Slot: "..j)
  103.             if (turtle.getItemCount(v)<target and k>=(target-turtle.getItemCount(v))) then
  104.               compChest.pushItemIntoSlot(turtInDir2,j,(target-turtle.getItemCount(v)),v)
  105.             end
  106.           end
  107.         end
  108.         doCraft = true
  109.         for i,v in pairs(craft) do
  110.           if (turtle.getItemDetail(v) == nil or turt.getStackInSlot(v)["raw_name"] ~= p) then
  111.             doCraft = false
  112.           end
  113.         end
  114.         if (doCraft) then
  115.           turtle.select(4)
  116.           turtle.craft()
  117.           if (turtle.getItemCount() > 0 and turt.getStackInSlot(4)["raw_name"]=="tile.extrautils:cobblestone_compressed.7") then
  118.             turt.pushItem("up",4)
  119.           else
  120.               turt.pushItem(turtOutDir2, 4)
  121.           end
  122.         else
  123.           for i,v in pairs(craft) do
  124.             if (turtle.getItemCount(v) > 0) then
  125.               turt.pushItem(turtFailDir2, v)
  126.             end
  127.           end
  128.         end
  129.     end
  130.   end
  131.   sleep(.20)
  132. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement