package com.lifeknight.relaymcbungeemain.utilities; import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; import com.lifeknight.relaymcbungeemain.Main; import com.lifeknight.relaymcbungeemain.network.MessageServerHandler; import com.lifeknight.relayutils.network.Command; import com.lifeknight.relayutils.network.Message; import com.lifeknight.relayutils.network.Recipient; import net.md_5.bungee.api.connection.ProxiedPlayer; public class MessageUtils { public static void createAndBroadcast(Recipient recipient, Command command, Object... arguments) { MessageServerHandler.broadcastMessage(new Message(recipient, command, arguments)); } public static void createAndSend(Recipient recipient, Command command, Object... arguments) { MessageServerHandler.sendMessageToServer(new Message(recipient, command, arguments)); } public static void sendByPlayer(ProxiedPlayer player, Command command, Object... arguments) { if (player == null || !player.isConnected() || player.getServer() == null) return; sendByPlayer(player, new Message(Server.getServer(player.getServer().getInfo()).getRecipient(), command, arguments)); } public static void sendByPlayer(ProxiedPlayer player, Message message) { if (player == null || !player.isConnected()) return; ByteArrayDataOutput byteArrayDataOutput = ByteStreams.newDataOutput(); byteArrayDataOutput.writeUTF(message.toString()); player.getServer().getInfo().sendData(Main.CHANNEL, byteArrayDataOutput.toByteArray()); } }