From dfd5a821120cb802eaa4141faba002fb694a10ff Mon Sep 17 00:00:00 2001 From: huangyuhui Date: Wed, 11 Jul 2018 20:11:09 +0800 Subject: [PATCH] Fix #365 by blocking all hacked Minecraft logs text as XML --- .../main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java | 3 ++- .../src/main/java/org/jackhuang/hmcl/launch/Log4jHandler.java | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java index ab30c00ef..2b241ba79 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java @@ -323,7 +323,8 @@ public class DefaultLauncher extends Launcher { } private void startMonitors(ManagedProcess managedProcess, ProcessListener processListener, boolean isDaemon) { - boolean enablesLoggingInfo = version.getLogging() != null && version.getLogging().containsKey(DownloadType.CLIENT); + boolean enablesLoggingInfo = version.getLogging() != null && version.getLogging().containsKey(DownloadType.CLIENT) + && !"net.minecraft.launchwrapper.Launch".equals(version.getMainClass()); if (enablesLoggingInfo) startMonitorsWithLoggingInfo(managedProcess, processListener, isDaemon); else diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/Log4jHandler.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/Log4jHandler.java index e4df98328..f438b09a2 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/Log4jHandler.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/Log4jHandler.java @@ -118,6 +118,9 @@ final class Log4jHandler extends Thread { Logging.LOG.log(Level.WARNING, "An error occurred when writing console lines", e); logs.forEach(System.out::println); broken = true; + } else { + // Output plain XML to user + callback.accept(log, Log4jLevel.INFO); } } });