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

68 lines
2.4 KiB
Java
Raw Normal View History

2022-11-01 12:20:53 +00:00
package net.t2code.commandguiv2.Spigot.listener;
2021-12-21 04:57:29 +00:00
2022-11-01 12:20:53 +00:00
import net.t2code.commandguiv2.Spigot.Main;
2022-08-10 13:27:27 +00:00
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
2021-12-21 04:57:29 +00:00
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) {
2021-12-21 04:57:29 +00:00
ByteArrayOutputStream stream = new ByteArrayOutputStream();
DataOutputStream output = new DataOutputStream(stream);
try {
if (console) {
2022-11-01 12:20:53 +00:00
output.writeUTF("T2Code-Console");
} else {
if (sender instanceof Player) {
output.writeUTF(sender.getName());
} else {
2022-11-01 12:20:53 +00:00
output.writeUTF("T2Code-Console");
}
}
2021-12-21 04:57:29 +00:00
output.writeUTF(information);
} catch (IOException e) {
e.printStackTrace();
}
if (sender instanceof Player) {
Player player = (Player) sender;
2022-11-01 12:20:53 +00:00
player.sendPluginMessage(Main.getPlugin(), "t2c:bcmd", stream.toByteArray());
}else {
for(Player player : Bukkit.getOnlinePlayers()){
2022-11-01 12:20:53 +00:00
player.sendPluginMessage(Main.getPlugin(), "t2c:bcmd", stream.toByteArray());
return;
}
}
2021-12-21 04:57:29 +00:00
}
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(message));
2022-08-10 13:27:27 +00:00
T2Csend.debug(Main.getPlugin(),"stream: "+stream.toString());
2021-12-21 04:57:29 +00:00
try {
String subChannel = stream.readUTF();
String input = stream.readUTF();
2022-08-10 13:27:27 +00:00
T2Csend.debug(Main.getPlugin(),"subChannel: " +subChannel);
T2Csend.debug(Main.getPlugin(),"input: " +input);
2021-12-21 04:57:29 +00:00
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();
}
}
}