Open Computers Refined Storage Driver

ocrsdriver

OpenComputers + Refined Storage = ❤️

Allows OpenComputers to access Refined Storage grid nodes via Adapters. This is for Minecraft 1.10.2. Refined Storage for 1.11.2 has this functionality included by default.

Known Issues

  • This is currently unrestricted, i.e. you can export items and fluids using just a cable - and fast.

Available Commands

Method Description
isConnected() Returns whether the grid node is connected to a network
getEnergyUsage() Returns the energy usage of the whole network in RS/tick
getItems() Returns a list of all itemstacks stored in the network
getItem(itemstack, cmpMeta, cmpNbt, cmpOre) Returns a stack in the network matching the given itemstack
extractItem(itemstack, amount, side) Extracts the given amount of itemstack to the specified side and returns the number of transfered items.
getFluids() Returns a list of all fluid stacks stored in the network
getFluid(fluidstack) Returns a stack in the network matching the given fluidstack
extractFluid(fluidstack, amount, side) Extracts the given amount of fluid to the specified side and returns the amount of millibuckets transfered.
getTasks() Returns a list of crafting tasks the system has currently queued
getPatterns() Returns a list of all crafting patterns in the network
hasPattern(itemstack) Returns true if the system has a pattern for the given itemstack
getMissingItems(itemstack, amount) Returns a list of all items missing to craft the given itemstack in the given amount
craftItem(itemstack, amount) Requests crafting of the specified item in the specified quantity
cancelCrafting(itemstack) Cancels all crafting operations for the given itemstack and returns the number of cancelled tasks

Examples

Drop all items you got more than 8192 of

Place a Trash Can below an interface connected to an OpenComputers Adapter.

local component = require("component")
local sides = require("sides")

local rs = component.block_refinedstorage_interface

local limit = 8192
local side  = sides.down

for i,stack in ipairs(rs.getItems()) do
	while(stack.size > limit) do
		local dropped = rs.extractItem(stack, stack.size - limit, side)
		stack.size = stack.size - dropped
		if(dropped < 1) then
			break
		end
	end
end

Keep 64 torches and levers in your crafting system

Don't forget to teach a crafter the recipe for torches and levers

local component = require("component")
local sides = require("sides")

local rs = component.block_refinedstorage_interface

local targetAmount = 64
local items = {
    {name = "minecraft:torch"},
    {name = "minecraft:lever"}
}

while(true) do
    for i,stack in ipairs(items) do
        if(rs.hasPattern(stack)) then
            local rsStack = rs.getItem(stack)

            local toCraft = targetAmount;
            if(rsStack ~= nil) then
                toCraft = toCraft - rsStack.size
            end

            if(toCraft > 0) then
                rs.craftItem(stack, toCraft)
            end
        else
            print("Missing pattern for: " .. stack.name)
        end
    end

    os.sleep(5)
end

Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    258214
  • Created
    Jan 28, 2017
  • Last Released File
    May 9, 2017
  • Total Downloads
    192,130
  • License

Categories

Members

Recent Files