diff --git a/src/com/sk89q/worldguard/bukkit/WorldGuardEntityListener.java b/src/com/sk89q/worldguard/bukkit/WorldGuardEntityListener.java index 4d6ed2a6..69196e9a 100644 --- a/src/com/sk89q/worldguard/bukkit/WorldGuardEntityListener.java +++ b/src/com/sk89q/worldguard/bukkit/WorldGuardEntityListener.java @@ -125,6 +125,7 @@ public void onEntityDamageByEntity(EntityDamageByEntityEvent event) { public void onEntityDamageByProjectile(EntityDamageByProjectileEvent event) { Entity defender = event.getEntity(); + Entity attacker = event.getDamager(); if (defender instanceof Player) { Player player = (Player)defender; @@ -133,6 +134,19 @@ public void onEntityDamageByProjectile(EntityDamageByProjectileEvent event) { event.setCancelled(true); return; } + + if (attacker != null && attacker instanceof Player) { + if (plugin.useRegions) { + Vector pt = toVector(defender.getLocation()); + + if (!plugin.regionManager.getApplicableRegions(pt) + .allowsFlag(AreaFlags.FLAG_PVP)) { + ((Player)attacker).sendMessage(ChatColor.DARK_RED + "You are in a no-PvP area."); + event.setCancelled(true); + return; + } + } + } } }