From 1348b39a4c91cffb6dd0e43a2e75c360faa53858 Mon Sep 17 00:00:00 2001 From: DIKER0K Date: Thu, 1 Jan 2026 22:43:07 +0500 Subject: [PATCH] fix --- src/main/minecraft-launcher.ts | 26 ++++++++++++++++++++++---- src/renderer/pages/LaunchPage.tsx | 18 ++++++++++++++++-- 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/main/minecraft-launcher.ts b/src/main/minecraft-launcher.ts index 53b1d72..c66ee90 100644 --- a/src/main/minecraft-launcher.ts +++ b/src/main/minecraft-launcher.ts @@ -592,13 +592,25 @@ export function initMinecraftHandlers() { } else { // Определяем ID версии в зависимости от типа загрузчика if (loaderType === 'neoforge' && neoForgeVersion) { + // NeoForge создает версию с ID "neoforge-{version}" const neoForgeId = `neoforge-${neoForgeVersion}`; + + // Проверяем, существует ли такая версия if (versionsContents.includes(neoForgeId)) { versionToLaunch = neoForgeId; } else { - versionToLaunch = neoForgeId; + // Если не существует, пробуем комбинированный ID для совместимости + const combinedId = `${effectiveBaseVersion}-neoforge${neoForgeVersion}`; + versionToLaunch = combinedId; + + // Логируем для отладки + console.log( + 'NeoForge версия не найдена, используем комбинированный ID:', + combinedId, + ); } } else if (fabricVersion) { + // Fabric создает версию с ID "{minecraftVersion}-fabric{fabricVersion}" const fabricId = `${effectiveBaseVersion}-fabric${fabricVersion}`; if (versionsContents.includes(fabricId)) { versionToLaunch = fabricId; @@ -727,7 +739,7 @@ export function initMinecraftHandlers() { event.sender.send( 'overall-progress', - getGlobalProgress('fabric-install', 0), // Используем фазу fabric-install + getGlobalProgress('fabric-install', 0), ); console.log('installNeoForged:', { @@ -744,12 +756,18 @@ export function initMinecraftHandlers() { side: 'client', }); + console.log('NeoForge установлен успешно!'); + event.sender.send( 'overall-progress', getGlobalProgress('fabric-install', 1), ); } catch (error) { - console.log('Ошибка при установке NeoForge, продолжаем:', error); + console.error('Ошибка при установке NeoForge:', error); + event.sender.send('installation-status', { + step: 'neoforge-error', + message: `Ошибка установки NeoForge: ${error.message}`, + }); } } else if (fabricVersion) { // Существующий код для Fabric @@ -1040,7 +1058,7 @@ export function initMinecraftHandlers() { if (!fs.statSync(versionPath).isDirectory()) continue; // ❗ Прячем технические версии загрузчиков - if (item.includes('-fabric') || item.includes('-neoforge')) { + if (item.includes('-fabric') || item.includes('neoforge')) { continue; } diff --git a/src/renderer/pages/LaunchPage.tsx b/src/renderer/pages/LaunchPage.tsx index 593dd43..18e66e4 100644 --- a/src/renderer/pages/LaunchPage.tsx +++ b/src/renderer/pages/LaunchPage.tsx @@ -313,6 +313,9 @@ const LaunchPage = ({ } } + console.log('fullVersionConfig:', fullVersionConfig); + console.log('versionFromGist:', fullVersionConfig?.version); + // Используем настройки из Gist или дефолтные const currentConfig = fullVersionConfig?.config || versionConfig || { @@ -326,8 +329,19 @@ const LaunchPage = ({ preserveFiles: [], }; - // Получаем версию для запуска из Gist (например, "1.21.1-neoforge21.1.215") - const versionFromGist = fullVersionConfig?.version || null; + // Получаем версию для запуска из Gist + let versionFromGist = fullVersionConfig?.version || null; + console.log('versionFromGist before override:', versionFromGist); + + // Если версия из Gist пустая, используем логику по умолчанию + if ( + !versionFromGist && + currentConfig.loaderType === 'neoforge' && + currentConfig.neoForgeVersion + ) { + versionFromGist = `neoforge-${currentConfig.neoForgeVersion}`; + console.log('Overriding versionFromGist to:', versionFromGist); + } // Проверяем, является ли это ванильной версией const isVanillaVersion =