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

Помогите Анимация в скорборде с конфига

Тема в разделе "Разработка плагинов для новичков", создана пользователем _Murlooo_, 6 июл 2019.

  1. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Проще показать.
     
  2. Nikolai_Faint

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

    Баллы:
    96
    Дак а в чём проблема Iterator'ом пройтись? Или тем же forEach. Не понимаю.
     
  3. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Проблемы тут только у вас двоих.
    У меня же все просто и четко.
    Код:
    public class ScoreboardRun extends BukkitRunnable {
        private Plugin plugin;
        private Boards boards;
        private AnimationToList list;
    
        public ScoreboardRun(Plugin plugin, Boards boards) {
            this.plugin = plugin;
            this.boards = boards;
        }
       
        public void setList(AnimationToList list) {
            this.list = list;
        }
    
        @Override
        public void run() {
            String next = this.list.next();
            for (Player player : Bukkit.getOnlinePlayers()) {
                Board board = boards.getBoard(player);
                for(int i = 0; i<10; i++) {
                    if (this.plugin.getConfig().contains("b"+i)) {
                        String string = PlaceholderAPI.setPlaceholders(player, this.plugin.getConfig().getString("b"+i));
                        board.setScore(string, i);
                    }
                }
                board.setDisplayName(next);
            }
        }
    }
     
    Последнее редактирование: 7 июл 2019
  4. Nikolai_Faint

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

    Баллы:
    96
    :good:
     
  5. Nikolai_Faint

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

    Баллы:
    96
    Жестб какая. Зачем этот костыль?
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Поправил для перезагрузки листа.
     
  7. Nikolai_Faint

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

    Баллы:
    96
    А зачем это если можно i = list.size? Я чего-то не понимаю? И просто list.get(i)
     
  8. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Для зацикливания по кругу. Ты это 2 дня пытаешься понять.
     
  9. Nikolai_Faint

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

    Баллы:
    96
    И? Разве этот круг это не размер листа?
     
  10. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну как бы он и возвращается в 0 когда == размер.
     
  11. Nikolai_Faint

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

    Баллы:
    96
    Так разве не проще сделать цикл по размеру листа и брать строку по инкременту? Зачем юзать твои костыли?
     
  12. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    У меня и так все изи. Не знаю, где у вас сложности.
     
  13. Nikolai_Faint

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

    Баллы:
    96
    Какой изи? Жестб. Ты вчера предлагал создать аналог Iterator* для такой простой операции.
     
  14. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Тебе показалось.
     
  15. Nikolai_Faint

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

    Баллы:
    96
    Ну тут не поспоришь.
     
  16. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
  17. Nikolai_Faint

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

    Баллы:
    96
    Мы запускаем таймер в котором делаем цикл while пока есть элементы, и это лишь одно из возможных решений. В чём проблемы?
     
  18. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Действительно, го юзать трейд слип, вместо шедулера. Гениально.
     
  19. Nikolai_Faint

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

    Баллы:
    96
    В твоём примере мы и так юзаем шедулер, подставь туда while (iterator.hasNext) или же
    forEachRemaining, и будет тебе счастье.
     
  20. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Мне не нужно в 1 тик пропулять весь лист. Оно должно тикать со скоростью рантасктайм.
     

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