diff --git a/core/src/main/java/dev/nandi0813/practice/listener/PlayerJoin.java b/core/src/main/java/dev/nandi0813/practice/listener/PlayerJoin.java index a73ce4bc..cf4b496b 100644 --- a/core/src/main/java/dev/nandi0813/practice/listener/PlayerJoin.java +++ b/core/src/main/java/dev/nandi0813/practice/listener/PlayerJoin.java @@ -10,6 +10,8 @@ import dev.nandi0813.practice.manager.profile.enums.ProfileStatus; import dev.nandi0813.practice.manager.sidebar.SidebarManager; import dev.nandi0813.practice.telemetry.transport.stats.PracticeStatsTelemetryLogger; +import dev.nandi0813.practice.manager.fight.match.Match; +import dev.nandi0813.practice.manager.fight.match.MatchManager; import dev.nandi0813.practice.util.PermanentConfig; import dev.nandi0813.practice.util.UpdateChecker; import dev.nandi0813.practice.util.playerutil.PlayerUtil; @@ -61,6 +63,14 @@ public void onPlayerJoin(PlayerJoinEvent e) { profile1.setHideFromPlayers(true); }, 10L); + // If the player was disconnected while in a match, remove them from it + // to prevent ending up in the match with lobby items on rejoin + if (profile.getStatus() == ProfileStatus.MATCH) { + Match liveMatch = MatchManager.getInstance().getLiveMatchByPlayer(player); + if (liveMatch != null) + liveMatch.removePlayer(player, true); + } + InventoryManager.getInstance().setLobbyInventory(player, true); } else { ProfileManager.getInstance().getProfile(player).setStatus(ProfileStatus.OFFLINE); diff --git a/core/src/main/java/dev/nandi0813/practice/manager/backend/MysqlManager.java b/core/src/main/java/dev/nandi0813/practice/manager/backend/MysqlManager.java index 0cb51202..79dd1c48 100644 --- a/core/src/main/java/dev/nandi0813/practice/manager/backend/MysqlManager.java +++ b/core/src/main/java/dev/nandi0813/practice/manager/backend/MysqlManager.java @@ -71,7 +71,7 @@ public static void openConnection() { try { // Explicitly load the MariaDB driver to ensure it's available for JDBC DriverManager - Class.forName("org.mariadb.jdbc.Driver"); + Class.forName("dev.nandi0813.practice.dependencies.mariadb.Driver"); HikariConfig config = new HikariConfig(); config.setJdbcUrl(url); diff --git a/distribution/pom.xml b/distribution/pom.xml index a6135c21..e1a7b7ad 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -113,6 +113,10 @@ com.zaxxer.hikari dev.nandi0813.practice.dependencies.hikari + + org.mariadb.jdbc + dev.nandi0813.practice.dependencies.mariadb +