本文整理匯總了PHP中pocketmine\event\entity\EntityShootBowEvent::setProjectile方法的典型用法代碼示例。如果您正苦於以下問題:PHP EntityShootBowEvent::setProjectile方法的具體用法?PHP EntityShootBowEvent::setProjectile怎麽用?PHP EntityShootBowEvent::setProjectile使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pocketmine\event\entity\EntityShootBowEvent
的用法示例。
在下文中一共展示了EntityShootBowEvent::setProjectile方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: onEntityShootBow
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);
}
}