From 7cf9c03735c12fb49f0415f1701e7fa903527777 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Pueyo Date: Tue, 5 Mar 2013 17:37:09 +0100 Subject: [PATCH] Better Entity attacking system --- src/Player.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Player.php b/src/Player.php index e5e133326..0cb7f8b56 100644 --- a/src/Player.php +++ b/src/Player.php @@ -681,11 +681,13 @@ class Player{ break; } if(isset($this->server->entities[$data["target"]]) and Utils::distance($this->entity->position, $this->server->entities[$data["target"]]->position) <= 8){ - if($this->handle("player.interact", $data) !== false){ - console("[DEBUG] EID ".$this->eid." attacked EID ".$data["target"], true, true, 2); - if($this->server->difficulty > 0){ - $this->server->api->entity->harm($data["target"], $this->server->difficulty, $this->eid); - } + $target = $this->server->api->entity->get($data["target"]); + $data["targetentity"] = $target; + $data["entity"] = $this->entity; + if(($target instanceof Entity) and $target->class === ENTITY_PLAYER and ($this->server->difficulty <= 0 or $target->gamemode === CREATIVE)){ + break; + }elseif($this->handle("player.interact", $data) !== false){ + $this->server->api->entity->harm($data["target"], $this->server->difficulty, $this->eid); } } break;