package joshie.progression.criteria.triggers;
import joshie.progression.api.special.IStoreTriggerData;
import net.minecraft.nbt.NBTTagCompound;
import java.util.UUID;
public abstract class TriggerBaseBoolean extends TriggerBase implements IStoreTriggerData {
protected transient boolean value;
@Override
public boolean isCompleted() {
return value;
}
@Override
public boolean onFired(UUID uuid, Object... data) {
value = isTrue(data);
return true;
}
@Override
public int getPercentage() {
return value ? 100: 0;
}
@Override
public void readDataFromNBT(NBTTagCompound tag) {
value = tag.getBoolean("Value");
}
@Override
public void writeDataToNBT(NBTTagCompound tag) {
tag.setBoolean("Value", value);
}
//Helper Methods
public TriggerBaseBoolean copyBoolean(TriggerBaseBoolean trigger) {
trigger.value = value;
return trigger;
}
protected boolean isTrue(Object... data) {
return false;
}
protected void markTrue() {
value = true;
}
}