本文整理匯總了PHP中pocketmine\entity\Entity::addEffect方法的典型用法代碼示例。如果您正苦於以下問題:PHP Entity::addEffect方法的具體用法?PHP Entity::addEffect怎麽用?PHP Entity::addEffect使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pocketmine\entity\Entity
的用法示例。
在下文中一共展示了Entity::addEffect方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: onConsume
public function onConsume(Entity $human)
{
$pk = new EntityEventPacket();
$pk->eid = $human->getId();
$pk->event = EntityEventPacket::USE_ITEM;
if ($human instanceof Player) {
$human->dataPacket($pk);
}
Server::broadcastPacket($human->getViewers(), $pk);
$ev = new EntityEatItemEvent($human, $this);
$human->addSaturation($ev->getSaturationRestore());
$human->addFood($ev->getFoodRestore());
foreach ($ev->getAdditionalEffects() as $effect) {
$human->addEffect($effect);
}
$human->getInventory()->setItemInHand($ev->getResidue());
}
示例2: onConsume
public function onConsume(Entity $human)
{
$pk = new EntityEventPacket();
$pk->eid = $human->getId();
$pk->event = EntityEventPacket::USE_ITEM;
if ($human instanceof Player) {
$human->dataPacket($pk);
}
Server::broadcastPacket($human->getViewers(), $pk);
Server::getInstance()->getPluginManager()->callEvent($ev = new EntityDrinkPotionEvent($human, $this));
if (!$ev->isCancelled()) {
foreach ($ev->getEffects() as $effect) {
$human->addEffect($effect);
}
//Don't set the held item to glass bottle if we're in creative
if ($human instanceof Player) {
if ($human->getGamemode() === 1) {
return;
}
}
$human->getInventory()->setItemInHand(Item::get(self::GLASS_BOTTLE));
}
}
示例3: knockBack
public function knockBack(Entity $attacker, $damage, $x, $z, $base = 0.4)
{
Server::getInstance()->getLogger()->info(Main::PREFIX . "Herobrines bat attacked by " . $attacker->getName());
$attacker->knockBack($this, $damage * 2, -$x * 300, -$z * 300, $base);
$attacker_effect = Effect::getEffect(Effect::CONFUSION);
$attacker_effect->setDuration(15 * 20);
$attacker->addEffect($attacker_effect);
parent::knockBack($attacker, 0, 0, 0, 0);
$this->close();
}