Sync nickname if needed

This commit is contained in:
Teriuihi 2021-09-16 16:03:48 +02:00
parent f6276227b9
commit 4d8b7b60f6

View File

@ -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);
}
}