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.
- This is currently unrestricted, i.e. you can export items and fluids using just a cable - and fast.
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 |
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
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