diff options
Diffstat (limited to 'patches/unapplied/server/0922-Add-BlockBreakProgressUpdateEvent.patch')
-rw-r--r-- | patches/unapplied/server/0922-Add-BlockBreakProgressUpdateEvent.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/patches/unapplied/server/0922-Add-BlockBreakProgressUpdateEvent.patch b/patches/unapplied/server/0922-Add-BlockBreakProgressUpdateEvent.patch new file mode 100644 index 0000000000..35b4cf39bc --- /dev/null +++ b/patches/unapplied/server/0922-Add-BlockBreakProgressUpdateEvent.patch @@ -0,0 +1,28 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Badbird5907 <[email protected]> +Date: Mon, 4 Mar 2024 22:18:28 -0500 +Subject: [PATCH] Add BlockBreakProgressUpdateEvent + + +diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java +index 7ab4e93ae11e3a510cb58aeed8029c19dfccf31d..b8c7894ad47280ecdc141e7075e3723156214e93 100644 +--- a/src/main/java/net/minecraft/server/level/ServerLevel.java ++++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +@@ -1290,6 +1290,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe + if (entity instanceof Player) entityhuman = (Player) entity; + // CraftBukkit end + ++ // Paper start - Add BlockBreakProgressUpdateEvent ++ // If a plugin is using this method to send destroy packets for a client-side only entity id, no block progress occurred on the server. ++ // Hence, do not call the event. ++ if (entity != null) { ++ float progressFloat = Mth.clamp(progress, 0, 10) / 10.0f; ++ org.bukkit.craftbukkit.block.CraftBlock bukkitBlock = org.bukkit.craftbukkit.block.CraftBlock.at(this, pos); ++ new io.papermc.paper.event.block.BlockBreakProgressUpdateEvent(bukkitBlock, progressFloat, entity.getBukkitEntity()) ++ .callEvent(); ++ } ++ // Paper end - Add BlockBreakProgressUpdateEvent ++ + while (iterator.hasNext()) { + ServerPlayer entityplayer = (ServerPlayer) iterator.next(); + |