package joshie.progression.api.criteria;
import joshie.progression.api.special.IHasEventBus;
import java.util.UUID;
public interface ITrigger extends IRule<ITriggerProvider>, IHasEventBus {
/** This should create an exact copy of this object type,
* This is used so that players have their own unique, versions,
* for storing the data. If you don't return,
* an exact copy, then everything will not work correctly */
public ITrigger copy();
/** Called to fire this trigger
* @return return false if the trigger cancelled the event **/
public boolean onFired(UUID uuid, Object... data);
/** Called to determine if this trigger has been completed as of yet **/
public boolean isCompleted();
/** Returns the percentage completion **/
public int getPercentage();
}