diff --git a/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java b/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java index 43baf26b..c6895807 100644 --- a/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java +++ b/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java @@ -20,6 +20,7 @@ public class ModernFixEarlyConfig { this.addMixinRule("feature.branding", true); this.addMixinRule("feature.measure_time", true); this.addMixinRule("feature.reduce_loading_screen_freezes", false); + this.addMixinRule("feature.direct_stack_trace", false); this.addMixinRule("perf.fast_registry_validation", true); this.addMixinRule("perf.use_integrated_resources", true); this.addMixinRule("perf.remove_biome_temperature_cache", true); diff --git a/src/main/java/org/embeddedt/modernfix/mixin/feature/direct_stack_trace/CrashReportMixin.java b/src/main/java/org/embeddedt/modernfix/mixin/feature/direct_stack_trace/CrashReportMixin.java new file mode 100644 index 00000000..2457a5b8 --- /dev/null +++ b/src/main/java/org/embeddedt/modernfix/mixin/feature/direct_stack_trace/CrashReportMixin.java @@ -0,0 +1,22 @@ +package org.embeddedt.modernfix.mixin.feature.direct_stack_trace; + +import net.minecraft.CrashReport; +import net.minecraft.CrashReportCategory; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(CrashReport.class) +public class CrashReportMixin { + @Shadow @Final private Throwable exception; + + @Inject(method = "addCategory(Ljava/lang/String;I)Lnet/minecraft/CrashReportCategory;", at = @At(value = "INVOKE", target = "Ljava/io/PrintStream;println(Ljava/lang/String;)V")) + private void dumpStacktrace(String s, int i, CallbackInfoReturnable cir) { + new Exception("ModernFix crash stacktrace").printStackTrace(); + if(this.exception != null) + this.exception.printStackTrace(); + } +} diff --git a/src/main/resources/modernfix.mixins.json b/src/main/resources/modernfix.mixins.json index d42fa2d3..63666d7b 100644 --- a/src/main/resources/modernfix.mixins.json +++ b/src/main/resources/modernfix.mixins.json @@ -44,6 +44,7 @@ "feature.measure_time.SimpleReloadableResourceManagerMixin", "feature.measure_time.ProfiledReloadInstanceMixin", "feature.branding.BrandingControlMixin", + "feature.direct_stack_trace.CrashReportMixin", "perf.kubejs.TagIngredientJSMixin", "perf.kubejs.TagWrapperMixin", "perf.kubejs.RecipeEventJSMixin",