diff --git a/paper-server/patches/sources/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java.patch b/paper-server/patches/sources/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java.patch index deed8bfe39..4e793f4817 100644 --- a/paper-server/patches/sources/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java.patch +++ b/paper-server/patches/sources/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java.patch @@ -32,7 +32,7 @@ if (this.isSuccess()) { item.hurtAndBreak(1, serverLevel, null, item1 -> {}); } -@@ -50,13 +_,21 @@ +@@ -50,14 +_,22 @@ return false; } @@ -44,6 +44,7 @@ } if (entity instanceof Shearable shearable && shearable.readyForShearing()) { +- shearable.shear(level, SoundSource.BLOCKS, stack); + // CraftBukkit start + // Paper start - Add drops to shear events + org.bukkit.event.block.BlockShearEntityEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callBlockShearEntityEvent(entity, bukkitBlock, craftItem, shearable.generateDefaultDrops(level, stack)); @@ -52,6 +53,7 @@ + continue; + } + // CraftBukkit end - shearable.shear(level, SoundSource.BLOCKS, stack); ++ shearable.shear(level, SoundSource.BLOCKS, stack, org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getDrops())); // Paper - Add drops to shear events level.gameEvent(null, GameEvent.SHEAR, pos); return true; + }