Example usage for com.google.common.io ByteArrayDataOutput writeUTF

List of usage examples for com.google.common.io ByteArrayDataOutput writeUTF

Introduction

In this page you can find the example usage for com.google.common.io ByteArrayDataOutput writeUTF.

Prototype

@Override
    void writeUTF(String s);

Source Link

Usage

From source file:tk.playerforcehd.networklib.bukkit.connection.DefaultManager.java

/**
 * @param serverName the Name of the server
 * @see DefaultBungeeLib#requestPlayerList(String)
 *//*from  w  ww  . j  a v a2  s  .c  o  m*/
@Override
public void requestPlayerList(String serverName) {
    ByteArrayDataOutput stream = ByteStreams.newDataOutput();
    stream.writeUTF("PlayerList");
    stream.writeUTF(serverName);
    this.networkManager.sendMessageToProxy(stream);
}

From source file:tk.playerforcehd.networklib.bukkit.connection.DefaultManager.java

/**
 * @param player The player from which you will get the UUID
 * @see DefaultBungeeLib#requestUUID(Player)
 *//*w  w  w.  j av  a 2s  .c  o m*/
@Override
public void requestUUID(Player player) {
    ByteArrayDataOutput stream = ByteStreams.newDataOutput();
    stream.writeUTF("UUIDOther");
    stream.writeUTF(player.getName());
    this.networkManager.sendMessageToProxy(stream);
}

From source file:tk.playerforcehd.networklib.bukkit.connection.DefaultManager.java

/**
 * @param serverName The server from which you will get the IP
 * @see DefaultBungeeLib#requestServerIP(String)
 *//* ww w .  j av  a 2 s  . co m*/
@Override
public void requestServerIP(String serverName) {
    ByteArrayDataOutput stream = ByteStreams.newDataOutput();
    stream.writeUTF("ServerIP");
    stream.writeUTF(serverName);
    this.networkManager.sendMessageToProxy(stream);
}

From source file:tk.playerforcehd.networklib.bukkit.connection.DefaultManager.java

/**
 * @param name The name of the player which will recieve the message
 * @param msg  The Message which will be send
 * @see DefaultBungeeLib#sendMessage(String, String)
 */// w  ww .  j a v  a 2s  .  c  om
@Override
public void sendMessage(String name, String msg) {
    ByteArrayDataOutput stream = ByteStreams.newDataOutput();
    stream.writeUTF("Message");
    stream.writeUTF(name);
    stream.writeUTF(msg);
    this.networkManager.sendMessageToProxy(stream);
}

From source file:tk.playerforcehd.networklib.bukkit.connection.DefaultManager.java

/**
 * @param server  The server which recieves the message
 * @param channel The channel where the message will be send (subchannel)
 * @param msg     The messages will be written to the server
 * @see DefaultBungeeLib#forward(String, String, Object...)
 */// www. j a  va  2 s  .c  o  m
@Override
public void forward(String server, String channel, Object... msg) throws IOException {
    ByteArrayDataOutput stream = ByteStreams.newDataOutput();
    stream.writeUTF("Forward");
    stream.writeUTF(server);
    stream.writeUTF(channel);
    ByteArrayOutputStream msgbytes = new ByteArrayOutputStream();
    DataOutputStream dataout = new DataOutputStream(msgbytes);
    for (Object o : msg) {
        dataout.writeUTF(o.toString());
    }
    stream.writeShort(msgbytes.toByteArray().length);
    stream.write(msgbytes.toByteArray());
    this.networkManager.sendMessageToProxy(stream);
}

From source file:tk.playerforcehd.networklib.bukkit.connection.DefaultManager.java

/**
 * @param player  The player which recieves the message
 * @param channel The channel where the message will be send (subchannel)
 * @param msg     The message which will be send
 * @see DefaultBungeeLib#forwardToPlayer(Player, String, Object...)
 *//*  w ww.  j av a 2 s . c  o m*/
@Override
public void forwardToPlayer(Player player, String channel, Object... msg) throws IOException {
    ByteArrayDataOutput stream = ByteStreams.newDataOutput();
    stream.writeUTF("Forward");
    stream.writeUTF(player.getName());
    stream.writeUTF(channel);
    ByteArrayOutputStream msgbytes = new ByteArrayOutputStream();
    DataOutputStream dataout = new DataOutputStream(msgbytes);
    for (Object o : msg) {
        dataout.writeUTF(o.toString());
    }
    stream.writeShort(msgbytes.toByteArray().length);
    stream.write(msgbytes.toByteArray());
    this.networkManager.sendMessageToProxy(stream);
}

From source file:tk.playerforcehd.networklib.bukkit.connection.DefaultManager.java

/**
 * Get a list of all registered BungeeCord Server's (The names)
 *
 * @param result The result of the request (Will give null if an error occurs while communicating)
 * @see DefaultBungeeLib#getServers(Callback)
 *///from w w w  .  j a  v a 2s  .  com
@Override
public void getServers(Callback<String[]> result) {
    PluginMessageListener pluginMessageListener = null;
    final PluginMessageListener[] finalPluginMessageListener = { null };
    pluginMessageListener = (s, player1, bytes) -> {
        try {
            if (s.equals("BungeeCord")) {
                DataInputStream dataInputStream = new DataInputStream(new ByteArrayInputStream(bytes));
                String subChannel = dataInputStream.readUTF();
                if (subChannel.equals("GetServers")) {
                    String players = dataInputStream.readUTF();
                    result.invoke(players.split(", "));
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
            result.invoke(null);
        } finally {
            Bukkit.getMessenger().unregisterIncomingPluginChannel(instance, "BungeeCord",
                    finalPluginMessageListener[0]);
        }
    };
    Bukkit.getMessenger().registerIncomingPluginChannel(instance, "BungeeCord", pluginMessageListener);
    finalPluginMessageListener[0] = pluginMessageListener;
    ByteArrayDataOutput stream = ByteStreams.newDataOutput();
    stream.writeUTF("GetServers");
    this.networkManager.sendMessageToProxy(stream);
}

From source file:tk.playerforcehd.networklib.bukkit.connection.DefaultManager.java

/**
 * Get the name of your Server which is defined in the BungeeCord config
 *
 * @param result The result of the request (When reading the stream fails, null will be given)
 * @see DefaultBungeeLib#getGlobalName(Callback)
 *///from  w w w. j av  a  2  s  . c  o m
@Override
public void getGlobalName(Callback<String> result) {
    PluginMessageListener pluginMessageListener = null;
    final PluginMessageListener[] finalPluginMessageListener = { null };
    pluginMessageListener = (s, player1, bytes) -> {
        try {
            if (s.equals("BungeeCord")) {
                DataInputStream dataInputStream = new DataInputStream(new ByteArrayInputStream(bytes));
                String subChannel = dataInputStream.readUTF();
                if (subChannel.equals("GetServer")) {
                    String serverName = dataInputStream.readUTF();
                    result.invoke(serverName);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
            result.invoke(null);
        } finally {
            Bukkit.getMessenger().unregisterIncomingPluginChannel(instance, "BungeeCord",
                    finalPluginMessageListener[0]);
        }
    };
    Bukkit.getMessenger().registerIncomingPluginChannel(instance, "BungeeCord", pluginMessageListener);
    finalPluginMessageListener[0] = pluginMessageListener;
    ByteArrayDataOutput stream = ByteStreams.newDataOutput();
    stream.writeUTF("GetServer");
    this.networkManager.sendMessageToProxy(stream);
}

From source file:io.github.leonardosnt.bungeechannelapi.BungeeChannelApi.java

/**
 * Connects a player to said subserver.//  w  w w  .  jav  a  2s  . c  o  m
 *
 * @param player the player you want to teleport.
 * @param serverName the name of server to connect to, as defined in BungeeCord config.yml.
 */
public void connect(Player player, String serverName) {
    ByteArrayDataOutput output = ByteStreams.newDataOutput();
    output.writeUTF("Connect");
    output.writeUTF(serverName);
    player.sendPluginMessage(this.plugin, "BungeeCord", output.toByteArray());
}

From source file:tk.playerforcehd.networklib.bukkit.connection.DefaultManager.java

/**
 * @param player The player from who you will get the IP
 * @param result The result of the request (When reading the stream fails, null will be given)
 * @see DefaultBungeeLib#getIP(Player, Callback)
 *///  w w  w. j  a v a 2 s . c o m
@Override
public void getIP(Player player, Callback<String> result) {
    PluginMessageListener pluginMessageListener = null;
    final PluginMessageListener[] finalPluginMessageListener = { null };
    pluginMessageListener = (s, player1, bytes) -> {
        try {
            if (s.equalsIgnoreCase("BungeeCord")) {
                DataInputStream dataInputStream = new DataInputStream(new ByteArrayInputStream(bytes));
                String subChannel = dataInputStream.readUTF();
                if (subChannel.equals("IP")) {
                    String host = dataInputStream.readUTF();
                    int port = dataInputStream.readInt();
                    String ip = host + ":" + port;
                    result.invoke(ip);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
            result.invoke(null);
        } finally {
            Bukkit.getMessenger().unregisterIncomingPluginChannel(instance, "BungeeCord",
                    finalPluginMessageListener[0]);
        }
    };
    Bukkit.getMessenger().registerIncomingPluginChannel(this.instance, "BungeeCord", pluginMessageListener);
    finalPluginMessageListener[0] = pluginMessageListener;
    ByteArrayDataOutput stream = ByteStreams.newDataOutput();
    stream.writeUTF("IP");
    this.networkManager.sendMessageToPlayer(player, stream);
}