#pragma once #include // Пути к данным лаунчера. Собственная папка galeonLauncher лежит рядом со // стандартной .minecraft, а не в системном каталоге приложения. namespace LauncherPaths { // Родительская папка, в которой лежит .minecraft (и наша galeonLauncher). QString containerDir(); // /galeonLauncher — корень данных лаунчера. QString rootDir(); // Стандартная папка игры. QString defaultMinecraftDir(); QString settingsFile(); QString profilesFile(); // /customBuilds.json — пользовательские сборки. QString customBuildsFile(); // /versions.json — как сборки назывались до переименования. Читается // один раз при миграции и больше ни для чего не нужен. QString legacyCustomBuildsFile(); // /builds — архивы содержимого .minecraft по одному на сборку. QString buildStorageDir(); // Сюда качается authlib-injector. QString runtimeDir(); // /cache — данные, которые можно удалить без потерь. QString cacheDir(); // Слепок манифеста версий Mojang с отметкой времени. QString versionManifestFile(); // Слепок списка версий одного модлоадера: loaderKey — forge|fabric|neoforge|quilt. QString loaderCacheFile(const QString &loaderKey); // Сюда качаются installer.jar модлоадеров. QString loaderDownloadDir(); // Создаёт папку лаунчера, если её нет. Вызывается при каждом запуске и перед // каждой записью. false и текст в error, если папки нет или в неё не пишется. bool ensureRootExists(QString *error = nullptr); } // namespace LauncherPaths