diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index ce32490c8..999ccae86 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -1150,7 +1150,7 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{ $pk = new MovePlayerPacket(); $pk->eid = 0; $pk->x = $from->x; - $pk->y = $from->y + $this->getEyeHeight() + 0.01; + $pk->y = $from->y + $this->getEyeHeight(); $pk->z = $from->z; $pk->bodyYaw = $from->yaw; $pk->pitch = $from->pitch; diff --git a/src/pocketmine/entity/Human.php b/src/pocketmine/entity/Human.php index aefb4dd6c..60d79ddbd 100644 --- a/src/pocketmine/entity/Human.php +++ b/src/pocketmine/entity/Human.php @@ -218,7 +218,9 @@ class Human extends Creature implements ProjectileSource, InventoryHolder{ $this->getInventory()->close($player); } } - $this->inventory = null; + foreach($this->inventory->getViewers() as $viewer){ + $viewer->removeWindow($this->inventory); + } parent::close(); } } diff --git a/src/pocketmine/tile/Chest.php b/src/pocketmine/tile/Chest.php index d61245f2d..e6042b017 100644 --- a/src/pocketmine/tile/Chest.php +++ b/src/pocketmine/tile/Chest.php @@ -59,11 +59,11 @@ class Chest extends Spawnable implements InventoryHolder, Container{ public function close(){ if($this->closed === false){ foreach($this->getInventory()->getViewers() as $player){ - $this->getInventory()->close($player); + $player->removeWindow($this->getInventory()); } - foreach($this->getRealInventory()->getViewers() as $player){ - $this->getRealInventory()->close($player); + foreach($this->getInventory()->getViewers() as $player){ + $player->removeWindow($this->getRealInventory()); } parent::close(); } diff --git a/src/pocketmine/tile/Furnace.php b/src/pocketmine/tile/Furnace.php index 99700110a..e1a21249a 100644 --- a/src/pocketmine/tile/Furnace.php +++ b/src/pocketmine/tile/Furnace.php @@ -71,7 +71,7 @@ class Furnace extends Tile implements InventoryHolder, Container{ public function close(){ if($this->closed === false){ foreach($this->getInventory()->getViewers() as $player){ - $this->getInventory()->close($player); + $player->removeWindow($this->getInventory()); } parent::close(); }