How pcl-community/pcl-ce works
PCL Community Edition is a Minecraft launcher; the repository contains its launcher modules and a broad shared core. Its user-facing workflow is to configure and manage a Minecraft environment—discover Java, manage profiles and authentication, access game resources, and work with saves—with networking and background tasks supporting those operations. The tree also shows multiplayer, updates, caching, and UI services as distinct capabilities. The README excerpt identifies the product but does not document feature flows; links are limited to relationships supported by sampled source or clear module responsibility.
Main entry points: LobbyController.cs Lobby controller · JavaManager.cs Java discovery · ETController.cs Virtual networking · UpdateManager.cs Update manager
Components 20
Minecraft management
- Java discovery
PCL.Core/Minecraft/Java/JavaManager.cs - Profiles and auth
PCL.Core/Minecraft/Profile/ProfileManagement.cs - Mod resources
PCL.Core/Minecraft/ResourceProject/ModDependencyResolver.cs - World saves
PCL.Core/Minecraft/Saves/SaveManager.cs
Core services
- Configuration
PCL.Core/App/Configuration/ConfigService.cs - Task center
PCL.Core/App/Tasks/TaskCenter.cs - Localization
PCL.Core/App/Localization/LocalizationService.cs - Cache service
PCL.Core/IO/Storage/Cache/CacheService.cs - Cache database
PCL.Core/IO/Storage/Cache/SqliteCacheStorage.cs - Content-addressed files
PCL.Core/IO/Storage/HashStorage.cs
Networking and play
- Download coordination
Plain Craft Launcher 2/Modules/Network/Downloader/DownloadResourceManager.cs - HTTP networking
PCL.Core/IO/Net/Http/HttpRequest.cs - Lobby controller
PCL.Core/Link/Lobby/LobbyController.cs - Lobby protocol
PCL.Core/Link/Scaffolding/ScaffoldingFactory.cs - Virtual networking
PCL.Core/Link/EasyTier/ETController.cs
Launcher capabilities
- Update manager
Plain Craft Launcher 2/Modules/Updates/UpdateManager.cs - WPF UI services
PCL.Core/UI/Theme/ThemeService.cs
Other components
- Launcher user
- EasyTier process
- Minecraft server
Connections 13
- Launcher user → Java discovery: manage runtime
- Java discovery → Profiles and auth: select runtime
- Launcher user → Profiles and auth: manage profiles
- Launcher user → Mod resources: manage mods
- Launcher user → World saves: manage worlds
- Lobby controller → Lobby protocol: creates client
- Lobby controller → Lobby protocol: creates server
- Lobby controller → Virtual networking: starts networking
- Virtual networking → EasyTier process: launches process
- Lobby controller → Minecraft server: pings host
- Launcher user → Update manager: request update
- Update manager → Download coordination: coordinates downloads
- Cache service → Cache database: persists cache