add(0, $player->getEyeHeight(), 0), $directionVector, $player->yaw, $player->pitch); $this->addExtraTags($nbt); $projectile = Entity::createEntity($this->getProjectileEntityType(), $player->getLevel(), $nbt, $player); if($projectile !== null){ $projectile->setMotion($projectile->getMotion()->multiply($this->getThrowForce())); } $this->count--; if($projectile instanceof Projectile){ $projectileEv = new ProjectileLaunchEvent($projectile); $projectileEv->call(); if($projectileEv->isCancelled()){ $projectile->flagForDespawn(); }else{ $projectile->spawnToAll(); $player->getLevel()->broadcastLevelSoundEvent($player, LevelSoundEventPacket::SOUND_THROW, 0, EntityIds::PLAYER); } }elseif($projectile !== null){ $projectile->spawnToAll(); }else{ return false; } return true; } }