From f0d612828264b75b8ca0a4aeeb76b34c9c63d808 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Sun, 7 Dec 2014 15:18:14 +0100 Subject: [PATCH] Use squared distance on movement handling --- src/pocketmine/Player.php | 4 ++-- src/pocketmine/entity/Projectile.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index c7f56ef5c..1ad293fbe 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -1146,7 +1146,7 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{ $this->server->getPluginManager()->callEvent($ev); if(!($revert = $ev->isCancelled())){ //Yes, this is intended - if($to->distance($ev->getTo()) > 0.1){ //If plugins modify the destination + if($to->distanceSquared($ev->getTo()) > 0.01){ //If plugins modify the destination $this->teleport($ev->getTo()); }else{ $pk = new MovePlayerPacket(); @@ -1530,7 +1530,7 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{ $this->forceMovement = new Vector3($this->x, $this->y, $this->z); } - if($this->forceMovement instanceof Vector3 and ($revert or $newPos->distance($this->forceMovement) > 0.2)){ + if($this->forceMovement instanceof Vector3 and ($revert or $newPos->distanceSquared($this->forceMovement) > 0.04)){ $pk = new MovePlayerPacket(); $pk->eid = 0; $pk->x = $this->forceMovement->x; diff --git a/src/pocketmine/entity/Projectile.php b/src/pocketmine/entity/Projectile.php index 33a4872b1..f724bb598 100644 --- a/src/pocketmine/entity/Projectile.php +++ b/src/pocketmine/entity/Projectile.php @@ -119,7 +119,7 @@ abstract class Projectile extends Entity{ continue; } - $distance = $this->distance($ob->hitVector); + $distance = $this->distanceSquared($ob->hitVector); if($distance < $nearDistance){ $nearDistance = $distance;