Make ignore work in ChatChannel
This commit is contained in:
parent
76c24828dd
commit
351515ab55
|
|
@ -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());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user