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 fac401d..15dfd48 100644
--- a/launcher/src/main/java/com/skcraft/launcher/update/BaseUpdater.java
+++ b/launcher/src/main/java/com/skcraft/launcher/update/BaseUpdater.java
@@ -34,8 +34,11 @@ import lombok.extern.java.Log;
import javax.swing.*;
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.*;
import java.util.logging.Level;
@@ -274,18 +277,28 @@ public abstract class BaseUpdater {
}
}
- // Fetch logging config
+ // Use our custom logging config depending on what the manifest specifies
if (versionManifest.getLogging() != null) {
VersionManifest.LoggingConfig config = versionManifest.getLogging().getClient();
VersionManifest.Artifact file = config.getFile();
File targetFile = new File(librariesDir, file.getId());
+ InputStream embeddedConfig = Launcher.class.getResourceAsStream("logging/" + file.getId());
- if (!targetFile.exists() || !Objects.equals(config.getFile().getHash(), FileUtils.getShaHash(targetFile))) {
+ if (embeddedConfig == null) {
+ // No embedded config, just use whatever the server gives us
File tempFile = installer.getDownloader().download(url(file.getUrl()), file.getHash(), file.getSize(), file.getId());
log.info("Downloading logging config " + file.getId() + " from " + file.getUrl());
installer.queue(new FileMover(tempFile, targetFile));
+ } else if (!targetFile.exists() || FileUtils.getShaHash(targetFile).equals(file.getHash())) {
+ // Use our embedded replacement
+
+ Path tempFile = installer.getTempDir().toPath().resolve(file.getId());
+ Files.copy(embeddedConfig, tempFile);
+
+ log.info("Substituting embedded logging config " + file.getId());
+ installer.queue(new FileMover(tempFile.toFile(), targetFile));
}
}
}
diff --git a/launcher/src/main/resources/com/skcraft/launcher/logging/client-1.12.xml b/launcher/src/main/resources/com/skcraft/launcher/logging/client-1.12.xml
new file mode 100644
index 0000000..2e9ac98
--- /dev/null
+++ b/launcher/src/main/resources/com/skcraft/launcher/logging/client-1.12.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/launcher/src/main/resources/com/skcraft/launcher/logging/client-1.7.xml b/launcher/src/main/resources/com/skcraft/launcher/logging/client-1.7.xml
new file mode 100644
index 0000000..87f3dea
--- /dev/null
+++ b/launcher/src/main/resources/com/skcraft/launcher/logging/client-1.7.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+