Advertisement
Doob

import/export

Jul 10th, 2017
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.33 KB | None | 0 0
  1. local component = require('component')
  2. local transposer = component.transposer
  3. local interface = component.block_refinedstorage_interface
  4.  
  5. local function toBuffer(item, size)
  6.   local items, current = interface.getItems()
  7.   for i = 1, #items do
  8.     if items[i].name..':'..items[i].damage == item then
  9.       current = i
  10.       break
  11.     end
  12.   end
  13.   if not current then
  14.     return nil
  15.   end
  16.   local counter, c_size, moved = 0, size
  17.   for i = 1, math.ceil(size/64) do
  18.     moved = interface.extractItem(items[current], c_size, 1)
  19.     if not moved then
  20.       return counter
  21.     end
  22.     counter, c_size = counter + moved, c_size - moved
  23.   end
  24.   return counter
  25. end
  26.  
  27. local function toStorage(item, size)
  28.   local counter = 0
  29.   for i = 1, transposer.getInventorySize(1) do
  30.     local fitem = transposer.getStackInSlot(1, i)
  31.     if fitem then
  32.       if item == fitem.name..':'..fitem.damage then
  33.         if fitem.size < size then
  34.           transposer.transferItem(1, 0, fitem.size)
  35.           size, counter = size - fitem.size, counter+fitem.size
  36.         elseif fitem.size >= size then
  37.           transposer.transferItem(1, 0, size)
  38.           size, counter = 0, counter+size
  39.           break
  40.         end
  41.       end
  42.     end
  43.   end
  44.   return counter
  45. end
  46.  
  47. print(toBuffer('minecraft:stone:0', 300))
  48. print(toStorage('minecraft:stone:0', 300))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement