i think this is a bug because of the inserter behaviour described. i'm assuming the bug is "inserters sometimes won't take batteries out of/put batteries into train engines" but i guess it's possible inserters aren't supposed to be able to do that, and the bug is that they sometimes DO. either way, behaviour is inconsistent so something's up.
the situation: one linear train track with loops at each end, one train. a single engine, a single carriage. the train is powered by one battery. by sheer luck, that one battery is just enough to get it from input station to output station with the tiniest bit of energy to spare. i think it can move literally one or two blocks before running out.
i have a priority electrolyser at each station and inserters positioned correctly to remove the spent battery, charge it, and return it to the engine.
the problem is, that doesn't actually happen when the train stops next to the electrolyser. in attempting to figure out what's going on, i've discovered some strange behaviour:
- if i pick up the engine-to-electrolyser inserter and then put it back down, it will remove the spent battery
- doing the same with the electrolyser-to-engine inserter doesn't trigger it to insert the charged battery
- if i add or remove a carriage from the train while it's out of fuel, that will trigger both inserters to behave correctly
- if the train runs out of power just BEFORE arriving at the station, it will roll to a stop at the electrolyser and the inserters will behave correctly
i plan to experiment further but i wanted to start this thread before i forget how this began.
i SUSPECT the inserters behave correctly when the train is set to manual (as adding/removing carriages set the train to manual), but obviously that doesn't help me automate the process of recharging.
the problem might be related to the train running out of power immediately after beginning movement again.
backing up my save file before i experiment further. i'm not sure what vector i would best use to upload it but, if it would help, i'll do so