Помогите TAB на BungeeCord

Статус
Закрыто для дальнейших ответов.

Limon-mine

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Limon_MineDel
Каким способом можно сделать TAB на BungeeCord типо:
ВашСервер
Общий онлайн: онлайн
_____________________
список игроков
_____________________
вы на сервере: сервер
Есть 1 вариант, но он работает, но выдаёт ошибки в консоль.
Код:
    public static void tabset() {
        enabled = true;
        Executors.newCachedThreadPool().submit(new Runnable() {
            @Override
            public void run() {
                while (enabled) {
                    for (final ProxiedPlayer p : ProxyServer.getInstance().getPlayers()) {
                        p.setTabHeader(new ComponentBuilder(main.instance.getObject(p, "tab.header")).create(), new ComponentBuilder(main.instance.getObject(p, "tab.footer")).create());
                    }
                    try {
                        Thread.sleep(1 * 1000);
                    } catch (InterruptedException var3) {
                        var3.printStackTrace();
                    }
                }
            }
        });


        return;
    }

}

Код:
public String getObject(final ProxiedPlayer p, final String object) {
        try {
            int i = 0;
            String object2 = "";
            for (final String a : this.config.getStringList(object)) {
                if (++i > 1) {
                    object2 = String.valueOf(object2) + "\n";
                }
                object2 = String.valueOf(object2) + a;
            }
            final int online = ProxyServer.getInstance().getOnlineCount();
            final int ping = p.getPing();
            final String nick = p.getName();
            String server = "§aLoading..";
            try {
                server = p.getServer().getInfo().getName();
            } catch (Exception var8) {
                var8.printStackTrace();
            }
            return object2.replace("null", "").replaceAll("&", "§").replaceAll("%online%", String.valueOf(online)).replaceAll("%server%", String.valueOf(server)).replaceAll("%ping%", String.valueOf(ping)).replaceAll("%name%", String.valueOf(nick));
        } catch (Exception var7) {
            var7.printStackTrace();
            return null;
        }
Есть ещё какие - то варианты?
 
Ну начнём с того, что в банжи апи уже есть свои шедуллеры, то, что ты попытался сделать - дичь.

Код:
ProxyServer.getInstance().getProxy().getScheduler().schedule(this,  () -> {
            
for (ProxiedPlayer player : .getPlayers() {
       BaseComponent[] header = TextComponent.fromLegacyText("Вы находитесь на сервере..\nбла-бла-бла"); 
       BaseComponent[] footer = TextComponent.fromLegacyText("это нижняя часть таба");
       
       player.setTabHeader(header, footer);
}

        }, 1, TimeUnit.SECONDS);


)
 
Ну начнём с того, что в банжи апи уже есть свои шедуллеры, то, что ты попытался сделать - дичь.

Код:
ProxyServer.getInstance().getProxy().getScheduler().schedule(this,  () -> {
           
for (ProxiedPlayer player : .getPlayers() {
       BaseComponent[] header = TextComponent.fromLegacyText("Вы находитесь на сервере..\nбла-бла-бла");
       BaseComponent[] footer = TextComponent.fromLegacyText("это нижняя часть таба");
      
       player.setTabHeader(header, footer);
}

        }, 1, TimeUnit.SECONDS);


)
Код не мой. Взял у кого то на гит хабе.
 
Ну начнём с того, что в банжи апи уже есть свои шедуллеры, то, что ты попытался сделать - дичь.

Код:
ProxyServer.getInstance().getProxy().getScheduler().schedule(this,  () -> {
           
for (ProxiedPlayer player : .getPlayers() {
       BaseComponent[] header = TextComponent.fromLegacyText("Вы находитесь на сервере..\nбла-бла-бла");
       BaseComponent[] footer = TextComponent.fromLegacyText("это нижняя часть таба");
      
       player.setTabHeader(header, footer);
}

        }, 1, TimeUnit.SECONDS);


)
Попробовал. Этот код нечего не делает
 
Вопрос не решён!
 
Каким способом можно сделать TAB на BungeeCord типо:
ВашСервер
Общий онлайн: онлайн
_____________________
список игроков
_____________________
вы на сервере: сервер
Есть 1 вариант, но он работает, но выдаёт ошибки в консоль.
Код:
    public static void tabset() {
        enabled = true;
        Executors.newCachedThreadPool().submit(new Runnable() {
            @Override
            public void run() {
                while (enabled) {
                    for (final ProxiedPlayer p : ProxyServer.getInstance().getPlayers()) {
                        p.setTabHeader(new ComponentBuilder(main.instance.getObject(p, "tab.header")).create(), new ComponentBuilder(main.instance.getObject(p, "tab.footer")).create());
                    }
                    try {
                        Thread.sleep(1 * 1000);
                    } catch (InterruptedException var3) {
                        var3.printStackTrace();
                    }
                }
            }
        });


        return;
    }

}

Код:
public String getObject(final ProxiedPlayer p, final String object) {
        try {
            int i = 0;
            String object2 = "";
            for (final String a : this.config.getStringList(object)) {
                if (++i > 1) {
                    object2 = String.valueOf(object2) + "\n";
                }
                object2 = String.valueOf(object2) + a;
            }
            final int online = ProxyServer.getInstance().getOnlineCount();
            final int ping = p.getPing();
            final String nick = p.getName();
            String server = "§aLoading..";
            try {
                server = p.getServer().getInfo().getName();
            } catch (Exception var8) {
                var8.printStackTrace();
            }
            return object2.replace("null", "").replaceAll("&", "§").replaceAll("%online%", String.valueOf(online)).replaceAll("%server%", String.valueOf(server)).replaceAll("%ping%", String.valueOf(ping)).replaceAll("%name%", String.valueOf(nick));
        } catch (Exception var7) {
            var7.printStackTrace();
            return null;
        }
Есть ещё какие - то варианты?
Можно воспользоваться плагином https://www.spigotmc.org/resources/bungeetablistplus.313/ и его api для создания своего таб листа, чтобы не городить велосипеды.
 
Можно воспользоваться плагином https://www.spigotmc.org/resources/bungeetablistplus.313/ и его api для создания своего таб листа, чтобы не городить велосипеды.
Брать 1 плагин, что бы создать другой, смысла не вижу. Я просто создаю плагин где всё включёно таб , личные сообщения, система поиска с отображением если игрок не в сети, то сколько прошло от этого момента и т.д
 
Я буду пользоваться старым кодом, но переделанным.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх