--- a/net/minecraft/world/entity/Shearable.java +++ b/net/minecraft/world/entity/Shearable.java @@ -5,7 +5,15 @@ import net.minecraft.world.item.ItemStack; public interface Shearable { + default void shear(ServerLevel world, SoundSource soundCategory, ItemStack shears, java.util.List drops) { this.shear(world, soundCategory, shears); } // Paper - Add drops to shear events void shear(ServerLevel world, SoundSource shearedSoundCategory, ItemStack shears); boolean readyForShearing(); + net.minecraft.world.level.Level level(); // Shearable API - expose default level needed for shearing. + + // Paper start - custom shear drops; ensure all implementing entities override this + default java.util.List generateDefaultDrops(final ServerLevel serverLevel, final ItemStack shears) { + return java.util.Collections.emptyList(); + } + // Paper end - custom shear drops }