Water mill rotates correctly with water flow

I will work on hammer mill when i get more time.

if something is wrong with the commit, format wise or anything else, tell me
getFlowDirection is a client only method. I had the same idea, unfortunately.