Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local component = require('component')
- local transposer = component.transposer
- local interface = component.block_refinedstorage_interface
- local function toBuffer(item, size)
- local items, current = interface.getItems()
- for i = 1, #items do
- if items[i].name..':'..items[i].damage == item then
- current = i
- break
- end
- end
- if not current then
- return nil
- end
- local counter, c_size, moved = 0, size
- for i = 1, math.ceil(size/64) do
- moved = interface.extractItem(items[current], c_size, 1)
- if not moved then
- return counter
- end
- counter, c_size = counter + moved, c_size - moved
- end
- return counter
- end
- local function toStorage(item, size)
- local counter = 0
- for i = 1, transposer.getInventorySize(1) do
- local fitem = transposer.getStackInSlot(1, i)
- if fitem then
- if item == fitem.name..':'..fitem.damage then
- if fitem.size < size then
- transposer.transferItem(1, 0, fitem.size)
- size, counter = size - fitem.size, counter+fitem.size
- elseif fitem.size >= size then
- transposer.transferItem(1, 0, size)
- size, counter = 0, counter+size
- break
- end
- end
- end
- end
- return counter
- end
- print(toBuffer('minecraft:stone:0', 300))
- print(toStorage('minecraft:stone:0', 300))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement