Войти или зарегистрироваться

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

TheChest

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