--- a/net/minecraft/world/effect/MobEffectInstance.java +++ b/net/minecraft/world/effect/MobEffectInstance.java @@ -216,6 +_,7 @@ int i = this.isInfiniteDuration() ? entity.tickCount : this.duration; if (entity.level() instanceof ServerLevel serverLevel && this.effect.value().shouldApplyEffectTickThisTick(i, this.amplifier) + && new io.papermc.paper.event.entity.EntityEffectTickEvent(entity.getBukkitLivingEntity(), org.bukkit.craftbukkit.potion.CraftPotionEffectType.minecraftHolderToBukkit(this.effect), this.amplifier).callEvent() // Paper - Add EntityEffectTickEvent && !this.effect.value().applyEffectTick(serverLevel, entity, this.amplifier)) { entity.removeEffect(this.effect); } @@ -408,7 +_,7 @@ .apply(instance, MobEffectInstance.Details::create) ) ); - public static final StreamCodec STREAM_CODEC = StreamCodec.recursive( + public static final StreamCodec STREAM_CODEC = StreamCodec.recursive( // Paper - Track codec depth codec -> StreamCodec.composite( ByteBufCodecs.VAR_INT, MobEffectInstance.Details::amplifier, @@ -420,7 +_,7 @@ MobEffectInstance.Details::showParticles, ByteBufCodecs.BOOL, MobEffectInstance.Details::showIcon, - codec.apply(ByteBufCodecs::optional), + codec.apply(ByteBufCodecs::increaseDepth).apply(ByteBufCodecs::optional), // Paper - Track codec depth MobEffectInstance.Details::hiddenEffect, MobEffectInstance.Details::new )