Я хочу подождать 300 мс после запуска 2 строк, чтобы снова запустить те же 2 строки, не останавливая поток.
wait(300);
и Thread.sleep(300);
вместе с некоторым циклом, который я нашел в SO (ниже)либо заморозьте поток, либо выйдите из него (?), либо запустите поток, выполнив функцию миллион раз.
Я хочу подождать 300 миллисекунд, а затем запустить
mc.player.rotationPitch = 90;
mc.playerController.processRightClick(mc.player, mc.world, hand);
без замораживания потока, поскольку иногда он не работает должным образом, если поток заморожен, и это раздражает пользователя, если он будет зависать каждый раз.
Я пытался wait,
Thread.sleep
, TimeUnit.MILLISECONDS.sleep
и
long lastNanoTime = System.nanoTime();
long nowTime = System.nanoTime();
while(nowTime/1000000 - lastNanoTime /1000000 < 300 )
{
nowTime = System.nanoTime();
System.out.println("KAMI: Tried to pick up bucket");
}
Я уже показал соответствующие примеры выше. Полный код здесь
Ожидается: поток работает нормально, и мои 2 строки (шаг вращения и щелчок правой кнопкой мыши) проходят через 300 миллисекунд после предыдущего шага вращения и щелчка правой кнопкой мыши
Фактические результаты: прокомментированы в коде. В зависимости от используемого метода поток либо лагает, либо выходит, либо падает