public setProjectile ( |
||
$projectile |
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); } }