Applied Energistics 2

Applied Energistics 2

156M Downloads

Create an option for a storage bus to only allow items to be input that exist in the storage it is connected to. Also maybe add more advanced filtering.

zxvnm4 opened this issue ยท 3 comments

commented

Description

This is pretty self explanatory, just make another option so that the storage bus will only filter (import/export) items that already exist inside of the inventory it is connected to. This can be problematic if you don't have a way to keep the items in the inventory from going below zero so having a system that keeps that in check would also be nice.

This might be too much to ask for but it would be really useful for setting up multiple subnets that store items that all connect to the main one, and with separate tunnels one can freely pass items into it and out of it effectively changing the filter in the process. The storage buses that connect to the subnets then prevent random items from entering it.

It would be like multiple large chests with various items, (the subnet) and having the main net be able to access all the items, but won't add different items to it, keeping the control in the person accessing the chests. So the main way you have to access the system is by using the chests, and the system could only be used to craft, and import/export from separate inventories(well you would have a crafting terminal somewhere),. You wouldn't have to add a new item to the filter every time you add something new. It would be fitting would it not?

And to be totally off track.....

Could totally also add a mod specific filter, or allow filters to be separate items, and allow an really large set(as many items available) to filter items by, making sure to use hash tables, or something.
(allow the filter to be applied to every type of bus and filtering mechanism, if you know what storage structures to use it won't be so hard on your system. I see why all the filtering restrictions were added. Many databases were handled with efficient storage structures and algorithms... Eh?(well it is java...))
One could make a sort linked filters which change based on above, or from simply modifying it.
Or have multiple filters in one, and having different options for it.

Not that it would be all that easy to add...
There are many ways one could make the filtering system stronger and more powerful, I think one can still add useful features to AE2's filtering system, make it grow a little. (this is more useful to AE3?)
It would make what I describe above easier and more effective, providing an easy to keep organized system, or as one can put it, a more automated organization system.

If the problem is the fear of having large filters then, I am curious as to why that is a big issue?
You can filter using self balancing trees or, hash tables, Log2(n) or 1(n for # of nodes) search complexity isn't so bad, right? (unless your reasoning is not that it is CPU intensive, or that you are using something like that and it is still CPU intensive...)

Environment

  • Minecraft Version: 1.12.1
  • AE2 Version: rv6-alpha-3
  • Forge Version: 14.23.4.2756
commented

That is already possible by partitioning the storage bus itself and also supports the case of an itemstack being reduced to zero.

commented

You did not read all of what I wrote,
I am asking for an option that doesn't require the partitioning of storage, because doing so has 2 restrictions, one it cannot allow the filter to be larger than the amount of types in the inventory it is connected to, and 2 it will not update to changes in the inventory it is connected to.

commented

And that is basically the anwser, why there will be no alternative to the normal partition/filter.