Just use this solution, others aren't good. Lemons minimum threshold is fine, but you don't want to eat to reach full (with exception to minThresh). Because if we are talking about efficiency, i'd be better to heal to 90 percent and let hp recover happen every minute
The reason why others aren't good is that they don't take into affect that a friggen loop is occurring. Doing random is pointless:
random(20,40)
when you are at 41hp, it will instantly recover at 40hp.
Same thing with doing < %