diff --git a/src/main/java/com/alttd/proxydiscordlink/minecraft/listeners/PlayerJoin.java b/src/main/java/com/alttd/proxydiscordlink/minecraft/listeners/PlayerJoin.java index 05e64b8..f610a67 100644 --- a/src/main/java/com/alttd/proxydiscordlink/minecraft/listeners/PlayerJoin.java +++ b/src/main/java/com/alttd/proxydiscordlink/minecraft/listeners/PlayerJoin.java @@ -14,15 +14,29 @@ public class PlayerJoin { if (event.getPreviousServer().isEmpty()) return; + boolean sync = false; + String username = event.getPlayer().getUsername(); DiscordLinkPlayer discordLinkPlayer = DiscordLinkPlayer.getDiscordLinkPlayer(event.getPlayer().getUniqueId()); - if (!discordLinkPlayer.getUsername().equals(username)) { + if (!discordLinkPlayer.getUsername().equals(username)) { //Update username if needed discordLinkPlayer.setUsername(username); - DiscordLink.getPlugin().getDatabase().syncPlayer(discordLinkPlayer); + sync = true; if (!discordLinkPlayer.hasNick()) DiscordLink.getPlugin().getBot().changeNick(BotConfig.GUILD_ID, discordLinkPlayer.getUserId(), username); } + + if (discordLinkPlayer.hasNick()) { //If they have a nick update it, if nick is empty set it to false and use username + String nick = DiscordLink.getPlugin().getDatabase().getNick(discordLinkPlayer.getUuid()); + if (!nick.isBlank()) { + discordLinkPlayer.setNick(false); + nick = discordLinkPlayer.getUsername(); + } + DiscordLink.getPlugin().getBot().changeNick(BotConfig.GUILD_ID, discordLinkPlayer.getUserId(), nick); + } + + if (sync) //Sync if needed + DiscordLink.getPlugin().getDatabase().syncPlayer(discordLinkPlayer); } }