myPlayer() might be null, try checking if it's not null in the ConditionalSleep
Also, you can define the amount of time the ConditionalSleep loop waits between each iteration like so:
(2nd parameter of the constructor)
new ConditionalSleep(random(15000, 25000), random(300,800)) {
public boolean condition() throws InterruptedException {
return condition;
}
}.sleep();