From 9492b01d9739c9904fb3980539cc53a5e5e34a19 Mon Sep 17 00:00:00 2001 From: Psithief Date: Mon, 25 Jun 2012 21:43:56 +0800 Subject: [PATCH] Attempt to fix fake-players being invincible through superperms. A Player entity that's not an actual player will always return false for permissions, making it invincible. isOnline() seems to be an adequate check to determine the difference between a real player and a fake. --- .../java/ru/tehkode/modifyworld/handlers/EntityListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ru/tehkode/modifyworld/handlers/EntityListener.java b/src/main/java/ru/tehkode/modifyworld/handlers/EntityListener.java index 0f667ca..1440113 100644 --- a/src/main/java/ru/tehkode/modifyworld/handlers/EntityListener.java +++ b/src/main/java/ru/tehkode/modifyworld/handlers/EntityListener.java @@ -52,7 +52,7 @@ public class EntityListener extends ModifyworldListener { if (edbe.getEntity() instanceof Player) { player = (Player) edbe.getEntity(); - if (edbe.getDamager() != null) { // Prevent from taking damage by entity + if (edbe.getDamager() != null && player.isOnline()) { // Prevent from taking damage by entity if (_permissionDenied(player, "modifyworld.damage.take", edbe.getDamager())) { cancelDamageEvent(player, event); }