/NMS/ Как заставить моба атаковать?

  • Автор темы Автор темы molor
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

molor

Активный участник
Пользователь
Баллы
66
Такое дело. Есть один зомби, как заставить его атаковать другого моба (например, скелета)?
Порылся в исходниках ядра, нашёл в EntityInsentient.java метод setGoalTarget(). Но работает он как-то неправильно. Вызываю его на зомби:
Java:
net.minecraft.server.v1_11_R1.EntityZombie zombie = ...;
net.minecraft.server.v1_11_R1.EntitySkeleton nearby = ...;

zombie.setGoalTarget(nearby, TargetReason.CUSTOM, true);
После чего зомби словно начинает атаковать невидимая сила, в результате чего он в итоге умирает; скелет тем временем просто стоит на месте. Ошибок в консоли нет.

Что я делаю не так и как заставить этот код работать правильно? Хотелось бы, чтобы зомби начал атаковать скелета так же, как если бы скелет случайно выстрелил в него.
 
Последнее редактирование:
Тебе видимо нет.
Видимо, нет, Вы ведь показать пример кода опять не можете, а только мнение высказываете.
Реализовал желаемое через setGoalTarget(). Причиной того, почему зомби атаковала неизвестная сила, была моя ошибка (умудрился заставить entity атаковать самого себя, игнорируя аргумент nearby; забавно, что ядро не посчитало это ошибкой и не выбросило исключение). Закрываю, всем спасибо за ничего.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх