Finalize join and leave messages

This commit is contained in:
len
2021-05-15 13:26:31 +02:00
parent 904fc3faad
commit c1db6c1e39
9 changed files with 20 additions and 36 deletions
@@ -6,6 +6,7 @@ import com.alttd.chat.config.Config;
import com.alttd.chat.handlers.ChatHandler;
import com.alttd.chat.handlers.ServerHandler;
import com.alttd.chat.listeners.ChatListener;
import com.alttd.chat.listeners.ProxyPlayerListener;
import com.alttd.chat.listeners.PluginMessageListener;
import com.google.inject.Inject;
import com.velocitypowered.api.event.Subscribe;
@@ -54,6 +55,7 @@ public class VelocityChat {
serverHandler = new ServerHandler();
chatHandler = new ChatHandler();
server.getEventManager().register(this, new ChatListener());
server.getEventManager().register(this, new ProxyPlayerListener());
String[] channels = Config.MESSAGECHANNEL.split(":");// todo add a check for this?
channelIdentifier = MinecraftChannelIdentifier.create(channels[0], channels[1]);
server.getChannelRegistrar().register(channelIdentifier);
@@ -46,7 +46,7 @@ public class ServerHandler {
}
public ServerWrapper getWrapper(String serverName) {
for(ServerWrapper wrapper : getServers()) {
for(ServerWrapper wrapper : servers) {
if(wrapper.serverName().equalsIgnoreCase(serverName)) {
return wrapper;
}
@@ -18,15 +18,7 @@ import net.kyori.adventure.text.minimessage.Template;
import java.util.ArrayList;
import java.util.List;
public class PlayerListener {
private final ServerHandler serverHandler;
private final MiniMessage miniMessage;
public PlayerListener() {
serverHandler = VelocityChat.getPlugin().getServerHandler();
miniMessage = MiniMessage.get();
}
public class ProxyPlayerListener {
@Subscribe(order = PostOrder.FIRST)
public void onPlayerLogin(LoginEvent event) {
@@ -41,6 +33,8 @@ public class PlayerListener {
// Server Join and Leave messages
@Subscribe
public void serverConnected(ServerConnectedEvent event) {
ServerHandler serverHandler = VelocityChat.getPlugin().getServerHandler();
MiniMessage miniMessage = MiniMessage.get();
if (event.getPreviousServer().isPresent()) {
RegisteredServer previousServer = event.getPreviousServer().get();
@@ -51,11 +45,11 @@ public class PlayerListener {
Template.of("from_server", previousServer.getServerInfo().getName()),
Template.of("to_server", event.getServer().getServerInfo().getName())));
// todo Code clean up @Destro
ServerWrapper wrapper = serverHandler.getWrapper(previousServer.getServerInfo().toString());
ServerWrapper wrapper = serverHandler.getWrapper(previousServer.getServerInfo().getName());
if(wrapper != null) {
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERSWTICHMESSAGETO, templates));
}
wrapper = serverHandler.getWrapper(event.getServer().getServerInfo().toString());
wrapper = serverHandler.getWrapper(event.getServer().getServerInfo().getName());
if(wrapper != null) {
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERSWTICHMESSAGEFROM, templates));
}
@@ -63,7 +57,7 @@ public class PlayerListener {
List<Template> templates = new ArrayList<>(List.of(
Template.of("player", event.getPlayer().getUsername())
));
ServerWrapper wrapper = serverHandler.getWrapper(event.getServer().getServerInfo().toString());
ServerWrapper wrapper = serverHandler.getWrapper(event.getServer().getServerInfo().getName());
if(wrapper != null) {
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERJOINMESSAGE, templates));
}
@@ -72,6 +66,8 @@ public class PlayerListener {
@Subscribe
public void serverDisconnected(DisconnectEvent event) {
ServerHandler serverHandler = VelocityChat.getPlugin().getServerHandler();
MiniMessage miniMessage = MiniMessage.get();
if (event.getLoginStatus().equals(DisconnectEvent.LoginStatus.SUCCESSFUL_LOGIN) && event.getPlayer().getCurrentServer().isPresent()) {
RegisteredServer registeredServer = event.getPlayer().getCurrentServer().get().getServer();
@@ -79,9 +75,9 @@ public class PlayerListener {
Template.of("player", event.getPlayer().getUsername()),
Template.of("from_server", registeredServer.getServerInfo().getName())));
ServerWrapper wrapper = serverHandler.getWrapper(registeredServer.getServerInfo().toString());
ServerWrapper wrapper = serverHandler.getWrapper(registeredServer.getServerInfo().getName());
if(wrapper != null) {
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERJOINMESSAGE, templates));
wrapper.sendJoinLeaveMessage(miniMessage.parse(Config.SERVERLEAVEMESSAGE, templates));
}
}
}