diff --git a/src/main/java/io/github/gaming32/modloadingscreen/ActualLoadingScreen.java b/src/main/java/io/github/gaming32/modloadingscreen/ActualLoadingScreen.java index 8c5a56b..0c75ec5 100644 --- a/src/main/java/io/github/gaming32/modloadingscreen/ActualLoadingScreen.java +++ b/src/main/java/io/github/gaming32/modloadingscreen/ActualLoadingScreen.java @@ -181,9 +181,20 @@ public static void startLoadingScreen(boolean fabricReady) { dialog.setResizable(false); try { - dialog.setIconImage(ImageIO.read(findImageUrl("icon", "icon.png", ImageIO.getReaderFileSuffixes()))); + // Determine the loader-specific icon filename based on the runtime environment + final String loaderIconName = runningOnQuilt ? "icon-quilt.png" : "icon-fabric.png"; + URL iconUrl = null; + try { + iconUrl = findImageUrl("icon", loaderIconName, ImageIO.getReaderFileSuffixes()); + } catch (Exception ignored) { + // Fall back to default icon.png if loader-specific icon cannot be found + } + if (iconUrl == null) { + iconUrl = findImageUrl("icon", "icon.png", ImageIO.getReaderFileSuffixes()); + } + dialog.setIconImage(ImageIO.read(iconUrl)); } catch (Exception e) { - println("Failed to load icon.png", e); + println("Failed to load window icon", e); } ImageIcon background; @@ -598,4 +609,4 @@ public static void main(String[] args) { } close(); } -} +} \ No newline at end of file diff --git a/src/main/resources/assets/mod-loading-screen/icon-fabric.png b/src/main/resources/assets/mod-loading-screen/icon-fabric.png new file mode 100644 index 0000000..bb3f0a4 Binary files /dev/null and b/src/main/resources/assets/mod-loading-screen/icon-fabric.png differ diff --git a/src/main/resources/assets/mod-loading-screen/icon-quilt.png b/src/main/resources/assets/mod-loading-screen/icon-quilt.png new file mode 100644 index 0000000..9206ed6 Binary files /dev/null and b/src/main/resources/assets/mod-loading-screen/icon-quilt.png differ