--- a/net/minecraft/world/level/material/WaterFluid.java
+++ b/net/minecraft/world/level/material/WaterFluid.java
@@ -80,6 +80,13 @@
         return world.getGameRules().getBoolean(GameRules.RULE_WATER_SOURCE_CONVERSION);
     }
 
+    // Paper start - Add BlockBreakBlockEvent
+    @Override
+    protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state,  BlockPos source) {
+        BlockEntity tileentity = state.hasBlockEntity() ? world.getBlockEntity(pos) : null;
+        Block.dropResources(state, world, pos, tileentity, source);
+    }
+    // Paper end - Add BlockBreakBlockEvent
     @Override
     protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state) {
         BlockEntity blockEntity = state.hasBlockEntity() ? world.getBlockEntity(pos) : null;
@@ -118,7 +125,7 @@
 
     @Override
     protected float getExplosionResistance() {
-        return 100.0F;
+        return Blocks.WATER.getExplosionResistance(); // Paper - Get explosion resistance from actual block
     }
 
     @Override
