McJtyMods / XNet

Advanced item/liquid/energy/... networking
MIT License
92 stars 51 forks source link

[Request] Filter order or one of each item from filter list #273

Open winsrp opened 6 years ago

winsrp commented 6 years ago

So I was wondering if you could add an option for items that would allow the connector to send one item of each on the filter instead of just sending all you can find from the first item in the filter and as long as there is the first item in the storage it keeps sending that one.

Some machines require different items in their internal storage,for example actually additions bio reactor, the more different edible food in it the more RF it outputs.

Also this would work great for liquids too, expanding first the filter list to several liquids instead of only one.

One option would be called: "Filter order", and the other one, "one of each". So each operation would either just pick item in the order they come in the filter, for example "filter order" would be the current behavior where it just picks the first one until it exhausts existences, and "one of each" will just grab the first item in the list, then the next operation the second on the list, the next operation the third and so on. For liquids it would be the same thing, you could just go with the first liquid on the list until it depletes for "filter order" and for "one of each" it will just send one liquid then the next operation another and so on.

Thanks!

winsrp commented 6 years ago

Just adding a little more, could it be possible to have the filter card from RFtool be compatible with this filter list? If RFTools is present, enable putting in the filter item in the slots for more filter spaces XD

Delerium commented 6 years ago

Not sure if this is what you are looking for, but in the "extract mode" for an item channel, you can set it from "first" to "round robin". I know it would take more work than having the option in "insert mode" where you set up the filters, but at least it's possible in some form. Not sure how the round robin works with a filtered insert though, that might take some experimenting.

winsrp commented 6 years ago

already tried that, the round robin seems to just insert or extract from one connection at a time, instead of following the priority mode, it doesn't get to the filter level.

Delerium commented 6 years ago

there are two "round robin" settings. The one at the top in the channel is the one I think you are talking about, but inside the extract menu of a block there is a setting that defaults to "first" that can be changed to "round robin". Now I'm not sure if the behavior of this is what you want, but you can try.

winsrp commented 6 years ago

I'll give that a try, thanks

Suiadan commented 5 years ago

See, this basically won't work long term. One prime example, automating alloy furnaces (nuclearcraft, enderio, or thermal expansion's induction smelter).

If I want to have a large parallel array (eg, 32 furnaces) all to make me bronze (or other alloys), I'd like to insert like 2 or 4 ingots of tin, and 6 or 12 ingots of copper. Heck, even one to one would be fine, or even just 1 tin, 3 copper. The problem comes when I want to have my autocrafting system input into a chest, then use XNet to distribute the items to my array. Using round robin, you're reliant on the stack order in the chest, which can result in your item limit being two tin, and two copper, or even 4 tin and no copper. This makes the entire process rather frustrating, as you get easily jammed machines... At this point I'm going to end up relying on translocators because they allow for inventory regulation and ender chests, then only use xnet for extracting and providing power... Also, its rather frustrating when xnet apparently treats nuclearcraft's upgrades as items counting towards the input limit...

In any case, being able to specify a limit per item is a pretty key feature that would make a large difference in usability.

hnOsmium0001 commented 5 years ago

Regarding alloy furnace automation, it can be solved beautifully with RailCraft, as the minecarts can transport an exact amount of items.

WebDragon commented 2 months ago

I'm finding I would like a feature like this as well for the Elementalcraft Element Binder to make Swift Alloy Ingots with, which requires that you insert the following items, in order, into the element binder: Gold ingot => Drenched Aluminum ingot=> Copper ingot=> Redstone dust => and finally Air Crystal. Insert them out of order and nothing happens.

With round robin mode and the insert counter on 1, it inserts a gold ingot and stops. remove the 1 limit, and it inserts all the gold ingots and stops, rather than do one of each, in this specific order.

I mean yeah, there's the ordered-sorter from Elementalcraft, but what if I want to use xnet instead? :)