PrismLauncher is a sophisticated Minecraft launcher application built with C++ and Qt that enables users to manage multiple Minecraft instances, mods, resource packs, and authentication. It features a modular architecture with clear separation between core application logic, instance management, UI components, mod platform integrations, networking, task-based asynchronous operations, and settings management. The application supports launching Minecraft with custom configurations, handles Mojang/Microsoft authentication, integrates with various mod platforms (Modrinth, CurseForge/Flame, FTB, Technic), and provides extensive customization options for gameplay experience.
MultiMC is a mature, cross-platform desktop application written in C++/Qt that manages and launches multiple Minecraft instances. The code implements a complete launcher stack: instance creation/import/export and modpack management (Modrinth, Technic, ATLauncher, legacy FTB), Microsoft/Mojang account authentication via OAuth device flow, per-instance component profiles (Forge/Fabric/Quilt/NeoForge/LiteLoader), Java discovery/validation, asset/library download with an HTTP metacache and checksum validators, a composable launch pipeline, and a self-updater. The UI is organized around a Qt Widgets page/dialog system with global and per-instance settings pages and a custom instance grid view. The architecture is a conventional monolithic desktop application but is modularized internally into subsystems: tasks, network jobs, settings, metadata, auth, mod platforms, and UI pages. Main entry point is launcher/main.cpp, which boots Application and communicates through a centralized singleton; the command line supports --launch, --import, --server, --world, --offline, and single-instance peer forwarding. External dependencies include Qt 5, CMake, an extensive set of vendored libraries (katabasis for OAuth, classparser for Java class files, xz-embedded, hoedown, tomlc99, systeminfo), and remote services such as Mojang, Microsoft/Xbox Live, Modrinth, ATLauncher, Technic, Imgur, and paste.ee. The codebase is not a data pipeline; however it contains meaningful offline parsers (JSON, TOML, NBT, Java class files, INI) and test fixtures that are relevant to anyone working with Minecraft mod formats.