Example usage for com.google.common.io ByteArrayDataInput readUTF

List of usage examples for com.google.common.io ByteArrayDataInput readUTF

Introduction

In this page you can find the example usage for com.google.common.io ByteArrayDataInput readUTF.

Prototype

@Override
    String readUTF();

Source Link

Usage

From source file:me.lucko.luckperms.bukkit.messaging.BungeeMessenger.java

@Override
public void onPluginMessageReceived(String s, Player player, byte[] bytes) {
    if (!s.equals(CHANNEL)) {
        return;//  ww  w .  j av a  2 s .c  o m
    }

    ByteArrayDataInput in = ByteStreams.newDataInput(bytes);
    String msg = in.readUTF();

    this.consumer.consumeIncomingMessageAsString(msg);
}

From source file:de.papaharni.amcbungee.events.PluginMessage.java

@EventHandler(priority = EventPriority.LOW)
public void onPluginMessage(PluginMessageEvent e) {
    if (!e.getTag().equalsIgnoreCase("BungeeCord"))
        return;//from  w  w  w . j  a  va  2s .c o  m

    ByteArrayDataInput in = ByteStreams.newDataInput(e.getData());
    String sub = in.readUTF();
    if (!sub.equalsIgnoreCase("MyBungee"))
        return;

    String cat = in.readUTF();
    UUID uuid = UUID.fromString(in.readUTF());
    if (cat.equalsIgnoreCase("age")) {
        int age = in.readInt();
        AMCBungee.getInstance().getLogger().log(Level.INFO, "Found {0} with UUID {1} and Age of {2}",
                new Object[] { cat, uuid.toString(), age });
        AMCBungee.getPlayerAge().put(uuid, age);
    } else if (cat.equalsIgnoreCase("gender")) {
        String gender = in.readUTF();
        AMCBungee.getInstance().getLogger().log(Level.INFO, "Found {0} with UUID {1} and Gender {2}",
                new Object[] { cat, uuid.toString(), gender });
        AMCBungee.getPlayerGender().put(uuid, gender);
    } else if (cat.equalsIgnoreCase("verify")) {
        boolean bol = in.readBoolean();
        if (bol)
            AMCBungee.getPlayerVerification().add(uuid);
        else
            AMCBungee.getPlayerVerification().remove(uuid);
        AMCBungee.getInstance().getLogger().log(Level.INFO, "Found {0} with UUID {1} is Verify? {2}",
                new Object[] { cat, uuid.toString(), bol });
    } else if (cat.equalsIgnoreCase("chat")) {
        String ignore = in.readUTF();
        String msg = in.readUTF().replace("__", " ");
        for (Map.Entry<String, ServerInfo> me : ProxyServer.getInstance().getServers().entrySet()) {
            if (me.getKey().equalsIgnoreCase(ignore) || me.getValue().getName().equalsIgnoreCase(ignore))
                continue;
            for (ProxiedPlayer pp : me.getValue().getPlayers())
                pp.sendMessage(Language.convertString(ChatColor.WHITE + "[" + ChatColor.BLUE
                        + Language.getMsg(AMCBungee.getInstance(), pp.getUniqueId(), "server." + ignore, ignore)
                        + ChatColor.WHITE + "]" + msg));
        }
    }
}

From source file:me.lucko.luckperms.bungee.messaging.BungeeMessenger.java

@EventHandler
public void onPluginMessage(PluginMessageEvent e) {
    if (!e.getTag().equals(CHANNEL)) {
        return;/*from  www . ja  va2 s. co  m*/
    }

    e.setCancelled(true);

    if (e.getSender() instanceof ProxiedPlayer) {
        return;
    }

    byte[] data = e.getData();

    ByteArrayDataInput in = ByteStreams.newDataInput(data);
    String msg = in.readUTF();

    if (this.consumer.consumeIncomingMessageAsString(msg)) {
        // Forward to other servers
        this.plugin.getBootstrap().getScheduler().executeAsync(() -> {
            for (ServerInfo server : this.plugin.getBootstrap().getProxy().getServers().values()) {
                server.sendData(CHANNEL, data, true);
            }
        });
    }
}

From source file:de.mineformers.robots.network.packet.PacketFactoryController.java

@Override
public void read(ByteArrayDataInput in) {
    super.read(in);
    orientation = in.readInt();/*from  w ww  . j a va 2 s .c  o  m*/
    validMultiblock = in.readBoolean();
    selectedModule = in.readUTF();
}

From source file:net.caseif.ttt.util.helper.platform.BungeeHelper.java

@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
    if (!channel.equals("BungeeCord")) {
        return;//  w  w w  . j  a  va2  s. c o m
    }
    ByteArrayDataInput in = ByteStreams.newDataInput(message);
    String subchannel = in.readUTF();

    if (subchannel.equals("GetServers")) {
        List<String> servers = Arrays.asList(in.readUTF().split(","));

        if (!support) { // still need to verify that server is valid
            if (!servers.contains(TTTCore.config.get(ConfigKey.RETURN_SERVER))) {
                TTTCore.log.warning(TTTCore.locale.getLocalizable("error.bungee.configuration").localize());
            }
            support = true;
        } else {
            if (servers.contains(TTTCore.config.get(ConfigKey.RETURN_SERVER))) {
                sendPluginMessage("Connect", TTTCore.config.get(ConfigKey.RETURN_SERVER), player);
            } else {
                TTTCore.locale.getLocalizable("error.bungee.configuration").withPrefix(Color.ALERT)
                        .sendTo(player);
                TTTCore.locale.getLocalizable("error.report").withPrefix(Color.ALERT).sendTo(player);
            }

        }
    }
}

From source file:cpw.mods.fml.common.network.ModIdentifiersPacket.java

@Override
public FMLPacket consumePacket(byte[] data) {
    ByteArrayDataInput dat = ByteStreams.newDataInput(data);
    int listSize = dat.readInt();
    for (int i = 0; i < listSize; i++) {
        String modId = dat.readUTF();
        int networkId = dat.readInt();
        modIds.put(modId, networkId);/* ww  w  . ja  v a 2 s  .c o  m*/
    }
    return this;
}

From source file:io.github.apfelcreme.Guilds.Listener.BungeeMessageListener.java

public void onPluginMessageReceived(String s, final Player player, byte[] bytes) {
    if (!s.equals("Guilds") || !plugin.getGuildsConfig().useBungeeCord()) {
        return;//from   w  ww  .ja v a 2 s .c o  m
    }
    ByteArrayDataInput in = ByteStreams.newDataInput(bytes);
    String subChannel = in.readUTF();
    if (subChannel.equals("syncGuilds")) {
        String[] uuids = in.readUTF().split(" ");
        plugin.getGuildManager().loadGuilds();
        setPlayerStatus(uuids);
    } else if (subChannel.equals("syncAlliances")) {
        plugin.getAllianceManager().loadAlliances();
    } else if (subChannel.equals("syncGuild")) {
        Integer guildId = in.readInt();
        String[] uuids = in.readUTF().split(" ");
        plugin.getGuildManager().reloadGuild(guildId);
        setPlayerStatus(uuids);
    } else if (subChannel.equals("syncAlliance")) {
        Integer allianceId = in.readInt();
        plugin.getAllianceManager().reload(allianceId);
    } else if (subChannel.equals("SendPlayerHome")) {
        String uuid = in.readUTF();
        String guildName = in.readUTF();
        Guild guild = plugin.getGuildManager().getGuild(guildName);
        sendPlayerToGuildHome(uuid, guild);
    } else if (subChannel.equals("HomeServerUnreachable")) {
        String uuid = in.readUTF();
        GuildMember guildMember = plugin.getGuildManager().getGuildMember(UUID.fromString(uuid));
        if (guildMember != null) {
            plugin.getChat().sendMessage(guildMember,
                    plugin.getGuildsConfig().getText("error.homeServerUnreachable"));
        }
    } else if (subChannel.equals("PlayerJoined")) {
        String uuid = in.readUTF();
        GuildMember guildMember = plugin.getGuildManager().getGuildMember(UUID.fromString(uuid));
        if (guildMember != null) {
            guildMember.setOnline(true);
        }
    } else if (subChannel.equals("PlayerDisconnected")) {
        String uuid = in.readUTF();
        GuildMember guildMember = plugin.getGuildManager().getGuildMember(UUID.fromString(uuid));
        if (guildMember != null) {
            guildMember.setOnline(false);
        }
    }
}

From source file:net.portalblock.rbbridge.MessageChannelListener.java

@EventHandler
public void onPluginMessage(final PluginMessageEvent event) {
    if (event.getTag().equals("RedisBungee") && event.getSender() instanceof Server) {
        final byte[] data = Arrays.copyOf(event.getData(), event.getData().length);
        plugin.getProxy().getScheduler().runAsync(plugin, new Runnable() {
            @Override/*from   w w  w. j a  v a2s .  c o  m*/
            public void run() {
                ByteArrayDataInput in = ByteStreams.newDataInput(data);

                String subchannel = in.readUTF();
                ByteArrayDataOutput out = ByteStreams.newDataOutput();
                String type;

                switch (subchannel) {
                case "PlayerList":
                    out.writeUTF("PlayerList");
                    Set<UUID> original = Collections.emptySet();
                    type = in.readUTF();
                    if (type.equals("ALL")) {
                        out.writeUTF("ALL");
                        original = RedisBungee.getApi().getPlayersOnline();
                    } else {
                        try {
                            original = RedisBungee.getApi().getPlayersOnServer(type);
                        } catch (IllegalArgumentException ignored) {
                        }
                    }
                    Set<String> players = new HashSet<String>();
                    for (UUID uuid : original)
                        players.add(RedisBungee.getApi().getNameFromUuid(uuid, false));
                    out.writeUTF(Joiner.on(',').join(players));
                    break;
                case "PlayerCount":
                    out.writeUTF("PlayerCount");
                    type = in.readUTF();
                    if (type.equals("ALL")) {
                        out.writeUTF("ALL");
                        out.writeInt(RedisBungee.getApi().getPlayerCount());
                    } else {
                        out.writeUTF(type);
                        try {
                            out.writeInt(RedisBungee.getApi().getPlayersOnServer(type).size());
                        } catch (IllegalArgumentException e) {
                            out.writeInt(0);
                        }
                    }
                    break;
                case "LastOnline":
                    String user = in.readUTF();
                    out.writeUTF("LastOnline");
                    out.writeUTF(user);
                    out.writeLong(RedisBungee.getApi()
                            .getLastOnline(RedisBungee.getApi().getUuidFromName(user, true)));
                    break;
                default:
                    break;
                }

                ((Server) event.getSender()).sendData("RedisBungee", out.toByteArray());
            }
        });
    }
}

From source file:de.themoep.servertags.bukkit.ServerTags.java

@Override
public void onPluginMessageReceived(String channel, Player receiver, byte[] bytes) {
    if (channel.equalsIgnoreCase(getDescription().getName())) {
        ByteArrayDataInput in = ByteStreams.newDataInput(bytes);
        try {//  w  w  w  . java 2 s  . c  om
            String subchannel = in.readUTF();
            if ("serverInfo".equalsIgnoreCase(subchannel)) {
                try {
                    String playername = in.readUTF();
                    Player player = getServer().getPlayer(playername);
                    if (player != null) {
                        ServerInfo server = new ServerInfo("", "");
                        try {
                            String name = in.readUTF();
                            String tag = in.readUTF();
                            getLogger().info(name + " - " + tag);
                            server = new ServerInfo(name, tag);
                        } catch (IllegalStateException e) {
                            getLogger().log(Level.WARNING,
                                    "No server name or tag send in plugin message. Assuming empty one!");
                        }
                        ServerInfo oldServer = serverMap.put(player.getUniqueId(), server);
                        if (!server.equals(oldServer)) {
                            getServer().getPluginManager()
                                    .callEvent(new PlayerServerInfoChangeEvent(player, server, oldServer));
                        }
                    } else {
                        getLogger().log(Level.WARNING,
                                "The player with the name " + playername + " is not online (anymore?)");
                    }
                } catch (IllegalStateException e) {
                    getLogger().log(Level.SEVERE, "No playername in plugin message!");
                }
            } else {
                getLogger().log(Level.WARNING, "The subchannel " + subchannel + " is not supported!");
            }
        } catch (IllegalStateException e) {
            getLogger().log(Level.SEVERE, "No subchannel send in plugin message!");
        }
    }
}

From source file:io.github.aritzhack.aritzh.bds.BDSInt.java

protected BDSInt(ByteArrayDataInput input) {
    if (input == null) {
        this.data = 0;
        this.name = "";
        return;//from  w w w.  ja v a2 s. c  om
    }
    try {
        this.name = input.readUTF();
        this.data = input.readInt();
    } catch (Exception e) {
        throw new IllegalArgumentException("Could not parse BDSInt", e);
    }
}