public function onEntityShootBow(EntityShootBowEvent $event) { if (!$event->isCancelled()) { $arrow = $event->getProjectile(); $set = [$arrow->chunk, $arrow->nametag, $p]; $newArrow = new AbilityArrow(...$set); $p = $event->getEntity(); if ($p instanceof Player) { if (!$p->isCreative()) { $list = [1 => FireArrow::class, 5 => TeleportArrow::class, 7 => SpiderArrow::class, 9 => HealArrow::class, 12 => PowerArrow::class]; $inv = $p->getInventory(); foreach ($inv->getContents() as $k => $i) { $d = $i->getDamage(); if ($i->getID() == 351 && isset($list[$d])) { $i->setCount($i->getCount() - 1); $inv->setItem($k, $i); $p->sendMessage([1 => "FireArrow", 5 => "TeleportArrow", 7 => "SpiderArrow", 9 => "HealArrow", 12 => "PowerArrow"][$d]); $newArrow = new $list[$d](...$set); break; } } } } $event->setProjectile($newArrow); } }
public function onEntityUseBow(EntityShootBowEvent $event) { $entity = $event->getEntity(); if ($entity instanceof Player) { if ($entity->hasPermission("flamebows.use")) { $event->getProjectile()->setOnFire(500000000 * 20); } } }
public function onShoot(EntityShootBowEvent $e) { if ($e->isCancelled()) { return; } $p = $e->getEntity(); if (!$p instanceof Player) { return; } $n = $p->getName(); if (isset($this->dumdums[$n])) { if ($this->misfire($e->getBow())) { $e->setCancelled(); // Bow broke! $p->sendMessage("Dumdum failure!"); $this->getServer()->getPluginManager()->callEvent($cc = new ExplosionPrimeEvent($p, 4)); if ($cc->isCancelled()) { return; } $explosion = new Explosion($p, $this->dumdums[$n][0]); if (!$this->dumdums[$n][1]) { $explosion->explodeA(); } $explosion->explodeB(); return; } $arrow = $e->getProjectile(); $arrow->namedtag->setName("dumdum:" . implode(":", $this->dumdums[$n])); return; } if (!isset($this->shooters[$n])) { return; } if (!isset($this->shooters[$n])) { return; } $e->setCancelled(); // Disable it and replace it with our own if (!$p->isCreative()) { if (!$this->checkAmmo($p, true)) { $p->sendMessage("You are out of grenades"); $p->sendMessage("RPG disarmed"); unset($this->shoters[$n]); return; } if ($this->misfire($e->getBow())) { $p->sendMessage("RPG misfired!"); $this->fire($p, mt_rand(1, $this->shooters[$n][0]), 0.01); return; } // Since we are cancelling the event, we change the damage later $this->getServer()->getScheduler()->scheduleDelayedTask(new PluginCallbackTask($this, [$this, "breakBow"], [$n]), 5); } //echo "FORCE: ". $e->getForce()."\n"; //## DEBUG $this->fire($p, $this->shooters[$n][0], $this->shooters[$n][1]); }
public function onBowShoot(EntityShootBowEvent $event) { if ($this->plugin->status === "enabled" && $this->plugin->loginmanager[$event->getEntity()->getId()] === 0) { $event->setCancelled(true); } elseif ($this->plugin->safemode === true and $this->plugin->status !== "enabled") { $event->setCancelled(true); } }
public function onBowShoot(EntityShootBowEvent $event) { if ($this->plugin->status === "enabled" && $this->plugin->loginmanager[$event->getEntity()->getId()] !== true && $this->plugin->allowShoot !== true && $event->getPlayer() instanceof Player) { $event->setCancelled(true); } elseif ($this->plugin->safemode === true and $this->plugin->status !== "enabled") { $event->setCancelled(true); $event->getPlayer()->sendMessage($this->disable); } }
public function onBowShoot(EntityShootBowEvent $event) { $player = $event->getEntity()->getName(); $ps = $event->getEntity(); if (!is_file($this->getDataFolder() . $player . ".json")) { return true; } $data = file_get_contents($this->getDataFolder() . $player . ".json"); $decode = json_decode($data, true); if (!isset($decode["annihilator"])) { return true; } if ($decode["annihilator"] === "yes") { $event->setForce(100); $this->arrowtimeshot[$player] = intval($this->arrowtimeshot[$player]) - 1; $this->getServer()->getPlayer($player)->sendMessage("You have " . $this->arrowtimeshot[$player] . " shots left."); if (intval($this->arrowtimeshot[$player]) <= "0") { $ps->getInventory()->removeItem($this->bow); $ps->getInventory()->removeItem(Item::get(262, 0, 3)); $this->detransform($player); return true; } return true; } }
public function onVipShootBow(EntityShootBowEvent $event) { $player = $event->getEntity(); if (!$player instanceof Player or ($vip = $this->getVip($player)) === null) { return; } if ($vip->refuseToPvp()) { $event->setCancelled(true); return; } $this->arrowQueue[] = $event->getProjectile()->getId(); }
public function onBowUse(EntityShootBowEvent $event) { if ($event->getEntity() instanceof Player) { if ($this->disableBowUse) { $event->setCancelled(); } } return; }
public function onShootBow(EntityShootBowEvent $event) { $ent = $event->getEntity(); if (!$ent instanceof Player) { return; } if (!($ses = $this->getMain()->getSessions()->getSession($ent)) instanceof Session) { return; } if (!$ses->inSession($this)) { return; } if (!($d = $this->getPlayerData($ses)) instanceof PvpSessionData) { return; } $bow = $d->getBowLevel(); $hasFire = Settings::kitpvp_getBowInfo($bow)[4] > 0; if ($hasFire) { $event->getProjectile()->setDataFlag(Entity::DATA_FLAGS, Entity::DATA_FLAG_ONFIRE); } }