1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Limon-mine, 10 июн 2022.

Статус темы:
Закрыта.
  1. Автор темы
    Limon-mine

    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;
            }
    Есть ещё какие - то варианты?
     
  2. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Ну начнём с того, что в банжи апи уже есть свои шедуллеры, то, что ты попытался сделать - дичь.

    Код:
    
    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);
    
    
    )
    
     
  3. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Код не мой. Взял у кого то на гит хабе.
     
  4. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Попробовал. Этот код нечего не делает
     
  5. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Вопрос не решён!
     
  6. MurlikMurlik

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

    Баллы:
    96
    Можно воспользоваться плагином https://www.spigotmc.org/resources/bungeetablistplus.313/ и его api для создания своего таб листа, чтобы не городить велосипеды.
     
  7. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Брать 1 плагин, что бы создать другой, смысла не вижу. Я просто создаю плагин где всё включёно таб , личные сообщения, система поиска с отображением если игрок не в сети, то сколько прошло от этого момента и т.д
     
  8. Автор темы
    Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    Я буду пользоваться старым кодом, но переделанным.
     
Статус темы:
Закрыта.

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