Nessiesson

noxnuggetcompress

Jun 16th, 2014 (edited)
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.99 KB | None | 0 0
  1. p = peripheral.wrap("front")
  2.  
  3. function resetInv()
  4.   for i = 1,16 do
  5.     p.insertItem(i, 64, "north")
  6.   end
  7.   turtle.select(1)
  8. end
  9.  
  10. resetInv()
  11.  
  12. function isTiny(v)
  13.   if (v["name"]:match("GT_TinyDusts") or v["name"]:match("GT_Nuggets")) then return true end
  14.   if (v["id"] == 21264 and v["dmg"] >= 6 and v["dmg"] <= 948) then return true end
  15.   if (v["id"] == 21264 and v["dmg"] >= 9008 and v["dmg"] <= 9884) then return true end
  16.   if (v["id"] == 371) then return true end
  17.   return false
  18. end
  19.  
  20. function isSmall(v)
  21.   if (v["name"]:match("GT_SmallDusts")) then return true end
  22.   if (v["id"] == 21264 and v["dmg"] >= 1006 and v["dmg"] <= 1948) then return true end
  23.   return false
  24. end
  25.  
  26. while true do
  27.   for k,v in pairs(p.getAvailableItems()) do
  28.     if isTiny(v) then
  29.       if v["qty"] > 576 then
  30.         v["qty"] = 64
  31.         for i = 1,9 do
  32.           p.extractItem(v, "north")
  33.         end
  34.         turtle.select(4)
  35.         turtle.transferTo(10)
  36.         turtle.select(8)
  37.         turtle.transferTo(11)
  38.         turtle.select(1)
  39.         if not turtle.craft() then
  40.           resetInv()
  41.         end
  42.         p.insertItem(1, 64, "north")
  43.       elseif v["qty"] > 288 then
  44.         v["qty"] = 32
  45.         for i = 1,9 do
  46.           p.extractItem(v, "north")
  47.         end
  48.         turtle.select(1)
  49.         turtle.transferTo(11, 32)
  50.         turtle.select(2)
  51.         turtle.transferTo(10, 32)
  52.         turtle.select(3)
  53.         turtle.transferTo(9, 32)
  54.         turtle.select(4)
  55.         turtle.transferTo(7, 32)
  56.         turtle.transferTo(6, 32)
  57.         turtle.select(1)
  58.         if not turtle.craft() then
  59.           resetInv()
  60.         end
  61.         p.insertItem(1, 64, "north")
  62.       elseif (v["qty"] > 8) then
  63.         if v["qty"] > 63 then v["qty"] = 63 end
  64.         n = math.floor(v["qty"] / 9)
  65.         v["qty"] = 9 * n
  66.         p.extractItem(v, "north")
  67.         for o = 2,3 do
  68.           turtle.transferTo(o, n)
  69.         end
  70.         for o = 5,7 do
  71.           turtle.transferTo(o, n)
  72.         end
  73.         for o = 9,11 do
  74.           turtle.transferTo(o, n)
  75.         end
  76.         if not turtle.craft() then
  77.           resetInv()
  78.         end
  79.         p.insertItem(1, 64, "north")
  80.       end
  81.     end
  82.     if isSmall(v) then
  83.       if (v["qty"] > 256) then
  84.         v["qty"] = 64
  85.         for i = 1,4 do
  86.           p.extractItem(v, "north")
  87.         end
  88.         turtle.select(3)
  89.         turtle.transferTo(5)
  90.         turtle.select(4)
  91.         turtle.transferTo(6)
  92.         turtle.select(1)
  93.         if not turtle.craft() then
  94.           resetInv()
  95.         end
  96.         p.insertItem(1, 64, "north")
  97.       elseif (v["qty"] > 3) then
  98.         if v["qty"] > 64 then v["qty"] = 64 end
  99.         n = math.floor(v["qty"] / 4)
  100.         v["qty"] = 4 * n
  101.         p.extractItem(v, "north")
  102.         turtle.transferTo(2, n)
  103.         turtle.transferTo(5, n)
  104.         turtle.transferTo(6, n)
  105.         if not turtle.craft() then
  106.           resetInv()
  107.         end
  108.         p.insertItem(1, 64, "north")
  109.       end
  110.     end
  111.   end
  112.   sleep(0.1)
  113. end
Add Comment
Please, Sign In to add comment