Refined Storage

Refined Storage

77M Downloads

Feature request: Block to expose storage as an inventory

pfmoore opened this issue ยท 15 comments

commented

When integrating RS with other mods, for example RFTools Control, it can be difficult to access items because the RS system isn't available as an inventory. It's possible to work around this with interfaces, exposing just the items you want, but that isn't always sufficient. This may be a deliberate design choice, but in practice I find that it makes using RS into a bit of a "do I want to use RS or do I want to use these other mods" choice - in particular (but not exclusively) with RFTools/RFTools Control.

Would it be possible to add a block that simply acted as an inventory containing everything that's in the RS system - a bit like the Storage Drawers Drawer Controller block? It would in effect be the "opposite" of an external storage - fitting in as the missing item in the set importer, exporter, external storage, .

Inserting into the block would add items to the RS system, like an interface, but querying or extracting would show and allow access to the full content of the RS system. It would probably make sense if the block had the insert/extract/both modes (although in insert mode, is no different from an interface in that mode).

Uses I can see for the block:

* Allowing RFTools Control to access RS
* Allowing the RFTools Storage Scanner to see the content of an RS system
* Allowing inventory checkers (Super Circuit Maker, RFTools, AA, etc) to see RS
* Integrating with the Actually Additions ESD and item laser system

Basically, most of the ways that you can use a Storage Drawers drawer controller.

commented

I am playing in 1.18. Has this feature been removed? Trying to use Laser IO to pull items from RS without having to put items in the export filter of the interface. I want to have Laser IO pull items from RS based on filters set in Laser IO.

commented

So - question for you - I'm adding this functionality on the interface. BUT, the interface still has import/export slots. Now, if you want to extract, currently, it would extract from the export slots.

Now, if the RS inventory is exposed: what happens?

  • Extract from export slots
  • Extract from export slots and RS inventory
  • Only extract from RS inventory

Config options on the block itself wouldn't be allowed for this behavior (since that's lame and not RS-like).

I was going for option 2, but what if you just want to get stuff from the export slots?

commented

I made this work in dev with Portable Grids, but I might just let it work with regular interfaces as well.

commented

Cool - I wondered whether it was more of a variant of a grid or of an interface.

Oh, and I should say thanks for Refined Storage as well - it's a really fantastic mod and I hugely enjoy playing with it :-)

commented

Yay!

x

y

commented

Awesome!!! Thanks for this ๐Ÿ˜„

commented

No problem, I had great fun implementing this.

commented

@raoulvdberge I'm here to serve.

commented

I'm OK with option 2. If you don't want to see the export slots, just don't set them to export anything.

I was going for option 2, but what if you just want to get stuff from the export slots?

I'd assume, switch off exposing the RS inventory. But the fact that you asked it like this, combined with your comment

Config options on the block itself wouldn't be allowed for this behavior.

makes me wonder if you really mean that interfaces will change to always expose the whole RS inventory. If that's what you are suggesting, then I'm not sure I see what the point would be any more for having the export slots at all.

IMO, if interfaces always expose the RS inventory, that removes functionality that is currently useful (being able to maintain, possibly auto-crafting, a fixed amount of items that can be used by machine setups connected to the interface). That's why I originally thought of the "expose the RS inventory" block as a separate block (I also wondered whether it's actually more like a grid than an interface). But having a dual-function interface that can either expose the full RS inventory, or expose a limited set of items via the export slots, seemed like a reasonable idea, because the two behaviours were sufficiently similar.

So I guess I'm not completely clear on what you're proposing. When you say "expose" the RS inventory, and yet offer the option of only extracting from the export slots, then I don't think I know what you mean by "expose". Or to put it another way, how is your first option different from not exposing the RS inventory at all?

commented

This behavior will go on the interface, that's what an "interface" afterall is for.

The problem with removing the export slots is the following: what if you have no piping mod that can filter? That means you can't get only specific items from the inventory, which is problematic.

The more I think about it, it could be nice to still give a config option for this. "Expose storage inventory" (by default off) option, and when enabled, that would disable (gray-out) the export slots.

commented

If the slots are empty, expose the entire inventory. If they are configured only show those items.

commented

@bookerthegeek That's a reasonable idea if a config option isn't available.

commented

Wow, @bookerthegeek, this is why this project is open source. Simple but effective. Doing that, thanks for the suggestion.

commented

Just out of curiosity is this 1.12 only? It's no big deal but 1.12 isn't exactly modpack ready so it would be nice to play with this feature in 1.11 :)

commented

1.12 only.