pocketmine\event\entity\EntityShootBowEvent::getBow PHP Method

getBow() public method

public getBow ( ) : Item
return pocketmine\item\Item
    public function getBow()
    {
        return $this->bow;
    }

Usage Example

Exemplo n.º 1
0
 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]);
 }