pocketmine\Player::checkNearEntities PHP Method

checkNearEntities() protected method

protected checkNearEntities ( $tickDiff )
    protected function checkNearEntities($tickDiff)
    {
        foreach ($this->level->getNearbyEntities($this->boundingBox->grow(0.5, 0.5, 0.5), $this) as $entity) {
            $entity->scheduleUpdate();
            if (!$entity->isAlive()) {
                continue;
            }
            if ($entity instanceof Arrow and $entity->hadCollision) {
                $item = Item::get(Item::ARROW, $entity->getPotionId(), 1);
                $add = false;
                if (!$this->server->allowInventoryCheats and !$this->isCreative()) {
                    if (!$this->getFloatingInventory()->canAddItem($item) or !$this->inventory->canAddItem($item)) {
                        //The item is added to the floating inventory to allow client to handle the pickup
                        //We have to also check if it can be added to the real inventory before sending packets.
                        continue;
                    }
                    $add = true;
                }
                $this->server->getPluginManager()->callEvent($ev = new InventoryPickupArrowEvent($this->inventory, $entity));
                if ($ev->isCancelled()) {
                    continue;
                }
                $pk = new TakeItemEntityPacket();
                $pk->eid = $this->getId();
                $pk->target = $entity->getId();
                Server::broadcastPacket($entity->getViewers(), $pk);
                $pk = new TakeItemEntityPacket();
                $pk->eid = 0;
                $pk->target = $entity->getId();
                $this->dataPacket($pk);
                if ($add) {
                    $this->getFloatingInventory()->addItem(clone $item);
                }
                $entity->kill();
            } elseif ($entity instanceof DroppedItem) {
                if ($entity->getPickupDelay() <= 0) {
                    $item = $entity->getItem();
                    if ($item instanceof Item) {
                        $add = false;
                        if (!$this->server->allowInventoryCheats and !$this->isCreative()) {
                            if (!$this->getFloatingInventory()->canAddItem($item) or !$this->inventory->canAddItem($item)) {
                                continue;
                            }
                            $add = true;
                        }
                        $this->server->getPluginManager()->callEvent($ev = new InventoryPickupItemEvent($this->inventory, $entity));
                        if ($ev->isCancelled()) {
                            continue;
                        }
                        switch ($item->getId()) {
                            case Item::WOOD:
                                $this->awardAchievement("mineWood");
                                break;
                            case Item::DIAMOND:
                                $this->awardAchievement("diamond");
                                break;
                        }
                        $pk = new TakeItemEntityPacket();
                        $pk->eid = $this->getId();
                        $pk->target = $entity->getId();
                        Server::broadcastPacket($entity->getViewers(), $pk);
                        $pk = new TakeItemEntityPacket();
                        $pk->eid = 0;
                        $pk->target = $entity->getId();
                        $this->dataPacket($pk);
                        if ($add) {
                            $this->getFloatingInventory()->addItem(clone $item);
                        }
                        $entity->kill();
                    }
                }
            }
        }
    }
Player