public function onProjectileLaunch(ProjectileLaunchEvent $event)
{
try {
$player = $event->getEntity()->shootingEntity;
if ($player instanceof Player and $event->getEntity() instanceof Arrow) {
if ($event->getEntity() instanceof Arrow) {
foreach ($this->plugin->gameLevelManager->levels as &$lv) {
if ($lv instanceof GameLevelModel) {
if (count($lv->joinedPlayers) === 0) {
continue;
}
if (isset($lv->currentMap)) {
if (isset($lv->currentMap->playerscores[$player->getName()])) {
$lv->currentMap->shooters[$event->getEntity()->getId()] = $player->getName();
$scores = $lv->currentMap->playerscores[$player->getName()];
$scores["shots"] = $scores["shots"] + 1;
$lv->currentMap->playerscores[$player->getName()] = $scores;
break;
}
}
}
}
}
}
} catch (\Exception $e) {
$this->plugin->printError($e);
}
}