package tc.oc.minecraft.protocol;
import java.util.Map;
import javax.annotation.Nullable;
import com.google.common.collect.ImmutableMap;
public enum MinecraftVersion {
MINECRAFT_1_7_5(4, "1.7.5"),
MINECRAFT_1_7_10(5, "1.7.10"),
MINECRAFT_1_8(47, "1.8"),
MINECRAFT_1_9(107, "1.9"),
MINECRAFT_1_9_1(108, "1.9.1"),
MINECRAFT_1_9_2(109, "1.9.2"),
MINECRAFT_1_9_4(110, "1.9.4"),
MINECRAFT_1_10(210, "1.10"),
MINECRAFT_1_11(315, "1.11"),
MINECRAFT_1_11_1(316, "1.11.1");
private final int protocol;
private final String version;
MinecraftVersion(int protocol, String version) {
this.protocol = protocol;
this.version = version;
}
public int protocol() {
return protocol;
}
public String version() {
return version;
}
public static String describeProtocol(int protocol) {
final MinecraftVersion mv = byProtocol(protocol);
return mv != null ? mv.version()
: "unknown." + protocol;
}
public static @Nullable MinecraftVersion byProtocol(int protocol) {
return byProtocol.get(protocol);
}
private static final Map<Integer, MinecraftVersion> byProtocol;
static {
ImmutableMap.Builder builder = ImmutableMap.builder();
for(MinecraftVersion version : values()) {
builder.put(version.protocol(), version);
}
byProtocol = builder.build();
}
}