Advertisement
Doob

autocraft [OpenComputers]

Jun 21st, 2015
321
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function r(n, a, b)
  2.   if n == 1 then return {a, a, a, a, b, a, a, a, a}
  3.   elseif n == 2 then return {a, 0, 0, a} --палка
  4.   elseif n == 3 then return {a, a, a} --ступенька
  5.   elseif n == 4 then return {a, a, 0, a, a} --верстак/глина
  6.   elseif n == 5 then return {a, a} --нажимная пластина
  7.   elseif n == 6 then return {a, a, a, a, a, a} --забор
  8.   elseif n == 8 then return {a, a, a, a, 0, a, a, a, a} --сундук
  9.   elseif n == 9 then return {a, a, a, a, a, a, a, a, a} --блок
  10.   elseif n == 10 then return {a, 0, 0, a, a, 0, a, a, a}
  11.  
  12.   elseif n == 11 then return {a, 0, 0, b, 0, 0, b} --shovel
  13.   elseif n == 12 then return {a, a, a, 0, b, 0, 0, b} --pickaxe
  14.   elseif n == 13 then return {a, a, 0, a, b, 0, 0, b} --axe
  15.   elseif n == 14 then return {a, a, 0, 0, b, 0, 0, b} --hoe
  16.   elseif n == 15 then return {a, 0, 0, a, 0, 0, b} --sword
  17.  
  18.   elseif n == 16 then return {a, a, a, a, 0, a} --шапка
  19.   elseif n == 17 then return {a, 0, a, a, a, a, a, a, a} --куртка
  20.   elseif n == 18 then return {a, a, a, a, 0, a, a, 0, a} --штаны
  21.   elseif n == 19 then return {a ,0, a, a, 0, a} --ботинки
  22.  
  23.   elseif n == 20 then return {a, a, 0, a, a, 0, a, a} --door
  24.   end
  25. end
  26.  
  27. local recipe = {
  28.   ["minecraft:furnace"] = r(8, "minecraft:cobblestone")
  29. }
  30.  
  31. local slots = {1, 2, 3, 5, 6, 7, 9, 10, 11}
  32.  
  33. local component = require('component')
  34. local robot = require('robot')
  35. local i_c = component.inventory_controller
  36.  
  37. function findItems(fitem, side)
  38.   for i = 1, i_c.getInventorySize(side) do
  39.     if i_c.getStackInSlot(side, i) ~= nil then
  40.       if i_c.getStackInSlot(side, i).name == fitem then
  41.         i_c.suckFromSlot(side, i, 1)
  42.         break
  43.       end
  44.     end
  45.   end
  46. end
  47.  
  48. function crafting(sItem, nMeta)
  49.   for s = 1, #recipe[sItem] do
  50.     robot.select(slots[s])
  51.     findItems(recipe[sItem][s], 3)
  52.   end
  53.   robot.select(16)
  54.   if component.crafting.craft(64) == false then
  55.     for d = 1, 9 do
  56.       robot.select(slots[d])
  57.       robot.drop()
  58.     end
  59.     return false
  60.   end
  61.   robot.select(1)
  62. end
  63.  
  64. crafting('minecraft:furnace')
Advertisement
RAW Paste Data Copied
Advertisement