From d4cf97754d14e42c98ca8e76e6106d2c2b72504c Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Thu, 16 Sep 2021 15:52:23 +0200 Subject: [PATCH] Sync names on player join --- .../minecraft/listeners/PlayerJoin.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/main/java/com/alttd/proxydiscordlink/minecraft/listeners/PlayerJoin.java diff --git a/src/main/java/com/alttd/proxydiscordlink/minecraft/listeners/PlayerJoin.java b/src/main/java/com/alttd/proxydiscordlink/minecraft/listeners/PlayerJoin.java new file mode 100644 index 0000000..05e64b8 --- /dev/null +++ b/src/main/java/com/alttd/proxydiscordlink/minecraft/listeners/PlayerJoin.java @@ -0,0 +1,28 @@ +package com.alttd.proxydiscordlink.minecraft.listeners; + +import com.alttd.proxydiscordlink.DiscordLink; +import com.alttd.proxydiscordlink.config.BotConfig; +import com.alttd.proxydiscordlink.objects.DiscordLinkPlayer; +import com.velocitypowered.api.event.PostOrder; +import com.velocitypowered.api.event.Subscribe; +import com.velocitypowered.api.event.player.ServerConnectedEvent; + +public class PlayerJoin { + + @Subscribe(order = PostOrder.LATE) + public void playerConnected(ServerConnectedEvent event) { + if (event.getPreviousServer().isEmpty()) + return; + + String username = event.getPlayer().getUsername(); + DiscordLinkPlayer discordLinkPlayer = DiscordLinkPlayer.getDiscordLinkPlayer(event.getPlayer().getUniqueId()); + + if (!discordLinkPlayer.getUsername().equals(username)) { + discordLinkPlayer.setUsername(username); + DiscordLink.getPlugin().getDatabase().syncPlayer(discordLinkPlayer); + + if (!discordLinkPlayer.hasNick()) + DiscordLink.getPlugin().getBot().changeNick(BotConfig.GUILD_ID, discordLinkPlayer.getUserId(), username); + } + } +}