[2.0.21] Locomotive has an additional slot where copper can be placed in

Post your bugs and problems so we can fix them.
Sotian
Manual Inserter
Manual Inserter
Posts: 1
Joined: Fri Nov 29, 2024 1:38 am
Contact:

[2.0.21] Locomotive has an additional slot where copper can be placed in

Post by Sotian »

What did you do?
I was looking at my Trains and was fueling them.

What happened?
One of the trains had an additional slot right next to the fuel interface (See attached Image). I asked in the Factorio Discord, they were very confused and told me this might be a bug. I do have mods installed but others in the discord server were able to recreate it so I do not think the mods cause any issue here. (Maltsi described it as follows: "You mean how to insert ore into locomotives? Let your inserter grab bacteria, and when it spoils into ore it will be insertet in the loco"). I do not know how it happened in my world. Their method would not work since i am far away from bacteria.

In the attached Savegame the Locomotive at the "Fuel" trainstop near the player does have this extra slot.

What did you expect to happen instead? It might be obvious to you, but do it anyway!
I did not expect this slot to be there since it would not be obvious what to put in there.

Does it happen always, once, or sometimes?
Some of my locomotives do have it, some do not

Image
Attachments
Savegame + Logs.zip
(6.41 MiB) Downloaded 2 times
extra trainslot.png
extra trainslot.png (106.87 KiB) Viewed 368 times
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 3101
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [2.0.21] Locomotive has an additional slot where copper can be placed in

Post by boskid »

Heh, i know exactly what happened here and it is quite funny because there is no reasonable way of fixing this.

On gleba, you get copper-ore by spoiling copper bacteria. That means copper-ore (same as iron-ore and couple of other items) is marked as being spoil product of some other item.

When items are spoiling while in inserter hand, they get special treatement when inserting into entities: instead of blocking the insertion, we force them into the machine so they are then taken out by the inserters taking out of the machine. Locomotives are not special: they have burner energy source that provides energy for it to run, part of burner energy source is fuel inventory (on the left) and spent fuel inventory (on the right).

Most likely explanation of what happened is that you have a train that was being loaded with copper ore however it was full, some inserters happened to still hold the copper ore while over rails, then you moved the train, locomotive stopped right under the inserter holding copper-ore, inserter realized it wants to insert an item that is a known spoil product into a machine that does not accept it and so it was forced into spent fuel inventory. This is how the copper ore ended in your locomotive.
IsaacOscar
Filter Inserter
Filter Inserter
Posts: 344
Joined: Sat Nov 09, 2024 2:36 pm
Contact:

Re: [2.0.21] Locomotive has an additional slot where copper can be placed in

Post by IsaacOscar »

boskid wrote: Fri Nov 29, 2024 2:10 am Heh, i know exactly what happened here and it is quite funny because there is no reasonable way of fixing this.

On gleba, you get copper-ore by spoiling copper bacteria. That means copper-ore (same as iron-ore and couple of other items) is marked as being spoil product of some other item.

When items are spoiling while in inserter hand, they get special treatement when inserting into entities: instead of blocking the insertion, we force them into the machine so they are then taken out by the inserters taking out of the machine. Locomotives are not special: they have burner energy source that provides energy for it to run, part of burner energy source is fuel inventory (on the left) and spent fuel inventory (on the right).

Most likely explanation of what happened is that you have a train that was being loaded with copper ore however it was full, some inserters happened to still hold the copper ore while over rails, then you moved the train, locomotive stopped right under the inserter holding copper-ore, inserter realized it wants to insert an item that is a known spoil product into a machine that does not accept it and so it was forced into spent fuel inventory. This is how the copper ore ended in your locomotive.
Hmm, copper bacteria can't be inserted into a train right? So can't you do a check to see if whatever it was prior to spoiling was a valid input to the machine? Or at least check anything that might have spoiled into copper ore (if you can't work out which specific thing it was)?
kaijyuu
Inserter
Inserter
Posts: 26
Joined: Wed Jan 30, 2019 12:47 am
Contact:

Re: [2.0.21] Locomotive has an additional slot where copper can be placed in

Post by kaijyuu »

IMO it'd be more reasonable for the inserter entity to drop the spoil product on the ground and mark it for pickup by construction bots (unless the target can take it normally anyway). In this case there will be some random copper ore occasionally dropped that might confuse some people, but that seems less confusing than the current behavior.
IsaacOscar
Filter Inserter
Filter Inserter
Posts: 344
Joined: Sat Nov 09, 2024 2:36 pm
Contact:

Re: [2.0.21] Locomotive has an additional slot where copper can be placed in

Post by IsaacOscar »

kaijyuu wrote: Fri Nov 29, 2024 4:58 am IMO it'd be more reasonable for the inserter entity to drop the spoil product on the ground and mark it for pickup by construction bots (unless the target can take it normally anyway). In this case there will be some random copper ore occasionally dropped that might confuse some people, but that seems less confusing than the current behavior.
Inserting spoiled thinks can be useful though, e.g. if you are fuelling your locomotive with yumakos, but they turn to spoilage, that will be used for fuel as well.

It just doesn't make any sense to put copper bacteria or copper ore in a locomotive.
Muche
Filter Inserter
Filter Inserter
Posts: 257
Joined: Fri Jun 02, 2017 6:20 pm
Contact:

Re: [2.0.21] Locomotive has an additional slot where copper can be placed in

Post by Muche »

For a locomotive (i.e. a machine with burner source only) it could be solved by going over spoiled product currently in hand and its parents spoilage-wise and checking whether some of them are compatible with current fuel. Or rather, check spoiled products of current fuel and fuel inventory for compatibility with item in hand.
So coal-fueled locomotive will not accept spoilage, not even into the trash/spent fuel slot; spoilage would be treated the same as trying to insert wood. Same for iron/copper ore.
On the other hand, yumako-fueled locomotive will accept spoilage into trash slot.

Extending this for assemblers/furnaces with recipe, this check could be performed for all recipe's ingredients.
So an assembler crafting yellow belt will no longer accept spoilage into trash slot, spoilage will remain in inserter's hand; and assembler crafting Yamako processing will accept spoilage into trash slot.

I am not sure how empty idle furnaces / assemblers without recipes could be handled. Probably the current behavior of accepting everything into trash slot (so set-recipe controlled assemblers don't get stuck).
EustaceCS
Filter Inserter
Filter Inserter
Posts: 280
Joined: Tue Dec 15, 2020 5:41 am
Contact:

Re: [2.0.21] Locomotive has an additional slot where copper can be placed in

Post by EustaceCS »

kaijyuu wrote: Fri Nov 29, 2024 4:58 amIMO it'd be more reasonable for the inserter entity to drop the spoil product on the ground and mark it for pickup by construction bots (unless the target can take it normally anyway).
Unless you're some drone maniac like me, you don't have 100% rail coverage nor 100% inserters coverage.
And EVENTUALLY (all 8 adjacent tiles occupied, then all 16 tiles 1 tile further, and so on, and so on) item in question will end out of reach anyway.
And/or on some completely irrelevant belt, starting our favourite in-game surprise event: Guess Where Did Came From The Item Which Clogged The Belt AGAIN".

For entities which specifically might end up way beyond radar coverage and intended to disappear from radar coverage occasionally (trains) it's probably might be worth to make an exception from "if it fits - it sticks" rule.
(spoilage don't have to induce more headache than it currently does. Sorry, gentlemen and ladies)
Post Reply

Return to “Bug Reports”