Barrels are a little clunky and don't get a lot of love. So, I think they should be improved, and a good way to do this would be to allow machines to
natively support barrels.
What do I mean by "natively"? Well...
Lets look at a assembler:

- 09-27-2024, 17-03-11.png (73.95 KiB) Viewed 643 times
We want to make blue circuits, and we have everything we need. Circuits of all sorts, belts in and out, and sulfuric acid... in barrels. Right.
So what do we need to do? All of this:

- 09-27-2024, 17-06-27.png (120.05 KiB) Viewed 643 times
We need a second whole assembler, and two more belts, and we need to handle getting rid of the extra barrels. And sure, this isn't
too bad, because of course one unbarrelling assembler can usually feed multiple machines. But at the same time, you could just do
this:

- 09-27-2024, 17-08-52.png (53.63 KiB) Viewed 643 times
And it just works. No transporting empty barrels around, no playing about with the total number of barrels in the system... it just works.
Yeah.
It's not hard to see why barrels aren't very popular.
So, what if instead of all that, we just do... this?

- 09-27-2024, 17-10-51.png (57.08 KiB) Viewed 643 times
"But wait!", you say, "That won't work, it has to be unbarrelled by a dedicated assembler."
Ah, but what if it
did just work?

- BarrelMockup1.png (30.59 KiB) Viewed 643 times
What if you put the barrels it, and it just automagically empties them into it's own internal buffer, and gives you back the empty barrels?
Or, if instead you have a more complicated machine that creates and uses fluids:

- BarrelMockup2.png (39.07 KiB) Viewed 643 times
Then you have a couple of slots, one for each type of fluid.
One complication that does emerge is if a machine both needs and produces empty barrels. I don't think this is a especially difficult design problem to solve; one solution that comes to mind is to treat barrel slots like chest slots when appropriate, allowing inserters to both add and remove barrels. On top of this, barrels could avoid being filled until the moment a inserter actually pulls them out of the machine, which would help reduce clogging issues. Another solution could be to have separate input and output slots for fluids that occur more than once in a recipe, and only fill the output slot if the input slot is full.
On the whole, this means that barrels become a
alternative instead of excessively situational/a downgrade. Instead of pipes, you have the choice to supply barrels via belts. You still have to remove empty barrels, but on a whole its simpler. Complicated fluid recipes would present a player with a choice between complex piping and a inserter filtering/belt sorting problem.
Both a challenge to solve, but of different sorts.

- 09-27-2024, 18-02-42.png (310.77 KiB) Viewed 643 times