Как исправить правый клик в PlayerInteractEvent?

  • Автор темы Автор темы Mikyc
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Mikyc

Участник
Баллы
31
Всем привет, вот проблема которая есть не только у меня, но посетив большинство форумов с этой проблемой я так и не нашёл ответа.
Вот есть такая штука:
Код:
    public void interract(PlayerInteractEvent e) {
        if (e.getAction() == Action.RIGHT_CLICK_BLOCK) {
            //что-нибудь
        }
        if (e.getAction() == Action.LEFT_CLICK_BLOCK) {
            //что-нибудь
        }
}
RIGHT_CLICK_BLOCK срабатывает 2 раза. Прочитав темы на форумах я понял что это пошло ещё из версии 1.9 когда добавили вторую руку.
Не знаю почему но почти везде был написан как решение этот код:
Код:
if (e.getHand() == EquipmentSlot.HAND) {
    //что-нибудь
}
if (e.getHand() == EquipmentSlot.OFF_HAND) {
    //что-нибудь
}
Но он тоже работает так же как и раньше. Как можно исправить двойное срабатывания условия?
Может быть это я что-то не так понимаю
 
PlayerInteractEvent сначала проверяет HAND, а затем OFF_HAND, поэтому у тебя два раза срабатывает код.
 
Всем привет, вот проблема которая есть не только у меня, но посетив большинство форумов с этой проблемой я так и не нашёл ответа.
Вот есть такая штука:
Код:
    public void interract(PlayerInteractEvent e) {
        if (e.getAction() == Action.RIGHT_CLICK_BLOCK) {
            //что-нибудь
        }
        if (e.getAction() == Action.LEFT_CLICK_BLOCK) {
            //что-нибудь
        }
}
RIGHT_CLICK_BLOCK срабатывает 2 раза. Прочитав темы на форумах я понял что это пошло ещё из версии 1.9 когда добавили вторую руку.
Не знаю почему но почти везде был написан как решение этот код:
Код:
if (e.getHand() == EquipmentSlot.HAND) {
    //что-нибудь
}
if (e.getHand() == EquipmentSlot.OFF_HAND) {
    //что-нибудь
}
Но он тоже работает так же как и раньше. Как можно исправить двойное срабатывания условия?
Может быть это я что-то не так понимаю
Взаимодействие правой кнопкой мыши вызывает дважды ивент PlayerInteractEvent на каждую руку.
Поэтому, тебе надо проверить, с какой рукой ты хочешь иметь дело, прежде чем что то выполнять дальше.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх