@SubscribeEvent
public static void onBlockBreak(BlockEvent.BreakEvent event) {
Block.dropResources(event.getState(), (World) event.getWorld(), event.getPos());
event.getWorld().setBlock(event.getPos(), Blocks.BEDROCK.defaultBlockState(), Constants.BlockFlags.BLOCK_UPDATE);
event.setCanceled(true);
}
I ended up using the dropResources method in the Block class before placing the bedrock and canceling the event. Thanks for the pointers!