v1.0.3(add quick launch, redesign shop, add new directory game)

This commit is contained in:
aurinex
2025-12-29 16:49:27 +05:00
parent 287116103d
commit b1f378c5a8
9 changed files with 375 additions and 146 deletions

View File

@ -19,6 +19,8 @@ import { spawn } from 'child_process';
import { AuthService } from './auth-service';
import { API_BASE_URL } from '../renderer/api';
app.setName('.popa-popa');
// const CDN = 'https://cdn.minecraft.popa-popa.ru';
// const DOWNLOAD_OPTIONS = {
@ -413,8 +415,8 @@ export function initMinecraftHandlers() {
preserveFiles = [], // Новый параметр: список файлов/папок для сохранения
} = options || {};
const appPath = path.dirname(app.getPath('exe'));
const minecraftDir = path.join(appPath, '.minecraft');
const userDataPath = app.getPath('userData');
const minecraftDir = path.join(app.getPath('userData'), 'minecraft');
const versionsDir = path.join(minecraftDir, 'versions');
const versionFilePath = path.join(minecraftDir, versionFileName);
@ -437,7 +439,7 @@ export function initMinecraftHandlers() {
};
}
const tempDir = path.join(appPath, 'temp');
const tempDir = path.join(userDataPath, 'temp');
const packDir = path.join(versionsDir, packName); // Директория пакета
// Создаем/очищаем временную директорию
@ -552,14 +554,14 @@ export function initMinecraftHandlers() {
isVanillaVersion = false,
} = gameConfig || {};
const appPath = path.dirname(app.getPath('exe'));
const minecraftDir = path.join(appPath, '.minecraft');
const userDataPath = app.getPath('userData');
const minecraftDir = path.join(app.getPath('userData'), 'minecraft');
const versionsDir = path.join(minecraftDir, 'versions');
fs.mkdirSync(versionsDir, { recursive: true });
// gamePath:
// - ваниль → .minecraft
// - модпак → .minecraft/versions/Comfort (или другое packName)
// - ваниль → .popa-popa
// - модпак → .popa-popa/versions/Comfort (или другое packName)
const packDir = isVanillaVersion
? minecraftDir
: path.join(versionsDir, packName);
@ -802,7 +804,7 @@ export function initMinecraftHandlers() {
}
// --- authlib-injector ---
const authlibPath = await ensureAuthlibInjectorExists(appPath);
const authlibPath = await ensureAuthlibInjectorExists(userDataPath);
console.log('authlibPath:', authlibPath);
event.sender.send('installation-status', {
@ -930,8 +932,8 @@ export function initMinecraftHandlers() {
// Добавьте в функцию initMinecraftHandlers или создайте новую
ipcMain.handle('get-pack-files', async (event, packName) => {
try {
const appPath = path.dirname(app.getPath('exe'));
const minecraftDir = path.join(appPath, '.minecraft');
const userDataPath = app.getPath('userData');
const minecraftDir = path.join(app.getPath('userData'), 'minecraft');
const packDir = path.join(minecraftDir, 'versions', packName);
if (!fs.existsSync(packDir)) {
@ -974,8 +976,8 @@ export function initMinecraftHandlers() {
// Сначала создаем общую функцию для получения установленных версий
function getInstalledVersions() {
try {
const appPath = path.dirname(app.getPath('exe'));
const minecraftDir = path.join(appPath, '.minecraft');
const userDataPath = app.getPath('userData');
const minecraftDir = path.join(app.getPath('userData'), 'minecraft');
const versionsDir = path.join(minecraftDir, 'versions');
if (!fs.existsSync(versionsDir)) {
@ -1170,8 +1172,8 @@ export function initPackConfigHandlers() {
// Обработчик для сохранения настроек сборки
ipcMain.handle('save-pack-config', async (event, { packName, config }) => {
try {
const appPath = path.dirname(app.getPath('exe'));
const minecraftDir = path.join(appPath, '.minecraft');
const userDataPath = app.getPath('userData');
const minecraftDir = path.join(app.getPath('userData'), 'minecraft');
const packDir = path.join(minecraftDir, 'versions', packName);
// Создаем папку для сборки, если она не существует
@ -1201,8 +1203,8 @@ export function initPackConfigHandlers() {
// Обработчик для загрузки настроек сборки
ipcMain.handle('load-pack-config', async (event, { packName }) => {
try {
const appPath = path.dirname(app.getPath('exe'));
const minecraftDir = path.join(appPath, '.minecraft');
const userDataPath = app.getPath('userData');
const minecraftDir = path.join(app.getPath('userData'), 'minecraft');
const packDir = path.join(minecraftDir, 'versions', packName);
const configPath = path.join(packDir, CONFIG_FILENAME);
@ -1246,8 +1248,8 @@ export function initPackConfigHandlers() {
// Добавляем после обработчика get-available-versions
ipcMain.handle('get-version-config', async (event, { versionId }) => {
try {
const appPath = path.dirname(app.getPath('exe'));
const minecraftDir = path.join(appPath, '.minecraft');
const userDataPath = app.getPath('userData');
const minecraftDir = path.join(app.getPath('userData'), 'minecraft');
const versionsDir = path.join(minecraftDir, 'versions');
const versionPath = path.join(versionsDir, versionId);