pocketmine\item\SpawnEgg::onActivate PHP Метод

onActivate() публичный Метод

public onActivate ( Level $level, Player $player, Block $block, Block $target, $face, $fx, $fy, $fz )
$level pocketmine\level\Level
$player pocketmine\Player
$block pocketmine\block\Block
$target pocketmine\block\Block
    public function onActivate(Level $level, Player $player, Block $block, Block $target, $face, $fx, $fy, $fz)
    {
        if ($target->getId() == Block::MONSTER_SPAWNER) {
            return true;
        } else {
            $entity = null;
            $chunk = $level->getChunk($block->getX() >> 4, $block->getZ() >> 4);
            if (!$chunk instanceof FullChunk) {
                return false;
            }
            $nbt = new CompoundTag("", ["Pos" => new ListTag("Pos", [new DoubleTag("", $block->getX() + 0.5), new DoubleTag("", $block->getY()), new DoubleTag("", $block->getZ() + 0.5)]), "Motion" => new ListTag("Motion", [new DoubleTag("", 0), new DoubleTag("", 0), new DoubleTag("", 0)]), "Rotation" => new ListTag("Rotation", [new FloatTag("", lcg_value() * 360), new FloatTag("", 0)])]);
            if ($this->hasCustomName()) {
                $nbt->CustomName = new StringTag("CustomName", $this->getCustomName());
            }
            $entity = Entity::createEntity($this->meta, $chunk, $nbt);
            if ($entity instanceof Entity) {
                if ($player->isSurvival()) {
                    --$this->count;
                }
                $entity->spawnToAll();
                return true;
            }
        }
        return false;
    }