feat: add Fabric version update and improve launch params handling
This commit is contained in:
@ -414,10 +414,6 @@ export function initMinecraftHandlers() {
|
||||
// Удаляем временную директорию
|
||||
fs.rmSync(tempDir, { recursive: true });
|
||||
|
||||
// После распаковки архива и перед запуском
|
||||
const versionsContents = fs.readdirSync(versionsDir);
|
||||
console.log('Доступные версии:', versionsContents);
|
||||
|
||||
return { success: true, updated: true, version: latestVersion, packName };
|
||||
} catch (error) {
|
||||
console.error('Error in download-and-extract:', error);
|
||||
@ -434,6 +430,7 @@ export function initMinecraftHandlers() {
|
||||
username,
|
||||
memory = 2048,
|
||||
baseVersion = '1.21.4',
|
||||
fabricVersion = 'fabric0.16.14',
|
||||
packName = 'Comfort', // Название основной сборки
|
||||
versionToLaunchOverride = '', // Возможность переопределить версию для запуска
|
||||
serverIp = 'popa-popa.ru',
|
||||
@ -454,8 +451,8 @@ export function initMinecraftHandlers() {
|
||||
let versionToLaunch = versionToLaunchOverride;
|
||||
|
||||
if (!versionToLaunch) {
|
||||
if (versionsContents.includes(`${baseVersion}-fabric0.16.14`)) {
|
||||
versionToLaunch = `${baseVersion}-fabric0.16.14`;
|
||||
if (versionsContents.includes(`${baseVersion}-${fabricVersion}`)) {
|
||||
versionToLaunch = `${baseVersion}-${fabricVersion}`;
|
||||
} else if (versionsContents.includes(packName)) {
|
||||
versionToLaunch = packName;
|
||||
} else {
|
||||
@ -556,9 +553,6 @@ export function initMinecraftHandlers() {
|
||||
message: 'Получение списка версий Fabric...',
|
||||
});
|
||||
|
||||
const fabricVersions = await getFabricLoaders();
|
||||
const fabricVersion = fabricVersions[0]; // Последняя версия
|
||||
|
||||
if (fabricVersion) {
|
||||
event.sender.send('installation-status', {
|
||||
step: 'fabric-install',
|
||||
@ -578,7 +572,7 @@ export function initMinecraftHandlers() {
|
||||
// 3. Подготовка версии и установка зависимостей
|
||||
try {
|
||||
// Используем идентификатор Fabric-версии
|
||||
const fabricVersionId = `${baseVersion}-fabric0.16.14`;
|
||||
const fabricVersionId = `${baseVersion}-${fabricVersion}`;
|
||||
|
||||
event.sender.send('installation-status', {
|
||||
step: 'version-parse',
|
||||
|
@ -21,7 +21,19 @@ declare global {
|
||||
}
|
||||
}
|
||||
|
||||
const LaunchPage = () => {
|
||||
const launchOptions = {
|
||||
downloadUrl:
|
||||
'https://github.com/DIKER0K/Comfort/releases/latest/download/Comfort.zip',
|
||||
apiReleaseUrl: 'https://api.github.com/repos/DIKER0K/Comfort/releases/latest',
|
||||
versionFileName: 'comfort_version.txt',
|
||||
packName: 'Comfort',
|
||||
memory: 4096,
|
||||
baseVersion: '1.21.4',
|
||||
serverIp: 'popa-popa.ru',
|
||||
fabricVersion: 'fabric0.16.14',
|
||||
};
|
||||
|
||||
const LaunchPage = (launchOptions: any) => {
|
||||
const navigate = useNavigate();
|
||||
const [isDownloading, setIsDownloading] = useState(false);
|
||||
const [downloadProgress, setDownloadProgress] = useState(0);
|
||||
@ -90,15 +102,12 @@ const LaunchPage = () => {
|
||||
localStorage.getItem('launcher_config') || '{}',
|
||||
);
|
||||
|
||||
// Опции для скачивания и запуска сборки
|
||||
// Опции для скачивания сборки
|
||||
const packOptions = {
|
||||
downloadUrl:
|
||||
'https://github.com/DIKER0K/Comfort/releases/latest/download/Comfort.zip',
|
||||
apiReleaseUrl:
|
||||
'https://api.github.com/repos/DIKER0K/Comfort/releases/latest',
|
||||
versionFileName: 'comfort_version.txt',
|
||||
packName: 'Comfort',
|
||||
serverIp: 'popa-popa.ru',
|
||||
downloadUrl: launchOptions.downloadUrl,
|
||||
apiReleaseUrl: launchOptions.apiReleaseUrl,
|
||||
versionFileName: launchOptions.versionFileName,
|
||||
packName: launchOptions.packName,
|
||||
};
|
||||
|
||||
// Передаем опции для скачивания
|
||||
@ -124,19 +133,20 @@ const LaunchPage = () => {
|
||||
}
|
||||
|
||||
// Опции для запуска
|
||||
const launchOptions = {
|
||||
const options = {
|
||||
accessToken: savedConfig.accessToken,
|
||||
uuid: savedConfig.uuid,
|
||||
username: savedConfig.username,
|
||||
memory: savedConfig.memory || 4096,
|
||||
baseVersion: '1.21.4',
|
||||
packName: packOptions.packName,
|
||||
serverIp: packOptions.serverIp,
|
||||
memory: launchOptions.memory,
|
||||
baseVersion: launchOptions.baseVersion,
|
||||
packName: launchOptions.packName,
|
||||
serverIp: launchOptions.serverIp,
|
||||
fabricVersion: launchOptions.fabricVersion,
|
||||
};
|
||||
|
||||
const launchResult = await window.electron.ipcRenderer.invoke(
|
||||
'launch-minecraft',
|
||||
launchOptions,
|
||||
options,
|
||||
);
|
||||
|
||||
if (needsSecondAttempt) {
|
||||
@ -149,14 +159,7 @@ const LaunchPage = () => {
|
||||
|
||||
const secondAttempt = await window.electron.ipcRenderer.invoke(
|
||||
'launch-minecraft',
|
||||
{
|
||||
accessToken: savedConfig.accessToken,
|
||||
uuid: savedConfig.uuid,
|
||||
username: savedConfig.username,
|
||||
memory: savedConfig.memory || 4096,
|
||||
serverIp: packOptions.serverIp,
|
||||
packName: packOptions.packName,
|
||||
},
|
||||
options,
|
||||
);
|
||||
|
||||
showNotification('Minecraft успешно запущен!', 'success');
|
||||
|
Reference in New Issue
Block a user