Advertisement
ivan52

craft

Aug 25th, 2015
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.87 KB | None | 0 0
  1. local r = require('robot')
  2. local comp = require('computer')
  3. local term = require('term')
  4. local com = require('component')
  5. local inv = require('component').inventory_controller
  6. local crafting =  require('component').crafting
  7. --========ТАБЛИЦЫ КРАФТОВ==========--
  8. uranFuel = {}
  9. uranFuel[5] = {}
  10. uranFuel[3] = {}
  11. uranFuel[5]['IC2:itemUran238'] = {kol = 6, 1,2,3,9,10,11}
  12. uranFuel[3]['IC2:itemUran235small'] = {kol = 3, 5,6,7}
  13. moxFuel = {}
  14. moxFuel[5] = {}
  15. moxFuel[3] = {}
  16. moxFuel[5]['IC2:itemUran238'] = {kol = 6, 1,2,3,9,10,11}
  17. moxFuel[3]['IC2:itemPlutonium'] = {kol = 3, 5,6,7}
  18. function rasstan(item,side)
  19.   if item[side] ~= nil then
  20.     for slot = 1 , inv.getInventorySize(3) do
  21.       if inv.getStackInSlot(3,slot) ~= nil then
  22.         if item[side][inv.getStackInSlot(3,slot).name] ~= nil then
  23.           if inv.getStackInSlot(3,slot).size >= item[side][inv.getStackInSlot(3,slot).name].kol then
  24.             r.select(4)
  25.             inv.suckFromSlot(3,slot,item[side][inv.getStackInSlot(3,slot).name].kol)
  26.             for i=1,item[side][inv.getStackInInternalSlot(4).name].kol do
  27.               r.transferTo(item[side][inv.getStackInInternalSlot(4).name][i],1)
  28.             end
  29.             return true
  30.           end
  31.         end
  32.       end
  33.     end
  34.     return false
  35.   else
  36.     return false
  37.   end
  38. end
  39. function sbros(side)
  40.   if side == 5 then
  41.     r.turnLeft()
  42.   end
  43.   for slot1=1, r.inventorySize() do
  44.     if r.count(slot1) > 0 then
  45.       r.select(slot1)
  46.       r.drop()
  47.     end
  48.   end    
  49.   if side == 5 then
  50.     r.turnRight()
  51.   end
  52. end
  53. function craft(item)
  54.   if item[3] ~= nil then
  55.     if not rasstan(item,3) then
  56.        return false
  57.     end
  58.   end
  59.   if item[5] ~= nil then
  60.     r.turnLeft()
  61.     while not rasstan(item,5) do end
  62.     r.turnRight()
  63.   end
  64.   crafting.craft()
  65.   r.dropDown()
  66. end
  67. while true do
  68.   craft(uranFuel)
  69.   craft(moxFuel)
  70. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement