How tiouoo/portal works
Portal is a cross-platform Minecraft launcher and instance manager for Java and Bedrock. Its main workflow is to configure accounts and game folders, discover or install an instance, manage its resources and files, then launch it; Bedrock launch and installation use platform-specific support. The graph also preserves documented capabilities for modpacks, worlds, multiplayer, Litematica previews, and command-line/protocol invocation. Relationships are limited to README statements and source-index references; unsampled implementation details are not inferred.
Main entry points: App.axaml.cs Launcher UI · InstanceManager.cs Instance Discovery · PortalCommandService.cs CLI and Protocol · MinecraftInstallationTasks.cs Game Installation
Components 24
Application
- Desktop Application
src/Portal.Desktop/Program.cs - Launcher UI
src/Portal/App.axaml.cs - CLI and Protocol
src/Portal.Desktop/PortalCommandService.cs
Minecraft Management
- Instance Discovery
src/Portal.Core/Minecraft/Instance/InstanceManager.cs - Instance Model
src/Portal.Core/Minecraft/Classes/MinecraftInstance.cs - Java Runtime Management
src/Portal.Core/Minecraft/Instance/Java/JavaRuntimeManager.cs - Account Management
src/Portal.Core/Minecraft/Classes/MinecraftAccount.cs - Game Installation
src/Portal.Core/Minecraft/MinecraftInstallationTasks.cs - Launch Service
src/Portal.Core/Minecraft/MinecraftLaunchService.cs - Resource Management
src/Portal.Core/Minecraft/Services/ResourceUpdateService.cs - Game File Management
src/Portal.Core/Minecraft/Services/WorldSaveService.cs
Bedrock Platform
- Bedrock Data Paths
src/Portal.Core/Minecraft/Instance/Bedrock/BedrockDataPathResolver.cs - Bedrock Game Services
src/Portal.Core/Minecraft/Services/BedrockPackageImportService.cs - Bedrock Authentication
src/Portal.Bedrock.Xbox/XboxAuthClient.cs - Platform Install and Launch
src/Portal.Bedrock.Windows/BedrockInstaller.cs
Game Extensions
- Modpack Services
src/Portal.Core/Minecraft/Modpack/ModpackExportService.cs - Multiplayer Services
src/Portal.Core/Module/Multiplayer/HongshiMultiplayerService.cs - Litematica Analysis
src/Portal.LitematicaViewer/Services/AnalysisService.cs
Shared Services
- Settings
src/Portal.Core/Module/Initialize/Config.cs - Settings Persistence
src/Portal.Core/Module/Initialize/ConfigSaver.cs - Application Events
src/Portal.Core/App/Events/Events.cs - Localization
src/Portal.Localization/LocalizationService.cs
Other components
- Player
- Game and Content Providers
Connections 28
- Player → Desktop Application: starts
README.md - Desktop Application → Launcher UI: opens
src/Portal.Desktop/Program.cs - Player → CLI and Protocol: invokes
README.md - CLI and Protocol → Launch Service: requests launch
- CLI and Protocol → Game Installation: requests install
- Launcher UI → Settings: configures
- Settings → Settings Persistence: saves through
src/Portal.Core/Classes/Config/ConfigEntry.cs - Settings Persistence → Application Events: raises save
src/Portal.Core/Module/Initialize/ConfigSaver.cs - Launcher UI → Instance Discovery: manages
- Instance Discovery → Instance Model: creates
src/Portal.Core/Minecraft/Instance/InstanceManager.cs - Instance Discovery → Java Runtime Management: scans runtimes
src/Portal.Core/Minecraft/Instance/InstanceManager.cs - Launcher UI → Account Management: manages
- Launcher UI → Game Installation: installs
- Game Installation → Game and Content Providers: gets game data
README.md - Launcher UI → Launch Service: launches
src/Portal/App.axaml.cs - Launch Service → Game and Content Providers: starts game
README.md - Launcher UI → Resource Management: manages resources
- Resource Management → Game and Content Providers: browses providers
README.md - Launcher UI → Game File Management: organizes files
- Instance Discovery → Bedrock Data Paths: uses data paths
src/Portal.Core/Minecraft/Instance/InstanceManager.cs - Launcher UI → Bedrock Game Services: imports packages
- Bedrock Game Services → Bedrock Data Paths: uses data paths
- Bedrock Authentication → Game and Content Providers: authenticates with
src/Portal.Bedrock.Xbox/XboxAuthClient.cs - Platform Install and Launch → Game and Content Providers: installs and launches
README.md - Launcher UI → Modpack Services: manages modpacks
- Launcher UI → Multiplayer Services: supports multiplayer
- Launcher UI → Litematica Analysis: previews structures
- Launcher UI → Localization: presents localized text