Smart Train Combinator


A train-stop combinator that validates each train's dedicated buffer individually, instead of pooling all station storage together. One main unit wires to the station; empty 'buffer probe' shells each wire to a single train slot's chests. The main reads every probe's network independently and calls a train only when that slot's buffer is actually ready. Inspired by Simple Train Combinator by Odja_Anarchist.

Utilities
7 days ago
2.0 - 2.1
160
Trains Circuit network

g how to configure it?

a month ago

Your explanation is excellent, but I have a problem: I’ve created one station that accepts crude oil and two that require it. I have one train stationary at a station called ‘Depot’, set to ‘Automatic’ mode, but it won’t set off. The train has three 25k carriages, each with a probe connected to a 25 tank. On the monitoring screen, everything is green and the bars are green too, but at the station that’s supposed to receive the crude oil, the tank is empty. Does the train need to be moved to a depot station in automatic mode? And how does it know it needs to return there? Do I need to configure the train’s route, or does the mod calculate the requester and supplier automatically?
Thanks

a month ago

Thanks! The mod doesn't dispatch trains or compute routes — it only drives the train stops: it renames them (auto-naming) and flips their train limit between 0 and 1 when a full wagon of resource (or of free room, on the unloading side) is ready. The routing itself is 100% vanilla: your train needs a schedule that references the stations. That's why your train sits at the Depot — nothing in its schedule tells it where to go.

The nice part: your two crude-oil requester stations get the same auto-generated name (same resource, direction and wagon count), so one schedule entry covers both, and the train limits decide which one actually receives the train.

Here's the exact train blueprint I use on my own base (schedule included). It's a 2-fluid-wagon train, so adapt it to your 3-wagon setup (see below):

0eNqlVO1uqzAMfZUr/w4ThVI+pD5JVaE0pMxaSFAI7a0q3v06gbXV1k13Gj8CsZ3j42OTKxzUKHuL2kF1BRRGD1DtrjBgq7nyNs07CRVYjgomBqgb+Req1bRnILVDh3I+ETaXWo/dQVoKYO8nlRGmMw5PEhj0ZqAjRntkD5OmDC5QRas8fSniIivTPJs8Mj8oWSvT4uBQDPX5FWnfmRPqFqojV4NkYCxSVj7jxQyEUcZ6ZFril3Jd+qco4ryM81W8XpfJqsgzBm2IPoSV+1om9ol/cuN/VCM20Zm3lOWbAjab3xbwhEX6UxZZ+WsW1NhBvMpmVEtn7w30+9WDP2gthbHNMjXvKLALfLfCjo2MDKr97oTWjVxF82RtByeSSBne7HfoZLd9qO+JhUo+c3Q1zWcTCp/zuUsftBmVAt/+rudW1ouV6wamvS+ntWbsn5ECP89OWjv2bkZc1JZd7y5/QngA/mlWBo7bVrpPsnxUIbyiuVSCoexE578keSroqIOk38sVivuCObtFoeaCeo7PQukvowpRvBFuGsezyqgHbGR9E3SZL3KGkXJGvHlCWoo7o2ANl8WB+4/EE1iM9AcerfEX082dPrjTmzsJ2UkfYna/zhicpB2C7Nkm8ZdBVqw3OS3T9A9jCLIe

How it works:
- The schedule has a single fixed stop: the crude-oil loading station (its auto-generated name, picked from the station list), wait condition "cargo full". The train simply parks there between runs — no depot needed, and it never blocks anything since it leaves as soon as it's full.
- A generic interrupt ("empty fluid"): when the train is full, go to any station named [fluid][wagon][wagon][unload] — the fluid icon is the vanilla fluid parameter wildcard, resolved to whatever the train actually carries. It matches the mod's auto-generated unloading station names, whichever of your requesters has a free slot (train limit 1). Wait: empty or 5 s inactivity. One interrupt, reusable for every fluid train on your network.

To adapt it to your 3-wagon train: the auto-generated names contain one wagon icon per probe, so with 3 wagons your station names have 3 icons. After importing, re-select your loading station in the schedule (pick it from the list), and in the interrupt's target add one more [item=fluid-wagon] so it reads [fluid parameter][wagon][wagon][wagon][unload].

One last check on your side: on the requester stations, the module must be set to Unload with its probes wired to the tanks — an empty 25k tank per wagon = room for a full fluid wagon = the stop calls a train. If everything is green on both sides and the schedule is in place, the train will run.

New response