onLoop is basically a while(true) loop. It's the core of the script. It runs repeatedly until the script is stopped. 
 
	 
 
	ConditionalSleep is used to sleep until an action happens. I know a lot of people use this class for conditional sleeps:
 
	So to drop something, you may do:
 
	if(inventory.drop(itemId)) {
                Sleep.sleepUntil(() -> !inventory.contains(itemId), 2000);
                Thread.sleep(MethodProvider.random(100, 400));
            }
	It really cleans it up.