本文整理汇总了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();
}