Git Product home page Git Product logo

ocrsdriver's Introduction

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

ocrsdriver's People

Contributors

davenonymous avatar

Watchers

James Cloos avatar Darkstrumn avatar  avatar

Forkers

pcat0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.