Bukkit - Как сделать определенную вещь через 60 секунд?

я новичок в языке программирования java. Я хочу сделать некоторый код после открытия приложения в течение одной минуты. Пожалуйста, как мне это сделать?

Здравствуйте, спасибо за все, что мне помогло! Теперь буду подробнее. Что я хочу сделать, так это плагин Bukkit, который через одну минуту, и если игрок что-то уронил, на консоли отображается информационное сообщение, например «Игроки двигаются», но я просто могу сделать так, чтобы появилось первое сообщение: «Игрок что-то уронил». и я думаю, что ошибка связана с логическим значением, которое я использовал. Пожалуйста, кто-нибудь может помочь мне с bukkit? Это мой код:

public class HgCake extends JavaPlugin implements Listener{
boolean reference = false;
@Override
public void onEnable() {
    Bukkit.getServer().getPluginManager().registerEvents(this, this);
}

@EventHandler
public void onDropItem (PlayerDropItemEvent e) {
    getLogger().info("Player dropped something");
    reference = true;

}

    public void onPlayerMove (PlayerMoveEvent e){
        if (reference = true){
            getLogger().info("Players are moving");


        }

}
 }

person PinguCraft    schedule 10.09.2013    source источник
comment
Добро пожаловать в StackOverflow! Похоже, вы хотите, чтобы мы написали для вас код. Хотя многие пользователи готовы создавать код для кодера, попавшего в беду, обычно они помогают только тогда, когда автор уже пытался решить проблему самостоятельно. Хороший способ продемонстрировать эти усилия — включить код, который вы уже написали, пример ввода (если есть), ожидаемый вывод и результат, который вы фактически получаете (вывод консоли, трассировка стека, ошибки компилятора — что угодно). применимый). Чем больше деталей вы предоставите, тем больше ответов вы, вероятно, получите.   -  person Henry Keiter    schedule 11.09.2013
comment
@HenryKeiter, но есть три ответа, ни один из которых не является кодом. вполне возможно, что спрашивающий ищет имя библиотечной функции, а не код   -  person necromancer    schedule 11.09.2013
comment
@progenhard полностью замораживание потока может оказаться невозможным (по сравнению с планированием), особенно в приложениях с изменяемой конфигурацией.   -  person om-nom-nom    schedule 11.09.2013


Ответы (2)


Один из способов - использовать какой-либо тип таймера. Если это Swing GUI, то Swing Timer (javax.swing.Timer), а если нет, то Utilities Timer (java.util.Timer) или ScheduledThreadPoolExecutor.

Обратите внимание, что для получения более конкретной и «полезной» справки вы захотите опубликовать то, что вы пробовали, включая соответствующий код; объяснить, как это не работает, в том числе показать все ошибки и исключения; а затем задавайте настолько подробно, насколько это необходимо, очень конкретные вопросы о том, чего именно вы не понимаете.

person Hovercraft Full Of Eels    schedule 10.09.2013

Используйте java.util.concurrent.ScheduledExecutorService см. пример в документация.

java.util.Timer — более простое решение.

person necromancer    schedule 10.09.2013