public function remove(Entity $entity)
{
if ($entity instanceof Player) {
$pk = new MobEffectPacket();
$pk->eid = 0;
$pk->eventId = MobEffectPacket::EVENT_REMOVE;
$pk->effectId = $this->getId();
$entity->dataPacket($pk);
if ($this->id === Effect::SPEED) {
$attr = $entity->getAttributeMap()->getAttribute(Attribute::MOVEMENT_SPEED);
$attr->setValue($attr->getValue() / (1 + 0.2 * ($this->amplifier + 1)));
} elseif ($this->id === Effect::SLOWNESS) {
$attr = $entity->getAttributeMap()->getAttribute(Attribute::MOVEMENT_SPEED);
$attr->setValue($attr->getValue() / (1 - 0.15 * ($this->amplifier + 1)));
}
}
if ($this->id === Effect::INVISIBILITY) {
$entity->setDataFlag(Entity::DATA_FLAGS, Entity::DATA_FLAG_INVISIBLE, false);
$entity->setDataProperty(Entity::DATA_SHOW_NAMETAG, Entity::DATA_TYPE_BYTE, 1);
}
}