30 lines
		
	
	
	
		
			901 B
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			901 B
		
	
	
	
		
			Java
		
	
	
	
	
	
| package com.mojang.blaze3d.platform;
 | |
| 
 | |
| import java.io.File;
 | |
| import java.time.Duration;
 | |
| import net.fabricmc.api.EnvType;
 | |
| import net.fabricmc.api.Environment;
 | |
| import net.minecraft.CrashReport;
 | |
| import net.minecraft.client.Minecraft;
 | |
| import net.minecraft.server.dedicated.ServerWatchdog;
 | |
| 
 | |
| @Environment(EnvType.CLIENT)
 | |
| public class ClientShutdownWatchdog {
 | |
| 	private static final Duration CRASH_REPORT_PRELOAD_LOAD = Duration.ofSeconds(15L);
 | |
| 
 | |
| 	public static void startShutdownWatchdog(File file, long threadId) {
 | |
| 		Thread thread = new Thread(() -> {
 | |
| 			try {
 | |
| 				Thread.sleep(CRASH_REPORT_PRELOAD_LOAD);
 | |
| 			} catch (InterruptedException var4) {
 | |
| 				return;
 | |
| 			}
 | |
| 
 | |
| 			CrashReport crashReport = ServerWatchdog.createWatchdogCrashReport("Client shutdown", threadId);
 | |
| 			Minecraft.saveReport(file, crashReport);
 | |
| 		});
 | |
| 		thread.setDaemon(true);
 | |
| 		thread.setName("Client shutdown watchdog");
 | |
| 		thread.start();
 | |
| 	}
 | |
| }
 |