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

Помогите Детект прыжка и координат приземления.

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

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

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

    Баллы:
    76
    Доброго времени суток, ребят!)

    Этот вопрос, как я предполагаю будет последним, на ближайшее время. Помощь нужна либо в виде идеи, либо сразу кода :D. Вообще, мне нужны сами координаты приземления, а прыжок детектить мне не очень важно (для меня не очень важно, а для кода - хз).

    Нужно будет просто узнать, на какой тип блока игрок упал, после прыжка (приземлился).
     
  2. OsipXD

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

    Баллы:
    173
    Skype:
    osip.fatkullin
    Имя в Minecraft:
    OsipXD
    К сожалению события прыжка нет и отловить его не получится.
    Подозреваю, что события приземления тоже не существует.
    Можно самостоятельно их создать постоянно прослушивая события движения игрока.
     
  3. Автор темы
    iD3LSY

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

    Баллы:
    76
    Ну то, что не существует это понятно. Но даже любой плагин паркура, удаляющий блок сзади, с которого ты прыгнул удаляет этот блок только тогда, когда ты приземлился на другой.

    Это как пример можно вставить.
     
  4. OsipXD

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

    Баллы:
    173
    Skype:
    osip.fatkullin
    Имя в Minecraft:
    OsipXD
    Ну так я написал как это можно отследить.
    В событии перемещения игрока проверять летит он или стоит на земле и какой под ним блок.
     
  5. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Entity.isOnGround() в помощь. Ещё при желании можно глянуть, где это значение меняется на true
     
  6. Автор темы
    iD3LSY

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

    Баллы:
    76
    Ну при перемещении - да. Просто смотреть каком под ним блок, воздух это или какой-то другой. Но как выполнить проверку именно на приземление после того, как он полетал там где-то?
    Не знаю. Толком не проверял. Я пытался загуглить тип, как детектнуть прыжок, но нифига не нашёл, кроме одной темы. Ничего толкового там не было.

    Про onGround, знаю. Он проверяет есть-ли под игроком блок, но опять-же, как и в ответе выше, я сказал: "Нужно узнать, когда под ним появился блок, после того, как его не было."
     
  7. OsipXD

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

    Баллы:
    173
    Skype:
    osip.fatkullin
    Имя в Minecraft:
    OsipXD
    Ну так можно текущее состояние сохранять в какое-либо поле, чтобы в следующий вызов ивента сравнивать с новым состоянием.
     
  8. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Ну храни в мапе информацию о том, кто находится в полёте. Как только onGround == true - значит игрок приземлился. Не забудь из мапы удалить только
     
  9. alexandrage

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

    Баллы:
    173
    Событие прыжка нет и игрок может полетать с читами например пол часика и приземлится на твой блок :D.
     

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