Использование Java кода

Версия Minecraft
1.7.10
Всем привет. Задам максимально глупый вопрос скорей всего, но я не понимаю, как это всё работает.
Вообщем, у меня есть стандартный код таймера, т.е. обратного отсчёта на нём, самого элементарного, но я не могу понять как его к примеру вывести на экран в майнкрафте, как отрендерить.

Java:
import java.util.*;
 
public class RunTimer {
    public static void main(String[] args) {
        TimerTask task = new TimerTask() {
            public void run() {
                System.out.println("Knock-Knock!");
            }
        };
        
        Timer timer = new Timer();
        timer.schedule(task, 3000);
        
        for ( int i = 0; i < 5; ++i ) {
            System.out.println("Do something...");
            try {
                Thread.sleep(1000);
            }
            catch (InterruptedException ie) {}
        }
        
        System.exit(0);
    }
}

Знаю, глупый вопрос, но я новичёк в этом.
 
Решение
Вообще можно гораздо проще сделать таймер, используя код майнкрафта. Брать у клиентского игрока переменную ticksExisted и делать проверку if(player.ticksExisted % 20 == 0) // выполнять каждую секунду

ReyMagos

Тег-бомбастер
412
7
121
Ты весь код закинул в main() только для примера надеюсь?

Кстати, я немного не понял зачем код после таймера с thread.sleep().
Если он нужен, то безопасно ли это? Есть уверенность, что не оставится весь поток и майн не зависнет?

Теперь про рендеринг. Ты хочешь отрендерить обратный отсчет, правильно? Если да, то посмотри как рисуется строка на экране (допустим командой title или когда ты пытаешься поспать днем). А чтобы брать оставшееся время бери до запуска таймера Date.currentTimeInMillis потом бери его еще раз и ищи разницу в секундах и выводи на экран,
 

tox1cozZ

aka Agravaine
8,456
598
2,893
Таймер - это другой поток. Не создавайте себе головную боль и делайте на тиках.
 
1,057
50
234
tick % n == 0
 
Сверху