Repository navigation
API Beispiele
🇬🇧 English version · ⬅ Für Mod-Autoren
local stop = surface.create_entity({ name = "utl-train-stop", position = pos, direction = defines.direction.east,
force = "player", raise_built = true })
remote.call("utl", "configure_station", stop.unit_number, { mode = "station", provide = false, request = true })
remote.call("utl", "set_request", stop.unit_number, 1, { type = "item", name = "iron-plate" }, 4000)local mapping = stack.create_blueprint({ surface = surface, force = force, area = area })
remote.call("utl", "tag_blueprint", stack, mapping, surface)local function listen()
local ids = remote.call("utl", "get_event_ids")
script.on_event(ids.on_delivery_completed, function(event)
storage.done = (storage.done or 0) + 1
end)
end
script.on_init(listen)
script.on_load(listen)Zwei eigene Rollen: ein Rangierdepot, dessen Züge dem Add-on gehören, und ein Abstellgleis, an dem UTL nichts vermittelt. Steht eine Rangierlok frei, schickt das Add-on sie zum Abstellgleis und zurück. Was dort passiert (Wagen abstellen, kuppeln …), wäre die eigene Logik des Add-ons.
control.lua der Mod rangier-beispiel (Abhängigkeit auf UTLogistics):
local MOD = "rangier-beispiel"
local function register()
remote.call("utl", "register_role", { mod = MOD, name = "depot", caption = "Rangierdepot",
base = "depot", own_trains = true })
remote.call("utl", "register_role", { mod = MOD, name = "abstellgleis", caption = "Abstellgleis" })
end
local function listen()
local ids = remote.call("utl", "get_event_ids")
-- Rangierlok frei: zum ersten Abstellgleis schicken
script.on_event(ids.on_train_idle, function(event)
if event.role ~= MOD .. "/depot" then return end
local sidings = remote.call("utl", "get_stations", { addon_role = MOD .. "/abstellgleis" })
if not sidings[1] then return end
remote.call("utl", "send_job", event.train_id, MOD, {
{ station = sidings[1].unit, wait = { { type = "time", ticks = 30 * 60 } } },
})
end)
script.on_event(ids.on_job_finished, function(event)
if event.mod == MOD then game.print("Rangierfahrt " .. event.job_id .. " fertig") end
end)
end
script.on_init(function() register() listen() end)
script.on_configuration_changed(register)
script.on_load(listen)Im Spiel: zwei UTL-Haltestellen bauen, im Stationsfenster bei der einen „Rangierdepot“ und bei der anderen „Abstellgleis“ anhaken, eine Lok mit dem Rangierdepot im Fahrplan aufs Gleis stellen.
Mehr dazu: Rollen und Daten, Fahrten, Züge umbauen, Fenster.
Unified Train Logistics · version / Version 0.0.27 · 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