diff --git a/launcher/src/main/java/me/sashegdev/zernmc/launcher/minecraft/Instance.java b/launcher/src/main/java/me/sashegdev/zernmc/launcher/minecraft/Instance.java index eebe015..e5d8fa2 100644 --- a/launcher/src/main/java/me/sashegdev/zernmc/launcher/minecraft/Instance.java +++ b/launcher/src/main/java/me/sashegdev/zernmc/launcher/minecraft/Instance.java @@ -6,6 +6,9 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; + + +// ЭТОТ КЛАСС РАБОТАЕТ НЕ ТРОГАТЬ ТОТ КТО БУДЕТ ЧИТАТЬ public class Instance { private final String name; private final Path path; @@ -13,7 +16,7 @@ public class Instance { private String minecraftVersion; private String loaderType; // vanilla, fabric, forge private String loaderVersion; - private String assetIndex; // ← ЭТО САМОЕ ВАЖНОЕ + private String assetIndex; private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create(); diff --git a/launcher/src/main/java/me/sashegdev/zernmc/launcher/minecraft/MinecraftLib.java b/launcher/src/main/java/me/sashegdev/zernmc/launcher/minecraft/MinecraftLib.java index 1ee8ea1..0839625 100644 --- a/launcher/src/main/java/me/sashegdev/zernmc/launcher/minecraft/MinecraftLib.java +++ b/launcher/src/main/java/me/sashegdev/zernmc/launcher/minecraft/MinecraftLib.java @@ -21,15 +21,12 @@ public class MinecraftLib { this.instance = instance; } - //Очистка - - //Установка public boolean installMinecraft(String versionId) throws Exception { VersionInstaller installer = new VersionInstaller(instance.getPath()); - + String assetIndex = installer.install(versionId); // ← теперь возвращается String - + if (assetIndex != null && !assetIndex.isEmpty()) { instance.setMinecraftVersion(versionId); instance.setAssetIndex(assetIndex); // ← сохраняем правильный индекс! diff --git a/launcher/src/main/java/me/sashegdev/zernmc/launcher/minecraft/launch/LaunchCommandBuilder.java b/launcher/src/main/java/me/sashegdev/zernmc/launcher/minecraft/launch/LaunchCommandBuilder.java index b6e3d87..c7a5287 100644 --- a/launcher/src/main/java/me/sashegdev/zernmc/launcher/minecraft/launch/LaunchCommandBuilder.java +++ b/launcher/src/main/java/me/sashegdev/zernmc/launcher/minecraft/launch/LaunchCommandBuilder.java @@ -132,15 +132,15 @@ public class LaunchCommandBuilder { private String buildClasspath() throws Exception { List paths = new ArrayList<>(); - + String versionId = getVersionId(); // ← используем getVersionId() - + // Добавляем основной jar Path versionJar = instance.getPath() .resolve("versions") .resolve(versionId) .resolve(versionId + ".jar"); - + if (Files.exists(versionJar)) { paths.add(versionJar.toAbsolutePath().toString()); } else { @@ -154,7 +154,7 @@ public class LaunchCommandBuilder { paths.add(fallbackJar.toAbsolutePath().toString()); } } - + // Все библиотеки Path librariesDir = instance.getPath().resolve("libraries"); if (Files.exists(librariesDir)) { @@ -164,11 +164,13 @@ public class LaunchCommandBuilder { .forEach(paths::add); } } - + String separator = System.getProperty("os.name").toLowerCase().contains("win") ? ";" : ":"; return String.join(separator, paths); } + + // TODO: бля ктонить помогите с этим говном, я рот шатал, форджу не нравится то как я его запускаю private String buildForgeClasspath() throws Exception { List paths = new ArrayList<>(); @@ -300,6 +302,7 @@ public class LaunchCommandBuilder { return args; } + //TODO: сделать это говно удобнее private List getForgeArguments(LaunchOptions options) { List args = new ArrayList<>(); @@ -350,6 +353,7 @@ public class LaunchCommandBuilder { return args; } + //не трогать, оно работает private String getVersionId() { String loaderType = instance.getLoaderType().toLowerCase(); String mcVersion = instance.getMinecraftVersion();