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); } }
public function burstMode(ProjectileLaunchEvent $event) { $entity = $event->getEntity(); $player = $event->getEntity()->shootingEntity; if (!$player instanceof Player) { return; } if ($player->closed) { return; } if ($entity instanceof Snowball) { $this->getServer()->getScheduler()->scheduleDelayedTask(new BurstSnowballTask($this, $player), 10); $this->getServer()->getScheduler()->scheduleDelayedTask(new BurstSnowballTask($this, $player), 20); } }
public function burstMode(ProjectileLaunchEvent $event) { $entity = $event->getEntity(); $player = $event->getEntity()->shootingEntity; if ($player == null) { return; } if ($entity instanceof Snowball) { $this->getServer()->getScheduler()->scheduleDelayedTask(new CallbackTask([$this, "burstSnowball"], [$player]), 10); $this->getServer()->getScheduler()->scheduleDelayedTask(new CallbackTask([$this, "burstSnowball"], [$player]), 20); } if ($entity instanceof Arrow) { $this->getServer()->getScheduler()->scheduleDelayedTask(new CallbackTask([$this, "burstArrow"], [$player]), 10); $this->getServer()->getScheduler()->scheduleDelayedTask(new CallbackTask([$this, "burstArrow"], [$player]), 20); } }
public function checkArrow(ProjectileLaunchEvent $event) { if ($event->getEntity() instanceof Arrow) { $this->getServer()->getScheduler()->scheduleDelayedTask(new CallbackTask([$this, "removeArrow"], [$event]), 20); } }
public function onLaunch(ProjectileLaunchEvent $event) { $shooter = $event->getEntity()->shootingEntity; if ($shooter instanceof Player) { if ($this->checkSpawn($shooter, 5)) { $this->message($shooter, $this->get("cannot-spawn-pvp")); $event->setCancelled(); } } }
public function checkArrow(ProjectileLaunchEvent $event) { if ($event->getEntity() instanceof Arrow) { $this->getServer()->getScheduler()->scheduleDelayedTask(new removeArrowTask($event, $this->getServer()), 20); } }