T2C-CommandGUI/CommandGUI V2/src/main/java/net/t2code/commandguiv2/Spigot/listener/Bungee_Sender_Reciver.java

68 lines
2.4 KiB
Java

package net.t2code.commandguiv2.Spigot.listener;
import net.t2code.commandguiv2.Spigot.Main;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.messaging.PluginMessageListener;
import java.io.*;
public class Bungee_Sender_Reciver implements PluginMessageListener {
public static void sendToBungee(CommandSender sender, String information, Boolean console) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
DataOutputStream output = new DataOutputStream(stream);
try {
if (console) {
output.writeUTF("T2Code-Console");
} else {
if (sender instanceof Player) {
output.writeUTF(sender.getName());
} else {
output.writeUTF("T2Code-Console");
}
}
output.writeUTF(information);
} catch (IOException e) {
e.printStackTrace();
}
if (sender instanceof Player) {
Player player = (Player) sender;
player.sendPluginMessage(Main.getPlugin(), "t2c:bcmd", stream.toByteArray());
}else {
for(Player player : Bukkit.getOnlinePlayers()){
player.sendPluginMessage(Main.getPlugin(), "t2c:bcmd", stream.toByteArray());
return;
}
}
}
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(message));
T2Csend.debug(Main.getPlugin(),"stream: "+stream.toString());
try {
String subChannel = stream.readUTF();
String input = stream.readUTF();
T2Csend.debug(Main.getPlugin(),"subChannel: " +subChannel);
T2Csend.debug(Main.getPlugin(),"input: " +input);
switch (subChannel) {
case "join":
Main.bungeejoinplayers.add(input);
break;
case "left":
Main.bungeejoinplayers.remove(input);
break;
case "clear":
Main.bungeejoinplayers.clear();
break;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}