mc_schem/schem/
mc_version.rs

1/*
2mc_schem is a rust library to generate, load, manipulate and save minecraft schematic files.
3Copyright (C) 2024  joseph
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 3 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program.  If not, see <https://www.gnu.org/licenses/>.
17*/
18
19use std::cmp::Ordering;
20use strum::Display;
21
22/// Minecraft data versions.
23/// Data version was introduced in snapshot 15w32a. Data version before 15w32a has no meaning without
24/// this crate, we assign i32 to these versions simply to satisfy the requirement of rust enumeration
25#[allow(non_camel_case_types)]
26#[derive(Debug, PartialEq, PartialOrd, Copy, Clone, Display)]
27#[repr(i32)]
28#[allow(dead_code)]
29pub enum DataVersion {
30    Snapshot_23w51b = 3802,
31    Snapshot_23w51a = 3801,
32    Java_1_20_4 = 3700,
33    Java_1_20_4_rc1 = 3699,
34    Java_1_20_3 = 3698,
35    Java_1_20_3_rc1 = 3697,
36    Java_1_20_2_pre4 = 3575,
37    Java_1_20_2_pre3 = 3574,
38    Java_1_20_2_pre2 = 3573,
39    Java_1_20_2_pre1 = 3572,
40    Snapshot_23w35a = 3571,
41    Snapshot_23w33a = 3570,
42    Snapshot_23w32a = 3569,
43    Snapshot_23w31a = 3567,
44    Java_1_20_1 = 3465,
45    Java_1_20_1_rc1 = 3464,
46    Java_1_20 = 3463,
47    Java_1_20_rc1 = 3462,
48    Java_1_20_pre7 = 3461,
49    Java_1_20_pre6 = 3460,
50    Java_1_20_pre5 = 3458,
51    Java_1_20_pre4 = 3457,
52    Java_1_20_pre3 = 3456,
53    Java_1_20_pre2 = 3455,
54    Java_1_20_pre1 = 3454,
55    Snapshot_23w18a = 3453,
56    Snapshot_23w17a = 3452,
57    Snapshot_23w16a = 3449,
58    Snapshot_23w14a = 3445,
59    Snapshot_23w13a = 3442,
60    // Snapshot_23w12a = 3442,
61    Java_1_19_4 = 3337,
62    Java_1_19_4_rc3 = 3336,
63    Java_1_19_4_rc2 = 3335,
64    Java_1_19_4_rc1 = 3334,
65    Java_1_19_4_pre4 = 3333,
66    Java_1_19_4_pre3 = 3332,
67    Java_1_19_4_pre2 = 3331,
68    Java_1_19_4_pre1 = 3330,
69    Snapshot_23w07a = 3329,
70    Snapshot_23w06a = 3326,
71    Snapshot_23w05a = 3323,
72    Snapshot_23w04a = 3321,
73    Snapshot_23w03a = 3320,
74    Java_1_19_3 = 3218,
75    Java_1_19_3_rc3 = 3217,
76    Java_1_19_3_rc2 = 3216,
77    Java_1_19_3_rc1 = 3215,
78    Java_1_19_3_pre3 = 3213,
79    Java_1_19_3_pre2 = 3212,
80    Java_1_19_3_pre1 = 3211,
81    Snapshot_22w46a = 3210,
82    Snapshot_22w45a = 3208,
83    Snapshot_22w44a = 3207,
84    Snapshot_22w43a = 3206,
85    Snapshot_22w42a = 3205,
86    Java_1_19_2 = 3120,
87    Java_1_19_2_rc2 = 3119,
88    Java_1_19_2_rc1 = 3118,
89    Java_1_19_1 = 3117,
90    Java_1_19_1_rc3 = 3116,
91    Java_1_19_1_rc2 = 3115,
92    Java_1_19_1_pre6 = 3114,
93    Java_1_19_1_pre5 = 3113,
94    Java_1_19_1_pre4 = 3112,
95    Java_1_19_1_pre3 = 3111,
96    Java_1_19_1_pre2 = 3110,
97    Java_1_19_1_rc1 = 3109,
98    Java_1_19_1_pre1 = 3107,
99    Snapshot_22w24a = 3106,
100    Java_1_19 = 3105,
101    Java_1_19_rc2 = 3104,
102    Java_1_19_rc1 = 3103,
103    Java_1_19_pre5 = 3102,
104    Java_1_19_pre4 = 3101,
105    Java_1_19_pre3 = 3100,
106    Java_1_19_pre2 = 3099,
107    Java_1_19_pre1 = 3098,
108    Snapshot_22w19a = 3096,
109    Snapshot_22w18a = 3095,
110    Snapshot_22w17a = 3093,
111    Snapshot_22w16b = 3092,
112    Snapshot_22w16a = 3091,
113    Snapshot_22w15a = 3089,
114    Snapshot_22w14a = 3088,
115    Snapshot_22w13a = 3085,
116    Snapshot_22w12a = 3082,
117    Snapshot_22w11a = 3080,
118    Java_1_19_exp1 = 3066,
119    Java_1_18_2 = 2975,
120    Java_1_18_2_rc1 = 2974,
121    Java_1_18_2_pre3 = 2973,
122    Java_1_18_2_pre2 = 2972,
123    Java_1_18_2_pre1 = 2971,
124    Snapshot_22w07a = 2969,
125    Snapshot_22w06a = 2968,
126    Snapshot_22w05a = 2967,
127    Snapshot_22w03a = 2966,
128    Java_1_18_1 = 2865,
129    Java_1_18_1_rc3 = 2864,
130    Java_1_18_1_rc2 = 2863,
131    Java_1_18_1_rc1 = 2862,
132    Java_1_18_1_pre1 = 2861,
133    Java_1_18 = 2860,
134    Java_1_18_rc4 = 2859,
135    Java_1_18_rc3 = 2858,
136    Java_1_18_rc2 = 2857,
137    Java_1_18_rc1 = 2856,
138    Java_1_18_pre8 = 2855,
139    Java_1_18_pre7 = 2854,
140    Java_1_18_pre6 = 2853,
141    Java_1_18_pre5 = 2851,
142    Java_1_18_pre4 = 2850,
143    Java_1_18_pre3 = 2849,
144    Java_1_18_pre2 = 2848,
145    Java_1_18_pre1 = 2847,
146    Snapshot_21w44a = 2845,
147    Snapshot_21w43a = 2844,
148    Snapshot_21w42a = 2840,
149    Snapshot_21w41a = 2839,
150    Snapshot_21w40a = 2838,
151    Snapshot_21w39a = 2836,
152    Snapshot_21w38a = 2835,
153    Snapshot_21w37a = 2834,
154    Java_1_18_exp7 = 2831,
155    Java_1_18_exp6 = 2830,
156    Java_1_18_exp5 = 2829,
157    Java_1_18_exp4 = 2828,
158    Java_1_18_exp3 = 2827,
159    Java_1_18_exp2 = 2826,
160    Java_1_18_exp1 = 2825,
161    Java_1_17_1 = 2730,
162    Java_1_17_1_rc2 = 2729,
163    Java_1_17_1_rc1 = 2728,
164    Java_1_17_1_pre3 = 2727,
165    Java_1_17_1_pre2 = 2726,
166    Java_1_17_1_pre1 = 2725,
167    Java_1_17 = 2724,
168    Java_1_17_rc2 = 2723,
169    Java_1_17_rc1 = 2722,
170    Java_1_17_pre5 = 2721,
171    Java_1_17_pre4 = 2720,
172    Java_1_17_pre3 = 2719,
173    Java_1_17_pre2 = 2718,
174    Java_1_17_pre1 = 2716,
175    Snapshot_21w20a = 2715,
176    Snapshot_21w19a = 2714,
177    Snapshot_21w18a = 2713,
178    Snapshot_21w17a = 2712,
179    Snapshot_21w16a = 2711,
180    Snapshot_21w15a = 2709,
181    Snapshot_21w14a = 2706,
182    Snapshot_21w13a = 2705,
183    Snapshot_21w11a = 2703,
184    Snapshot_21w10a = 2699,
185    Snapshot_21w08b = 2698,
186    Snapshot_21w08a = 2697,
187    Snapshot_21w07a = 2695,
188    Snapshot_21w06a = 2694,
189    Snapshot_21w05b = 2692,
190    Snapshot_21w05a = 2690,
191    Snapshot_21w03a = 2689,
192    Snapshot_20w51a = 2687,
193    Snapshot_20w49a = 2685,
194    Snapshot_20w48a = 2683,
195    Snapshot_20w46a = 2682,
196    Snapshot_20w45a = 2681,
197    Combat_Test_8c = 2707,
198    //Combat_Test_8b = 2706,
199    //Combat_Test_8 = 2705,
200    Combat_Test_7c = 2704,
201    //Combat_Test_7b = 2703,
202    Combat_Test_7 = 2702,
203    Combat_Test_6 = 2701,
204    Java_1_16_5 = 2586,
205    Java_1_16_5_rc1 = 2585,
206    Java_1_16_4 = 2584,
207    Java_1_16_4_rc1 = 2583,
208    Java_1_16_4_pre2 = 2582,
209    Java_1_16_4_pre1 = 2581,
210    Java_1_16_3 = 2580,
211    Java_1_16_3_rc1 = 2579,
212    Java_1_16_2 = 2578,
213    Java_1_16_2_rc2 = 2577,
214    Java_1_16_2_rc1 = 2576,
215    Java_1_16_2_pre3 = 2575,
216    Java_1_16_2_pre2 = 2574,
217    Java_1_16_2_pre1 = 2573,
218    Snapshot_20w30a = 2572,
219    Snapshot_20w29a = 2571,
220    Snapshot_20w28a = 2570,
221    Snapshot_20w27a = 2569,
222    Java_1_16_1 = 2567,
223    Java_1_16 = 2566,
224    Java_1_16_rc1 = 2565,
225    Java_1_16_pre8 = 2564,
226    Java_1_16_pre7 = 2563,
227    Java_1_16_pre6 = 2562,
228    Java_1_16_pre5 = 2561,
229    Java_1_16_pre4 = 2560,
230    Java_1_16_pre3 = 2559,
231    Java_1_16_pre2 = 2557,
232    Java_1_16_pre1 = 2556,
233    Snapshot_20w22a = 2555,
234    Snapshot_20w21a = 2554,
235    Snapshot_20w20b = 2537,
236    Snapshot_20w20a = 2536,
237    Snapshot_20w19a = 2534,
238    Snapshot_20w18a = 2532,
239    Snapshot_20w17a = 2529,
240    Snapshot_20w16a = 2526,
241    Snapshot_20w15a = 2525,
242    Snapshot_20w14a = 2524,
243    Snapshot_20w13b = 2521,
244    Snapshot_20w13a = 2520,
245    Snapshot_20w12a = 2515,
246    Snapshot_20w11a = 2513,
247    Snapshot_20w10a = 2512,
248    Snapshot_20w09a = 2510,
249    Snapshot_20w08a = 2507,
250    Snapshot_20w07a = 2506,
251    Snapshot_20w06a = 2504,
252    Combat_Test_5 = 2321,
253    Combat_Test_4 = 2320,
254    Java_1_15_2 = 2230,
255    Java_1_15_2_pre2 = 2229,
256    Java_1_15_2_pre1 = 2228,
257    Java_1_15_1 = 2227,
258    Java_1_15_1_pre1 = 2226,
259    Java_1_15 = 2225,
260    Java_1_15_pre7 = 2224,
261    Java_1_15_pre6 = 2223,
262    Java_1_15_pre5 = 2222,
263    Java_1_15_pre4 = 2221,
264    Java_1_15_pre3 = 2220,
265    Java_1_15_pre2 = 2219,
266    Java_1_15_pre1 = 2218,
267    Snapshot_19w46b = 2217,
268    Snapshot_19w46a = 2216,
269    Snapshot_19w45b = 2215,
270    Snapshot_19w45a = 2214,
271    Snapshot_19w44a = 2213,
272    Snapshot_19w42a = 2212,
273    Snapshot_19w41a = 2210,
274    Snapshot_19w40a = 2208,
275    Snapshot_19w39a = 2207,
276    Snapshot_19w38b = 2206,
277    Snapshot_19w38a = 2205,
278    Snapshot_19w37a = 2204,
279    Snapshot_19w36a = 2203,
280    Snapshot_19w35a = 2201,
281    Snapshot_19w34a = 2200,
282    Combat_Test_3 = 2069,
283    Combat_Test_2 = 2068,
284    Java_1_14_3_Combat_Test_ = 2067,
285    Java_1_14_4 = 1976,
286    Java_1_14_4_pre7 = 1975,
287    Java_1_14_4_pre6 = 1974,
288    Java_1_14_4_pre5 = 1973,
289    Java_1_14_4_pre4 = 1972,
290    Java_1_14_4_pre3 = 1971,
291    Java_1_14_4_pre2 = 1970,
292    Java_1_14_4_pre1 = 1969,
293    Java_1_14_3 = 1968,
294    Java_1_14_3_pre4 = 1967,
295    Java_1_14_3_pre3 = 1966,
296    Java_1_14_3_pre2 = 1965,
297    Java_1_14_3_pre1 = 1964,
298    Java_1_14_2 = 1963,
299    Java_1_14_2_pre4 = 1962,
300    Java_1_14_2_pre3 = 1960,
301    Java_1_14_2_pre2 = 1959,
302    Java_1_14_2_pre1 = 1958,
303    Java_1_14_1 = 1957,
304    Java_1_14_1_pre2 = 1956,
305    Java_1_14_1_pre1 = 1955,
306    Java_1_14 = 1952,
307    Java_1_14_pre5 = 1951,
308    Java_1_14_pre4 = 1950,
309    Java_1_14_pre3 = 1949,
310    Java_1_14_pre2 = 1948,
311    Java_1_14_pre1 = 1947,
312    Snapshot_19w14b = 1945,
313    Snapshot_19w14a = 1944,
314    Snapshot_19w13b = 1943,
315    Snapshot_19w13a = 1942,
316    Snapshot_19w12b = 1941,
317    Snapshot_19w12a = 1940,
318    Snapshot_19w11b = 1938,
319    Snapshot_19w11a = 1937,
320    Snapshot_19w09a = 1935,
321    Snapshot_19w08b = 1934,
322    Snapshot_19w08a = 1933,
323    Snapshot_19w07a = 1932,
324    Snapshot_19w06a = 1931,
325    Snapshot_19w05a = 1930,
326    Snapshot_19w04b = 1927,
327    Snapshot_19w04a = 1926,
328    Snapshot_19w03c = 1924,
329    Snapshot_19w03b = 1923,
330    Snapshot_19w03a = 1922,
331    Snapshot_19w02a = 1921,
332    Snapshot_18w50a = 1919,
333    Snapshot_18w49a = 1916,
334    Snapshot_18w48b = 1915,
335    Snapshot_18w48a = 1914,
336    Snapshot_18w47b = 1913,
337    Snapshot_18w47a = 1912,
338    Snapshot_18w46a = 1910,
339    Snapshot_18w45a = 1908,
340    Snapshot_18w44a = 1907,
341    Snapshot_18w43c = 1903,
342    Snapshot_18w43b = 1902,
343    Snapshot_18w43a = 1901,
344    Java_1_13_2 = 1631,
345    Java_1_13_2_pre2 = 1630,
346    Java_1_13_2_pre1 = 1629,
347    Java_1_13_1 = 1628,
348    Java_1_13_1_pre2 = 1627,
349    Java_1_13_1_pre1 = 1626,
350    Snapshot_18w33a = 1625,
351    Snapshot_18w32a = 1623,
352    Snapshot_18w31a = 1622,
353    Snapshot_18w30b = 1621,
354    Snapshot_18w30a = 1620,
355    Java_1_13 = 1519,
356    Java_1_13_pre10 = 1518,
357    Java_1_13_pre9 = 1517,
358    Java_1_13_pre8 = 1516,
359    Java_1_13_pre7 = 1513,
360    Java_1_13_pre6 = 1512,
361    Java_1_13_pre5 = 1511,
362    Java_1_13_pre4 = 1504,
363    Java_1_13_pre3 = 1503,
364    Java_1_13_pre2 = 1502,
365    Java_1_13_pre1 = 1501,
366    Snapshot_18w22c = 1499,
367    Snapshot_18w22b = 1498,
368    Snapshot_18w22a = 1497,
369    Snapshot_18w21b = 1496,
370    Snapshot_18w21a = 1495,
371    Snapshot_18w20c = 1493,
372    Snapshot_18w20b = 1491,
373    Snapshot_18w20a = 1489,
374    Snapshot_18w19b = 1485,
375    Snapshot_18w19a = 1484,
376    Snapshot_18w16a = 1483,
377    Snapshot_18w15a = 1482,
378    Snapshot_18w14b = 1481,
379    Snapshot_18w14a = 1479,
380    Snapshot_18w11a = 1478,
381    Snapshot_18w10d = 1477,
382    Snapshot_18w10c = 1476,
383    Snapshot_18w10b = 1474,
384    Snapshot_18w10a = 1473,
385    Snapshot_18w09a = 1472,
386    Snapshot_18w08b = 1471,
387    Snapshot_18w08a = 1470,
388    Snapshot_18w07c = 1469,
389    Snapshot_18w07b = 1468,
390    Snapshot_18w07a = 1467,
391    Snapshot_18w06a = 1466,
392    Snapshot_18w05a = 1464,
393    Snapshot_18w03b = 1463,
394    Snapshot_18w03a = 1462,
395    Snapshot_18w02a = 1461,
396    Snapshot_18w01a = 1459,
397    Snapshot_17w50a = 1457,
398    Snapshot_17w49b = 1455,
399    Snapshot_17w49a = 1454,
400    Snapshot_17w48a = 1453,
401    Snapshot_17w47b = 1452,
402    Snapshot_17w47a = 1451,
403    Snapshot_17w46a = 1449,
404    Snapshot_17w45b = 1448,
405    Snapshot_17w45a = 1447,
406    Snapshot_17w43b = 1445,
407    Snapshot_17w43a = 1444,
408    Java_1_12_2 = 1343,
409    Java_1_12_2_pre2 = 1342,
410    Java_1_12_2_pre1 = 1341,
411    Java_1_12_1 = 1241,
412    Java_1_12_1_pre1 = 1240,
413    Snapshot_17w31a = 1239,
414    Java_1_12 = 1139,
415    Java_1_12_pre7 = 1138,
416    Java_1_12_pre6 = 1137,
417    Java_1_12_pre5 = 1136,
418    Java_1_12_pre4 = 1135,
419    Java_1_12_pre3 = 1134,
420    Java_1_12_pre2 = 1133,
421    Java_1_12_pre1 = 1132,
422    Snapshot_17w18b = 1131,
423    Snapshot_17w18a = 1130,
424    Snapshot_17w17b = 1129,
425    Snapshot_17w17a = 1128,
426    Snapshot_17w16b = 1127,
427    Snapshot_17w16a = 1126,
428    Snapshot_17w15a = 1125,
429    Snapshot_17w14a = 1124,
430    Snapshot_17w13b = 1123,
431    Snapshot_17w13a = 1122,
432    Snapshot_17w06a = 1022,
433    Java_1_11_2 = 922,
434    Java_1_11_1 = 921,
435    Snapshot_16w50a = 920,
436    Java_1_11 = 819,
437    Java_1_11_pre1 = 818,
438    Snapshot_16w44a = 817,
439    Snapshot_16w43a = 816,
440    Snapshot_16w42a = 815,
441    Snapshot_16w41a = 814,
442    Snapshot_16w40a = 813,
443    Snapshot_16w39c = 812,
444    Snapshot_16w39b = 811,
445    Snapshot_16w39a = 809,
446    Snapshot_16w38a = 807,
447    Snapshot_16w36a = 805,
448    Snapshot_16w35a = 803,
449    Snapshot_16w33a = 802,
450    Snapshot_16w32b = 801,
451    Snapshot_16w32a = 800,
452    Java_1_10_2 = 512,
453    Java_1_10_1 = 511,
454    Java_1_10 = 510,
455    Java_1_10_pre2 = 507,
456    Java_1_10_pre1 = 506,
457    Snapshot_16w21b = 504,
458    Snapshot_16w21a = 503,
459    Snapshot_16w20a = 501,
460    Java_1_9_4 = 184,
461    Java_1_9_3 = 183,
462    Java_1_9_3_pre3 = 182,
463    Java_1_9_3_pre2 = 181,
464    Java_1_9_3_pre1 = 180,
465    Snapshot_16w15b = 179,
466    Snapshot_16w15a = 178,
467    Snapshot_16w14a = 177,
468    Java_1_9_2 = 176,
469    Java_1_9_1 = 175,
470    Java_1_9_1_pre3 = 172,
471    Java_1_9_1_pre2 = 171,
472    Java_1_9_1_pre1 = 170,
473    Java_1_9 = 169,
474    Java_1_9_pre4 = 168,
475    Java_1_9_pre3 = 167,
476    Java_1_9_pre2 = 165,
477    Java_1_9_pre1 = 164,
478    Snapshot_16w07b = 163,
479    Snapshot_16w07a = 162,
480    Snapshot_16w06a = 161,
481    Snapshot_16w05b = 160,
482    Snapshot_16w05a = 159,
483    Snapshot_16w04a = 158,
484    Snapshot_16w03a = 157,
485    Snapshot_16w02a = 156,
486    Snapshot_15w51b = 155,
487    Snapshot_15w51a = 154,
488    Snapshot_15w50a = 153,
489    Snapshot_15w49b = 152,
490    Snapshot_15w49a = 151,
491    Snapshot_15w47c = 150,
492    Snapshot_15w47b = 149,
493    Snapshot_15w47a = 148,
494    Snapshot_15w46a = 146,
495    Snapshot_15w45a = 145,
496    Snapshot_15w44b = 143,
497    Snapshot_15w44a = 142,
498    Snapshot_15w43c = 141,
499    Snapshot_15w43b = 140,
500    Snapshot_15w43a = 139,
501    Snapshot_15w42a = 138,
502    Snapshot_15w41b = 137,
503    Snapshot_15w41a = 136,
504    Snapshot_15w40b = 134,
505    Snapshot_15w40a = 133,
506    Snapshot_15w39c = 132,
507    Snapshot_15w39b = 131,
508    Snapshot_15w39a = 130,
509    Snapshot_15w38b = 129,
510    Snapshot_15w38a = 128,
511    Snapshot_15w37a = 127,
512    Snapshot_15w36d = 126,
513    Snapshot_15w36c = 125,
514    Snapshot_15w36b = 124,
515    Snapshot_15w36a = 123,
516    Snapshot_15w35e = 122,
517    Snapshot_15w35d = 121,
518    Snapshot_15w35c = 120,
519    Snapshot_15w35b = 119,
520    Snapshot_15w35a = 118,
521    Snapshot_15w34d = 117,
522    Snapshot_15w34c = 116,
523    Snapshot_15w34b = 115,
524    Snapshot_15w34a = 114,
525    Snapshot_15w33c = 112,
526    Snapshot_15w33b = 111,
527    //Snapshot_15w33a = 111,
528    Snapshot_15w32c = 104,
529    Snapshot_15w32b = 103,
530    Snapshot_15w32a = 100,
531
532    /*
533     * Data version was introduced in snapshot 15w32a.
534     * Value below has no meaning outside this crate, we assign i32 to these versions simply to
535     * satisfy the requirement of rust enumeration
536    */
537    Snapshot_15w31c = 99,
538    Snapshot_15w31b = 98,
539    Snapshot_15w31a = 97,
540    Java_1_8_9 = 96,
541    Java_1_8_8 = 95,
542    Java_1_8_7 = 94,
543    Java_1_8_6 = 93,
544    Java_1_8_5 = 92,
545    Java_1_8_4 = 91,
546    Java_1_8_3 = 90,
547    Java_1_8_2 = 89,
548    Java_1_8_2_pre7 = 88,
549    Java_1_8_2_pre6 = 87,
550    Java_1_8_2_pre5 = 86,
551    Java_1_8_2_pre4 = 85,
552    Java_1_8_2_pre3 = 84,
553    Java_1_8_2_pre2 = 83,
554    Java_1_8_2_pre1 = 82,
555    Java_1_8_1 = 81,
556    Java_1_8_1_pre5 = 80,
557    Java_1_8_1_pre4 = 79,
558    Java_1_8_1_pre3 = 78,
559    Java_1_8_1_pre2 = 77,
560    Java_1_8_1_pre1 = 76,
561    Java_1_8 = 75,
562    Java_1_8_pre3 = 74,
563    Java_1_8_pre2 = 73,
564    Java_1_8_pre1 = 72,
565    Snapshot_14w34d = 71,
566    Snapshot_14w34c = 70,
567    Snapshot_14w34b = 69,
568    Snapshot_14w34a = 68,
569    Snapshot_14w33c = 67,
570    Snapshot_14w33b = 66,
571    Snapshot_14w33a = 65,
572    Snapshot_14w32d = 64,
573    Snapshot_14w32c = 63,
574    Snapshot_14w32b = 62,
575    Snapshot_14w32a = 61,
576    Snapshot_14w31a = 60,
577    Snapshot_14w30c = 59,
578    Snapshot_14w30b = 58,
579    Snapshot_14w30a = 57,
580    Snapshot_14w29b = 56,
581    Snapshot_14w29a = 55,
582    Snapshot_14w28b = 54,
583    Snapshot_14w28a = 53,
584    Snapshot_14w27b = 52,
585    Snapshot_14w27a = 51,
586    Snapshot_14w26c = 50,
587    Snapshot_14w26b = 49,
588    Snapshot_14w26a = 48,
589    Snapshot_14w25b = 47,
590    Snapshot_14w25a = 46,
591    Snapshot_14w21b = 45,
592    Snapshot_14w21a = 44,
593    Snapshot_14w20b = 43,
594    Snapshot_14w20a = 42,
595    Snapshot_14w19a = 41,
596    Snapshot_14w18b = 40,
597    Snapshot_14w18a = 39,
598    Snapshot_14w17a = 38,
599    Snapshot_14w11b = 37,
600    Snapshot_14w11a = 36,
601    Snapshot_14w10c = 35,
602    Snapshot_14w10b = 34,
603    Snapshot_14w10a = 33,
604    Snapshot_14w08a = 32,
605    Snapshot_14w07a = 31,
606    Snapshot_14w06b = 30,
607    Snapshot_14w06a = 29,
608    Snapshot_14w05b = 28,
609    Snapshot_14w05a = 27,
610    Snapshot_14w04b = 26,
611    Snapshot_14w04a = 25,
612    Snapshot_14w03b = 24,
613    Snapshot_14w03a = 23,
614    Snapshot_14w02c = 22,
615    Snapshot_14w02b = 21,
616    Snapshot_14w02a = 20,
617    Java_1_7_10 = 19,
618    Java_1_7_10_pre4 = 18,
619    Java_1_7_10_pre3 = 17,
620    Java_1_7_10_pre2 = 16,
621    Java_1_7_10_pre1 = 15,
622    Java_1_7_9 = 14,
623    Java_1_7_8 = 13,
624    Java_1_7_7 = 12,
625    Java_1_7_6 = 11,
626    Java_1_7_6_pre2 = 10,
627    Java_1_7_6_pre1 = 9,
628    Java_1_7_5 = 8,
629    Java_1_7_4 = 7,
630    Java_1_7_3 = 6,
631    Snapshot_13w49a = 5,
632    Snapshot_13w48b = 4,
633    Snapshot_13w48a = 3,
634    Snapshot_13w47e = 2,
635    Snapshot_13w47d = 1,
636    Snapshot_13w47c = 0,
637    Snapshot_13w47b = -1,
638    Snapshot_13w47a = -2,
639    Java_1_7_2 = -3,
640    Java_1_7_1 = -4,
641    Java_1_7 = -5,
642    Snapshot_13w43a = -6,
643    Snapshot_13w42b = -7,
644    Snapshot_13w42a = -8,
645    Snapshot_13w41b = -9,
646    Snapshot_13w41a = -10,
647    Snapshot_13w39b = -11,
648    Snapshot_13w39a = -12,
649    Snapshot_13w38c = -13,
650    Snapshot_13w38b = -14,
651    Snapshot_13w38a = -15,
652    Snapshot_13w37b = -16,
653    Snapshot_13w37a = -17,
654    Snapshot_13w36b = -18,
655    Snapshot_13w36a = -19,
656    Java_1_6_4 = -20,
657    Java_1_6_3 = -21,
658    Java_1_6_3_pre = -22,
659    Java_1_6_2 = -23,
660    Java_1_6_2_pre = -24,
661    Java_1_6_1 = -25,
662    Java_1_6_1_pre = -26,
663    Java_1_6 = -27,
664    Java_1_6_pre = -28,
665    Snapshot_13w26a = -29,
666    Snapshot_13w25c = -30,
667    Snapshot_13w25b = -31,
668    Snapshot_13w25a = -32,
669    Snapshot_13w24b = -33,
670    Snapshot_13w24a = -34,
671    Snapshot_13w23b = -35,
672    Snapshot_13w23a = -36,
673    Snapshot_13w22a = -37,
674    Snapshot_13w21b = -38,
675    Snapshot_13w21a = -39,
676    Snapshot_13w19a = -40,
677    Snapshot_13w18c = -41,
678    Snapshot_13w18b = -42,
679    Snapshot_13w18a = -43,
680    Snapshot_13w17a = -44,
681    Snapshot_13w16b = -45,
682    Snapshot_13w16a = -46,
683    Java_1_5_2 = -47,
684    Java_1_5_2_pre = -48,
685    Java_1_5_1 = -49,
686    Java_1_5_1_pre = -50,
687    Snapshot_13w12 = -51,
688    Snapshot_13w11a = -52,
689    Java_1_5 = -53,
690    Java_1_5_pre = -54,
691    Snapshot_13w10b = -55,
692    Snapshot_13w10a = -56,
693    Snapshot_13w09c = -57,
694    Snapshot_13w09b = -58,
695    Snapshot_13w09a = -59,
696    Snapshot_13w07a = -60,
697    Snapshot_13w06a = -61,
698    Snapshot_13w05b = -62,
699    Snapshot_13w05a = -63,
700    Snapshot_13w04a = -64,
701    Snapshot_13w03a = -65,
702    Snapshot_13w02b = -66,
703    Snapshot_13w02a = -67,
704    Snapshot_13w01b = -68,
705    Snapshot_13w01a = -69,
706    Java_1_4_7 = -70,
707    Java_1_4_7_pre = -71,
708    Java_1_4_6 = -72,
709    Java_1_4_6_pre = -73,
710    Snapshot_12w50b = -74,
711    Snapshot_12w50a = -75,
712    Snapshot_12w49a = -76,
713    Java_1_4_5 = -77,
714    Java_1_4_5_pre = -78,
715    Java_1_4_4 = -79,
716    Java_1_4_4_pre = -80,
717    Java_1_4_3_pre = -81,
718    Java_1_4_2 = -82,
719    Java_1_4_2_pre = -83,
720    Java_1_4_1_pre = -84,
721    Java_1_4_pre = -85,
722    Snapshot_12w42b = -86,
723    Snapshot_12w42a = -87,
724    Snapshot_12w41b = -88,
725    Snapshot_12w41a = -89,
726    Snapshot_12w40b = -90,
727    Snapshot_12w40a = -91,
728    Snapshot_12w39b = -92,
729    Snapshot_12w39a = -93,
730    Snapshot_12w38b = -94,
731    Snapshot_12w38a = -95,
732    Snapshot_12w37a = -96,
733    Snapshot_12w36a = -97,
734    Snapshot_12w34b = -98,
735    Snapshot_12w34a = -99,
736    Snapshot_12w32a = -100,
737    Java_1_3_2 = -101,
738    Java_1_3_2_pre = -102,
739    Java_1_3_1 = -103,
740    Java_1_3_1_pre = -104,
741    Java_1_3_pre = -105,
742    Snapshot_12w30e = -106,
743    Snapshot_12w30d = -107,
744    Snapshot_12w30c = -108,
745    Snapshot_12w30b = -109,
746    Snapshot_12w30a = -110,
747    Snapshot_12w27a = -111,
748    Snapshot_12w26a = -112,
749    Snapshot_12w25a = -113,
750    Snapshot_12w24a = -114,
751    Snapshot_12w23b = -115,
752    Snapshot_12w23a = -116,
753    Snapshot_12w22a = -117,
754    Snapshot_12w21b = -118,
755    Snapshot_12w21a = -119,
756    Snapshot_12w19a = -120,
757    Snapshot_12w18a = -121,
758    Snapshot_12w17a = -122,
759    Snapshot_12w16a = -123,
760    Snapshot_12w15a = -124,
761    Java_1_2_5 = -125,
762    Java_1_2_5_pre = -126,
763    Java_1_2_1 = -127,
764    Java_1_2_pre = -128,
765    Snapshot_12w08a = -129,
766    Snapshot_12w07b = -130,
767    Snapshot_12w07a = -131,
768    Snapshot_12w06a = -132,
769    Snapshot_12w05b = -133,
770    Snapshot_12w05a = -134,
771    Snapshot_12w04a = -135,
772    Snapshot_12w03a = -136,
773    Java_1_1 = -137,
774    Snapshot_12w01a = -138,
775    Snapshot_11w50a = -139,
776    Snapshot_11w49a = -140,
777    Snapshot_11w48a = -141,
778    Snapshot_11w47a = -142,
779    Java_1_0_0 = -143,
780    Java_1_0_0_rc2 = -144,
781    Java_1_0_0_rc1 = -145,
782    Beta_1_9_pre_release6 = -146,
783    Beta_1_9_pre_release5 = -147,
784    Beta_1_9_pre_release4 = -148,
785    Beta_1_9_pre_release3 = -149,
786    Beta_1_9_pre_release2 = -150,
787    Beta_1_9_pre_release1 = -151,
788    Beta_1_8_1 = -152,
789    Beta_1_8_pre_release2 = -153,
790    Beta_1_8_pre_release1 = -154,
791    Beta_1_8_preview = -155,
792    Beta_1_7_3 = -156,
793    Beta_1_7_2 = -157,
794    Beta_1_7_01 = -158,
795    Beta_1_7_preview = -159,
796    Beta_1_6_6 = -160,
797    Beta_1_6_5 = -161,
798    Beta_1_6_4 = -162,
799    Beta_1_6_3 = -163,
800    Beta_1_6_2 = -164,
801    Beta_1_6_1 = -165,
802    Beta_1_6_test_build3 = -166,
803    Beta_1_6_preview = -167,
804    Beta_1_5_02 = -168,
805    Beta_1_5_01 = -169,
806    Beta_1_5 = -170,
807    Beta_1_4_01 = -171,
808    Beta_1_4 = -172,
809    Beta_1_3_01 = -173,
810    Beta_1_3 = -174,
811    Beta_1_2_02 = -175,
812    Beta_1_2_01 = -176,
813    Beta_1_2 = -177,
814    Beta_1_1_02 = -178,
815    Beta_1_1_01 = -179,
816    Beta_1_1 = -180,
817    Beta_1_0_2 = -181,
818    Beta_1_0_01 = -182,
819    Beta_1_0 = -183,
820    Alpha_1_2_6 = -184,
821    Alpha_1_2_5 = -185,
822    Alpha_1_2_4_01 = -186,
823    Alpha_1_2_3_05 = -187,
824    Alpha_1_2_3_04 = -188,
825    Alpha_1_2_3_03 = -189,
826    Alpha_1_2_3_02 = -190,
827    Alpha_1_2_3_01 = -191,
828    Alpha_1_2_3 = -192,
829    Alpha_1_2_2 = -193,
830    Alpha_1_2_1_01 = -194,
831    Alpha_1_2_1 = -195,
832    Alpha_1_2_0_02 = -196,
833    Alpha_1_2_0_01 = -197,
834    Alpha_1_2_0_preview = -198,
835    Alpha_1_1_2_01 = -199,
836    Alpha_1_1_2 = -200,
837    Alpha_1_1_1_SS1 = -201,
838    Alpha_1_1_1 = -202,
839    Alpha_1_1_0_SF9 = -203,
840    Alpha_1_1_0 = -204,
841    Alpha_1_0_17_04 = -205,
842    Alpha_1_0_17_03 = -206,
843    Alpha_1_0_17_02 = -207,
844    Alpha_1_0_17_01 = -208,
845    Alpha_1_0_17_SF8 = -209,
846    Alpha_1_0_17 = -210,
847    Alpha_1_0_16_02 = -211,
848    Alpha_1_0_16_01 = -212,
849    Alpha_1_0_16 = -213,
850    Alpha_1_0_15 = -214,
851    Alpha_1_0_14_SF7 = -215,
852    Alpha_1_0_14 = -216,
853    Alpha_1_0_13_01 = -217,
854    Alpha_1_0_13 = -218,
855    Alpha_1_0_12 = -219,
856    Alpha_1_0_11_SF6 = -220,
857    Alpha_1_0_11 = -221,
858    Alpha_1_0_10 = -222,
859    Alpha_1_0_9 = -223,
860    Alpha_1_0_8_01 = -224,
861    Alpha_1_0_8 = -225,
862    Alpha_1_0_7 = -226,
863    Alpha_1_0_6_03 = -227,
864    Alpha_1_0_6_02 = -228,
865    Alpha_1_0_6_01 = -229,
866    Alpha_1_0_6_SF5 = -230,
867    Alpha_1_0_6 = -231,
868    Alpha_1_0_5_01 = -232,
869    Alpha_1_0_5 = -233,
870    Alpha_1_0_3 = -234,
871    Alpha_1_0_2_02 = -235,
872    Alpha_1_0_2_01 = -236,
873    Alpha_1_0_2 = -237,
874    Alpha_1_0_1_01 = -238,
875    Alpha_1_0_1_SF3 = -239,
876    Alpha_1_0_1 = -240,
877    Alpha_1_0_0 = -241,
878    Infdev_20100227_1 = -242,
879    Infdev_20100227_2 = -243,
880    Infdev_20100313 = -244,
881    Infdev_20100316 = -245,
882    Infdev_20100320 = -246,
883    Infdev_20100321 = -247,
884    Infdev_20100325 = -248,
885    Infdev_20100327 = -249,
886    Infdev_20100330 = -250,
887    Infdev_20100330_1 = -251,
888    Infdev_20100330_2 = -252,
889    Infdev_20100413 = -253,
890    Infdev_20100414 = -254,
891    Infdev_20100415 = -255,
892    Infdev_20100420 = -256,
893    Infdev_20100607 = -257,
894    Infdev_20100608 = -258,
895    Infdev_20100611 = -259,
896    Infdev_20100615 = -260,
897    Infdev_20100616 = -261,
898    Infdev_20100616_1 = -262,
899    Infdev_20100616_2 = -263,
900    Infdev_20100617_1 = -264,
901    Infdev_20100617_2 = -265,
902    Infdev_20100618 = -266,
903    Infdev_20100618_SF1 = -267,
904    Infdev_20100624 = -268,
905    Infdev_20100625 = -269,
906    Infdev_20100625_1 = -270,
907    Infdev_20100625_2 = -271,
908    Infdev_20100625_SF2 = -272,
909    Infdev_20100627 = -273,
910    Infdev_20100629 = -274,
911    Infdev_20100630 = -275,
912    Indev_20091223_1 = -276,
913    Indev_20091223_2 = -277,
914    Indev_20091231 = -278,
915    Indev_20091231_1 = -279,
916    Indev_20091231_2 = -280,
917    Indev_20100104 = -281,
918    Indev_20100106 = -282,
919    Indev_20100107 = -283,
920    Indev_20100109 = -284,
921    Indev_20100110 = -285,
922    Indev_20100111 = -286,
923    Indev_20100112 = -287,
924    Indev_20100113 = -288,
925    Indev_20100113c = -289,
926    Indev_20100114 = -290,
927    Indev_20100122 = -291,
928    Indev_20100124 = -292,
929    Indev_20100124_1 = -293,
930    Indev_20100124_2 = -294,
931    Indev_20100125 = -295,
932    Indev_20100128 = -296,
933    Indev_20100129 = -297,
934    Indev_20100130 = -298,
935    Indev_20100131 = -299,
936    Indev_20100201 = -300,
937    Indev_20100201_1 = -301,
938    Indev_20100201_2 = -302,
939    Indev_20100202 = -303,
940    Indev_20100204 = -304,
941    Indev_20100204_1 = -305,
942    Indev_20100204_2 = -306,
943    Indev_20100205 = -307,
944    Indev_20100206 = -308,
945    Indev_20100207 = -309,
946    Indev_20100207_1 = -310,
947    Indev_20100207_2 = -311,
948    Indev_20100211 = -312,
949    Indev_20100212 = -313,
950    Indev_20100212_1 = -314,
951    Indev_20100212_2 = -315,
952    Indev_20100213 = -316,
953    Indev_20100214 = -317,
954    Indev_20100218 = -318,
955    Indev_20100219 = -319,
956    Indev_20100223 = -320,
957    Classic_LateClassic_0_30 = -321,
958    Classic_LateClassic_0_29_02 = -322,
959    Classic_LateClassic_0_29_01 = -323,
960    Classic_LateClassic_0_29 = -324,
961    Classic_LateClassic_0_28_01 = -325,
962    Classic_LateClassic_0_28 = -326,
963    Classic_SurvivalTest_0_27 = -327,
964    Classic_SurvivalTest_0_26 = -328,
965    Classic_SurvivalTest_0_25_05 = -329,
966    Classic_SurvivalTest_0_25_04 = -330,
967    Classic_SurvivalTest_0_25_03 = -331,
968    Classic_SurvivalTest_0_25_02 = -332,
969    Classic_SurvivalTest_0_25_01 = -333,
970    Classic_SurvivalTest_0_25 = -334,
971    Classic_SurvivalTest_0_24_03 = -335,
972    Classic_SurvivalTest_0_24_02 = -336,
973    Classic_SurvivalTest_0_24_01 = -337,
974    Classic_SurvivalTest_0_24 = -338,
975    Classic_MultiplayerTest_0_0_23a_01 = -339,
976    Classic_MultiplayerTest_0_0_23a = -340,
977    Classic_MultiplayerTest_0_0_22a_05 = -341,
978    Classic_MultiplayerTest_0_0_22a_04 = -342,
979    Classic_MultiplayerTest_0_0_22a_03 = -343,
980    Classic_MultiplayerTest_0_0_22a_02 = -344,
981    Classic_MultiplayerTest_0_0_22a_01 = -345,
982    Classic_MultiplayerTest_0_0_22a = -346,
983    Classic_MultiplayerTest_0_0_21a_01 = -347,
984    Classic_MultiplayerTest_0_0_21a = -348,
985    Classic_MultiplayerTest_0_0_20a_02 = -349,
986    Classic_MultiplayerTest_0_0_20a_01 = -350,
987    Classic_MultiplayerTest_0_0_20a = -351,
988    Classic_MultiplayerTest_0_0_19a_06 = -352,
989    Classic_MultiplayerTest_0_0_19a_05 = -353,
990    Classic_MultiplayerTest_0_0_19a_04 = -354,
991    Classic_MultiplayerTest_0_0_19a_03 = -355,
992    Classic_MultiplayerTest_0_0_19a_02 = -356,
993    Classic_MultiplayerTest_0_0_19a_01 = -357,
994    Classic_MultiplayerTest_0_0_19a = -358,
995    Classic_MultiplayerTest_0_0_18a_02 = -359,
996    Classic_MultiplayerTest_0_0_18a_01 = -360,
997    Classic_MultiplayerTest_0_0_18a = -361,
998    Classic_MultiplayerTest_0_0_17a = -362,
999    Classic_MultiplayerTest_0_0_16a_02 = -363,
1000    Classic_MultiplayerTest_0_0_16a_01 = -364,
1001    Classic_MultiplayerTest_0_0_16a = -365,
1002    Classic_MultiplayerTest_0_0_15a_03 = -366,
1003    Classic_MultiplayerTest_0_0_15a_02 = -367,
1004    Classic_MultiplayerTest_0_0_15a_01 = -368,
1005    Classic_MultiplayerTest_0_0_15a_8 = -369,
1006    Classic_MultiplayerTest_0_0_15a_7 = -370,
1007    Classic_MultiplayerTest_0_0_15a_6 = -371,
1008    Classic_MultiplayerTest_0_0_15a_5 = -372,
1009    Classic_MultiplayerTest_0_0_15a_4 = -373,
1010    Classic_MultiplayerTest_0_0_15a_3 = -374,
1011    Classic_MultiplayerTest_0_0_15a_2 = -375,
1012    Classic_MultiplayerTest_0_0_15a_1 = -376,
1013    Classic_EarlyClassic_0_0_14a_08 = -377,
1014    Classic_EarlyClassic_0_0_14a_07 = -378,
1015    Classic_EarlyClassic_0_0_14a_06 = -379,
1016    Classic_EarlyClassic_0_0_14a_05 = -380,
1017    Classic_EarlyClassic_0_0_14a_04 = -381,
1018    Classic_EarlyClassic_0_0_14a_03 = -382,
1019    Classic_EarlyClassic_0_0_14a_01 = -383,
1020    Classic_EarlyClassic_0_0_14a_offset_test = -384,
1021    Classic_EarlyClassic_0_0_14a_water_test = -385,
1022    Classic_EarlyClassic_0_0_14a_new_blocks = -386,
1023    Classic_EarlyClassic_0_0_14a = -387,
1024    Classic_EarlyClassic_0_0_13a_03 = -388,
1025    Classic_EarlyClassic_0_0_13a_huge_levels = -389,
1026    Classic_EarlyClassic_0_0_13a_world_size_test2 = -390,
1027    Classic_EarlyClassic_0_0_13a_world_size_test1 = -391,
1028    Classic_EarlyClassic_0_0_13a = -392,
1029    Classic_EarlyClassic_0_0_12a_03 = -393,
1030    Classic_EarlyClassic_0_0_12a_02 = -394,
1031    Classic_EarlyClassic_0_0_12a_01 = -395,
1032    Classic_EarlyClassic_0_0_12a_lava_test = -396,
1033    Classic_EarlyClassic_0_0_12a_water_test = -397,
1034    Classic_EarlyClassic_0_0_12a_multiplayer_test = -398,
1035    Classic_EarlyClassic_0_0_12a = -399,
1036    Classic_EarlyClassic_0_0_11a = -400,
1037    Classic_EarlyClassic_0_0_10a = -401,
1038    Classic_EarlyClassic_0_0_9a = -402,
1039    Classic_EarlyClassic_0_0_3a = -403,
1040    Classic_EarlyClassic_0_0_2a = -404,
1041    PreClassic_MinecraftAlpha_mc_161648 = -405,
1042    PreClassic_MinecraftAlpha_mc_161625 = -406,
1043    PreClassic_MinecraftAlpha_mc_161616 = -407,
1044    PreClassic_MinecraftAlpha_mc_161607 = -408,
1045    PreClassic_Minecraft_rd_161348 = -409,
1046    PreClassic_Minecraft_rd_160052 = -410,
1047    PreClassic_Minecraft_OrderOfTheStone_rd_20090515 = -411,
1048    PreClassic_CaveGame_rd_132328 = -412,
1049    PreClassic_CaveGame_rd_132211 = -413,
1050    PreClassic_CaveGame_rd_131655 = -414,
1051    PreClassic_CaveGame_rd_131648 = -415,
1052}
1053
1054#[allow(dead_code)]
1055impl DataVersion {
1056    /// The latest data version
1057    pub fn latest() -> DataVersion {
1058        return DataVersion::Snapshot_23w51b;
1059    }
1060
1061    pub fn new() -> DataVersion {
1062        return DataVersion::Java_1_20_4;
1063    }
1064}
1065
1066impl PartialEq<i32> for DataVersion {
1067    fn eq(&self, other: &i32) -> bool {
1068        return (*self as i32) == *other;
1069    }
1070}
1071
1072impl PartialOrd<i32> for DataVersion {
1073    fn partial_cmp(&self, other: &i32) -> Option<Ordering> {
1074        return (*self as i32).partial_cmp(other);
1075    }
1076}