diff --git a/build/client-renderer/src/client/java/dev/github/copilot/renameable/RenderCatalogClient.java b/build/client-renderer/src/client/java/dev/github/copilot/renameable/RenderCatalogClient.java index 7820f81..57c3f84 100644 --- a/build/client-renderer/src/client/java/dev/github/copilot/renameable/RenderCatalogClient.java +++ b/build/client-renderer/src/client/java/dev/github/copilot/renameable/RenderCatalogClient.java @@ -36,6 +36,7 @@ public final class RenderCatalogClient implements ClientModInitializer { private Path outputDir; private int currentJobIndex; private RenderScreen renderScreen; + private int renderScreenDelayTicks = 60; private boolean renderStarted; @Override @@ -61,12 +62,16 @@ public final class RenderCatalogClient implements ClientModInitializer { System.out.println("[renderer] queued " + jobs.size() + " render jobs"); Minecraft client = Minecraft.getInstance(); renderScreen = new RenderScreen(); - client.execute(() -> { - System.out.println("[renderer] opening render screen"); - client.setScreenAndShow(renderScreen); - }); ClientTickEvents.END_CLIENT_TICK.register(tickedClient -> { + if (renderScreenDelayTicks > 0) { + renderScreenDelayTicks--; + if (renderScreenDelayTicks == 0) { + System.out.println("[renderer] opening render screen"); + tickedClient.setScreenAndShow(renderScreen); + } + } + if (!renderStarted && tickedClient.screen == renderScreen) { renderStarted = true; System.out.println("[renderer] starting render loop from client tick");