From 3d8313f7d2c2a174590e7c21eeb9239a8725120a Mon Sep 17 00:00:00 2001 From: Sashegdev Date: Sun, 5 Apr 2026 18:45:31 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B5=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE=20?= =?UTF-8?q?=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zernmc/launcher/minecraft/Instance.java | 5 ++++- .../zernmc/launcher/minecraft/MinecraftLib.java | 7 ++----- .../minecraft/launch/LaunchCommandBuilder.java | 14 +++++++++----- 3 files changed, 15 insertions(+), 11 deletions(-) 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();