make sure damager is projectile in projectile event

This commit is contained in:
2022-03-17 20:57:48 +01:00
parent 94f97568d5
commit 643511df31
@@ -15,10 +15,10 @@ import java.util.UUID;
public class PlayerHitMountWithProjectileListener implements Listener { public class PlayerHitMountWithProjectileListener implements Listener {
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onPlayerAttackMount(org.bukkit.event.entity.EntityDamageByEntityEvent event) { public void onPlayerHitMountWithProjectile(org.bukkit.event.entity.EntityDamageByEntityEvent event) {
if (!(event.getDamager() instanceof Player) || event.getEntity().getPassengers().isEmpty()) return; if (!(event.getDamager() instanceof Projectile)) return;
Projectile projectile = (Projectile) event.getDamager(); Projectile projectile = (Projectile) event.getDamager();
if (!(projectile.getShooter() instanceof Player)) return; if (!(projectile.getShooter() instanceof Player) || event.getEntity().getPassengers().isEmpty()) return;
Entity entity = event.getEntity(); Entity entity = event.getEntity();
UUID damager = event.getDamager().getUniqueId(); UUID damager = event.getDamager().getUniqueId();
if (Util.processMountAttack(damager, entity)) if (Util.processMountAttack(damager, entity))