Fixed FOV and attributes

This commit is contained in:
Dylan K. Taylor
2016-09-28 12:24:37 +01:00
parent 86ed0f1397
commit 8f9574dec5
3 changed files with 33 additions and 31 deletions

View File

@ -1213,23 +1213,6 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
return false;
}
public function entityBaseTick($tickDiff = 1){
$hasUpdate = parent::entityBaseTick($tickDiff);
$entries = $this->attributeMap->needSend();
if(count($entries) > 0){
$pk = new UpdateAttributesPacket();
$pk->entityId = 0;
$pk->entries = $entries;
$this->dataPacket($pk);
foreach($entries as $entry){
$entry->markSynchronized();
}
}
return $hasUpdate;
}
protected function checkGroundState($movX, $movY, $movZ, $dx, $dy, $dz){
if(!$this->onGround or $movY != 0){
$bb = clone $this->boundingBox;
@ -1468,6 +1451,20 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
}
protected function updateMovement(){
}
public function sendAttributes(bool $sendAll = false){
$entries = $sendAll ? $this->attributeMap->getAll() : $this->attributeMap->needSend();
if(count($entries) > 0){
$pk = new UpdateAttributesPacket();
$pk->entityId = 0;
$pk->entries = $entries;
$this->dataPacket($pk);
foreach($entries as $entry){
$entry->markSynchronized();
}
}
}
public function onUpdate($currentTick){
@ -1485,6 +1482,8 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
$this->lastUpdate = $currentTick;
$this->sendAttributes();
if(!$this->isAlive() and $this->spawned){
++$this->deadTicks;
if($this->deadTicks >= 10){
@ -1719,9 +1718,7 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
$pk->started = $this->level->stopTime == false;
$this->dataPacket($pk);
$pk = new SetHealthPacket();
$pk->health = $this->getHealth();
$this->dataPacket($pk);
$this->sendAttributes(true);
$this->server->getLogger()->info($this->getServer()->getLanguage()->translateString("pocketmine.player.logIn", [
TextFormat::AQUA . $this->username . TextFormat::WHITE,