Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

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

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

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

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

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

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

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

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

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

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

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

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

    Баллы:
    173
    Skype:
    osip.fatkullin
    Имя в Minecraft:
    OsipXD
    Ну так я написал как это можно отследить.[DOUBLEPOST=1489774469,1489774424][/DOUBLEPOST]В событии перемещения игрока проверять летит он или стоит на земле и какой под ним блок.
     
  6. Dymeth

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

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

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

    Баллы:
    46
    Имя в Minecraft:
    opy
    Ну при перемещении - да. Просто смотреть каком под ним блок, воздух это или какой-то другой. Но как выполнить проверку именно на приземление после того, как он полетал там где-то?[DOUBLEPOST=1489774811][/DOUBLEPOST]
    Не знаю. Толком не проверял. Я пытался загуглить тип, как детектнуть прыжок, но нифига не нашёл, кроме одной темы. Ничего толкового там не было.

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

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

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

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

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

    alexandrage Администратор

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

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