#pragma once #include #include namespace JavaLocator { // Все java, которые удалось найти: рантайм самого Minecraft, JAVA_HOME, PATH, // стандартные каталоги установки JDK/JRE. Без дублей, в порядке приоритета. QStringList findAll(const QString &gameDir); // Мажорная версия (8, 17, 21...) или 0, если запустить не удалось. Результат кешируется. int majorVersion(const QString &javaPath); // java.exe -> javaw.exe, чтобы игра не открывала окно консоли. На Unix возвращает вход. QString windowlessVariant(const QString &javaPath); // Выбирает java не ниже requiredMajor. preferred, если задан, проверяется первым. // При неудаче возвращает пустую строку и заполняет error. QString select(const QString &gameDir, int requiredMajor, const QString &preferred, QString *error); } // namespace JavaLocator