Loaders Modernized


Compact 1x1 loader requiring electricity to run. There are options to enable or modify capabilities like stacking, disable power consumption, or recipe cost.

Content
29 days ago
2.0
25.9K
Logistics Circuit network

i [Won't Fix] Request behavior like stack inserter

6 months ago

Hello! First of all, thanks for your mod, it's really great.

One thing I've noticed - your loaders do not behave like stack inserter.

There is the GIF illustrating this
https://imgur.com/Kp86sx4

From top to bottom:
- default stack inserter taking 16 items from the machine and placing them to the belt
- default loader taking whatever is there and placing them to the belt (with no stacking if there is not enough items)
- logic controlled loader working with condition 'red_circuits > 7' ( https://imgur.com/ta9BVUf )

What I want - loaders works as stack inserters, I mean, they wait for items and then output them with stacking only.
I can achieve somthing similar with logic, but this is annoying, because in every setup I must to find exact number for it to work.
In other words I can't just set condition 'some_item > 7' in every case. The machine can output just 7 items and then stuck ( https://imgur.com/wC0MiOe )

Is it possible to add this mode? It can be enabled by checkbox like 'Simulate stack inserter behavior' or smth.
v 2.0.39, checkbox 'override stack size' does noting on this.

Thanks in advance.

6 months ago

This behaviour occurs even if you have it pulling from a fully loaded box. The problem isn't that it isn't waiting for a full amount, the problem is that the stack loaders are grabbing like 10/20 items per iteration, then splitting that onto the belt. I did notice that if you force the belt to send one item to the left and one item to the right, this behaviour does not occur and the belt is properly stacked.

6 months ago

Well, I read about this (https://mods.factorio.com/mod/loaders-modernized/discussion/673d141f19c2fc558c23fc5c), but it is about belt compression, right?

What I mean, it CAN wait for more, but doesn't do this, even for 4 items or smth. If 4x items is there - good. If not - just pull whatever is there. And when machine is slow, it pulls like 1-2 items, so there is no stacking at all.

5 months ago

Great. Kryojenik was here, and my topic is the only one been not answered. Can I change this to "bug"?

5 months ago

@Vic3Dexe, It wasn't a slight, I promise!

I was trying to do a bit of thinking before responding. Essentially, this will not be directly possible with the way loaders are designed by the developers. Loaders are intended to move things as fast as they can on, or off the belts. They do not have a "hand" or internal inventory to collect items for grouped release. This is directly related to the other discussion you pointed to about incomplete belt filling / belt compression.

I submitted that as a bug (https://forums.factorio.com/123836) and the response was:
"I feel this will be somehow related to loaders not waiting for "full hand" (since they do not have a hand) and unloading creating belt stack from at most 1 source inventory stack (no gather from multiple stacks as it would require a temporary storage, like a hand)"

So, if the slot in the associated chest that loader is pulling from cannot make a full stack, it will not wait for more items, and it will not combine items from multiple slots.

In the back of my mind I have considered toying with some code to effectively disable the loader when there are less than a belt-stack of items in the chest. However, I expect that will have a significant impact on UPS since it would require on_tick evaluations to do that math. Even working with combinators to test that scenario I am running into anomalies in properly filling the belt depending on the number of items (even when there are more than belt stack) in the slot. This will likely result in me updating the earlier bug I filed with Wube.

In any case, Vic3Dexe, I wasn't really ignoring this, but trying to figure out a way to say that I really can't accommodate this request at this time (due to https://forums.factorio.com/123836) in a way that doesn't trash UPS, or that I'm even confidant will work.

5 months ago

Oh, I see now. You can't control loader's hand, if there is no hand.
on_tick - yeah, it's probably a bad idea.
Well, if this is impossible, so much the worse for me. Will use the logic workaround.

In any case - thanks for the answer and sorry I was impatient.

New response