Added Player->forceMovement check on teleport

This commit is contained in:
Shoghi Cervantes 2014-09-15 01:16:13 +02:00
parent 6c7e16d9d4
commit 9f9422f0ed

View File

@ -140,7 +140,8 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{
protected $isCrafting = false; protected $isCrafting = false;
public $loginData = []; public $loginData = [];
protected $lastMovement = 0; protected $lastMovement = 0;
protected $forceMovement = false; /** @var Vector3 */
protected $forceMovement = null;
protected $connected = true; protected $connected = true;
protected $ip; protected $ip;
protected $removeFormat = true; protected $removeFormat = true;
@ -1338,7 +1339,9 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{
$revert = false; $revert = false;
if($newPos->distance($this) > 100){ if($this->forceMovement instanceof Vector3 and $newPos->distance($this->forceMovement) > 0.1){
$revert = true;
}elseif($newPos->distance($this) > 100){
$this->server->getLogger()->warning($this->getName()." moved too quickly!"); $this->server->getLogger()->warning($this->getName()." moved too quickly!");
$revert = true; $revert = true;
}else{ }else{
@ -1396,6 +1399,8 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{
$pk->yaw = $this->yaw; $pk->yaw = $this->yaw;
$pk->teleport = true; $pk->teleport = true;
$this->directDataPacket($pk); $this->directDataPacket($pk);
}else{
$this->forceMovement = null;
} }
break; break;