diff --git a/launcher/launcher/src/main/java/sashegdev/zernmc/launcher/minecraft/launch/LaunchCommandBuilder.java b/launcher/launcher/src/main/java/sashegdev/zernmc/launcher/minecraft/launch/LaunchCommandBuilder.java index 69974de..5e2bb1d 100644 --- a/launcher/launcher/src/main/java/sashegdev/zernmc/launcher/minecraft/launch/LaunchCommandBuilder.java +++ b/launcher/launcher/src/main/java/sashegdev/zernmc/launcher/minecraft/launch/LaunchCommandBuilder.java @@ -544,25 +544,19 @@ public class LaunchCommandBuilder { } System.out.println(ZAnsi.cyan(" buildClasspathFromManifest: " + paths.size() + " libraries in classpath")); + if (isForgeLike) { + System.out.println(ZAnsi.cyan(" Version ID: " + getVersionId() + " (MC: " + instance.getMinecraftVersion() + ")")); + System.out.println(ZAnsi.cyan(" Paths dir: " + instance.getPath().resolve("versions"))); + } Path versionJar = findVersionJar(); if (versionJar != null) { - // For Forge/NeoForge: do NOT add version jar to classpath. - // Forge loads Minecraft classes through its own module system - // (securejarhandler + BootstrapLauncher module layer). Having the - // version jar on the classpath creates an automatic module (e.g. - // _1._20._1) that conflicts with Forge's "minecraft" module, - // causing ResolutionException split-package errors. - if (isForgeLike) { - System.out.println(ZAnsi.cyan(" Skipping version jar for Forge/NeoForge (loaded via module system): " + versionJar.getFileName())); + if (isValidJar(versionJar)) { + paths.add(0, versionJar.toAbsolutePath().toString()); + System.out.println(ZAnsi.green(" Added version jar: " + versionJar.getFileName())); } else { - if (isValidJar(versionJar)) { - paths.add(0, versionJar.toAbsolutePath().toString()); - System.out.println(ZAnsi.green(" Added version jar: " + versionJar.getFileName())); - } else { - System.out.println(ZAnsi.yellow(" Corrupt version jar, deleting: " + versionJar.getFileName())); - Files.delete(versionJar); - } + System.out.println(ZAnsi.yellow(" Corrupt version jar, deleting: " + versionJar.getFileName())); + Files.delete(versionJar); } }