From c3ceeb6f79b4258d3c966f34aeafb7ca6d72e41a Mon Sep 17 00:00:00 2001 From: Doc Date: Thu, 4 Jul 2024 20:48:21 +1000 Subject: [PATCH] SPIGOT-7814: Call PlayerShearEntityEvent for Bogged --- .../minecraft/world/entity/monster/Bogged.patch | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 nms-patches/net/minecraft/world/entity/monster/Bogged.patch diff --git a/nms-patches/net/minecraft/world/entity/monster/Bogged.patch b/nms-patches/net/minecraft/world/entity/monster/Bogged.patch new file mode 100644 index 000000000..05fc9bf8c --- /dev/null +++ b/nms-patches/net/minecraft/world/entity/monster/Bogged.patch @@ -0,0 +1,15 @@ +--- a/net/minecraft/world/entity/monster/Bogged.java ++++ b/net/minecraft/world/entity/monster/Bogged.java +@@ -79,6 +79,12 @@ + ItemStack itemstack = entityhuman.getItemInHand(enumhand); + + if (itemstack.is(Items.SHEARS) && this.readyForShearing()) { ++ // CraftBukkit start ++ if (!org.bukkit.craftbukkit.event.CraftEventFactory.handlePlayerShearEntityEvent(entityhuman, this, itemstack, enumhand)) { ++ this.getEntityData().markDirty(Bogged.DATA_SHEARED); // CraftBukkit - mark dirty to restore sheared state to clients ++ return EnumInteractionResult.PASS; ++ } ++ // CraftBukkit end + this.shear(SoundCategory.PLAYERS); + this.gameEvent(GameEvent.SHEAR, entityhuman); + if (!this.level().isClientSide) {