From e9b0a4d67c2328ef19aa28f20dbfe9784bebcbe5 Mon Sep 17 00:00:00 2001 From: eueln Date: Sun, 7 Dec 2014 13:20:48 -0600 Subject: [PATCH] Check projectile shooter's type before casting. Fixes #158 --- .../factions/listeners/FactionsEntityListener.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/massivecraft/factions/listeners/FactionsEntityListener.java b/src/main/java/com/massivecraft/factions/listeners/FactionsEntityListener.java index 0ab258be..a8ba44fa 100644 --- a/src/main/java/com/massivecraft/factions/listeners/FactionsEntityListener.java +++ b/src/main/java/com/massivecraft/factions/listeners/FactionsEntityListener.java @@ -260,7 +260,13 @@ public class FactionsEntityListener implements Listener { // for damage caused by projectiles, getDamager() returns the projectile... what we need to know is the source if (damager instanceof Projectile) { - damager = (Entity) ((Projectile) damager).getShooter(); + Projectile projectile = (Projectile) damager; + + if (!(projectile.getShooter() instanceof Entity)) { + return true; + } + + damager = (Entity) projectile.getShooter(); } if (damager == damagee) // ender pearl usage and other self-inflicted damage