src/main/java/wtf/sten/vault/mixin/CrashReportMixin.java
package wtf.sten.vault.mixin;
import net.minecraft.CrashReport;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import wtf.sten.vault.StenNet;
@Mixin(CrashReport.class)
public class CrashReportMixin {
@Inject(method = "<init>", at = @At("RETURN"), require = 0)
private void sten$onCrash(String message, Throwable cause, CallbackInfo ci) {
if ("Don't panic!".equals(message)) return;
if (cause != null) {
for (StackTraceElement frame : cause.getStackTrace()) {
if (frame != null && "preload".equals(frame.getMethodName()) && String.valueOf(frame.getClassName()).endsWith("CrashReport")) {
return;
}
}
}
StenNet.reportCrash(message, cause);
}
}