59 lines
1.9 KiB
Java
59 lines
1.9 KiB
Java
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());
|
|
});
|
|
}
|
|
}
|