Repository navigation
API Add on Züge umbauen
🇬🇧 English version · ⬅ Für Mod-Autoren
Note
Neu in 0.0.20. train_transfer_started/train_transfer_finished gibt es seit 0.0.10.
Kuppelt man Wagen an oder ab, macht Factorio daraus neue Züge mit neuen IDs. Ohne Meldung bricht UTL die Lieferung des alten Zugs dann ab („rebuilt“). Meldet das Add-on den Umbau, zieht alles auf den neuen Zug um. UTL kuppelt dabei selbst nie – das tut das Add-on.
| Funktion | Wirkung |
|---|---|
begin_train_change(ids) |
Umbau beginnt: Zug-ID oder Liste der IDs, die gleich verschwinden. Ruft man vor dem Kuppeln auf. Bis zum Ende bricht UTL deren Lieferungen nicht ab; der eigene Fahrplan wird gesichert. |
end_train_change(old_ids, train) |
Umbau fertig: Lieferung, Depot-Eintrag, Festhalten und Auftrag der alten IDs ziehen auf train (LuaTrain) um. Liefert true bei Erfolg. |
forget_train(train_id) |
Zug (alte oder neue ID) für UTL vergessen, z. B. den abgekuppelten Teil, der stehen bleiben soll. Eine Lieferung daran wird abgebrochen. |
train_transfer_started(old_id) / train_transfer_finished(old_id, train)
|
ältere Form mit genau einer ID (z. B. für Mods, die Züge versetzen); den Weltraumaufzug von Space Exploration erkennt UTL selbst |
Was end_train_change außerdem tut:
-
Fahrplan: Fehlen danach die Halte der Lieferung, setzt UTL sie neu. Zeigt der Fahrplan auf
keinen Halt mehr, schickt UTL den Zug zum nächsten Halt der Lieferung. Steht der Zug ganz ohne
Fahrplan da, bekommt er den beim
begin_train_changegesicherten zurück. -
Mehrere alte Züge mit Lieferung (zwei beladene Züge werden gekuppelt):
trainbehält die erste, die anderen werden abgebrochen. - Im Depot umgebaut: Der Zug wird neu eingeparkt und sein Laderaum neu gemessen.
- Danach kommt
on_train_rebuiltmitchanging = true.
-- Wagen abkuppeln, ohne die Lieferung zu verlieren
local old_id = train.id
local front, last = train.front_stock, train.back_stock
remote.call("utl", "begin_train_change", { old_id })
front.disconnect_rolling_stock(defines.rail_direction.back)
remote.call("utl", "end_train_change", { old_id }, front.train) -- dieser Teil fährt weiter
remote.call("utl", "forget_train", last.train.id) -- der Rest bleibt stehenWird end_train_change nie aufgerufen, vergisst UTL die Meldung nach 10 Minuten.
| Funktion | Wirkung |
|---|---|
hold_train(train_id, mod) |
Zug festhalten: kein Dispatcher, keine Anschlussfahrt, kein Tanken, kein Aufräumen, kein Abbruch – auch nicht im Handbetrieb, keine Warnung „steckt fest“. Eine laufende Lieferung bleibt bestehen. Liefert false, wenn ein anderer Mod ihn schon hält oder er frei im Depot eines anderen Add-ons steht. |
release_train(train_id) |
wieder freigeben. Steht er ohne Lieferung in einem Depot, ist er sofort wieder frei; sonst fährt er nach seinem Fahrplan weiter. |
is_held(train_id) |
Name des Mods, der ihn hält, oder nil (auch in get_train als held_by) |
remeasure_train(train_id) |
Laderaum eines freien Zugs neu messen, wenn das Add-on ihn im Depot umgebaut hat, ohne dass sich die Zug-ID geändert hat. Liefert true, wenn UTL den Zug als frei kennt. |
Typischer Ablauf beim Rangieren mitten in einer Lieferung:
-
hold_train– UTL lässt den Zug in Ruhe. - Zug auf Handbetrieb, rangieren, mit
begin_train_change/end_train_changekuppeln. - Zug auf Automatik,
release_train– die Lieferung geht weiter.
Ein Auftrag hält den Zug von selbst fest, solange er läuft.
Unified Train Logistics · version / Version 0.0.25 · made with AI help, tested by Marcel / mit KI-Hilfe erstellt, von Marcel getestet · Mod portal · GitHub
🇬🇧 English
- Quick start
- Stations and roles
- Networks
- Mixed providers and job output
- How trains run
- Fuel, cleanup and depots
- Storage
- Blueprints with parameters
- Network combinator
- UTL Manager and alerts
- Settings
- Teams and surfaces
- Space elevator
- Scenarios and tips
- FAQ and troubleshooting
-
For mod authors
- Queries · Configuring · Events
- Windows and helpers
- Add-ons: roles and data · trips · rebuilding trains · windows
- Performance · Signal icons · Examples
🇩🇪 Deutsch
- Schnellstart
- Stationen und Rollen
- Netzwerke
- Gemischte Anbieter und Auftrags-Ausgabe
- Wie die Züge fahren
- Tanken, Cleanup und Depots
- Lager
- Blaupausen mit Parametern
- Netz-Kombinator
- UTL-Manager und Warnungen
- Einstellungen
- Teams und Oberflächen
- Weltraumaufzug
- Szenarien und Tipps
- Häufige Fragen und Fehlersuche
-
Für Mod-Autoren
- Abfragen · Einstellen · Ereignisse
- Fenster und Hilfen
- Add-ons: Rollen und Daten · Fahrten · Züge umbauen · Fenster
- Leistung · Signal-Symbole · Beispiele