Minecraft Bukkit - Как я могу использовать сущности предметов и падающие блоки в качестве снарядов?

Извините за этот вопрос, я думаю, что, возможно, задавал раньше, но этот сайт сбивает с толку, и я просто не могу найти его где-нибудь. Я - разработчик плагинов Java, который в настоящее время находится в классе Data Structures and Algorithms, если это поможет узнать, насколько я пойму. Я был на серверах, где случайные предметы могут быть использованы в качестве снарядов, например, объекты с золотыми блоками или объекты с кусочками арбуза. Мне было интересно, знает ли кто-нибудь, как сделать предмет снарядом? Я полагаю, что мне нужно будет создать новый класс объектов с новыми методами и так далее, но я не уверен, как это работает, тем более, что я не могу изменить собственный код Minecraft.

Вся помощь очень ценится!

1 ответ

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

Entity arrow = event.getEntity();
Vector velocity = arrow.getVelocity();
Item item = arrow.getWorld().dropItem(arrow.getLocation(), ItemStack);
item.setVelocity(velocity);

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

Другие вопросы по тегам