From da5288bd5c80611acfeb1ebe33af1860f27f23fc Mon Sep 17 00:00:00 2001 From: Wyvest <45589059+Wyvest@users.noreply.github.com> Date: Sun, 12 Jun 2022 17:21:28 +0700 Subject: a little trolling --- .../oneconfig/internal/init/OneConfigInit.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/main/java/cc/polyfrost/oneconfig') diff --git a/src/main/java/cc/polyfrost/oneconfig/internal/init/OneConfigInit.java b/src/main/java/cc/polyfrost/oneconfig/internal/init/OneConfigInit.java index 3d924ac..4d80f4d 100644 --- a/src/main/java/cc/polyfrost/oneconfig/internal/init/OneConfigInit.java +++ b/src/main/java/cc/polyfrost/oneconfig/internal/init/OneConfigInit.java @@ -4,12 +4,32 @@ import net.minecraft.launchwrapper.Launch; import org.spongepowered.asm.launch.MixinBootstrap; import org.spongepowered.asm.mixin.Mixins; +import java.io.File; +import java.util.jar.JarFile; +import java.util.jar.Manifest; + @SuppressWarnings("unused") public class OneConfigInit { public static void initialize(String[] args) { Launch.blackboard.put("oneconfig.initialized", true); MixinBootstrap.init(); + if (Launch.blackboard.containsKey("oneconfig.wrapper.modFile")) { + try { + File modFile = (File) Launch.blackboard.get("oneconfig.wrapper.modFile"); + try (JarFile jarFile = new JarFile(modFile)) { + Manifest manifest = jarFile.getManifest(); + if (manifest != null) { + String mixinConfigs = manifest.getMainAttributes().getValue("MixinConfigs"); + if (mixinConfigs != null) { + Mixins.addConfiguration(mixinConfigs); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } Mixins.addConfiguration("mixins.oneconfig.json"); } } -- cgit