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
[2.0.21] Locomotive has an additional slot where copper can be placed in
[2.0.21] Locomotive has an additional slot where copper can be placed in
- Attachments
-
- Savegame + Logs.zip
- (6.41 MiB) Downloaded 2 times
-
- extra trainslot.png (106.87 KiB) Viewed 369 times
Re: [2.0.21] Locomotive has an additional slot where copper can be placed in
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.
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.
-
- 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
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)?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.
Re: [2.0.21] Locomotive has an additional slot where copper can be placed in
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.
-
- 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
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.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.
It just doesn't make any sense to put copper bacteria or copper ore in a locomotive.
Re: [2.0.21] Locomotive has an additional slot where copper can be placed in
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).
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).
Re: [2.0.21] Locomotive has an additional slot where copper can be placed in
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)