Немного рефактора

This commit is contained in:
Sashegdev
2026-04-05 18:45:31 +00:00
parent e21fd922ab
commit 3d8313f7d2
3 changed files with 15 additions and 11 deletions
@@ -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();
@@ -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); // ← сохраняем правильный индекс!
@@ -132,15 +132,15 @@ public class LaunchCommandBuilder {
private String buildClasspath() throws Exception {
List<String> 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<String> paths = new ArrayList<>();
@@ -300,6 +302,7 @@ public class LaunchCommandBuilder {
return args;
}
//TODO: сделать это говно удобнее
private List<String> getForgeArguments(LaunchOptions options) {
List<String> args = new ArrayList<>();
@@ -350,6 +353,7 @@ public class LaunchCommandBuilder {
return args;
}
//не трогать, оно работает
private String getVersionId() {
String loaderType = instance.getLoaderType().toLowerCase();
String mcVersion = instance.getMinecraftVersion();