Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Помогите Узнать онлайн BungeeCord через Plugin Messaging Channel

Discussion in 'Разработка плагинов для новичков' started by TheChest, Jan 22, 2016.

  1. Автор темы
    TheChest

    TheChest Активный участник Пользователь

    Trophy Points:
    66
    Имя в Minecraft:
    Chest
    Помогите пожалуйста разобраться как это сделать. Вот мой код:
    Code:
    package test;
    
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.plugin.messaging.PluginMessageListener;
    import org.bukkit.scheduler.BukkitRunnable;
    
    import com.google.common.io.ByteArrayDataInput;
    import com.google.common.io.ByteArrayDataOutput;
    import com.google.common.io.ByteStreams;
    public class test extends JavaPlugin implements Listener, PluginMessageListener {
        @Override
        public void onEnable(){
            this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
            this.getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", this);
            getServer().getPluginManager().registerEvents(this, this);
            test1();
        }
        public int allOnline;
       
        public void test1() {
            new BukkitRunnable(){
                public void run(){
                    getLogger().info("Запрашиваем онлайн");
                    ByteArrayDataOutput out = ByteStreams.newDataOutput();
                    out.writeUTF("PlayerCount");
                    out.writeUTF("ALL");
                }
            }.runTaskTimer(this, 0L, 20L);
        }
        @Override
        public void onPluginMessageReceived(String channel, Player player, byte[] message) {
            if (!channel.equals("BungeeCord")) {
                return;
            }
            ByteArrayDataInput in = ByteStreams.newDataInput(message);
            String subchannel = in.readUTF();
            if (subchannel.equals("PlayerCount")) { //этот код не выполняется
                allOnline = in.readInt();
                getLogger().info("Online: " + allOnline);
            }
        }
    }
    
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    TheChest

    TheChest Активный участник Пользователь

    Trophy Points:
    66
    Имя в Minecraft:
    Chest
  4. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Сначала нужно прочитать название сервера, а потом онлайн.
     

Share This Page