mirror of
https://github.com/MovingBlocks/Terasology
synced 2026-05-24 09:28:22 +00:00
* docs(subsystems): add Readme for DiscordRPC subsystem * feature(subsystems): add separate configuration for subsystems and add it to classpath * feature(subsystems): add subsystems to dist * feature(subsystems): add README for subsystems * chore(subsystems): Use logger.info for subsystems. use common.gradle instead publish.gradle * feature(subsystems): re-integrate afk subsystem handling in discord submodule Co-authored-by: Tobias Nett <skaldarnar@googlemail.com>
1.2 KiB
1.2 KiB
Subsystems
Subsystems provide and extend engine functionality that might not be needed all the time.
A subsystem can provide an API to be implemented by other subsystems (API subsystem). Such an API subsystem does not provide any functionality on its own.
Typical examples for subsystems are:
- platform integration (e.g., Discord)
- native libraries usage
- network activity
⚠️ Subsystems should not extend or provide gameplay features! Use Modules instead.
It is planned to allow combinations of modules with subsystems for new functionality in the future.
Comparation between Module and Subsystem functionality:
| Module | Subsystem | |
|---|---|---|
| Boot | at game start | at game launch |
| Sandbox | Yes | No |
| Installing | Yes, in-game download from server or repository | No, with facade or engine only |
| Dependencies | only another Modules | any, except Modules |
| Build Script | engine-driven | free-style |