diff --git a/build-data/paper.at b/build-data/paper.at index 303fe449c..935a86c7b 100644 --- a/build-data/paper.at +++ b/build-data/paper.at @@ -188,6 +188,7 @@ public net.minecraft.world.entity.Display$TextDisplay getTextOpacity()B public net.minecraft.world.entity.Display$TextDisplay setFlags(B)V public net.minecraft.world.entity.Display$TextDisplay setText(Lnet/minecraft/network/chat/Component;)V public net.minecraft.world.entity.Display$TextDisplay setTextOpacity(B)V +public net.minecraft.world.entity.Entity DATA_TICKS_FROZEN public net.minecraft.world.entity.Entity FLAG_INVISIBLE public net.minecraft.world.entity.Entity getEncodeId()Ljava/lang/String; public net.minecraft.world.entity.Entity getFireImmuneTicks()I diff --git a/paper-server/patches/sources/net/minecraft/world/level/block/PowderSnowBlock.java.patch b/paper-server/patches/sources/net/minecraft/world/level/block/PowderSnowBlock.java.patch index 2fd9fda10..40ce13880 100644 --- a/paper-server/patches/sources/net/minecraft/world/level/block/PowderSnowBlock.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/level/block/PowderSnowBlock.java.patch @@ -1,10 +1,15 @@ --- a/net/minecraft/world/level/block/PowderSnowBlock.java +++ b/net/minecraft/world/level/block/PowderSnowBlock.java -@@ -60,6 +_,7 @@ +@@ -60,6 +_,12 @@ @Override protected void entityInside(BlockState state, Level level, BlockPos pos, Entity entity, InsideBlockEffectApplier effectApplier) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(level, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent ++ // Paper start - Add EntityInsideBlockEvent ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(level, pos)).callEvent()) { ++ entity.getEntityData().markDirty(net.minecraft.world.entity.Entity.DATA_TICKS_FROZEN); // prevent desync on cancelled event ++ return; ++ } ++ // Paper end - Add EntityInsideBlockEvent if (!(entity instanceof LivingEntity) || entity.getInBlockState().is(this)) { entity.makeStuckInBlock(state, new Vec3(0.9F, 1.5, 0.9F)); if (level.isClientSide) {