From a219ab46b9e25fe381b80510ab69d7b6d9ec67c6 Mon Sep 17 00:00:00 2001 From: EnderKill98 Date: Tue, 16 Apr 2024 01:20:57 +0200 Subject: [PATCH] Fix a null pointer Seems to crash the playback thread when leaving while playing. In sync it could crash the entire client. The playback threads gets restarted when rejoining and playing again through. So not the cause for #16 or similar issues. --- src/main/java/semmiedev/disc_jockey/SongPlayer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/semmiedev/disc_jockey/SongPlayer.java b/src/main/java/semmiedev/disc_jockey/SongPlayer.java index 8eca181..7c86e5c 100644 --- a/src/main/java/semmiedev/disc_jockey/SongPlayer.java +++ b/src/main/java/semmiedev/disc_jockey/SongPlayer.java @@ -150,7 +150,7 @@ public class SongPlayer implements ClientTickEvents.StartWorldTick { GameMode gameMode = client.interactionManager == null ? null : client.interactionManager.getCurrentGameMode(); // In the best case, gameMode would only be queried in sync Ticks, no here if (gameMode == null || !gameMode.isSurvivalLike()) { - client.inGameHud.getChatHud().addMessage(Text.translatable(Main.MOD_ID+".player.invalid_game_mode", gameMode.getTranslatableName()).formatted(Formatting.RED)); + client.inGameHud.getChatHud().addMessage(Text.translatable(Main.MOD_ID+".player.invalid_game_mode", gameMode == null ? "unknown" : gameMode.getTranslatableName()).formatted(Formatting.RED)); stop(); return; }