diff --git a/src/main/java/semmiedev/disc_jockey/DiscjockeyCommand.java b/src/main/java/semmiedev/disc_jockey/DiscjockeyCommand.java index 090ca9c..a562de7 100644 --- a/src/main/java/semmiedev/disc_jockey/DiscjockeyCommand.java +++ b/src/main/java/semmiedev/disc_jockey/DiscjockeyCommand.java @@ -72,6 +72,7 @@ public class DiscjockeyCommand { private static boolean isLoading(CommandContext context) { if (SongLoader.loadingSongs) { context.getSource().sendError(Text.translatable(Main.MOD_ID+".still_loading")); + SongLoader.showToast = true; return true; } return false; diff --git a/src/main/java/semmiedev/disc_jockey/Main.java b/src/main/java/semmiedev/disc_jockey/Main.java index 37502bc..19086dd 100644 --- a/src/main/java/semmiedev/disc_jockey/Main.java +++ b/src/main/java/semmiedev/disc_jockey/Main.java @@ -64,6 +64,7 @@ public class Main implements ClientModInitializer { if (openScreenKeyBind.wasPressed()) { if (SongLoader.loadingSongs) { client.inGameHud.getChatHud().addMessage(Text.translatable(Main.MOD_ID+".still_loading").formatted(Formatting.RED)); + SongLoader.showToast = true; } else { client.setScreen(new DiscJockeyScreen()); } diff --git a/src/main/java/semmiedev/disc_jockey/SongLoader.java b/src/main/java/semmiedev/disc_jockey/SongLoader.java index 845b102..d38941d 100644 --- a/src/main/java/semmiedev/disc_jockey/SongLoader.java +++ b/src/main/java/semmiedev/disc_jockey/SongLoader.java @@ -16,6 +16,7 @@ public class SongLoader { public static final ArrayList SONGS = new ArrayList<>(); public static final ArrayList SONG_SUGGESTIONS = new ArrayList<>(); public static volatile boolean loadingSongs; + public static volatile boolean showToast; public static void loadSongs() { if (loadingSongs) return; @@ -36,7 +37,8 @@ public class SongLoader { for (Song song : SONGS) SONG_SUGGESTIONS.add(song.displayName); Main.config.favorites.removeIf(favorite -> SongLoader.SONGS.stream().map(song -> song.fileName).noneMatch(favorite::equals)); - if (MinecraftClient.getInstance().textRenderer != null) SystemToast.add(MinecraftClient.getInstance().getToastManager(), SystemToast.Type.PACK_LOAD_FAILURE, Main.NAME, Text.translatable(Main.MOD_ID+".loading_done")); + if (showToast && MinecraftClient.getInstance().textRenderer != null) SystemToast.add(MinecraftClient.getInstance().getToastManager(), SystemToast.Type.PACK_LOAD_FAILURE, Main.NAME, Text.translatable(Main.MOD_ID+".loading_done")); + showToast = true; loadingSongs = false; }).start(); }