diff --git a/src/main/java/org/embeddedt/modernfix/ModernFix.java b/src/main/java/org/embeddedt/modernfix/ModernFix.java index 17e27d64..da1d2bee 100644 --- a/src/main/java/org/embeddedt/modernfix/ModernFix.java +++ b/src/main/java/org/embeddedt/modernfix/ModernFix.java @@ -12,6 +12,7 @@ import org.embeddedt.modernfix.core.ModernFixMixinPlugin; import org.embeddedt.modernfix.platform.ModernFixPlatformHooks; import org.embeddedt.modernfix.resources.ReloadExecutor; import org.embeddedt.modernfix.util.ClassInfoManager; +import org.spongepowered.asm.mixin.MixinEnvironment; import java.lang.management.ManagementFactory; import java.util.concurrent.ExecutorService; @@ -45,6 +46,15 @@ public class ModernFix { return resourceReloadService; } + public static void runAuditIfRequested() { + boolean auditAndExit = Boolean.getBoolean("modernfix.auditAndExit"); + if (auditAndExit || Boolean.getBoolean("modernfix.auditMixinsAtStart")) { + MixinEnvironment.getCurrentEnvironment().audit(); + if (auditAndExit) { + System.exit(0); + } + } + } public ModernFix() { INSTANCE = this; diff --git a/src/main/java/org/embeddedt/modernfix/common/mixin/core/BootstrapMixin.java b/src/main/java/org/embeddedt/modernfix/common/mixin/core/BootstrapMixin.java index 5009f274..1a108612 100644 --- a/src/main/java/org/embeddedt/modernfix/common/mixin/core/BootstrapMixin.java +++ b/src/main/java/org/embeddedt/modernfix/common/mixin/core/BootstrapMixin.java @@ -8,7 +8,6 @@ import org.embeddedt.modernfix.forge.load.ModWorkManagerQueue; import org.embeddedt.modernfix.util.TimeFormatter; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.MixinEnvironment; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -28,13 +27,6 @@ public class BootstrapMixin { LOGGER.info("ModernFix reached bootstrap stage ({} after launch)", TimeFormatter.formatNanos(ManagementFactory.getRuntimeMXBean().getUptime() * 1000L * 1000L)); ModWorkManagerQueue.replace(); ManifestCompactor.compactManifests(); - boolean auditAndExit = Boolean.getBoolean("modernfix.auditAndExit"); - if (auditAndExit || Boolean.getBoolean("modernfix.auditMixinsAtStart")) { - MixinEnvironment.getCurrentEnvironment().audit(); - if (auditAndExit) { - System.exit(0); - } - } } } diff --git a/src/main/java/org/embeddedt/modernfix/forge/init/ModernFixForge.java b/src/main/java/org/embeddedt/modernfix/forge/init/ModernFixForge.java index 4030eca6..2ac9a768 100644 --- a/src/main/java/org/embeddedt/modernfix/forge/init/ModernFixForge.java +++ b/src/main/java/org/embeddedt/modernfix/forge/init/ModernFixForge.java @@ -129,6 +129,7 @@ public class ModernFixForge { } ObjectHolderClearer.clearThrowables(); event.enqueueWork(ObjectHolderClearer::removeRedundantHolders); + event.enqueueWork(ModernFix::runAuditIfRequested); } @SubscribeEvent(priority = EventPriority.LOWEST) public void onServerDead(ServerStoppedEvent event) {