Skip to content

EntityShootBowEvent: projectile.getVelocity() returns zero vector when shooter is not a player #12675

@mintychochip

Description

@mintychochip

Expected behavior

A vector of the arrow's velocity

Observed/Actual behavior

Image

Steps/models to reproduce

  1. Start a fresh or existing Paper server
  2. Register a listener for EntityShootBowEvent that logs event.getProjectile().getVelocity()
  3. Spawn a skeleton, wait for skeleton to shoot at a target
  4. Observe the logged velocity of the arrow

Plugin and Datapack List

Just a test plugin, with this handler

static final class BowListener implements Listener { @EventHandler(priority = EventPriority.MONITOR,ignoreCancelled = true) private void onShootBow(final EntityShootBowEvent event) { LivingEntity entity = event.getEntity(); if (entity instanceof Player) { return; } Bukkit.broadcast(Component.text(event.getProjectile().getVelocity().toString())); } }

Paper version

This server is running Paper version 1.21.4-232-ver/1.21.4@12d8fe0 (2025-06-09T10:15:42Z) (Implementing API version 1.21.4-R0.1-SNAPSHOT)
You are running the latest version
Previous version: 1.21.3-82-5a60ffb (MC: 1.21.3)

Other

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: acceptedDisputed bug is accepted as valid or Feature accepted as desired to be added.version: 1.21.4Game version 1.21.4version: 1.21.6Game version 1.21.6

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions