It determines farming by counting how often you enter/leave the same aerea, and how long (short) you stay there. If your drops get low you can switch to another aerea and stay there for a while.
Actually its not implemented to stop human farming but to stop bots. Unfortunately bots don't care much about low drops, all they do is gather and sell. So the code is a huge stick hitting the wrong animal