Răsfoiți Sursa

I'd say no
But if the player can actually be off-line, be sure to add a comment
explaining why.

bm01 12 ani în urmă
părinte
comite
d3ec976f44

+ 8 - 16
src/main/java/com/gmail/nossr50/listeners/EntityListener.java

@@ -103,26 +103,19 @@ public class EntityListener implements Listener {
             }
         }
 
-        if (defender instanceof Player) {
+        if (defender instanceof Player && attacker instanceof Player) {
             Player defendingPlayer = (Player) defender;
+            Player attackingPlayer = (Player) attacker;
 
-            // TODO: Is this even possible?
-            if (!defendingPlayer.isOnline()) {
+            // TODO: Why?
+            if (defendingPlayer == attackingPlayer) {
                 return;
             }
-
-            if (attacker instanceof Player) {
-                Player attackingPlayer = (Player) attacker;
-
-                if (defendingPlayer == attackingPlayer) {
+            else if (PartyManager.inSameParty(defendingPlayer, attackingPlayer)) {
+                if (!(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) {
+                    event.setCancelled(true);
                     return;
                 }
-                else if (PartyManager.inSameParty(defendingPlayer, attackingPlayer)) {
-                    if (!(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) {
-                        event.setCancelled(true);
-                        return;
-                    }
-                }
             }
         }
 
@@ -163,8 +156,7 @@ public class EntityListener implements Listener {
         if (livingEntity instanceof Player) {
             Player player = (Player) entity;
 
-            // TODO: Is it even possible for the player to be off-line here?
-            if (!player.isOnline() || Misc.isNPCEntity(player)) {
+            if (Misc.isNPCEntity(player)) {
                 return;
             }