diff --git a/launcher-builder/src/main/java/com/skcraft/launcher/builder/loaders/ModernForgeLoaderProcessor.java b/launcher-builder/src/main/java/com/skcraft/launcher/builder/loaders/ModernForgeLoaderProcessor.java index fd599bf..17c8c36 100644 --- a/launcher-builder/src/main/java/com/skcraft/launcher/builder/loaders/ModernForgeLoaderProcessor.java +++ b/launcher-builder/src/main/java/com/skcraft/launcher/builder/loaders/ModernForgeLoaderProcessor.java @@ -73,6 +73,12 @@ } } + // Copy logging config + SidedData loggingConfig = info.getLogging(); + if (loggingConfig != null) { + version.setLogging(loggingConfig); + } + // Copy main class String mainClass = info.getMainClass(); if (mainClass != null) { diff --git a/launcher/src/main/java/com/skcraft/launcher/launch/Runner.java b/launcher/src/main/java/com/skcraft/launcher/launch/Runner.java index abbee20..0278a5f 100644 --- a/launcher/src/main/java/com/skcraft/launcher/launch/Runner.java +++ b/launcher/src/main/java/com/skcraft/launcher/launch/Runner.java @@ -140,7 +140,6 @@ } progress = new DefaultProgress(0.9, SharedLocale.tr("runner.collectingArgs")); - builder.classPath(getJarPath()); builder.setMainClass(versionManifest.getMainClass()); addWindowArgs(); @@ -232,6 +231,9 @@ tr("runner.missingLibrary", instance.getTitle(), library.getName())); } } + + // The official launcher puts the vanilla jar at the end of the classpath, we'll do the same + builder.classPath(getJarPath()); } /** @@ -307,7 +309,7 @@ } } - if (versionManifest.getLogging() != null) { + if (versionManifest.getLogging() != null && versionManifest.getLogging().getClient() != null) { log.info("Logging config present, log4j2 bug likely mitigated"); VersionManifest.LoggingConfig config = versionManifest.getLogging().getClient(); diff --git a/launcher/src/main/java/com/skcraft/launcher/model/loader/VersionInfo.java b/launcher/src/main/java/com/skcraft/launcher/model/loader/VersionInfo.java index 6b52672..ecc1ba8 100644 --- a/launcher/src/main/java/com/skcraft/launcher/model/loader/VersionInfo.java +++ b/launcher/src/main/java/com/skcraft/launcher/model/loader/VersionInfo.java @@ -12,6 +12,7 @@ import com.skcraft.launcher.model.minecraft.GameArgument; import com.skcraft.launcher.model.minecraft.Library; import com.skcraft.launcher.model.minecraft.MinecraftArguments; +import com.skcraft.launcher.model.minecraft.VersionManifest; import lombok.Data; import java.util.List; @@ -23,6 +24,7 @@ private MinecraftArguments arguments; private String mainClass; private List libraries; + private SidedData logging; @JsonIgnore private transient boolean overridingArguments; diff --git a/launcher/src/main/java/com/skcraft/launcher/update/BaseUpdater.java b/launcher/src/main/java/com/skcraft/launcher/update/BaseUpdater.java index ea6dff0..15d1f87 100644 --- a/launcher/src/main/java/com/skcraft/launcher/update/BaseUpdater.java +++ b/launcher/src/main/java/com/skcraft/launcher/update/BaseUpdater.java @@ -284,7 +284,7 @@ } // Use our custom logging config depending on what the manifest specifies - if (versionManifest.getLogging() != null) { + if (versionManifest.getLogging() != null && versionManifest.getLogging().getClient() != null) { VersionManifest.LoggingConfig config = versionManifest.getLogging().getClient(); VersionManifest.Artifact file = config.getFile();