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

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

iD3LSY

Активный участник
Пользователь
Баллы
76
Доброго времени суток, ребят!)

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

Нужно будет просто узнать, на какой тип блока игрок упал, после прыжка (приземлился).
 
К сожалению события прыжка нет и отловить его не получится.
Подозреваю, что события приземления тоже не существует.
Можно самостоятельно их создать постоянно прослушивая события движения игрока.
 
К сожалению события прыжка нет и отловить его не получится.
Подозреваю, что события приземления тоже не существует.
Можно самостоятельно их создать постоянно прослушивая события движения игрока.
Ну то, что не существует это понятно. Но даже любой плагин паркура, удаляющий блок сзади, с которого ты прыгнул удаляет этот блок только тогда, когда ты приземлился на другой.

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

Это как пример можно вставить.
Entity.isOnGround() в помощь. Ещё при желании можно глянуть, где это значение меняется на true
 
Ну так я написал как это можно отследить.
В событии перемещения игрока проверять летит он или стоит на земле и какой под ним блок.
Ну при перемещении - да. Просто смотреть каком под ним блок, воздух это или какой-то другой. Но как выполнить проверку именно на приземление после того, как он полетал там где-то?
У игроков (или любых энтити, не помню) есть характеристика onGround. Скорее всего в бакките есть геттер этого значения. Ещё при желании можно глянуть, где это значение меняется на true
Не знаю. Толком не проверял. Я пытался загуглить тип, как детектнуть прыжок, но нифига не нашёл, кроме одной темы. Ничего толкового там не было.

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

Не знаю. Толком не проверял. Я пытался загуглить тип, как детектнуть прыжок, но нифига не нашёл, кроме одной темы. Ничего толкового там не было.

Про onGround, знаю. Он проверяет есть-ли под игроком блок, но опять-же, как и в ответе выше, я сказал: "Нужно узнать, когда под ним появился блок, после того, как его не было."
Ну храни в мапе информацию о том, кто находится в полёте. Как только onGround == true - значит игрок приземлился. Не забудь из мапы удалить только
 
Событие прыжка нет и игрок может полетать с читами например пол часика и приземлится на твой блок :D.
 
Назад
Верх