How sddlol/openpcl works
OpenPCL is a Windows Minecraft launcher restored from Plain Craft Launcher 2. Its main user journey is choosing or preparing an instance, obtaining Minecraft components and Java, authenticating, then launching and monitoring the game. The repository also documents resource browsing, instance/mod management, themes, multiplayer, and an embedded Vibe Coding workspace. The tree and README establish these capabilities; sampled source confirms Java discovery and parts of Terracotta’s networking, but not all launcher call wiring, so uncertain connections are omitted.
Main entry points: Pages Launcher pages · api.rs Multiplayer controller · room.rs Room coordination · FormMain.xaml.vb Main window
Components 22
Launcher UI
- Main window
Plain Craft Launcher 2/FormMain.xaml.vb - Launcher pages
Plain Craft Launcher 2/Pages - Settings
Plain Craft Launcher 2/Pages/PageSetup/Settings.vb
Minecraft Lifecycle
- Instance management
Plain Craft Launcher 2/Pages/PageInstance - Game downloads
Plain Craft Launcher 2/Modules/Minecraft/ModDownload.vb - Resource browsing
Plain Craft Launcher 2/Pages/PageDownload/Resource - Java discovery
PCLCS/Java.cs - Account login
Plain Craft Launcher 2/Pages/PageLaunch - Game launcher
Plain Craft Launcher 2/Modules/Minecraft/ModLaunch.vb - Process watcher
Plain Craft Launcher 2/Modules/Minecraft/ModWatcher.vb - Crash handling
Plain Craft Launcher 2/Modules/Minecraft/ModCrash.vb
Launcher Services
- Resource services
Plain Craft Launcher 2/Modules/Resource - Vibe Coding
Plain Craft Launcher 2/Modules/ModDevelop.vb - Codex server
Multiplayer
- Multiplayer controller
ThirdParty/Terracotta/src/controller/api.rs - LAN server scan
ThirdParty/Terracotta/src/mc/scanning.rs - Room coordination
ThirdParty/Terracotta/src/controller/rooms/scaffolding/room.rs - EasyTier networking
ThirdParty/Terracotta/src/easytier/linkage_impl.rs - Local web API
ThirdParty/Terracotta/src/server/mod.rs
Other components
- Launcher user
- Minecraft server
- Minecraft services
Connections 21
- Launcher user → Main window: uses
- Main window → Launcher pages: shows
- Launcher pages → Settings: configures
- Launcher pages → Instance management: manages
- Launcher pages → Game downloads: requests downloads
- Launcher pages → Resource browsing: browses
- Resource browsing → Resource services: queries
- Launcher pages → Account login: authenticates
- Account login → Minecraft services: validates token
- Instance management → Java discovery: checks Java
- Launcher pages → Game launcher: starts game
- Game launcher → Process watcher: monitors process
- Process watcher → Crash handling: reports failures
- Launcher user → Vibe Coding: opens workspace
- Vibe Coding → Codex server: dispatches sessions
- Launcher user → Multiplayer controller: starts multiplayer
- Multiplayer controller → LAN server scan: scans LAN
- Multiplayer controller → Room coordination: coordinates room
- Room coordination → EasyTier networking: starts network
- Room coordination → Minecraft server: forwards game traffic
- Local web API → Multiplayer controller: exposes state