Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Какое событие прыжка? Или как вычислить, когда игрок прыгает?

Креатив — проверку сделать легко, а лучше на флай сразу. Падает или нет — просто проверяем блок ещё ниже на isSolid()
 
Какая разница нажал пробел или нет, просто прыгнул с обрыва. Сочетания клавиш не передаются. Можно слушать PlayerMoveEvent, if (e.getTo().getY() - e.getFrom().getY() <= 1.0) и не меньше нуля
А если он прыгнул с обрыва, нажав пробел?
 
Если мне не изменяет память, нету ивента на проверку прыжка, если это не так, поправьте пожалуйста.
Остаётся вариант отслеживать PlayerMoveEvent и проверять наличие под игроком поршней, воды, лавы, лиан, лестниц, ступенек, забора, снега, люка, датчика дневного света, ворот, всех полублоков, ну вроде всё.
Правда это уже велосипед получается...

полублоки , снег, датчик не влияют на изменение y (имею ввиду целого числа), а лишь добавляют 0.5(если полублок
 
Какая разница нажал пробел или нет, просто прыгнул с обрыва. Сочетания клавиш не передаются. Можно слушать PlayerMoveEvent, if (e.getTo().getY() - e.getFrom().getY() <= 1.0) и не меньше нуля
Просто вычитать позицию ОТКУДА он прыгнул (техническими словами - переместился) от позиции КУДА он прыгнул. Если это себе представить, то не будет вопроса - упал он с высоты или в эту высоту поднялся (читай - подпрыгнул). Потому что если он именно УПАЛ, то не сработает второе условие...
if (e.getTo().getY() - e.getFrom().getY() <= 1.0 && e.getTo().getY() - e.getFrom().getY() >= 0)
 

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

Назад
Верх