I’m having trouble finding a way to prevent items on one part of a pipe network from entering another (while allowing travel in the opposite direction). This is how I want my system set up:
Shredder from ore processing outputs a dust of any size (usually 1/9 or 1/72)
If there is an item barrel for the dust in main storage
Otherwise, send it to an area I use to collect / condense unhandled dusts
Items should not be routed to the above area through the main storage’s pipes
The last point is what requires me to keep items moving only in one direction. My only ideas so far have been to use hoppers or inventory extenders as a “one-way valve”, but this doesn’t work since the shredder output will insert items into the hopper or inventory-extended pipe even if there are no matching item barrels, and clog it. Is there any mechanism that would work for what I want?
my primary display is currently fried so i am gonna keep it short:
How exactly do you prevent your Machine area from going between machines too? Because this sounds like an issue of “i just dont want my computer to path all the pipes all the time”. If you want the dust area to always be considered first, you should use restricting pipes on all other paths except the dust path, that is the usual way. Other than that its Hoppers and such as you described.
My main concern is that if I’m accidentally outputting something to the network that I don’t have storage for, and isn’t being accepted by any other machines, then it will get sent to the dust organizing area instead of just being stuck locally. I don’t expect any unwanted connections between machine lines, since I intend to only accept things off the main bus in a filtered way, and just try to plan against any unintended production loops.
Also, if I want to push items onto the network on demand without a large buffer at the acceptors, they would get routed into the dust area if no machines currently need it.
And the Storage System should have barrels for every material-dust. If maschin need a certain kind of dust, for example bauxite dust for Al-process, just storage every bauxite dust next to the mashine with a large metall berrel. Export some certain material form Storage System is inconvenien for Gregtech Logistics.
Okay I have a solution for you that should work with your System then.
The Pipe going to your Dust Collection Area, put a Dust Funnel set to the smallest Dust Size inbetween the production and the dust Area. That way ONLY Dusts ever make it to your Area. If you are concerned about the bandwidth use of microscopic Dusts, use 5 OreDict Filters to Filter for the 5 sizes of Dusts (Block of Dust, regular Dust, small Dust, tiny Dust, 72nd Dust).
Thank you, I think that should work well enough for me. There is still an issue if I want to push dusts between machines over the main bus (e.g. a producer of carbon dusts?), but I can just do the minimal size dust conversion at the ore processing output and oredict for those at the dust collection area.
Somewhat related question - do items in item pipes consume bandwidth even if they fail to be routed? Asking since if I want to have push-based item distribution I would have items sitting in item pipes and waiting for compatible inventories, which could use up some of the bandwidth.
You know you can use Restrictor Pipes to deprioritize anything such as your Dust Area in the first place?
As for the bandwidth, it is only ever used for things that actually get transferred so dont worry. I would however maybe put a regular size brass pipe at each output so that one machines high throughput wont consume it all before others can.
If none of the production lines that use carbon are currently accepting, carbon put onto the network would still get routed into the dust area because nothing closer will take it.
I don’t want the dusts to be routed into the dust area if it’s not the output from ore processing. It doesn’t matter if the path is longer because it’s the only available path.
Shouldn’t it, if the pathfinder could see through it? Then dusts from ore processing could make it to the item barrels if available, or into the dust collection area if not, while the one-way would prevent dusts from outside the ore processing from getting into the dust collection area.
AH THERE is your problem, you think putting them into the same network is a good idea in the first place, which it is not, especially for lag reasons. You should maybe do that direct connection for the Carbon thing.
Would sharing the bus add much lag when everything sent to storage already uses the same pipe network? I wanted to avoid the material / spaghetti cost when multiple producers/consumers or distance between the producer/consumer would make a dedicated line longer. Though, I could just have all intermediates be on a single line parallel to the one used for sending to storage, and avoid the dust problem that way, even though it might not reduce lag as much. Then at least I wouldn’t need a separate line for each intermediate, and it only has to be extended enough to support the actual intermediate connections needed.
EDIT: Actually if I didn’t care about lag I could just use the ore dict filter like discussed earlier anyway.
What makes using the separate pipe network laggier? A similar number of pipes should be scanned per item in the worst case, since the intermediate pipe would be around the same length as the storage pipe, and the intermediate products would now only be looking at the new pipe and not the storage pipe. It would also avoid trying to store into the main storage’s item barrels or into item barrels used to output onto the storage network. I don’t know anything about the pathfinding code though.