package immibis.bon.mcp;
import immibis.bon.NameSet;
/**
* E.g. "1.5.1 obfuscated", "1.5.1 SRG", "1.5.1 MCP" are NameSets.
*/
public class MinecraftNameSet extends NameSet {
public static enum Type {
OBF,
SRG,
MCP
}
public static enum Side {
UNIVERSAL,
CLIENT,
SERVER
}
public final Type type;
public final String mcVersion;
public final Side side;
public MinecraftNameSet(Type type, Side side, String mcVersion) {
this.type = type;
this.side = side;
this.mcVersion = mcVersion;
}
@Override
public boolean equals(Object obj) {
try {
MinecraftNameSet ns = (MinecraftNameSet)obj;
return ns.type == type && ns.side == side && ns.mcVersion.equals(mcVersion);
} catch(ClassCastException e) {
return false;
}
}
@Override
public int hashCode() {
return (side.ordinal() << 8) + type.ordinal() + mcVersion.hashCode();
}
@Override
public String toString() {
return mcVersion+" "+type+" "+side;
}
}