From fa7949108866fb5ea52e55772751304f391123fe Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Tue, 15 Feb 2022 02:57:50 +0100 Subject: [PATCH] Maybe made nicknames auto sync --- .../java/com/alttd/chat/objects/ChatUser.java | 7 +++++++ .../listeners/PluginMessageListener.java | 20 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/api/src/main/java/com/alttd/chat/objects/ChatUser.java b/api/src/main/java/com/alttd/chat/objects/ChatUser.java index b48def5..7f48feb 100755 --- a/api/src/main/java/com/alttd/chat/objects/ChatUser.java +++ b/api/src/main/java/com/alttd/chat/objects/ChatUser.java @@ -163,4 +163,11 @@ public class ChatUser { this.isMuted = muted; } + public void reloadDisplayName() { + name = Queries.getDisplayName(uuid); + if (name == null) { + name = Utility.getDisplayName(uuid, ""); + } + setDisplayName(name); + } } diff --git a/velocity/src/main/java/com/alttd/velocitychat/listeners/PluginMessageListener.java b/velocity/src/main/java/com/alttd/velocitychat/listeners/PluginMessageListener.java index b99d694..5265521 100755 --- a/velocity/src/main/java/com/alttd/velocitychat/listeners/PluginMessageListener.java +++ b/velocity/src/main/java/com/alttd/velocitychat/listeners/PluginMessageListener.java @@ -1,5 +1,7 @@ package com.alttd.velocitychat.listeners; +import com.alttd.chat.managers.ChatUserManager; +import com.alttd.chat.objects.ChatUser; import com.alttd.velocitychat.VelocityChat; import com.alttd.chat.database.Queries; import com.alttd.chat.objects.channels.CustomChannel; @@ -15,6 +17,8 @@ import com.velocitypowered.api.proxy.messages.ChannelIdentifier; import com.velocitypowered.api.proxy.server.RegisteredServer; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; +import java.io.ByteArrayInputStream; +import java.io.DataInputStream; import java.util.UUID; public class PluginMessageListener { @@ -72,6 +76,22 @@ public class PluginMessageListener { serverConnection); break; } + case "NickNameAccepted": { + try { + short len = in.readShort(); + byte[] msgbytes = new byte[len]; + in.readFully(msgbytes); + + DataInputStream msgin = new DataInputStream(new ByteArrayInputStream(msgbytes)); + UUID uuid = UUID.fromString(msgin.readUTF()); + ChatUser chatUser = ChatUserManager.getChatUser(uuid); + chatUser.reloadDisplayName(); + + } catch (Exception e) { + e.printStackTrace(); + return; + } + } default: VelocityChat.getPlugin().getLogger().info("server " + event.getSource()); ProxyServer proxy = VelocityChat.getPlugin().getProxy();