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

Помогите Эвент наведения курсора на игрока

Это несколько иное. Я бы даже сказал - совсем другое. Это не то на что смотрит игрок, а то на что "нацелен" моб. Т.е. если стоит три игрока и рядом крипер - то крипер нацелен на одного из игроков (хотя может на него и не смотрит ;)). Если этого игрока убил другой крипер, то цель переопределяется и предоставляется возможность обработать это событие (допустим перевесить цель вместо Васи на Петю).
понятно
 
Может проще подсвечивать ник тогда когда он находится на определенном расстоянии? Без вычисления наведения?

Если же нужно именно когда "прицеливаешься".
То тут решения два:
1. Получаешь перечень блоков по направлению взора (вот пример из Laser) сканируешь все блоки и определяешь есть ли игрок в данном блоке, т.е. проверяешь координаты игрока в соотношении к каждому блоку. Вот пример из Laser: выбор всех Entity из списка блоков. Ну и соответственно - результат.
2. Вспоминешь школьные знания геометрии и вычисляешь расстояние от точки (кординты игрока) до линии (определяемой направлением взора). Если это расстояние меньше какого-то значения (допустим 1 блок) то подсвечиваешь ник.

И честно говоря, думаю в заданной задаче, предпочтительнее второй варинт: первый, как мне кажется, будет ресурсоемкий - это сканирование множества блоков в PlayerMoveEvent. Разве что поставить какой-то таймаут.


Это несколько иное. Я бы даже сказал - совсем другое. Это не то на что смотрит игрок, а то на что "нацелен" моб. Т.е. если стоит три игрока и рядом крипер - то крипер нацелен на одного из игроков (хотя может на него и не смотрит ;)). Если этого игрока убил другой крипер, то цель переопределяется и предоставляется возможность обработать это событие (допустим перевесить цель вместо Васи на Петю).
Ты хочешь сказать, что этот эвент срабатывает, когда моб агрится на кого-то?=)))
 
Ты хочешь сказать, что этот эвент срабатывает, когда моб агрится на кого-то?=)))
По идее - да. Хотя честно говоря, я не проверял когда именно он срабатывает. Поэтому рассуждают теоретически ;)
Но цель - это не только "агриться". К примеру, можно корове назначить целью курицу - и она будет за ней топать по пятам. Бодать не будет (хотя смысл такой же).
 
По идее - да. Хотя честно говоря, я не проверял когда именно он срабатывает. Поэтому рассуждают теоретически ;)
Но цель - это не только "агриться". К примеру, можно корове назначить целью курицу - и она будет за ней топать по пятам. Бодать не будет (хотя смысл такой же).
То есть это некая "привязка" энтити, к другому энтити?
 
По идее - да. Хотя честно говоря, я не проверял когда именно он срабатывает. Поэтому рассуждают теоретически ;)
Но цель - это не только "агриться". К примеру, можно корове назначить целью курицу - и она будет за ней топать по пятам. Бодать не будет (хотя смысл такой же).
По-моему как-то так на Mineplex'е и реализован режим Sheep Quest, невидимой курочкой, к которой идут овцы (вроде бы у овец нет метода setTargetBlock() или чего-то подобного).

P.S. Извиняюсь за оффтоп.
 
По-моему как-то так на Mineplex'е и реализован режим Sheep Quest, невидимой курочкой, к которой идут овцы (вроде бы у овец нет метода setTargetBlock() или чего-то подобного).

P.S. Извиняюсь за оффтоп.

навигация через NMS ?
 
Можно взять игроков поблизости (p.getNearbyPlayers(радиус x, радиус y, радиус z)) и сверять p.getEyeLocation() с координатами игроков поблизости.
Так я бы сделал, если бы не было форумов по Bukkit, в иных случаях пользуюсь поиском, преимущественно английским (Google: player target entity site:forums.bukkit.org).
 
Назад
Верх