Don't send join/leave message to ignored players

This commit is contained in:
Teriuihi 2021-07-30 23:53:37 +02:00
parent 899e363677
commit 49a6fc6f87
2 changed files with 11 additions and 6 deletions

View File

@ -1,9 +1,12 @@
package com.alttd.chat.data; package com.alttd.chat.data;
import com.alttd.chat.config.ServerConfig; import com.alttd.chat.config.ServerConfig;
import com.alttd.chat.managers.ChatUserManager;
import com.velocitypowered.api.proxy.server.RegisteredServer; import com.velocitypowered.api.proxy.server.RegisteredServer;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import java.util.UUID;
public class ServerWrapper { public class ServerWrapper {
private final RegisteredServer registeredServer; private final RegisteredServer registeredServer;
@ -37,8 +40,10 @@ public class ServerWrapper {
return joinMessages; return joinMessages;
} }
public void sendJoinLeaveMessage(Component component) { public void sendJoinLeaveMessage(UUID uuid, Component component) {
if(joinMessages()) if(joinMessages())
getRegisteredServer().sendMessage(component); getRegisteredServer().getPlayersConnected().stream()
.filter(p -> ChatUserManager.getChatUser(p.getUniqueId()).getIgnoredPlayers().contains(uuid))
.forEach(p -> p.sendMessage(component));
} }
} }

View File

@ -48,11 +48,11 @@ public class ProxyPlayerListener {
// todo Code clean up @Destro // todo Code clean up @Destro
ServerWrapper wrapper = serverHandler.getWrapper(previousServer.getServerInfo().getName()); ServerWrapper wrapper = serverHandler.getWrapper(previousServer.getServerInfo().getName());
if(wrapper != null) { if(wrapper != null) {
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERSWTICHMESSAGETO, templates)); wrapper.sendJoinLeaveMessage(event.getPlayer().getUniqueId(), miniMessage.parse(Config.SERVERSWTICHMESSAGETO, templates));
} }
wrapper = serverHandler.getWrapper(event.getServer().getServerInfo().getName()); wrapper = serverHandler.getWrapper(event.getServer().getServerInfo().getName());
if(wrapper != null) { if(wrapper != null) {
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERSWTICHMESSAGEFROM, templates)); wrapper.sendJoinLeaveMessage(event.getPlayer().getUniqueId(), miniMessage.parse(Config.SERVERSWTICHMESSAGEFROM, templates));
} }
} else { } else {
List<Template> templates = new ArrayList<>(List.of( List<Template> templates = new ArrayList<>(List.of(
@ -60,7 +60,7 @@ public class ProxyPlayerListener {
)); ));
ServerWrapper wrapper = serverHandler.getWrapper(event.getServer().getServerInfo().getName()); ServerWrapper wrapper = serverHandler.getWrapper(event.getServer().getServerInfo().getName());
if(wrapper != null) { if(wrapper != null) {
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERJOINMESSAGE, templates)); wrapper.sendJoinLeaveMessage(event.getPlayer().getUniqueId(), miniMessage.parse(Config.SERVERJOINMESSAGE, templates));
} }
} }
} }
@ -78,7 +78,7 @@ public class ProxyPlayerListener {
ServerWrapper wrapper = serverHandler.getWrapper(registeredServer.getServerInfo().getName()); ServerWrapper wrapper = serverHandler.getWrapper(registeredServer.getServerInfo().getName());
if(wrapper != null) { if(wrapper != null) {
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERLEAVEMESSAGE, templates)); wrapper.sendJoinLeaveMessage(event.getPlayer().getUniqueId(), miniMessage.parse(Config.SERVERLEAVEMESSAGE, templates));
} }
} }
} }