package joshie.progression.criteria.triggers; import joshie.progression.api.ProgressionAPI; import joshie.progression.api.criteria.ITrigger; import joshie.progression.api.criteria.ProgressionRule; import joshie.progression.api.special.DisplayMode; import joshie.progression.api.special.ICustomDescription; import joshie.progression.api.special.ICustomWidth; import java.util.UUID; @ProgressionRule(name="boolean", color=0xFF26C9FF, meta="onReceivedBoolean") public class TriggerBoolean extends TriggerBaseBoolean implements ICustomDescription, ICustomWidth { public String variable = "default"; public boolean isTrue = true; public String description = "Done some arbitrary thing you've tested for"; public int displayWidth = 75; @Override public ITrigger copy() { TriggerBoolean trigger = new TriggerBoolean(); trigger.description = description; trigger.displayWidth = displayWidth; trigger.variable = variable; trigger.isTrue = isTrue; return copyBoolean(trigger); } @Override public String getDescription() { return description; } @Override public int getWidth(DisplayMode mode) { return mode == DisplayMode.EDIT ? 100 : displayWidth; } @Override public boolean onFired(UUID uuid, Object... data) { boolean check = ProgressionAPI.player.getBoolean(uuid, variable, false); if (check == isTrue) { markTrue(); } return true; } }