From 351515ab552e0a986aad16d63fcc5e3df0172452 Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Sun, 8 Aug 2021 07:11:00 +0200 Subject: [PATCH] Make ignore work in ChatChannel --- .../src/main/java/com/alttd/chat/handler/ChatHandler.java | 7 +++++-- .../main/java/com/alttd/chat/listeners/PluginMessage.java | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/galaxy/src/main/java/com/alttd/chat/handler/ChatHandler.java b/galaxy/src/main/java/com/alttd/chat/handler/ChatHandler.java index 128c804..033d4eb 100755 --- a/galaxy/src/main/java/com/alttd/chat/handler/ChatHandler.java +++ b/galaxy/src/main/java/com/alttd/chat/handler/ChatHandler.java @@ -26,6 +26,7 @@ import org.bukkit.util.StringUtil; import java.util.ArrayList; import java.util.List; +import java.util.UUID; import java.util.concurrent.TimeUnit; public class ChatHandler { @@ -158,15 +159,16 @@ public class ChatHandler { if (channel.isProxy()) { sendChatChannelMessage(player, channel.getChannelName(), "chatchannel", component); } else { - sendChatChannelMessage(channel, component); + sendChatChannelMessage(channel, player.getUniqueId(), component); } } - private void sendChatChannelMessage(Channel chatChannel, Component component) { + private void sendChatChannelMessage(Channel chatChannel, UUID uuid, Component component) { if (!chatChannel.getServers().contains(Bukkit.getServerName())) return; Bukkit.getServer().getOnlinePlayers().stream() .filter(p -> p.hasPermission(chatChannel.getPermission())) + .filter(p -> !ChatUserManager.getChatUser(p.getUniqueId()).getIgnoredPlayers().contains(uuid)) .forEach(p -> p.sendMessage(component)); } @@ -191,6 +193,7 @@ public class ChatHandler { ByteArrayDataOutput out = ByteStreams.newDataOutput(); out.writeUTF(channel); out.writeUTF(chatChannelName); + out.writeUTF(player.getUniqueId().toString()); out.writeUTF(GsonComponentSerializer.gson().serialize(component)); player.sendPluginMessage(plugin, Config.MESSAGECHANNEL, out.toByteArray()); } diff --git a/galaxy/src/main/java/com/alttd/chat/listeners/PluginMessage.java b/galaxy/src/main/java/com/alttd/chat/listeners/PluginMessage.java index 9794242..bb56cf5 100755 --- a/galaxy/src/main/java/com/alttd/chat/listeners/PluginMessage.java +++ b/galaxy/src/main/java/com/alttd/chat/listeners/PluginMessage.java @@ -80,9 +80,11 @@ public class PluginMessage implements PluginMessageListener { private void chatChannel(ByteArrayDataInput in) { Channel chatChannel = null; + UUID uuid = null; Component component = null; try { chatChannel = Channel.getChatChannel(in.readUTF()); + uuid = UUID.fromString(in.readUTF()); component = GsonComponentSerializer.gson().deserialize(in.readUTF()); } catch (Exception e) { //Idk the exception for reading too far into in.readUTF() e.printStackTrace(); @@ -102,12 +104,14 @@ public class PluginMessage implements PluginMessageListener { final Channel finalChatChannel = chatChannel; final Component finalComponent = component; + final UUID finalUuid = uuid; new BukkitRunnable() { @Override public void run() { Bukkit.getOnlinePlayers().stream() .filter(p -> p.hasPermission(finalChatChannel.getPermission())) + .filter(p -> !ChatUserManager.getChatUser(p.getUniqueId()).getIgnoredPlayers().contains(finalUuid)) .forEach(p -> p.sendMessage(finalComponent)); } }.runTaskAsynchronously(ChatPlugin.getInstance());