diff --git a/earlydisplay/src/main/java/net/neoforged/fml/earlydisplay/DisplayWindow.java b/earlydisplay/src/main/java/net/neoforged/fml/earlydisplay/DisplayWindow.java index a5da9f21c..2bd08db92 100644 --- a/earlydisplay/src/main/java/net/neoforged/fml/earlydisplay/DisplayWindow.java +++ b/earlydisplay/src/main/java/net/neoforged/fml/earlydisplay/DisplayWindow.java @@ -518,9 +518,12 @@ private void handleLastGLFWError(BiConsumer handler) { public long setupMinecraftWindow(final IntSupplier width, final IntSupplier height, final Supplier title, final LongSupplier monitorSupplier) { // wait for the window to actually be initialized try { - this.initializationFuture.get(); + this.initializationFuture.get(30, TimeUnit.SECONDS); } catch(InterruptedException | ExecutionException e) { throw new RuntimeException(e); + } catch(TimeoutException e) { + Thread.dumpStack(); + crashElegantly("We seem to be having trouble initializing the window, waited for 30 seconds"); } // we have to spin wait for the window ticker ImmediateWindowHandler.updateProgress("Initializing Game Graphics");