Войти или зарегистрироваться

Помогите Не работает PlayerInteractEvent при Material.AIR

  • Автор темы Автор темы BeYkeR
  • Дата начала Дата начала

BeYkeR

Старожил
Девелопер
Пользователь
Баллы
173
Есть кусочек кода:

PHP:
if(event.getAction() == Action.RIGHT_CLICK_AIR){
if(player.getItemInHand().getType() == Material.AIR){
//СУПЕР СЕКРЕТНЫЙ КОД
}
}
И непонятной мной причиной метод не работает, в чем ошибка ?
 
А теперь назови вещь у которой материал Воздух?
Тут скорей нужно проверять не пусто ли в руках.
Попробуй поставить отладочное сообщение на материал при клике по воздуху, чтобы точно видеть какой материал.
 
Насколько я помню, если в руке пусто player.getItemInHand() вернет null
 
А теперь назови вещь у которой материал Воздух?
Тут скорей нужно проверять не пусто ли в руках.
Попробуй поставить отладочное сообщение на материал при клике по воздуху, чтобы точно видеть какой материал.
Насколько я помню, если в руке пусто player.getItemInHand() вернет null

Назвать вещь ? Пустая ячейка в инвертаре.
Я взял материал потому что когда я использую:
PHP:
if(player.getItemInHand() == null)
Дальнейшие действия просто не идут или сыпятся ошибки из-за null.
И еще: Если вместо RIGHT_CLICK_AIR написать RIGHT_CLICK_BLOCK то код начнет работать, но если кликать воздух , то код не работает.
 
Код:
 if (player.getItemInHand().equals(Material.AIR)) {
            if (event.getAction().equals(Action.RIGHT_CLICK_BLOCK) || event.getAction().equals(Action.RIGHT_CLICK_AIR)) {
    //мб так...
  }
}
 
Начиная с последних версий Action RIGHT_CLICK_AIR будет "стрелять" только если у человека есть что-то в руках.
В противном случае Event просто не будет вызыван
 
Просто блок воздуха не взаимодействует ни с чем кроме блока, попробуйте в игре кликнуть по воздуху, не получится
 
Код:
    @EventHandler
    public void onInteract(PlayerInteractEvent e){
        if(e.getPlayer().getItemInHand() == null){
            if(e.getAction() == Action.LEFT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_AIR){
                //Твой супер-секретный код:3
            }
        }
    }
 
Назад
Верх