29 lines
1.8 KiB
Diff
29 lines
1.8 KiB
Diff
--- 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<ByteBuf, MobEffectInstance.Details> STREAM_CODEC = StreamCodec.recursive(
|
|
+ public static final StreamCodec<net.minecraft.network.FriendlyByteBuf, MobEffectInstance.Details> 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
|
|
)
|