package joshie.progression.criteria;
import joshie.progression.api.criteria.ICriteria;
import joshie.progression.api.criteria.ITab;
import net.minecraft.item.ItemStack;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class Tab implements ITab {
private UUID uuid;
private String displayName;
private boolean isVisible;
private ItemStack stack;
private int sortIndex;
private List<ICriteria> criteria = new ArrayList();
public Tab setUniqueName(UUID uuid) {
this.uuid = uuid;
return this;
}
public Tab setDisplayName(String name) {
this.displayName = name;
return this;
}
public Tab setVisibility(boolean visibility) {
this.isVisible = visibility;
return this;
}
public Tab setStack(ItemStack stack) {
this.stack = stack;
return this;
}
public Tab setSortIndex(int index) {
this.sortIndex = index;
return this;
}
@Override
public UUID getUniqueID() {
return uuid;
}
@Override
public String getLocalisedName() {
return displayName;
}
@Override
public List<ICriteria> getCriteria() {
return criteria;
}
@Override
public boolean isVisible() {
return isVisible;
}
public ItemStack getIcon() {
return stack;
}
public int getSortIndex() {
return sortIndex;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Tab tab = (Tab) o;
return uuid != null ? uuid.equals(tab.uuid) : tab.uuid == null;
}
@Override
public int hashCode() {
return uuid != null ? uuid.hashCode() : 0;
}
}