Как сделать задержку по тикам

Версия Minecraft
1.7.10
API
Forge
Решение
Нужно обрабатывать одно из событий TickEvent.
Если нужно регулярно повторять действие, то
Два варика:
1)
Java:
public void onTick(ServerTickEvent e){
   if((player.tickExisted - startTick) % period == 0)
       doIt();
}
2)
Java:
private int tick=0;

public void onTick(ServerTickEvent e){
    tick++;
    if(tick >= period){
        doIt();
        tick = 0;
    }
}
Если нужно сделать только один раз, то нужно еще добавить состояние, определяющее, нужно ли че-то отсчитывать и выполнять

Может быть, пригодится: https://forum.mcmodding.ru/threads/1-7-scheduler.6499/
7,099
324
1,510
Нужно обрабатывать одно из событий TickEvent.
Если нужно регулярно повторять действие, то
Два варика:
1)
Java:
public void onTick(ServerTickEvent e){
   if((player.tickExisted - startTick) % period == 0)
       doIt();
}
2)
Java:
private int tick=0;

public void onTick(ServerTickEvent e){
    tick++;
    if(tick >= period){
        doIt();
        tick = 0;
    }
}
Если нужно сделать только один раз, то нужно еще добавить состояние, определяющее, нужно ли че-то отсчитывать и выполнять

Может быть, пригодится: https://forum.mcmodding.ru/threads/1-7-scheduler.6499/
 
Сверху