blob: 5965ac8ff92b6148a9345f1e1e9772b16b53362f [file] [log] [blame] [raw]
package protocolsupport.protocol.storage;
import java.net.SocketAddress;
import java.util.HashMap;
public class ProtocolStorage {
private final static HashMap<SocketAddress, ProtocolVersion> protocolVersions = new HashMap<SocketAddress, ProtocolVersion>();
public static void clearData(SocketAddress address) {
protocolVersions.remove(address);
}
public static void setVersion(SocketAddress address, ProtocolVersion version) {
protocolVersions.put(address, version);
}
public static ProtocolVersion getVersion(SocketAddress address) {
ProtocolVersion version = protocolVersions.get(address);
return version == null ? ProtocolVersion.UNKNOWN : version;
}
public static enum ProtocolVersion {
MINECRAFT_1_8(47),
MINECRAFT_1_7_10(5),
MINECRAFT_1_7_5(4),
MINECRAFT_1_6_4(78),
MINECRAFT_1_6_2(74),
MINECRAFT_1_5_2(61),
UNKNOWN(-1);
private int id;
ProtocolVersion(int id) {
this.id = id;
}
public int getId() {
return id;
}
public static ProtocolVersion fromId(int id) {
switch (id) {
case 47: {
return MINECRAFT_1_8;
}
case 5: {
return MINECRAFT_1_7_10;
}
case 4: {
return MINECRAFT_1_7_5;
}
case 78: {
return MINECRAFT_1_6_4;
}
case 74: {
return MINECRAFT_1_6_2;
}
case 61: {
return MINECRAFT_1_5_2;
}
}
return UNKNOWN;
}
}
}