pocketmine\inventory\ContainerInventory::onOpen PHP Méthode

onOpen() public méthode

public onOpen ( Player $who )
$who pocketmine\Player
    public function onOpen(Player $who)
    {
        parent::onOpen($who);
        $pk = new ContainerOpenPacket();
        $pk->windowid = $who->getWindowId($this);
        $pk->type = $this->getType()->getNetworkType();
        $pk->slots = $this->getSize();
        $holder = $this->getHolder();
        if ($holder instanceof Vector3) {
            $pk->x = $holder->getX();
            $pk->y = $holder->getY();
            $pk->z = $holder->getZ();
        } else {
            $pk->x = $pk->y = $pk->z = 0;
        }
        if ($holder instanceof Entity) {
            $pk->entityId = $holder->getId();
        }
        $who->dataPacket($pk);
        $this->sendContents($who);
    }

Usage Example

 public function onOpen(Player $who)
 {
     parent::onOpen($who);
     if (count($this->getViewers()) === 1) {
         $pk = new TileEventPacket();
         $pk->x = $this->getHolder()->getX();
         $pk->y = $this->getHolder()->getY();
         $pk->z = $this->getHolder()->getZ();
         $pk->case1 = 1;
         $pk->case2 = 2;
         Server::broadcastPacket($this->getHolder()->getLevel()->getPlayers(), $pk);
     }
 }
All Usage Examples Of pocketmine\inventory\ContainerInventory::onOpen
ContainerInventory