-
Notifications
You must be signed in to change notification settings - Fork 78
/
Version.java
139 lines (124 loc) · 2.73 KB
/
Version.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package com.github.stefvanschie.inventoryframework.util.version;
import com.github.stefvanschie.inventoryframework.exception.UnsupportedVersionException;
import org.bukkit.Bukkit;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
/**
* The different supported NMS versions
*
* @since 0.8.0
*/
public enum Version {
/**
* Version 1.14
*
* @since 0.10.0
*/
V1_14,
/**
* Version 1.15
*
* @since 0.10.0
*/
V1_15,
/**
* Version 1.16.1
*
* @since 0.10.0
*/
V1_16_1,
/**
* Version 1.16.2 - 1.16.3
*
* @since 0.10.0
*/
V1_16_2_3,
/**
* Version 1.16.4 - 1.16.5
*
* @since 0.10.0
*/
V1_16_4_5,
/**
* Version 1.17
*
* @since 0.10.0
*/
V1_17_0,
/**
* Version 1.17.1
*
* @since 0.10.0
*/
V1_17_1,
/**
* Version 1.18.0
*
* @since 0.10.4
*/
V1_18_0,
/**
* Version 1.18.1
*
* @since 0.10.4
*/
V1_18_1,
/**
* Version 1.18.2
*
* @since 0.10.5
*/
V1_18_2,
/**
* Version 1.19
*
* @since 0.10.6
*/
V1_19;
/**
* Gets the version currently being used. If the used version is not supported, an
* {@link UnsupportedVersionException} will be thrown.
*
* @return the version of the current instance
* @since 0.8.0
*/
@NotNull
@Contract(pure = true)
public static Version getVersion() {
String version = Bukkit.getBukkitVersion().split("-")[0];
switch (version) {
case "1.14":
case "1.14.1":
case "1.14.2":
case "1.14.3":
case "1.14.4":
return V1_14;
case "1.15":
case "1.15.1":
case "1.15.2":
return V1_15;
case "1.16.1":
return V1_16_1;
case "1.16.2":
case "1.16.3":
return V1_16_2_3;
case "1.16.4":
case "1.16.5":
return V1_16_4_5;
case "1.17":
return V1_17_0;
case "1.17.1":
return V1_17_1;
case "1.18":
return V1_18_0;
case "1.18.1":
return V1_18_1;
case "1.18.2":
return V1_18_2;
case "1.19":
return V1_19;
default:
throw new UnsupportedVersionException("The server version provided is not supported");
}
}
}