Trains—Backup interrupts only when leaving station with signal
Posted: Sun May 17, 2026 1:53 pm
This is a complicated one, but the gist of it is that I have stations I want my trains to go to as a backup if their first station choice is unavailable—but only if they're leaving a station that has a particular signal.
I thought this would be simple using the "Destination full" interrupt condition, but it turns out by the time this condition is triggered the train has left the station and thus does not receive signals. I'm trying to figure out if there's a way to make this work without sacrificing another feature of my rail system.
To handle this, I designed my rail system as a three tier system, like so:
However, in order to facilitate a shared priority system, all three types of station are named the same generic "pickup" name. To differentiate the stations, they send signals to the stopped trains—A recycle symbol for the Surplus stations, and a trash signal for Waste stations. (Or, technically the Waste stations currently send both recycle and trash signals.)
The trains also use generic interrupts for dropoffs, rather than being dedicated to a particular type of cargo.
As I mentioned above, the plan was to use the "Destination full or no path" interrupt condition in combination with the "Circuit condition" condition to redirect the trains to recycle or trash stations, but that doesn't work because the circuit condition is no longer sent once the train has logically "left" the station (even though it's still physically "at" the station).
Solutions I've already considered:
I thought this would be simple using the "Destination full" interrupt condition, but it turns out by the time this condition is triggered the train has left the station and thus does not receive signals. I'm trying to figure out if there's a way to make this work without sacrificing another feature of my rail system.
Full context
I'm playing with a modpack (it doesn't change how trains work) that has a focus on recipes with side products. Sometimes these are useful, but sometimes they're just waste that needs to be disposed of.To handle this, I designed my rail system as a three tier system, like so:
- Supply stations only ship to demand stations
- Surplus stations ship to demand or recycling stations
- Waste stations ship to demand, recycling, or disposal stations
However, in order to facilitate a shared priority system, all three types of station are named the same generic "pickup" name. To differentiate the stations, they send signals to the stopped trains—A recycle symbol for the Surplus stations, and a trash signal for Waste stations. (Or, technically the Waste stations currently send both recycle and trash signals.)
The trains also use generic interrupts for dropoffs, rather than being dedicated to a particular type of cargo.
As I mentioned above, the plan was to use the "Destination full or no path" interrupt condition in combination with the "Circuit condition" condition to redirect the trains to recycle or trash stations, but that doesn't work because the circuit condition is no longer sent once the train has logically "left" the station (even though it's still physically "at" the station).
Solutions I've already considered:
- Split the pickup station names (to Supply, Surplus, and Waste) and hard code the order to check them. This does work, but it sacrifices the shared priority system, so I'd rather not use this solution unless there's really nothing better.
- Instead of using "Destination full", have the dropoff interrupts check if the station is available. This (theoretically) works to check all three at the moment the train leaves the station, but if none are immediately available we're back to the exact same problem.
- Have the train ensure one of the stations is available before logically leaving the pickup station. This isn't possible because the pickup interrupt doesn't know the station's contents, and thus doesn't know the dropoff stations' names. (Unless I use signal dispatching for pickups, but that doesn't respect priority at all, so is a worse solution than splitting pickup station names.)
- A mod that makes stations send circuit signals to trains "at", but not "in", the station. This would be great, but I don't know if such a mod exists or even is possible.