1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите | Как реализовать? | Проверка времени задержки кнопки

Тема в разделе "Разработка плагинов для новичков", создана пользователем _MasterCapeXD_, 29 июн 2017.

  1. Автор темы
    _MasterCapeXD_

    _MasterCapeXD_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    Вообщем, у меня есть ивент PlayerInteractEvent, мне нужно, чтобы при правом клике запускался секундомер, но чтобы останавливался как только игрок отпустил кнопку мыши. В зависимости от времени задержки секундомер выведет разный интервал, который я уже буду использовать.

    Не знаю, как реализовать проверку времени задержки кнопки. Заранее спасибо!
     
  2. hyndorik

    hyndorik Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Скорее всего никак. А так с помощью KeyDown и KeyUp
     
  3. Автор темы
    _MasterCapeXD_

    _MasterCapeXD_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    Ну мне не обязательно через Spigot API, я имел ввиду методы Java
     
  4. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    На сервер не передается нажатий кнопок, только пакеты идут.
     
  5. GreenBudgie

    GreenBudgie Участник Пользователь

    Баллы:
    31
    Я почти уверен, что клиент отправляет пакеты с инфой о нажатии и отпускании кнопки. Покопайся немного в нмс и мб что-то откопаешь.
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Аж орнул.
     
  7. GreenBudgie

    GreenBudgie Участник Пользователь

    Баллы:
    31
    Да, я делаю вид, будто что-то знаю. Объясни, почему то, что я написал - бред.
     
  8. TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Баллы:
    76
    Бред.
     
  9. Типа админ:D

    Типа админ:D Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Qamulex
    Если бы это было, проблема с дюперами была бы давно уже решена
     
  10. HellsCoder

    HellsCoder Активный участник

    Баллы:
    61
    а чо они в нмс делать будут?
     
  11. xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Ты сможешь это сделать, но только с вещами, которые можно удерживать пкм.
    т.е. меч, щит.
     
  12. Автор темы
    _MasterCapeXD_

    _MasterCapeXD_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    _MasterCapeXD_
    Мне как-раз это и надо
     
  13. xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Ну сначала при правом клике заносишь игрока в мапу
    final Player p = ...;
    map.put(p, System.currentTimeMillis());
    Дальше:
    Возможно костыль:

    final int id = getScheduler().scheduleAsyncRepeatingTask(plugin, () -> {
    if (!p.isOnline()){
    // todo cancel & map.remove
    return;
    }
    if (!p.isBlocking()){
    long passed = System.currentTimeMillis() - map.get(p);
    // todo stuff
    // todo cancel & map.remove
    }

    }, 1L, 1L);
     

Поделиться этой страницей