diff --git a/src/main/java/org/dimdev/vanillafix/VanillaFix.java b/src/main/java/org/dimdev/vanillafix/VanillaFix.java index 028f2c8..755e6c1 100644 --- a/src/main/java/org/dimdev/vanillafix/VanillaFix.java +++ b/src/main/java/org/dimdev/vanillafix/VanillaFix.java @@ -6,9 +6,11 @@ import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import org.apache.logging.log4j.Logger; -import org.dimdev.vanillafix.crashes.StacktraceDeobfuscator; -import java.io.*; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; import java.util.Scanner; @Mod(modid = "vanillafix", @@ -18,7 +20,6 @@ updateJSON = "https://gist.githubusercontent.com/Runemoro/28e8cf4c24a5f17f508a5d34f66d229f/raw/vanillafix_update.json") public class VanillaFix { private static final int CONFIG_VERSION = 1; - String MCP_VERSION = "20180519-1.12"; public File modDir; @Mod.EventHandler @@ -27,22 +28,6 @@ public void onPreInit(FMLPreInitializationEvent event) { modDir = new File(event.getModConfigurationDirectory(), "vanillafix"); modDir.mkdirs(); - // Initialize StacktraceDeobfuscator - // TODO: Use version for current Minecraft version! - log.info("Initializing StacktraceDeobfuscator"); - try { - File mappings = new File(modDir, "methods-" + MCP_VERSION + ".csv"); - if (mappings.exists()) { - log.info("Found MCP method mappings: " + mappings.getName()); - } else { - log.info("Downloading MCP method mappings to: " + mappings.getName()); - } - StacktraceDeobfuscator.init(mappings, MCP_VERSION); - } catch (Exception e) { - log.error("Failed to get MCP data!", e); - } - log.info("Done initializing StacktraceDeobfuscator"); - // Check if config is outdated and needs to be deleted boolean configOutdated; File configVersionFile = new File(modDir, "config_version"); diff --git a/src/main/java/org/dimdev/vanillafix/VanillaFixLoadingPlugin.java b/src/main/java/org/dimdev/vanillafix/VanillaFixLoadingPlugin.java index dd93a46..0dd6ca0 100644 --- a/src/main/java/org/dimdev/vanillafix/VanillaFixLoadingPlugin.java +++ b/src/main/java/org/dimdev/vanillafix/VanillaFixLoadingPlugin.java @@ -1,13 +1,20 @@ package org.dimdev.vanillafix; +import net.minecraft.launchwrapper.Launch; +import net.minecraft.launchwrapper.LogWrapper; import net.minecraftforge.common.ForgeVersion; +import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dimdev.utils.SSLUtils; import org.dimdev.vanillafix.crashes.DeobfuscatingRewritePolicy; +import org.dimdev.vanillafix.crashes.StacktraceDeobfuscator; import org.spongepowered.asm.launch.MixinBootstrap; import org.spongepowered.asm.mixin.Mixins; import javax.annotation.Nullable; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.security.KeyStore; @@ -20,6 +27,8 @@ @IFMLLoadingPlugin.SortingIndex(-5000) @IFMLLoadingPlugin.TransformerExclusions("org.dimdev.vanillafix.") public class VanillaFixLoadingPlugin implements IFMLLoadingPlugin { + private static final Logger log = LogManager.getLogger(); + private static final String MCP_VERSION = "20180519-1.12"; // TODO: Use version for current Minecraft version! public VanillaFixLoadingPlugin() { // Trust the "IdenTrust DST Root CA X3" certificate (used by Let's Encrypt, which is used by paste.dimdev.org) @@ -32,6 +41,25 @@ public VanillaFixLoadingPlugin() { throw new RuntimeException(); } + // Initialize StacktraceDeobfuscator + File modDir = new File(Launch.minecraftHome, "config/vanillafix"); + modDir.mkdirs(); + + // Initialize StacktraceDeobfuscator + log.info("Initializing StacktraceDeobfuscator"); + try { + File mappings = new File(modDir, "methods-" + MCP_VERSION + ".csv"); + if (mappings.exists()) { + log.info("Found MCP method mappings: " + mappings.getName()); + } else { + log.info("Downloading MCP method mappings to: " + mappings.getName()); + } + StacktraceDeobfuscator.init(mappings, MCP_VERSION); + } catch (Exception e) { + log.error("Failed to get MCP data!", e); + } + log.info("Done initializing StacktraceDeobfuscator"); + // Install the log exception deobfuscation rewrite policy DeobfuscatingRewritePolicy.install();