package net.minecraft.world.effect; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.LivingEntity; class AbsorptionMobEffect extends MobEffect { protected AbsorptionMobEffect(MobEffectCategory mobEffectCategory, int i) { super(mobEffectCategory, i); } @Override public boolean applyEffectTick(ServerLevel level, LivingEntity entity, int amplifier) { return entity.getAbsorptionAmount() > 0.0F; } @Override public boolean shouldApplyEffectTickThisTick(int duration, int amplifier) { return true; } @Override public void onEffectStarted(LivingEntity entity, int amplifier) { super.onEffectStarted(entity, amplifier); entity.setAbsorptionAmount(Math.max(entity.getAbsorptionAmount(), 4 * (1 + amplifier))); } }