Ok I Am Trying To Give A Player A Effecf When They Hit A Player But It Isnt Working..... Here Is My Code PHP: ublic function onHurt(EntityDamageEvent $event){ $entity = $event->getEntity();if($event instanceof EntityDamageByEntityEvent){if($event instanceof Player){$killer = $event->getEntity()->getLastDamageCause()->getDamager();$cause = $event->getEntity()->getName();if($event->getDamager()->getInventory()->getItemInHand()->getId() === 272){ $event->getEntity()->addEffect(Effect::getEffect(10)->setAmplifier(1)->setDuration(6000)->setVisible(false)); } } } }
Use this instead of $event->getEntity()->addEffect(Effect::getEffect(10)->setAmplifier(1)->setDuration(6000)->setVisible(false)); (This wouldn't work anyways...) EDIT: It works $effect = Effect::getEffect(10); $effect->setAmplifier(1); $effect->setDuration(6000); $effect->setVisible(false); $entity->addEffect($effect);
It has no difference with $entity->addEffect(Effect::getEffect(10)->setAmplifier(1)->setDuration(6000)->setVisible(false));