Plugin Message channal and global chat check

This commit is contained in:
len
2021-05-13 20:27:20 +02:00
parent d087d47d5c
commit 35fda21ed1
15 changed files with 231 additions and 81 deletions
@@ -0,0 +1,47 @@
package com.alttd.chat.handlers;
import com.alttd.chat.VelocityChat;
import com.alttd.chat.config.ServerConfig;
import com.alttd.chat.data.ServerWrapper;
import com.velocitypowered.api.proxy.server.RegisteredServer;
import net.kyori.adventure.text.minimessage.MiniMessage;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ServerHandler {
private VelocityChat plugin;
private static List<ServerWrapper> servers;
public ServerHandler() {
plugin = VelocityChat.getPlugin();
initialize();
}
public void cleanup() { // for use on /reload?
servers.clear();
initialize();
}
public void initialize() {
servers = new ArrayList<>();
for (RegisteredServer registeredServer : plugin.getProxy().getAllServers()) {
servers.add(new ServerWrapper(registeredServer, new ServerConfig(registeredServer.getServerInfo().getName())));
}
}
public void sendGlobalChat(String message) {
servers.stream()
.filter(serverWrapper -> serverWrapper.globalChat())
.forEach(serverWrapper -> serverWrapper.getRegisteredServer().sendMessage(MiniMessage.get().parse(message)));
}
public List<ServerWrapper> getServers()
{
return Collections.unmodifiableList(servers);
}
}