Farming blocks placement check and drops

PR splitting as expected in #374.
Seems it's ready to be reviewed. 
Interesting choice for random. Couldn't this simply be random.nextInt(50) == 0

Currently it's 2 in 100 - either 0 or 1 will return true - which can be simplified to 1 in 50