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

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем TheChest, 22 янв 2016.

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

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

    Баллы:
    66
    Имя в Minecraft:
    Chest
    Помогите пожалуйста разобраться как это сделать. Вот мой код:
    Код:
    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 Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Chest
  4. Den_Abr

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

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

Поделиться этой страницей