Fork NickNameAccepted to update nickname on proxy before forwarding.

This commit is contained in:
Len 2022-09-27 13:42:03 +02:00
parent 282fdde48b
commit 58b80e9eaf

View File

@ -1,5 +1,7 @@
package com.alttd.velocitychat.listeners;
import com.alttd.chat.managers.ChatUserManager;
import com.alttd.chat.objects.ChatUser;
import com.alttd.chat.objects.channels.CustomChannel;
import com.alttd.chat.util.ALogger;
import com.alttd.velocitychat.VelocityChat;
@ -14,6 +16,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 {
@ -55,7 +59,6 @@ public class PluginMessageListener {
ProxyServer proxy = VelocityChat.getPlugin().getProxy();
chatChannel.getServers().forEach(server -> proxy.getServer(server).ifPresent(registeredServer ->
registeredServer.sendPluginMessage(VelocityChat.getPlugin().getChannelIdentifier(), event.getData())));
break;
}
case "party" -> {
VelocityChat.getPlugin().getChatHandler().sendPartyMessage(
@ -63,16 +66,33 @@ public class PluginMessageListener {
in.readUTF(),
GsonComponentSerializer.gson().deserialize(in.readUTF()),
serverConnection);
break;
}
// nicknames WIP
// case "NickNameRequest", "NickNameAccepted", "NickNameSet", "NickNameDenied" -> {
// ProxyServer proxy = VelocityChat.getPlugin().getProxy();
// proxy.getAllServers().forEach(registeredServer ->
// registeredServer.sendPluginMessage(VelocityChat.getPlugin().getChannelIdentifier(), event.getData()));
// 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;
}
ProxyServer proxy = VelocityChat.getPlugin().getProxy();
proxy.getAllServers().forEach(registeredServer ->
registeredServer.sendPluginMessage(VelocityChat.getPlugin().getChannelIdentifier(), event.getData()));
}
case "NickNameRequest", "NickNameSet", "NickNameDenied" -> {
ProxyServer proxy = VelocityChat.getPlugin().getProxy();
proxy.getAllServers().forEach(registeredServer ->
registeredServer.sendPluginMessage(VelocityChat.getPlugin().getChannelIdentifier(), event.getData()));
}
default -> {
VelocityChat.getPlugin().getLogger().info("server " + event.getSource());
ProxyServer proxy = VelocityChat.getPlugin().getProxy();