====== Modules ====== Advanced Trains, as it is distributed, is a modpack. The mods contained are like modules in that you can enable/disable them as you want. * ''advtrains'': Advtrains core The ''advtrains'' module provides the core functionalily of Advtrains. It implements all logic around trains and wagons, the node database that provides persistent storage of advtrains-related nodes, and the simple ATC system. By itself, it does neither provide rails nor trains. It provides APIs to add tracks and wagons, and a variety of callbacks to hook into core mechanisms((Most of this is documented as comments in the code, it should be added to the [[dev]] section of this wiki)). * ''advtrains_train_track'' This module adds the default tracks, which are so far the only existing track type. However, advtrains in theory supports different track types (like different gauges, cog railways, maglev), which has been showcased by the ''advcarts'' mod. **Depends on:** ''advtrains'' * ''advtrains_train_*'' These modules add various wagons using the advtrains.register_wagon() API. The advtrains core modpack no longer includes any of these mods; the ones that were previously included are now in a modpack called [[https://content.minetest.net/packages/orwell/basic_trains/|basic_trains]]. This naming convention should still be followed for any mods that add new wagons. **Depends on:** ''advtrains'', ''advtrains_train_track'' * ''advtrains_luaautomation'' - [[usage:atlatc:start]] (''atlatc'') This module adds the [[usage:atlatc:start|LuaATC system]]. Note that the LuaATC system doesn't require ''advtrains_interlocking'' or ''advtrains_line_automation'' to be enabled, and thus can be used completely independent of it. However, the [[usage:atlatc:api|LuaATC API]] can be used to interface with the interlocking and line automation system when those modules are enabled. **Depends on:** ''advtrains'' * ''advtrains_interlocking'' - [[usage:interlocking:start]] This module adds the interlocking system. Its user guide is yet to be moved to the wiki, and is currently accessible [[https://advtrains.de/interlocking|here]]. **Depends on:** ''advtrains'' * ''advtrains_line_automation'' - [[usage:lines:start]] (''lines'') This module aims to provide a feature-rich timetable-based automatic train operation system. It currently only provides the [[usage:lines:stoprail|Station Rail]] and the [[dev:api:railway_time_api|Railway Time]] system, which can be interfaced from LuaATC. At the moment, it uses features from the interlocking system and therefore depends on it. This may change in the future. **Depends on:** ''advtrains'', ''advtrains_interlocking'' * ''advtrains_signals_ks'' - Ks signal system This module adds signals in the style of the german [[https://de.m.wikipedia.org/wiki/Ks-Signalsystem|Ks signal system]]. In contrast to the plain green-red signals from advtrains core, those signals implement the interlocking signal API, and can be used to signal most signal aspects that the interlocking system supports. Although this can be seen as a reference implementation of a signal system, advtrains is not limited to these signals. If you are a railway enthusiast and interested in adding another signalling system from your country, I encourage you to add it. **Depends on:** ''advtrains_interlocking'' * ''advtrains_itrainmap'' - Rail and train map This module used to provide a simple map view to plot tracks and monitor trains on them. **It is broken since about 2 years**, and should not be used. It is currently not included in the release packages in ContentDB. A revival is [[http://bugs.linux-forks.de/advtrains/144.html|planned]]. **Depends on:** ''advtrains''