Astro Colony

Astro Colony

통계 보기:
GD 2024년 4월 7일 오후 9시 59분
Non-Blocking Push/Splitter
I look for a logic block which can push or split a belt but will not stop when the output side is full. I noticed push and split do wait when the output is full which is good for a lot of scenarios but not for all.

This is helpful to max-out parallel belt throughput and to deal with non-constant usage of split belts (when one side uses items faster then the other but changes [so even ratio is no option here].

If there is non can we get some. Or alternatively can we get a checkbox in the settings dialog of the existing block "Non-Blocking" which enables/disabled this behaviour.
< >
13개 댓글 중 1-13개 표시
AstroColony  [개발자] 2024년 4월 8일 오전 6시 50분 
You can use any container as a buffer, so it will always have room to push items :)

I will think if we should change behavior, skipping direction if is blocked by other resources.
GD 2024년 4월 8일 오전 6시 53분 
Container is unsuitable because it collects endlessly and it is too bulky.

Do you know this 2x2 splitter from Factorio. Something like this a box 2x1x2 with 2 inputs and 2 output.

Or as I said a logic block which can be set to "continue/gnore output if blocked"
GD 님이 마지막으로 수정; 2024년 4월 8일 오전 6시 53분
umop-apisdn 2024년 4월 8일 오후 7시 09분 
GD님이 먼저 게시:
Container is unsuitable because it collects endlessly and it is too bulky.

Do you know this 2x2 splitter from Factorio. Something like this a box 2x1x2 with 2 inputs and 2 output.

Or as I said a logic block which can be set to "continue/gnore output if blocked"

Containers already work like you describe; as far as I know, the only complaint of yours that they don't answer is their large size.

TL;DR: your "splitter, but only if it's not blocked" isn't a splitter; it's a multi-input/multi-output buffer, and containers fit that bill.
GD 2024년 4월 8일 오후 8시 18분 
Let me explain with an example.

You have a belt and split it 2 ways left and right. You place a Splitter on die T-Cross.

Now if the left side consumes items for some reason faster (not just production cycle something which is sometimes more sometimes less, e.g. bottleneck of co-resources) less than the right side you will notice that the Splitter at some point blocks the left side. The left side only gets an item when the right side does. This is what I want to solve.

That the splitter with this option just say "okay, right belt is full, but left has still space so lets put items on it".

Example 2: Pusher
Same for the Pusher. Imagine a straight line. You have a left-side leading to a consumer. You put a Pusher on the cross. You will notice no items will continue straight anymore all is pushed left and if there is no space left on the belt everything stops.

I only want an option to tell the Pusher "Hey Pusher, push as much as you want but if the push-direction is full let it continue straight.".
GD 님이 마지막으로 수정; 2024년 4월 8일 오후 8시 20분
umop-apisdn 2024년 4월 9일 오전 6시 24분 
GD님이 먼저 게시:
Let me explain with an example.

You have a belt and split it 2 ways left and right. You place a Splitter on die T-Cross.

Now if the left side consumes items for some reason faster (not just production cycle something which is sometimes more sometimes less, e.g. bottleneck of co-resources) less than the right side you will notice that the Splitter at some point blocks the left side. The left side only gets an item when the right side does. This is what I want to solve.

That the splitter with this option just say "okay, right belt is full, but left has still space so lets put items on it".

At the risk of repeating myself:
umop-apisdn님이 먼저 게시:
Containers already work like you describe; as far as I know, the only complaint of yours that they don't answer is their large size.
... by which I meant warehouses, of course. Try it, you might realize you like it.

I'd love a smaller container, mind you... and if we're adding new buildings, I'd rather have a smaller in-line multi-port container than yet another logic block.
umop-apisdn 님이 마지막으로 수정; 2024년 4월 9일 오전 6시 27분
GD 2024년 4월 9일 오전 6시 34분 
I know what a container/warehouse is and used it thousand times already.

The problem above has nothing to do with warehouses but with behaviour of Splitter and Pusher under certain circumstances.

I cannot place a warehouse on the belt somewhere because it would endlessly pull resources I do that somewhere else I need the belt to be properly utilized so I can feed two or machines with the same belt.
Illuminia 2024년 4월 9일 오전 8시 00분 
I've deleted my old save from about a year ago, so can't provide screenshots..... but you can use the logic system to emulate what you want using pushers.

I haven't worked a new game back up to that point yet, so I'm going based on memory from last year .... take with a grain of salt.

Let's say you have a straight conveyor running next to Carbon Reactors, and you want a Pusher in front of each reactor to push off sideways to a conveyor feeding into the Carbon Reactor. If not pushed off to any reactors, the belt continues to storage or other crafters.

You can use Inventory Sensor logic to watch how much Carbon is in the Reactor, and logic cable to connect it to the Pusher - this lets you DISABLE the pusher based on how much Carbon is in the Reactor.

Repeat that for each Carbon Reactor / Pusher combo.


Similar logic can/should work on anything else with an Inventory... did something similar with the Ice Breaker so that it would keep ~5 ice in a breaker for making oxygen, anything else split between farm and storage.
Illuminia 님이 마지막으로 수정; 2024년 4월 9일 오전 8시 01분
Jordon 2024년 6월 23일 오후 11시 30분 
I'm kind'a confused here.. is this still the current state? Putting storage on every direction of the splitter is not only horribly cumbersome but it also forces 100% of the resources to be consumed. This gap makes the logistics systems so much chunkier than every other "factory" game out there - the workarounds are painful.
Basic 2024년 6월 29일 오후 5시 24분 
umop-apisdn님이 먼저 게시:
At the risk of repeating myself:
umop-apisdn님이 먼저 게시:
Containers already work like you describe; as far as I know, the only complaint of yours that they don't answer is their large size.
... by which I meant warehouses, of course. Try it, you might realize you like it.

I've tried it. It doesn't do the job as it doesn't evenly distribute inputs to outputs.

One input, Three outputs and 90% of the resource goes to one output.

The physical size is a PITA but the capacity can be limited by using a pushed at the input and checking the inventory level to enable/disable it with logic blocks.

That way, at least it's only X resources wasted in the huge building, and you can still use backpressure as a signal.

But all of that is pointless if it doesn't balance outputs when they're not blocked.
DukeSatan 2024년 7월 16일 오후 3시 03분 
Maybe a bit late to bring this into the equation, I've just had the same issue, the right hand belt became blocked due to the container and further on machines all reaching there logic controlled limits.

I've got around it by adding a bypass pusher logic and belts to the overflow path just before the splitter and assigning a new logic controller to the same storage container with the same limit as the logic controller that turns the blocker logic off and clogs the belt.

This way the bypass pusher turns on when the blocker is off and vice versa, making the splitter do the work when the storage container gets low, but the bypass do the work when its full, this costs about 5-6 blocks extra, mostly in logic blocks.

Granted this will only really work for a two split and not for a three split set-up, but it does work and now my power system is back to 100% and not 50% operation.

Might help someone anyway

What would be ideal is if the splitter had an extra option to enable an overflow direction for each output, disabled by default so the user must enable for their own preference, its then similar to the bypass above without the need for extra blocks.

Either that or setting the ratio to 0 means overflow this way, but that might mess up some other options of ratios that others would like, but then an overflow negates the need for a ratio.... oh hum.
Star of Remphan 2024년 7월 17일 오전 8시 46분 
I've run into this as well. Using a splitter like factorio or foundry would be nice. Even if it's just a 2-3 wide logic block between belts.
Star of Remphan 님이 마지막으로 수정; 2024년 7월 18일 오전 4시 58분
RiseOfDeath 2024년 7월 30일 오전 8시 14분 
Just +1. I really need to have easy way to non-blocking split of belts. It's possible to do byy using buffer container, container reader, and other things, but it will be too big and complex
RiseOfDeath 님이 마지막으로 수정; 2024년 7월 30일 오전 8시 15분
CoW 2025년 1월 3일 오전 11시 35분 
Just +1. I really need to have easy way to non-blocking split of belts. It's possible to do byy using buffer container, container reader, and other things, but it will be too big and complex
< >
13개 댓글 중 1-13개 표시
페이지당 표시 개수: 1530 50