package net.t2code.t2codelib.BUNGEE.system.pluginMessaging.commandgui; import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.event.PlayerDisconnectEvent; import net.md_5.bungee.api.event.PostLoginEvent; import net.md_5.bungee.api.plugin.Listener; import net.md_5.bungee.event.EventHandler; import java.io.*; import java.util.logging.Logger; public class T2CapiCGUI implements Listener { @EventHandler public void onJoin(PostLoginEvent e) { ProxiedPlayer player = e.getPlayer(); sendToSpigotPlayer(player.getName(), true); } @EventHandler public void onDisconnect(PlayerDisconnectEvent e) { ProxiedPlayer player = e.getPlayer(); sendToSpigotPlayer(e.getPlayer().getName(), false); } public static void sendToSpigotPlayer(String name, Boolean join) { ByteArrayOutputStream stream = new ByteArrayOutputStream(); DataOutputStream output = new DataOutputStream(stream); try { if (join) { output.writeUTF("join"); } else { output.writeUTF("left"); } output.writeUTF(name); } catch (IOException e) { Logger.getLogger(e.getMessage()); } ProxyServer.getInstance().getServers().values().stream().forEach((server) -> { server.sendData("t2c:cguiopl", stream.toByteArray()); }); } public static void sendToSpigotDeleteAll() { ByteArrayOutputStream stream = new ByteArrayOutputStream(); DataOutputStream output = new DataOutputStream(stream); try { output.writeUTF("clear"); output.writeUTF(""); } catch (IOException e) { Logger.getLogger(e.getMessage()); } ProxyServer.getInstance().getServers().values().stream().forEach((server) -> { server.sendData("t2c:cguiopl", stream.toByteArray()); }); } }