.

Статус
Закрыто для дальнейших ответов.
Java:
        for (int i=0; i < spisok.size(); i++) {
            int t = spisok.get(i);
            Bukkit.getScheduler().runTaskLater(this, new Runnable() {
                @Override
                public void run() {
                    start();
                }
            }, t*20);
        }
Попробуй это доработать.
 
Java:
        for (int i=0; i < spisok.size(); i++) {
            int t = spisok.get(i);
            Bukkit.getScheduler().runTaskLater(this, new Runnable() {
                @Override
                public void run() {
                    start();
                }
            }, t*20);
        }
Попробуй это доработать.
Да, я тоже думал про что-то вроде такого... Но если именно так - то шедулеры все-равно будут исполнятся в одно время.. Буду думать)
 
Java:
int nextDelay = 0;

for(int i : list)
{
    Bukkit.getScheduler().runTaskLater(plugin, new Runnable()
        {
            @Override
            public void run()
            {
                method();
            }
        }, (nextDelay + i) * 20);
       
    nextDelay += i;
}
 
Java:
int nextDelay = 0;

for(int i : list)
{
    Bukkit.getScheduler().runTaskLater(plugin, new Runnable()
        {
            @Override
            public void run()
            {
                method();
            }
        }, (nextDelay + i) * 20);
      
    nextDelay += i;
}
Я сделал немного по другому (раньше чем увидел новое сообщение) но вышло почти тоже самое)
Код:
List<Integer> changing_delay = getConfig().getIntegerList("GUI.changing_delay");
        int allTime = 0;
        for (Integer delay : changing_delay) {
            allTime += delay;
            Bukkit.getScheduler().runTaskLater(this, () -> {
                doSmth();
            }, allTime);
        }
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх