Lexplosion — это десктопный лаунчер для Minecraft, созданный с целью объединить наиболее эффективные возможности современных платформ и предложить уникальные встроенные сетевые функции и возможности кастомизации.
Цель проекта — предоставить единую, оптимизированную среду, в которой пользователи могут управлять несколькими игровыми профилями, легко искать и устанавливать модификации из популярных баз данных, а также играть в мультиплеерные сессии без сложной настройки.
Important
Весь код в этом репозитории предоставлен исключительно в ознакомительных целях или в качестве возможности предложения нам улучшений путем отправки Pull Request в этот репозиторий. Любые несанкционированные модификации и распространение исходного кода данного репозитория запрещены. Отправляя Pull Request, который впоследствии принимается и сливается в основную ветку, вы соглашаетесь на передачу всех проприетарных прав и прав интеллектуальной собственности на внесенные изменения авторам проекта.
Приложение спроектировано для обеспечения гибкой работы с модами, надежной загрузки ресурсов и упрощенной сетевой игры:
- 📦 Менеджер нескольких клиентов
- Полная поддержка всех ванильных версий игры, снапшотов и основных загрузчиков модов (Forge, NeoForge, Fabric, Quilt).
- Быстрое клонирование и дублирование сборок.
- Изолированные настройки конфигурации, директории и параметры Java для каждого профиля клиента.
- 🗂 Каталоги модов и модпаков: Встроенная интеграция с API CurseForge и Modrinth, позволяющая пользователям искать, скачивать и обновлять модпаки, отдельные моды, ресурспаки, шейдеры и карты прямо из интерфейса лаунчера.
- 🌐 Упрощенная сетевая игра: Встроенное одноранговое подключение (peer-to-peer) или поддержка сервера для упрощения сетевого соединения без необходимости использования выделенных хостингов или сторонних VPN-клиентов.
- 📤 Экспорт, импорт и совместное использование: Удобные инструменты для упаковки, экспорта и распространения пользовательских сборок среди других игроков.
- ☕ Автоматическое управление JRE: Автоматическое определение, загрузка и назначение корректной версии Java Runtime Environment (JRE), необходимой для выбранной сборки Minecraft.
- 🎨 Глубокая кастомизация: Широко настраиваемые темы интерфейса, управление учетными записями (с поддержкой различных типов профилей) и параметры для оптимизации игровой производительности.
Десктопное приложение построено на основе разделяемой архитектуры, отделяющей основную логику лаунчера от уровня представления пользовательского интерфейса.
Ядро приложения (Lexplosion.Core):
- C# / .NET Framework 4.7.2 — спроектировано как библиотека классов, отвечающая за парсинг манифестов, многопоточную загрузку ресурсов, запуск игрового процесса и управление конфигурациями.
- Библиотеки: использует
LumiSoft.Netдля сетевых задач,Tommyдля парсинга конфигураций TOML иNewtonsoft.Json. - Упаковка: включает в себя автоматический скрипт пост-сборки, который архивирует скомпилированную DLL ядра в
Lexplosion.Core.zipдля последующего использования в модуле интерфейса.
Графический интерфейс (Lexplosion.UI.WPF):
- WPF — десктопное приложение пользовательского интерфейса.
- Библиотеки:
Hardcodet.NotifyIcon.Wpfдля управления системным треем.DiscordRichPresenceдля интеграции статуса в Discord.MarkdownWPFдля отрисовки динамических текстовых документов.VirtualizingWrapPanelдля высокооптимизированного и плавного отображения элементов в каталогах и списках модов.
- Зависимость сборки: интегрирует шаг предварительной сборки (pre-build), который извлекает скомпилированную библиотеку
Lexplosion.Coreнепосредственно в рабочие директории приложения.
Вспомогательные утилиты:
- Lexplosion UpdateTool — независимая фоновая утилита, отвечающая за управление обновлениями лаунчера и проверку целостности сборки.