<本站文本内容除另有声明外,转载时均必须注明出处。(详情…中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!Minecraft中文Wiki微博正在更新!或许有兴趣去看看想与其他用户进行编辑上的沟通?社区专页正是为此创建的。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。需要管理员的协助?在管理员告示板留言也许可以帮到您。>

模块:Protocol version/Versions

来自Minecraft Wiki
跳转至: 导航搜索
local all = {} -- Table with version name as key and version info as value
-- These are ordered
local java = {}
local java_old = {}
local java_af = {}
local pocket = {}
local education = {}

-- References to those ordered lists
local groups = {
    {
        ['name'] = 'Java版',
        ['link'] = 'Java版',
        ['values'] = java,
        ['has_data_versions'] = true
    },
    {
        ['name'] = 'Java版(Netty改写前)',
        ['link'] = 'Java版',
        ['desc'] = '自13w41a的Netty改写开始,协议版本重置。',
        ['values'] = java_old,
        ['has_data_versions'] = false
    },
    {
        ['name'] = '愚人节版本',
        ['link'] = ':Category:愚人节玩笑',
        ['desc'] = '愚人节版本中的更改对后来的版本无影响。',
        ['values'] = java_af,
        ['has_data_versions'] = true
    },
    {
        ['name'] = '基岩版',
        ['link'] = '基岩版版本记录',
        ['values'] = pocket,
        ['has_data_versions'] = false
    }
}

-- Intended for translators
unknown = '未知'
none = 'N/A'
pending = '—'

-- Define info for a single version, adding it into the appropriate lists
-- extra is used for additional, rarer options so that they can be explicitly specified
function ver(group, name, protocol, data, extra)
    if all[name] ~= nil
        then error("试图加入版本" .. name .. ",但其已经存在")
    end

    local info = { }
    info.name = name
    info.protocol = protocol
    info.data = data

    if extra then
        -- Forces a separation even if the protocol/data versions match
        info.force_split = extra.force_split
    end

    all[name] = info
    table.insert(group, info)
end

-- Separate major versions (e.g. 1.12 & 1.13) with an extra line.
-- Minor versions, like 1.12, 1.12.1, and 1.12.2 don't need to be separated.
-- April Fools' versions must be put under their own section at the bottom of the page

-- Source: http://wiki.vg/Protocol_version_numbers (licensed under CC-BY-SA 3.0)

-- VANILLA
-- 1.16
ver(java, '20w28a', 740, 2570)
ver(java, '20w27a', 738, 2569)
ver(java, 'Java版1.16.1', 736, 2567)
ver(java, 'Java版1.16', 735, 2566)
ver(java, 'Java版1.16-rc1', 734, 2565)
ver(java, 'Java版1.16-pre8', 733, 2564)
ver(java, 'Java版1.16-pre7', 732, 2563)
ver(java, 'Java版1.16-pre6', 730, 2562)
ver(java, 'Java版1.16-pre5', 729, 2561)
ver(java, 'Java版1.16-pre4', 727, 2560)
ver(java, 'Java版1.16-pre3', 725, 2559)
ver(java, 'Java版1.16-pre2', 722, 2557)
ver(java, 'Java版1.16-pre1', 721, 2556)
ver(java, '20w22a', 719, 2555)
ver(java, '20w21a', 718, 2554)
ver(java, '20w20b', 717, 2537)
ver(java, '20w20a', 716, 2536)
ver(java, '20w19a', 715, 2534)
ver(java, '20w18a', 714, 2532)
ver(java, '20w17a', 713, 2529)
ver(java, '20w16a', 712, 2526)
ver(java, '20w15a', 711, 2525)
ver(java, '20w14a', 710, 2524)
ver(java, '20w13b', 709, 2521)
ver(java, '20w13a', 708, 2520)
ver(java, '20w12a', 707, 2515)
ver(java, '20w11a', 706, 2513)
ver(java, '20w10a', 705, 2512)
ver(java, '20w09a', 704, 2510)
ver(java, '20w08a', 703, 2507)
ver(java, '20w07a', 702, 2506)
ver(java, '20w06a', 701, 2504)

-- 1.15 Combat Tests
ver(java, 'Combat Test 5', 601, 2321)
ver(java, 'Combat Test 4', 600, 2320)
-- 1.15.2
ver(java, 'Java版1.15.2', 578, 2230)
ver(java, 'Java版1.15.2-pre2', 577, 2229)
ver(java, 'Java版1.15.2-pre1', 576, 2228)
-- 1.15.1
ver(java, 'Java版1.15.1', 575, 2227)
ver(java, 'Java版1.15.1-pre1', 574, 2226)
-- 1.15
ver(java, 'Java版1.15', 573, 2225)
ver(java, 'Java版1.15-pre7', 572, 2224)
ver(java, 'Java版1.15-pre6', 571, 2223)
ver(java, 'Java版1.15-pre5', 570, 2222)
ver(java, 'Java版1.15-pre4', 569, 2221)
ver(java, 'Java版1.15-pre3', 567, 2220)
ver(java, 'Java版1.15-pre2', 566, 2219)
ver(java, 'Java版1.15-pre1', 565, 2218)
ver(java, '19w46b', 564, 2217)
ver(java, '19w46a', 563, 2216)
ver(java, '19w45b', 562, 2215)
ver(java, '19w45a', 561, 2214)
ver(java, '19w44a', 560, 2213)
ver(java, '19w42a', 559, 2212)
ver(java, '19w41a', 558, 2210)
ver(java, '19w40a', 557, 2208)
ver(java, '19w39a', 556, 2207)
ver(java, '19w38b', 555, 2206)
ver(java, '19w38a', 554, 2205)
ver(java, '19w37a', 553, 2204)
ver(java, '19w36a', 552, 2203)
ver(java, '19w35a', 551, 2201)
ver(java, '19w34a', 550, 2200)

-- 1.14 Combat Tests
ver(java, 'Combat Test 3', 502, 2069)
ver(java, 'Combat Test 2', 501, 2068)
ver(java, 'Java版1.14.3 - Combat Test', 500, 2067)
-- 1.14.4
ver(java, 'Java版1.14.4', 498, 1976)
ver(java, 'Java版1.14.4-pre7', 497, 1975)
ver(java, 'Java版1.14.4-pre6', 496, 1974)
ver(java, 'Java版1.14.4-pre5', 495, 1973)
ver(java, 'Java版1.14.4-pre4', 494, 1972)
ver(java, 'Java版1.14.4-pre3', 493, 1971)
ver(java, 'Java版1.14.4-pre2', 492, 1970)
ver(java, 'Java版1.14.4-pre1', 491, 1969)
-- 1.14.3
ver(java, 'Java版1.14.3', 490, 1968)
ver(java, 'Java版1.14.3-pre4', 489, 1967)
ver(java, 'Java版1.14.3-pre3', 488, 1966)
ver(java, 'Java版1.14.3-pre2', 487, 1965)
ver(java, 'Java版1.14.3-pre1', 486, 1964)
-- 1.14.2
ver(java, 'Java版1.14.2', 485, 1963)
ver(java, 'Java版1.14.2-pre4', 484, 1962)
ver(java, 'Java版1.14.2-pre3', 483, 1960)
ver(java, 'Java版1.14.2-pre2', 482, 1959)
ver(java, 'Java版1.14.2-pre1', 481, 1958)
--1.14.1
ver(java, 'Java版1.14.1', 480, 1957)
ver(java, 'Java版1.14.1-pre2', 479, 1956)
ver(java, 'Java版1.14.1-pre1', 478, 1955)
--1.14
ver(java, 'Java版1.14', 477, 1952)
ver(java, 'Java版1.14-pre5', 476, 1951)
ver(java, 'Java版1.14-pre4', 475, 1950)
ver(java, 'Java版1.14-pre3', 474, 1949)
ver(java, 'Java版1.14-pre2', 473, 1948)
ver(java, 'Java版1.14-pre1', 472, 1947)
ver(java, '19w14b', 471, 1945)
ver(java, '19w14a', 470, 1944)
ver(java, '19w13b', 469, 1943)
ver(java, '19w13a', 468, 1942)
ver(java, '19w12b', 467, 1941)
ver(java, '19w12a', 466, 1940)
ver(java, '19w11b', 465, 1938)
ver(java, '19w11a', 464, 1937)
ver(java, '19w09a', 463, 1935)
ver(java, '19w08b', 462, 1934)
ver(java, '19w08a', 461, 1933)
ver(java, '19w07a', 460, 1932)
ver(java, '19w06a', 459, 1931)
ver(java, '19w05a', 458, 1930)
ver(java, '19w04b', 457, 1927)
ver(java, '19w04a', 456, 1926)
ver(java, '19w03c', 455, 1924)
ver(java, '19w03b', 454, 1923)
ver(java, '19w03a', 453, 1922)
ver(java, '19w02a', 452, 1921)
ver(java, '18w50a', 451, 1919)
ver(java, '18w49a', 450, 1916)
ver(java, '18w48b', 449, 1915)
ver(java, '18w48a', 448, 1914)
ver(java, '18w47b', 447, 1913)
ver(java, '18w47a', 446, 1912)
ver(java, '18w46a', 445, 1910)
ver(java, '18w45a', 444, 1908)
ver(java, '18w44a', 443, 1907)
ver(java, '18w43c', 442, 1903)
ver(java, '18w43b', 441, 1902)
ver(java, '18w43a', 440, 1901)

-- 1.13
ver(java, 'Java版1.13.2', 404, 1631)
ver(java, 'Java版1.13.2-pre2', 403, 1630)
ver(java, 'Java版1.13.2-pre1', 402, 1629)
ver(java, 'Java版1.13.1', 401, 1628)
ver(java, 'Java版1.13.1-pre2', 400, 1627)
ver(java, 'Java版1.13.1-pre1', 399, 1626)
ver(java, '18w33a', 398, 1625)
ver(java, '18w32a', 397, 1623)
ver(java, '18w31a', 396, 1622)
ver(java, '18w30b', 395, 1621)
ver(java, '18w30a', 394, 1620)
ver(java, 'Java版1.13', 393, 1519)
ver(java, 'Java版1.13-pre10', 392, 1518)
ver(java, 'Java版1.13-pre9', 391, 1517)
ver(java, 'Java版1.13-pre8', 390, 1516)
ver(java, 'Java版1.13-pre7', 389, 1513)
ver(java, 'Java版1.13-pre6', 388, 1512)
ver(java, 'Java版1.13-pre5', 387, 1511)
ver(java, 'Java版1.13-pre4', 386, 1504)
ver(java, 'Java版1.13-pre3', 385, 1503)
ver(java, 'Java版1.13-pre2', 384, 1502)
ver(java, 'Java版1.13-pre1', 383, 1501)
ver(java, '18w22c', 382, 1499)
ver(java, '18w22b', 381, 1498)
ver(java, '18w22a', 380, 1497)
ver(java, '18w21b', 379, 1496)
ver(java, '18w21a', 378, 1495)
ver(java, '18w20c', 377, 1493)
ver(java, '18w20b', 376, 1491)
ver(java, '18w20a', 375, 1489)
ver(java, '18w19b', 374, 1485)
ver(java, '18w19a', 373, 1484)
ver(java, '18w16a', 372, 1483)
ver(java, '18w15a', 371, 1482)
ver(java, '18w14b', 370, 1481)
ver(java, '18w14a', 369, 1479)
ver(java, '18w11a', 368, 1478)
ver(java, '18w10d', 367, 1477)
ver(java, '18w10c', 366, 1476)
ver(java, '18w10b', 365, 1474)
ver(java, '18w10a', 364, 1473)
ver(java, '18w09a', 363, 1472)
ver(java, '18w08b', 362, 1471)
ver(java, '18w08a', 361, 1470)
ver(java, '18w07c', 360, 1469)
ver(java, '18w07b', 359, 1468)
ver(java, '18w07a', 358, 1467)
ver(java, '18w06a', 357, 1466)
ver(java, '18w05a', 356, 1464)
ver(java, '18w03b', 355, 1463)
ver(java, '18w03a', 354, 1462)
ver(java, '18w02a', 353, 1461)
ver(java, '18w01a', 352, 1459)
ver(java, '17w50a', 351, 1457)
ver(java, '17w49b', 350, 1455)
ver(java, '17w49a', 349, 1454)
ver(java, '17w48a', 348, 1453)
ver(java, '17w47b', 347, 1452)
ver(java, '17w47a', 346, 1451)
ver(java, '17w46a', 345, 1449)
ver(java, '17w45b', 344, 1448)
ver(java, '17w45a', 343, 1447)
ver(java, '17w43b', 342, 1445)
ver(java, '17w43a', 341, 1444)

-- 1.12.2
ver(java, 'Java版1.12.2', 340, 1343)
ver(java, 'Java版1.12.2-pre2', 339, 1342)
ver(java, 'Java版1.12.2-pre1', 339, 1341)
-- 1.12.1
ver(java, 'Java版1.12.1', 338, 1241)
ver(java, 'Java版1.12.1-pre1', 337, 1240)
ver(java, '17w31a', 336, 1239)
-- 1.12
ver(java, 'Java版1.12', 335, 1139)
ver(java, 'Java版1.12-pre7', 334, 1138)
ver(java, 'Java版1.12-pre6', 333, 1137)
ver(java, 'Java版1.12-pre5', 332, 1136)
ver(java, 'Java版1.12-pre4', 331, 1135)
ver(java, 'Java版1.12-pre3', 330, 1134)
ver(java, 'Java版1.12-pre2', 329, 1133)
ver(java, 'Java版1.12-pre1', 328, 1132)
ver(java, '17w18b', 327, 1131)
ver(java, '17w18a', 326, 1130)
ver(java, '17w17b', 325, 1129)
ver(java, '17w17a', 324, 1128)
ver(java, '17w16b', 323, 1127)
ver(java, '17w16a', 322, 1126)
ver(java, '17w15a', 321, 1125)
ver(java, '17w14a', 320, 1124)
ver(java, '17w13b', 319, 1123)
ver(java, '17w13a', 318, 1122)
ver(java, '17w06a', 317, 1022)

-- 1.11.2
ver(java, 'Java版1.11.2', 316, 922)
-- 1.11.1
ver(java, 'Java版1.11.1', 316, 921)
ver(java, '16w50a', 316, 920)
-- 1.11
ver(java, 'Java版1.11', 315, 819)
ver(java, 'Java版1.11-pre1', 314, 818)
ver(java, '16w44a', 313, 817)
ver(java, '16w43a', 313, 816)
ver(java, '16w42a', 312, 815)
ver(java, '16w41a', 311, 814)
ver(java, '16w40a', 310, 813)
ver(java, '16w39c', 309, 812)
ver(java, '16w39b', 308, 811)
ver(java, '16w39a', 307, 809)
ver(java, '16w38a', 306, 807)
ver(java, '16w36a', 305, 805)
ver(java, '16w35a', 304, 803)
ver(java, '16w33a', 303, 802)
ver(java, '16w32b', 302, 801)
ver(java, '16w32a', 301, 800)

-- 1.10.2
ver(java, 'Java版1.10.2', 210, 512)
-- 1.10.1
ver(java, 'Java版1.10.1', 210, 511)
-- 1.10
ver(java, 'Java版1.10', 210, 510)
ver(java, 'Java版1.10-pre2', 205, 507)
ver(java, 'Java版1.10-pre1', 204, 506)
ver(java, '16w21b', 203, 504)
ver(java, '16w21a', 202, 503)
ver(java, '16w20a', 201, 501)

-- 1.9.4
ver(java, 'Java版1.9.4', 110, 184)
-- 1.9.3
ver(java, 'Java版1.9.3', 110, 183)
ver(java, 'Java版1.9.3-pre3', 110, 182)
ver(java, 'Java版1.9.3-pre2', 110, 181)
ver(java, 'Java版1.9.3-pre1', 109, 180)
ver(java, '16w15b', 109, 179)
ver(java, '16w15a', 109, 178)
ver(java, '16w14a', 109, 177)
-- 1.9.2
ver(java, 'Java版1.9.2', 109, 176)
-- 1.9.1
ver(java, 'Java版1.9.1', 108, 175)
ver(java, 'Java版1.9.1-pre3', 108, 172)
ver(java, 'Java版1.9.1-pre2', 108, 171)
ver(java, 'Java版1.9.1-pre1', 107, 170)
-- 1.9
ver(java, 'Java版1.9', 107, 169)
ver(java, 'Java版1.9-pre4', 106, 168)
ver(java, 'Java版1.9-pre3', 105, 167)
ver(java, 'Java版1.9-pre2', 104, 165)
ver(java, 'Java版1.9-pre1', 103, 164)
ver(java, '16w07b', 102, 163)
ver(java, '16w07a', 101, 162)
ver(java, '16w06a', 100, 161)
ver(java, '16w05b', 99, 160)
ver(java, '16w05a', 98, 159)
ver(java, '16w04a', 97, 158)
ver(java, '16w03a', 96, 157)
ver(java, '16w02a', 95, 156)
ver(java, '15w51b', 94, 155)
ver(java, '15w51a', 93, 154)
ver(java, '15w50a', 92, 153)
ver(java, '15w49b', 91, 152)
ver(java, '15w49a', 90, 151)
ver(java, '15w47c', 89, 150)
ver(java, '15w47b', 88, 149)
ver(java, '15w47a', 87, 148)
ver(java, '15w46a', 86, 146)
ver(java, '15w45a', 85, 145)
ver(java, '15w44b', 84, 143)
ver(java, '15w44a', 83, 142)
ver(java, '15w43c', 82, 141)
ver(java, '15w43b', 81, 140)
ver(java, '15w43a', 80, 139)
ver(java, '15w42a', 79, 138)
ver(java, '15w41b', 78, 137)
ver(java, '15w41a', 77, 136)
ver(java, '15w40b', 76, 134)
ver(java, '15w40a', 75, 133)
ver(java, '15w39c', 74, 132)
ver(java, '15w39b', 74, 131)
ver(java, '15w39a', 74, 130)
ver(java, '15w38b', 73, 129)
ver(java, '15w38a', 72, 128)
ver(java, '15w37a', 71, 127)
ver(java, '15w36d', 70, 126)
ver(java, '15w36c', 69, 125)
ver(java, '15w36b', 68, 124)
ver(java, '15w36a', 67, 123)
ver(java, '15w35e', 66, 122)
ver(java, '15w35d', 65, 121)
ver(java, '15w35c', 64, 120)
ver(java, '15w35b', 63, 119)
ver(java, '15w35a', 62, 118)
ver(java, '15w34d', 61, 117)
ver(java, '15w34c', 60, 116)
ver(java, '15w34b', 59, 115)
ver(java, '15w34a', 58, 114)
ver(java, '15w33c', 57, 112)
ver(java, '15w33b', 56, 111)
ver(java, '15w33a', 55, 111)
ver(java, '15w32c', 54, 104)
ver(java, '15w32b', 53, 103)
ver(java, '15w32a', 52, 100)
ver(java, '15w31c', 51)
ver(java, '15w31b', 50)
ver(java, '15w31a', 49)

-- 1.8.9
ver(java, 'Java版1.8.9', 47)
-- 1.8.8
ver(java, 'Java版1.8.8', 47)
-- 1.8.7
ver(java, 'Java版1.8.7', 47)
-- 1.8.6
ver(java, 'Java版1.8.6', 47)
-- 1.8.5
ver(java, 'Java版1.8.5', 47)
-- 1.8.4
ver(java, 'Java版1.8.4', 47)
-- 1.8.3
ver(java, 'Java版1.8.3', 47)
-- 1.8.2
ver(java, 'Java版1.8.2', 47)
ver(java, 'Java版1.8.2-pre7', 47)
ver(java, 'Java版1.8.2-pre6', 47)
ver(java, 'Java版1.8.2-pre5', 47)
ver(java, 'Java版1.8.2-pre4', 47)
ver(java, 'Java版1.8.2-pre3', 47)
ver(java, 'Java版1.8.2-pre2', 47)
ver(java, 'Java版1.8.2-pre1', 47)
-- 1.8.1
ver(java, 'Java版1.8.1', 47)
ver(java, 'Java版1.8.1-pre5', 47)
ver(java, 'Java版1.8.1-pre4', 47)
ver(java, 'Java版1.8.1-pre3', 47)
ver(java, 'Java版1.8.1-pre2', 47)
ver(java, 'Java版1.8.1-pre1', 47)
-- 1.8
ver(java, 'Java版1.8', 47)
ver(java, 'Java版1.8-pre3', 46)
ver(java, 'Java版1.8-pre2', 45)
ver(java, 'Java版1.8-pre1', 44)
ver(java, '14w34d', 43)
ver(java, '14w34c', 42)
ver(java, '14w34b', 41)
ver(java, '14w34a', 40)
ver(java, '14w33c', 39)
ver(java, '14w33b', 38)
ver(java, '14w33a', 37)
ver(java, '14w32d', 36)
ver(java, '14w32c', 35)
ver(java, '14w32b', 34)
ver(java, '14w32a', 33)
ver(java, '14w31a', 32)
ver(java, '14w30c', 31)
ver(java, '14w30b', 30)
ver(java, '14w30a', 30)
ver(java, '14w29b', 29)
ver(java, '14w29a', 29)
ver(java, '14w28b', 28)
ver(java, '14w28a', 27)
ver(java, '14w27b', 26)
ver(java, '14w27a', 26)
ver(java, '14w26c', 25)
ver(java, '14w26b', 24)
ver(java, '14w26a', 23)
ver(java, '14w25b', 22)
ver(java, '14w25a', 21)
ver(java, '14w21b', 20)
ver(java, '14w21a', 19)
ver(java, '14w20b', 18)
ver(java, '14w20a', 18)
ver(java, '14w19a', 17)
ver(java, '14w18b', 16)
ver(java, '14w18a', 16)
ver(java, '14w17a', 15)
ver(java, '14w11b', 14)
ver(java, '14w11a', 14)
ver(java, '14w10c', 13)
ver(java, '14w10b', 13)
ver(java, '14w10a', 13)
ver(java, '14w08a', 12)
ver(java, '14w07a', 11)
ver(java, '14w06b', 10)
ver(java, '14w06a', 10)
ver(java, '14w05b', 9)
ver(java, '14w05a', 9)
ver(java, '14w04b', 8)
ver(java, '14w04a', 7)
ver(java, '14w03b', 6)
ver(java, '14w03a', 6)
ver(java, '14w02c', 5)
ver(java, '14w02b', 5)
ver(java, '14w02a', 5)

-- 1.7.10
ver(java, 'Java版1.7.10', 5)
ver(java, 'Java版1.7.10-pre4', 5)
ver(java, 'Java版1.7.10-pre3', 5)
ver(java, 'Java版1.7.10-pre2', 5)
ver(java, 'Java版1.7.10-pre1', 5)
-- 1.7.9
ver(java, 'Java版1.7.9', 5)
-- 1.7.8
ver(java, 'Java版1.7.8', 5)
-- 1.7.7
ver(java, 'Java版1.7.7', 5)
-- 1.7.6
ver(java, 'Java版1.7.6', 5)
ver(java, 'Java版1.7.6-pre2', 5)
ver(java, 'Java版1.7.6-pre1', 5)
-- 1.7.5
ver(java, 'Java版1.7.5', 4)
-- 1.7.4
ver(java, 'Java版1.7.4', 4)
ver(java, 'Java版1.7.3', 4)
ver(java, '13w49a', 4)
ver(java, '13w48b', 4)
ver(java, '13w48a', 4)
ver(java, '13w47e', 4)
ver(java, '13w47d', 4)
ver(java, '13w47c', 4)
ver(java, '13w47b', 4)
ver(java, '13w47a', 4)
-- 1.7.2
ver(java, 'Java版1.7.2', 4)
ver(java, 'Java版1.7.1', 3)
ver(java, 'Java版1.7', 3)
ver(java, '13w43a', 2)
ver(java, '13w42b', 1)
ver(java, '13w42a', 1)
ver(java, '13w41b', 0)
ver(java, '13w41a', 0, nil, {force_split=true})

-- Protocol versions numbers BEFORE the 13w41a reset due to Netty rewrite
ver(java_old, '13w39b', 80)
ver(java_old, '13w39a', 80)
ver(java_old, '13w38c', 79)
ver(java_old, '13w38b', 79)
ver(java_old, '13w38a', 79)

-- 1.6.4
ver(java_old, 'Java版1.6.4', 78)
ver(java_old, 'Java版1.6.3', 77)
ver(java_old, '13w37b', 76)
ver(java_old, '13w37a', 76)
ver(java_old, '13w36b', 75)
ver(java_old, '13w36a', 75)
-- 1.6.2
ver(java_old, 'Java版1.6.2', 74)
-- 1.6.1
ver(java_old, 'Java版1.6.1', 73)
ver(java_old, 'Java版1.6', 72)
ver(java_old, '13w26a', 72)
ver(java_old, '13w25c', 71)
ver(java_old, '13w25b', 71)
ver(java_old, '13w25a', 71)
ver(java_old, '13w24b', 70)
ver(java_old, '13w24a', 69)
ver(java_old, '13w23b', 68)
ver(java_old, '13w23a', 67)
ver(java_old, '13w22a', 67)
ver(java_old, '13w21b', 67)
ver(java_old, '13w21a', 67)
ver(java_old, '13w19a', 66)
ver(java_old, '13w18c', 65)
ver(java_old, '13w18b', 65)
ver(java_old, '13w18a', 65)
ver(java_old, '13w17a', 64)
ver(java_old, '13w16b', 63)
ver(java_old, '13w16a', 62)

-- 1.5.2
ver(java_old, 'Java版1.5.2', 61)
-- 1.5.1
ver(java_old, 'Java版1.5.1', 60)
ver(java_old, '13w12~', 60)
ver(java_old, '13w11a', 60)
-- 1.5
ver(java_old, 'Java版1.5', 60)
ver(java_old, '13w10b', 60)
ver(java_old, '13w10a', 60)
ver(java_old, '13w09c', 60)
ver(java_old, '13w09b', 59)
ver(java_old, '13w09a', 59)
ver(java_old, '13w07a', 58)
ver(java_old, '13w06a', 58)
ver(java_old, '13w05b', 57)
ver(java_old, '13w05a', 56)
ver(java_old, '13w04a', 55)
ver(java_old, '13w03a', 54)
ver(java_old, '13w02b', 53)
ver(java_old, '13w02a', 53)
ver(java_old, '13w01b', 52)
ver(java_old, '13w01a', 52)

-- 1.4.7
ver(java_old, 'Java版1.4.7', 51)
-- 1.4.6
ver(java_old, 'Java版1.4.6', 51)
ver(java_old, '12w50b', 51)
ver(java_old, '12w50a', 51)
ver(java_old, '12w49a', 50)
-- 1.4.5
ver(java_old, 'Java版1.4.5', 49)
-- 1.4.4
ver(java_old, 'Java版1.4.4', 49)
ver(java_old, 'Java版1.4.3', 48)
-- 1.4.2
ver(java_old, 'Java版1.4.2', 47)
ver(java_old, 'Java版1.4.1', unknown)
ver(java_old, 'Java版1.4', unknown)
ver(java_old, '12w42b', 46)
ver(java_old, '12w42a', 46)
ver(java_old, '12w41b', 46)
ver(java_old, '12w41a', 46)
ver(java_old, '12w40b', 45)
ver(java_old, '12w40a', 44)
ver(java_old, '12w39b', 43)
ver(java_old, '12w39a', 43)
ver(java_old, '12w38b', 43)
ver(java_old, '12w38a', 43)
ver(java_old, '12w37a', 42)
ver(java_old, '12w36a', 42)
ver(java_old, '12w34b', 42)
ver(java_old, '12w34a', 41)
ver(java_old, '12w32a', 40)

-- 1.3.2
ver(java_old, 'Java版1.3.2', 39)
-- 1.3.1
ver(java_old, 'Java版1.3.1', 39)
ver(java_old, 'Java版1.3', 39)
ver(java_old, '12w30e', 39)
ver(java_old, '12w30d', 39)
ver(java_old, '12w30c', 39)
ver(java_old, '12w30b', 38)
ver(java_old, '12w30a', 38)
ver(java_old, '12w27a', 38)
ver(java_old, '12w26a', 37)
ver(java_old, '12w25a', 37)
ver(java_old, '12w24a', 36)
ver(java_old, '12w23b', 35)
ver(java_old, '12w23a', 35)
ver(java_old, '12w22a', 34)
ver(java_old, '12w21b', 33)
ver(java_old, '12w21a', 33)
ver(java_old, '12w19a', 32)
ver(java_old, '12w18a', 32)
ver(java_old, '12w17a', 31)
ver(java_old, '12w16a', 30)
ver(java_old, '12w15a', 29)

-- 1.2.5
ver(java_old, 'Java版1.2.5', 29)
-- 1.2.4
ver(java_old, 'Java版1.2.4', 29)
-- 1.2.3
ver(java_old, 'Java版1.2.3', 28)
-- 1.2.2
ver(java_old, 'Java版1.2.2', 28)
-- 1.2.1
ver(java_old, 'Java版1.2.1', 28)
ver(java_old, 'Java版1.2', 28)
ver(java_old, '12w08a', 28)
ver(java_old, '12w07b', 27)
ver(java_old, '12w07a', 27)
ver(java_old, '12w06a', 25)
ver(java_old, '12w05b', 24)
ver(java_old, '12w05a', 24)
ver(java_old, '12w04a', 24)
ver(java_old, '12w03a', 24)

-- 1.1
ver(java_old, 'Java版1.1', 23)
ver(java_old, '12w01a', 23)
ver(java_old, '11w50a', 22)
ver(java_old, '11w49a', 22)
ver(java_old, '11w48a', 22)
ver(java_old, '11w47a', 22)

-- 1.0.1
ver(java_old, 'Java版1.0.1', 22)
-- 1.0.0
ver(java_old, 'Java版1.0.0', 22)
ver(java_old, 'Java版RC2', 22)
ver(java_old, 'Java版RC1', 22)
ver(java_old, 'Java版Beta 1.9 Prerelease 6', 22)
ver(java_old, 'Java版Beta 1.9 Prerelease 5', 21)
ver(java_old, 'Java版Beta 1.9 Prerelease 4', 20)
ver(java_old, 'Java版Beta 1.9 Prerelease 3', 19)
ver(java_old, 'Java版Beta 1.9 Prerelease 2', 19)
ver(java_old, 'Java版Beta 1.9 Prerelease', 18)

-- BETA
-- 1.8
ver(java_old, 'Java版Beta 1.8.1', 17)
ver(java_old, 'Java版Beta 1.8', 17)
ver(java_old, 'Java版Beta 1.8 Pre-release 2 ;)', 16)
ver(java_old, 'Java版Beta 1.8 Pre-release', 15)

-- 1.7
ver(java_old, 'Java版Beta 1.7.3', 14)
ver(java_old, 'Java版Beta 1.7.2', 14)
ver(java_old, 'Java版Beta 1.7_01', 14)
ver(java_old, 'Java版Beta 1.7', 14)

-- 1.6
ver(java_old, 'Java版Beta 1.6.6', 13)
ver(java_old, 'Java版Beta 1.6.5', 13)
ver(java_old, 'Java版Beta 1.6.4', 13)
ver(java_old, 'Java版Beta 1.6.3', 13)
ver(java_old, 'Java版Beta 1.6.2', 13)
ver(java_old, 'Java版Beta 1.6.1', 13)
ver(java_old, 'Java版Beta 1.6', 13)
ver(java_old, 'Java版Beta 1.6 Test Build 3', 12)

-- 1.5
ver(java_old, 'Java版Beta 1.5_02', 11) -- server-only
ver(java_old, 'Java版Beta 1.5_01', 11)
ver(java_old, 'Java版Beta 1.5', 11)

-- 1.4
ver(java_old, 'Java版Beta 1.4_01', 10)
ver(java_old, 'Java版Beta 1.4', 10)

-- 1.3
ver(java_old, 'Java版Beta 1.3_01', 9)
ver(java_old, 'Java版Beta 1.3', 9)

-- 1.2
ver(java_old, 'Java版Beta 1.2_02', 8)
ver(java_old, 'Java版Beta 1.2_01', 8)
ver(java_old, 'Java版Beta 1.2', 8)

-- 1.1
ver(java_old, 'Java版Beta 1.1_02', 8)
ver(java_old, 'Java版Beta 1.1_01', 7)
ver(java_old, 'Java版Beta 1.1', 7)

-- 1.0
ver(java_old, 'Java版Beta 1.0.2', 7)
ver(java_old, 'Java版Beta 1.0_01', 7)
ver(java_old, 'Java版Beta 1.0', 7)

-- ALPHA + ALPHA SERVER
-- 1.2 (Client)
ver(java_old, 'Java版Alpha服务器0.2.8', 6)
ver(java_old, 'Java版Alpha v1.2.6', 6)
ver(java_old, 'Java版Alpha服务器0.2.7', 6)
ver(java_old, 'Java版Alpha v1.2.5', 6)
ver(java_old, 'Java版Alpha服务器0.2.6_02', 6)
ver(java_old, 'Java版Alpha v1.2.4_01', 6)
ver(java_old, 'Java版Alpha服务器0.2.6_01', 6)
ver(java_old, 'Java版Alpha服务器0.2.6', 6)
ver(java_old, 'Java版Alpha v1.2.3_05', 6) -- v1.2.4
ver(java_old, 'Java版Alpha v1.2.3_04', 5)
ver(java_old, 'Java版Alpha服务器0.2.5_02', 5)
ver(java_old, 'Java版Alpha服务器0.2.5_01', 5)
ver(java_old, 'Java版Alpha v1.2.3_02', 5)
ver(java_old, 'Java版Alpha v1.2.3_01', 5)
ver(java_old, 'Java版Alpha服务器0.2.5', 5)
ver(java_old, 'Java版Alpha v1.2.3', 5)
ver(java_old, 'Java版Alpha服务器0.2.4', 4)
ver(java_old, 'Java版Alpha v1.2.2', 4)
ver(java_old, 'Java版Alpha v1.2.1_01', 3)
ver(java_old, 'Java版Alpha服务器0.2.3', 3)
ver(java_old, 'Java版Alpha v1.2.1', 3)
ver(java_old, 'Java版Alpha v1.2.0_02', 3)
ver(java_old, 'Java版Alpha v1.2.0_01', 3)
ver(java_old, 'Java版Alpha服务器0.2.2_01', 3)
ver(java_old, 'Java版Alpha服务器0.2.2', 3)
ver(java_old, 'Java版Alpha v1.2.0', 3)

-- 1.1 (Client)
ver(java_old, 'Java版Alpha v1.1.2_01', 2)
ver(java_old, 'Java版Alpha v1.1.2', 2)
ver(java_old, 'Java版Alpha服务器0.2.1', 2)
ver(java_old, 'Java版Alpha v1.1.1', 2)
ver(java_old, 'Java版Alpha服务器0.2.0_01', 2)
ver(java_old, 'Java版Alpha服务器0.2.0', 2)
ver(java_old, 'Java版Alpha v1.1.0', 2)

-- 1.0 (Client)
ver(java_old, 'Java版Alpha v1.0.17_04', 1)
ver(java_old, 'Java版Alpha v1.0.17_03', 1)
ver(java_old, 'Java版Alpha v1.0.17_02', 1)
ver(java_old, 'Java版Alpha服务器0.1.4', 1)
ver(java_old, 'Java版Alpha v1.0.17_01', unknown)
ver(java_old, 'Java版Alpha v1.0.17', unknown)
ver(java_old, 'Java版Alpha服务器0.1.3', 14)
ver(java_old, 'Java版Alpha v1.0.16_02', 14)
ver(java_old, 'Java版Alpha服务器0.1.2_01', 14)
ver(java_old, 'Java版Alpha服务器0.1.2', 14)
ver(java_old, 'Java版Alpha v1.0.16_01', 14)
ver(java_old, 'Java版Alpha服务器0.1.1', 14)
ver(java_old, 'Java版Alpha v1.0.16', 14)
ver(java_old, 'Java版Alpha服务器0.1.0', 13)
ver(java_old, 'Java版Alpha v1.0.15', 13)
-- These versions have a multiplayer button, but a specific server is hardcoded.
ver(java_old, 'Java版Alpha v1.0.14', 12)
ver(java_old, 'Java版Alpha v1.0.13_01', 12)
ver(java_old, 'Java版Alpha v1.0.13', 12)
ver(java_old, 'Java版Alpha v1.0.12', 11)
ver(java_old, 'Java版Alpha v1.0.11', 10)
ver(java_old, 'Java版Alpha v1.0.10', 10)
-- These versions have multiplayer code, but no multiplayer interface. 
ver(java_old, 'Java版Alpha v1.0.9', 10)
ver(java_old, 'Java版Alpha v1.0.8_01', 10)
ver(java_old, 'Java版Alpha v1.0.8', 10)
ver(java_old, 'Java版Alpha v1.0.7', 10)
ver(java_old, 'Java版Alpha v1.0.6_03', 10)
ver(java_old, 'Java版Alpha v1.0.6_02', 10)
ver(java_old, 'Java版Alpha v1.0.6_01', 10)
ver(java_old, 'Java版Alpha v1.0.6', 10)
ver(java_old, 'Java版Alpha v1.0.5_01', 10)
ver(java_old, 'Java版Alpha v1.0.5', 10)
-- Multiplayer did not exist
ver(java_old, 'Java版Alpha v1.0.4', none)
ver(java_old, 'Java版Alpha v1.0.3', none)
ver(java_old, 'Java版Alpha v1.0.2_02', none)
ver(java_old, 'Java版Alpha v1.0.2_01', none)
ver(java_old, 'Java版Alpha v1.0.2', none)
ver(java_old, 'Java版Alpha v1.0.1_01', none)
ver(java_old, 'Java版Alpha v1.0.1', none)
ver(java_old, 'Java版Alpha v1.0.0', none)

-- Indef and Infdev: no multiplayer; all versions use the same title
ver(java_old, 'Java版Infdev', none)
ver(java_old, 'Java版Indev', none)
ver(java_old, 'Java版Indev 0.31', none)

-- CLASSIC
ver(java_old, 'Java版Classic 0.30', 7)
ver(java_old, 'Java版Classic 0.29_02', 7)
ver(java_old, 'Java版Classic 0.29_01', 7)
ver(java_old, 'Java版Classic 0.28_01', 7)
ver(java_old, 'Java版Classic 0.28', unknown)
ver(java_old, 'Java版Classic 0.27 SURVIVAL TEST', 6)
ver(java_old, 'Java版Classic 0.26 SURVIVAL TEST', 6)
ver(java_old, 'Java版Classic 0.25_05 SURVIVAL TEST', 6)
ver(java_old, 'Java版Classic 0.25 SURVIVAL TEST', 6)
ver(java_old, 'Java版Classic 0.24_SURVIVAL_TEST_03', 6)
ver(java_old, 'Java版Classic 0.24_SURVIVAL_TEST_02', 6)
ver(java_old, 'Java版Classic 0.24_SURVIVAL_TEST_01', 6)
ver(java_old, 'Java版Classic 0.24_SURVIVAL_TEST', 6)
ver(java_old, 'Java版Classic 0.0.23a_01', 6)
ver(java_old, 'Java版Classic 0.0.23a', 6)
ver(java_old, 'Java版Classic 0.0.22a_05', 6)
ver(java_old, 'Java版Classic 0.0.22a_04', 6)
ver(java_old, 'Java版Classic 0.0.22a_03', 6)
ver(java_old, 'Java版Classic 0.0.22a_02', 6)
ver(java_old, 'Java版Classic 0.0.22a_01', 6)
ver(java_old, 'Java版Classic 0.0.22a', 6)
ver(java_old, 'Java版Classic 0.0.21a_01', 6)
ver(java_old, 'Java版Classic 0.0.21a', 6)
ver(java_old, 'Java版Classic 0.0.20a_02', unknown)
ver(java_old, 'Java版Classic 0.0.20a_01', unknown)
ver(java_old, 'Java版Classic 0.0.20a', unknown)
ver(java_old, 'Java版Classic 0.0.19a_06', unknown)
ver(java_old, 'Java版Classic 0.0.19a_05', unknown)
ver(java_old, 'Java版Classic 0.0.19a_04', unknown)
ver(java_old, 'Java版Classic 0.0.19a_03', unknown)
ver(java_old, 'Java版Classic 0.0.19a_01', unknown)
ver(java_old, 'Java版Classic 0.0.19a', unknown)
ver(java_old, 'Java版Classic 0.0.18a_02', unknown)
ver(java_old, 'Java版Classic 0.0.18a_01', unknown)
ver(java_old, 'Java版Classic 0.0.18a', unknown)
ver(java_old, 'Java版Classic 0.0.17a', unknown)
ver(java_old, 'Java版Classic 0.0.16a_02', unknown)
ver(java_old, 'Java版Classic 0.0.16a_01', unknown)
ver(java_old, 'Java版Classic 0.0.16a', unknown)
ver(java_old, 'Java版Classic 0.0.15a(多人测试3)', unknown)
ver(java_old, 'Java版Classic 0.0.15a(多人测试2)', unknown)
ver(java_old, 'Java版Classic 0.0.15a(多人测试1)', unknown)
ver(java_old, 'Java版Classic 0.0.14a_08', none)
ver(java_old, 'Java版Classic 0.0.14a_07', none)
ver(java_old, 'Java版Classic 0.0.14a_04', none)
ver(java_old, 'Java版Classic 0.0.14a_03', none)
ver(java_old, 'Java版Classic 0.0.14a', none)
ver(java_old, 'Java版Classic 0.0.13a_03', none)
ver(java_old, 'Java版Classic 0.0.13a', none)
ver(java_old, 'Java版Classic 0.0.12a_03', none)
ver(java_old, 'Java版Classic 0.0.12a_02', none)
ver(java_old, 'Java版Classic 0.0.12a_01', none)
ver(java_old, 'Java版Classic 0.0.12a', none)
ver(java_old, 'Java版Classic 0.0.11a', none)
ver(java_old, 'Java版Classic 0.0.10a', none)
ver(java_old, 'Java版Classic 0.0.9a', none)
ver(java_old, 'Java版Classic 0.0.3a', none)
ver(java_old, 'Java版Classic 0.0.2a', none)


-- April Fools'
ver(java_af, '20w14∞', 709, 2522)
ver(java_af, 'Java版3D Shareware v1.34', 1, 1943)
ver(java_af, 'Java版1.RV-Pre1', 108, 173)
ver(java_af, '15w14a', 48)
ver(java_af, 'Java版2.0', '90, 91, 92')

-- POCKET EDITION
-- Source: http://pmmp.readthedocs.io/en/rtfd/supportedMCPEversions.html
-- (Licensed under LGPL3, used with permission from author)

-- 1.16
ver(pocket, '基岩版beta 1.16.20.52', 407)
ver(pocket, '基岩版beta 1.16.20.50', 407)
ver(pocket, '基岩版1.16.1.03', 407)
ver(pocket, '基岩版1.16.1', 407)
ver(pocket, '基岩版1.16.0', 407)
ver(pocket, '基岩版beta 1.16.0.68', 407)
ver(pocket, '基岩版beta 1.16.0.67', 407)
ver(pocket, '基岩版beta 1.16.0.66', 407)
ver(pocket, '基岩版beta 1.16.0.64', 407)
ver(pocket, '基岩版beta 1.16.0.63', 406)
ver(pocket, '基岩版beta 1.16.0.61', 405)
ver(pocket, '基岩版beta 1.16.0.60', 404)
ver(pocket, '基岩版beta 1.16.0.59', 401)
ver(pocket, '基岩版beta 1.16.0.58', 401)
ver(pocket, '基岩版beta 1.16.0.57', 403)
ver(pocket, '基岩版beta 1.16.0.55', 402)
ver(pocket, '基岩版beta 1.16.0.53', 401)
ver(pocket, '基岩版beta 1.16.0.51', 400)
ver(pocket, '基岩版beta 1.15.0.56', 396)
ver(pocket, '基岩版beta 1.15.0.55', 395)
ver(pocket, '基岩版beta 1.15.0.54', 394)
ver(pocket, '基岩版beta 1.15.0.53', 393)
ver(pocket, '基岩版beta 1.15.0.51', 392)
ver(pocket, '基岩版beta 1.15.0.9', 391)
ver(pocket, '基岩版beta 1.15.0.8', 391)

-- 1.14
ver(pocket, '基岩版1.14.60', 390)
ver(pocket, '基岩版1.14.41', unknown)
ver(pocket, '基岩版1.14.30', 389)
ver(pocket, '基岩版beta 1.14.30.51', 389)
ver(pocket, '基岩版1.14.20', 389)
ver(pocket, '基岩版beta 1.14.25.1', 389)
ver(pocket, '基岩版beta 1.14.2.51', 389)
ver(pocket, '基岩版beta 1.14.2.50', 389)
ver(pocket, '基岩版1.14.1', 389)
ver(pocket, '基岩版beta 1.14.1.3', 389)
ver(pocket, '基岩版beta 1.14.1.2', 389)
ver(pocket, '基岩版1.14.0.12', 389)
ver(pocket, '基岩版1.14.0', 389)
ver(pocket, '基岩版beta 1.14.0.52', 389)
ver(pocket, '基岩版beta 1.14.0.51', 389)
ver(pocket, '基岩版beta 1.14.0.50', 389)
ver(pocket, '基岩版beta 1.14.0.6', 389)
ver(pocket, '基岩版beta 1.14.0.4', 389)
ver(pocket, '基岩版beta 1.14.0.3', 389)
ver(pocket, '基岩版beta 1.14.0.2', 389)
ver(pocket, '基岩版beta 1.14.0.1', 390)

-- 1.13
ver(pocket, '基岩版1.13.3', 388)
ver(pocket, '基岩版1.13.2', 388)
ver(pocket, '基岩版1.13.1', 388)
ver(pocket, '基岩版1.13.0', 388)
ver(pocket, '基岩版beta 1.13.0.18', 389)
ver(pocket, '基岩版beta 1.13.0.17', 388)
ver(pocket, '基岩版beta 1.13.0.16', 388)
ver(pocket, '基岩版beta 1.13.0.15', 387)
ver(pocket, '基岩版beta 1.13.0.13', 386)
ver(pocket, '基岩版beta 1.13.0.9', 385)
ver(pocket, '基岩版beta 1.13.0.6', 371)
ver(pocket, '基岩版beta 1.13.0.5', 371)
ver(pocket, '基岩版beta 1.13.0.4', 371)
ver(pocket, '基岩版beta 1.13.0.2', 370)
ver(pocket, '基岩版beta 1.13.0.1', 370)


-- 1.12
ver(pocket, '基岩版1.12.1', 361)
ver(pocket, '基岩版1.12.0', 361)
ver(pocket, '基岩版beta 1.12.0.14', 361)
ver(pocket, '基岩版beta 1.12.0.13', 361)
ver(pocket, '基岩版beta 1.12.0.12', 361)
ver(pocket, '基岩版beta 1.12.0.11', 361)
ver(pocket, '基岩版beta 1.12.0.10', 361)
ver(pocket, '基岩版beta 1.12.0.9', 361)
ver(pocket, '基岩版beta 1.12.0.6', 361)
ver(pocket, '基岩版beta 1.12.0.4', 361)
ver(pocket, '基岩版beta 1.12.0.3', 361)
ver(pocket, '基岩版beta 1.12.0.2', 360)

-- 1.11
ver(pocket, '基岩版1.11.4', 354)
ver(pocket, '基岩版1.11.3', 354)
ver(pocket, '基岩版1.11.2', 354)
ver(pocket, '基岩版1.11.1', 354)
ver(pocket, '基岩版1.11.0', 354)
ver(pocket, '基岩版beta 1.11.0.10', 354)
ver(pocket, '基岩版beta 1.11.0.9', 354)
ver(pocket, '基岩版beta 1.11.0.8', 354)
ver(pocket, '基岩版beta 1.11.0.7', 354)
ver(pocket, '基岩版beta 1.11.0.5', 353)
ver(pocket, '基岩版beta 1.11.0.4', 352)
ver(pocket, '基岩版beta 1.11.0.3', 351)
ver(pocket, '基岩版beta 1.11.0.1', 350)

-- 1.10
ver(pocket, '基岩版1.10.1', 340)
ver(pocket, '基岩版1.10.0', 340)
ver(pocket, '基岩版beta 1.10.0.4', 340)
ver(pocket, '基岩版beta 1.10.0.3', 340)

-- 1.9
ver(pocket, '基岩版1.9.0', 332)
ver(pocket, '基岩版beta 1.9.0.5', 332)
ver(pocket, '基岩版beta 1.9.0.3', 332)
ver(pocket, '基岩版beta 1.9.0.2', 331)
ver(pocket, '基岩版beta 1.9.0.0', 330)

-- 1.8
ver(pocket, '基岩版1.8.1', 313)
ver(pocket, '基岩版1.8.0', 313)
ver(pocket, '基岩版beta 1.8.0.14', 312)
ver(pocket, '基岩版beta 1.8.0.13', 312)
ver(pocket, '基岩版beta 1.8.0.11', 312)
ver(pocket, '基岩版beta 1.8.0.10', 311)
ver(pocket, '基岩版beta 1.8.0.8', 310)

-- 1.7
ver(pocket, '基岩版1.7.1', 291)
ver(pocket, '基岩版1.7.0', 291)
ver(pocket, '基岩版beta 1.7.0.9', 291)
ver(pocket, '基岩版beta 1.7.0.7', 291)
ver(pocket, '基岩版beta 1.7.0.5', 291)
ver(pocket, '基岩版beta 1.7.0.3', 290)
ver(pocket, '基岩版beta 1.7.0.2', 290)

-- 1.6
ver(pocket, '基岩版1.6.2', 282)
ver(pocket, '基岩版1.6.1', 282)
ver(pocket, '基岩版1.6.0', 282)
ver(pocket, '基岩版beta 1.6.0.30', 282)
ver(pocket, '基岩版beta 1.6.0.8', 282)
ver(pocket, '基岩版beta 1.6.0.6', 281)
ver(pocket, '基岩版beta 1.6.0.5', 281)
ver(pocket, '基岩版beta 1.6.0.1', 280)

-- 1.5
ver(pocket, '基岩版1.5.3', 274)
ver(pocket, '基岩版1.5.2', 274)
ver(pocket, '基岩版1.5.1', 274)
ver(pocket, '基岩版1.5.0', 274)
ver(pocket, '基岩版beta 1.5.0.10', 274)
ver(pocket, '基岩版beta 1.5.0.7', 273)
ver(pocket, '基岩版beta 1.5.0.4', 271)
ver(pocket, '基岩版beta 1.5.0.1', 271)
ver(pocket, '基岩版beta 1.5.0.0', 270)

-- 1.4
ver(pocket, '基岩版1.4.4', 261)
ver(pocket, '基岩版1.4.3', 261)
ver(pocket, '基岩版1.4.2', 261)
ver(pocket, '基岩版1.4.1', 261)
ver(pocket, '基岩版1.4.0', 261)
ver(pocket, '基岩版beta 1.2.20.2', 260)
ver(pocket, '基岩版beta 1.2.20.1', 260)
ver(pocket, '基岩版beta 1.2.14.3', 240)
ver(pocket, '基岩版beta 1.2.14.2', 240)
ver(pocket, '基岩版beta 1.2.13.12', 223)
ver(pocket, '基岩版beta 1.2.13.11', 224)
ver(pocket, '基岩版beta 1.2.13.10', 222)
ver(pocket, '基岩版beta 1.2.13.8', 221)

-- 1.2
ver(pocket, '基岩版1.2.13.60(1.2.16)', 223)
ver(pocket, '基岩版1.2.15', 223)
ver(pocket, '基岩版1.2.14', 223)
ver(pocket, '基岩版1.2.13', 223)
ver(pocket, '基岩版beta 1.2.13.6', 220)
ver(pocket, '基岩版beta 1.2.13.5', 220)
ver(pocket, '基岩版1.2.11', 201)
ver(pocket, '基岩版1.2.10', 201)
ver(pocket, '基岩版beta 1.2.10.1', 200)
ver(pocket, '基岩版1.2.9', 160)
ver(pocket, '基岩版1.2.8', 160)
ver(pocket, '基岩版1.2.7', 160)
ver(pocket, '基岩版1.2.6.1', 150)
ver(pocket, '基岩版1.2.6', 150)
ver(pocket, '基岩版beta 1.2.6.2', 140)
ver(pocket, '基岩版1.2.5', 141)
ver(pocket, '基岩版beta 1.2.5.15', 141)
ver(pocket, '基岩版beta 1.2.5.12', 140)
ver(pocket, '基岩版beta 1.2.5.0', 137)
ver(pocket, '基岩版1.2.3', 137)
ver(pocket, '基岩版beta 1.2.3.3', 137)
ver(pocket, '基岩版1.2.2', 137)
ver(pocket, '基岩版1.2.1', 137)
ver(pocket, '基岩版1.2.0', 137)
ver(pocket, '基岩版beta 1.2.0.31', 136)
ver(pocket, '基岩版beta 1.2.0.25', 135)
ver(pocket, '基岩版beta 1.2.0.22', 134)
ver(pocket, '基岩版beta 1.2.0.18', 133)
ver(pocket, '基岩版beta 1.2.0.15', 132)
ver(pocket, '基岩版beta 1.2.0.11', 132)
ver(pocket, '基岩版beta 1.2.0.9', 131)
ver(pocket, '基岩版beta 1.2.0.7', 131)
ver(pocket, '基岩版beta 1.2.0.2', 130)

-- 1.1
ver(pocket, '携带版1.1.7', unknown)
ver(pocket, '携带版1.1.5', unknown)
ver(pocket, '携带版1.1.4', unknown)
ver(pocket, '携带版1.1.3', unknown)
ver(pocket, '携带版alpha 1.1.3.1', unknown)
ver(pocket, '携带版alpha 1.1.3.0', unknown)
ver(pocket, '携带版1.1.2', unknown)
ver(pocket, '携带版1.1.1', unknown)
ver(pocket, '携带版alpha 1.1.1.1', unknown)
ver(pocket, '携带版alpha 1.1.1.0', unknown)
ver(pocket, '携带版1.1.0', unknown)
ver(pocket, '携带版alpha 1.1.0.9', unknown)
ver(pocket, '携带版alpha 1.1.0.8', unknown)
ver(pocket, '携带版alpha 1.1.0.5', unknown)
ver(pocket, '携带版alpha 1.1.0.4', unknown)
ver(pocket, '携带版alpha 1.1.0.3', unknown)
ver(pocket, '携带版alpha 1.1.0.1', unknown)
ver(pocket, '携带版alpha 1.1.0.0', unknown)

-- 1.0
ver(pocket, '携带版1.0.9', unknown)
ver(pocket, '携带版1.0.8', unknown)
ver(pocket, '携带版1.0.7', 107)
ver(pocket, '携带版1.0.6', 106)
ver(pocket, '携带版alpha 1.0.6.0', 105)
ver(pocket, '携带版1.0.5', 105)
ver(pocket, '携带版alpha 1.0.5.11', unknown)
ver(pocket, '携带版alpha 1.0.5.3', 105)
ver(pocket, '携带版alpha 1.0.5.0', 105)
ver(pocket, '携带版1.0.4', unknown)
ver(pocket, '携带版alpha 1.0.4.1', 102)
ver(pocket, '携带版alpha 1.0.4.0', 101)
ver(pocket, '携带版1.0.3', 101)
ver(pocket, '携带版alpha 1.0.3.0', 101)
ver(pocket, '携带版1.0.2', unknown)
ver(pocket, '携带版1.0.1', unknown)
ver(pocket, '携带版1.0.0', 100)
ver(pocket, '携带版alpha 1.0.0.7', 100)
ver(pocket, '携带版alpha 1.0.0.2', 100)
ver(pocket, '携带版alpha 1.0.0.1', 92)
ver(pocket, '携带版alpha 1.0.0.0', 92)
ver(pocket, '携带版alpha 0.17.0.2', 91)
ver(pocket, '携带版alpha 0.17.0.1', 91)

-- PE ALPHA

-- 0.16
ver(pocket, '携带版Alpha 0.16.2', unknown)
ver(pocket, '携带版Alpha 0.16.1', unknown)
ver(pocket, '携带版Alpha 0.16.0', unknown)
ver(pocket, '携带版Alpha 0.16.0 build 5', 91)
ver(pocket, '携带版Alpha 0.16.0 build 4', unknown)
ver(pocket, '携带版Alpha 0.16.0 build 3', unknown)
ver(pocket, '携带版Alpha 0.16.0 build 2', 90) -- aka Alpha 0.15.90.1
ver(pocket, '携带版Alpha 0.16.0 build 1', 90)

-- 0.15
ver(pocket, '携带版Alpha 0.15.10', 84)
ver(pocket, '携带版Alpha 0.15.9', 83)
ver(pocket, '携带版Alpha 0.15.8', unknown)
ver(pocket, '携带版Alpha 0.15.7', unknown)
ver(pocket, '携带版Alpha 0.15.6', unknown)
ver(pocket, '携带版Alpha 0.15.4', 82)
ver(pocket, '携带版Alpha 0.15.3', unknown)
ver(pocket, '携带版Alpha 0.15.2', unknown)
ver(pocket, '携带版Alpha 0.15.1', unknown)
ver(pocket, '携带版Alpha 0.15.1 build 1', 81)
ver(pocket, '携带版Alpha 0.15.0', 81)
ver(pocket, '携带版Alpha 0.15.0 build 3', 81)
ver(pocket, '携带版Alpha 0.15.0 build 2', 81)
ver(pocket, '携带版Alpha 0.15.0 build 1', 81)
ver(pocket, '携带版Alpha Realms build 4', 60)
ver(pocket, '携带版Alpha Realms build 2', 60)
ver(pocket, '携带版Alpha Realms build 1', 60)

-- 0.14
ver(pocket, '携带版Alpha 0.14.3', 70)
ver(pocket, '携带版Alpha 0.14.2', 60)
ver(pocket, '携带版Alpha 0.14.1', unknown)
ver(pocket, '携带版Alpha 0.14.0', unknown)
ver(pocket, '携带版Alpha 0.14.0 build 7', 45)
ver(pocket, '携带版Alpha 0.14.0 build 6', 44)
ver(pocket, '携带版Alpha 0.14.0 build 5', 43)
ver(pocket, '携带版Alpha 0.14.0 build 4', 43)
ver(pocket, '携带版Alpha 0.14.0 build 3', 42)
ver(pocket, '携带版Alpha 0.14.0 build 2', unknown)
ver(pocket, '携带版Alpha 0.14.0 build 1', 41)

-- 0.13
ver(pocket, '携带版Alpha 0.13.2', 39)
ver(pocket, '携带版Alpha 0.13.1', unknown)
ver(pocket, '携带版Alpha 0.13.0', unknown)
ver(pocket, '携带版Alpha 0.13.0 build 5', 38)
ver(pocket, '携带版Alpha 0.13.0 build 4', 38)
ver(pocket, '携带版Alpha 0.13.0 build 3', 38)
ver(pocket, '携带版Alpha 0.13.0 build 2', 37)
ver(pocket, '携带版Alpha 0.13.0 build 1', 37)

-- 0.12
ver(pocket, '携带版Alpha 0.12.3', unknown)
ver(pocket, '携带版Alpha 0.12.2', unknown)
ver(pocket, '携带版Alpha 0.12.1', unknown)
ver(pocket, '携带版Alpha 0.12.1 build 13', 34)
ver(pocket, '携带版Alpha 0.12.1 build 12', 34)
ver(pocket, '携带版Alpha 0.12.1 build 11', 34)
ver(pocket, '携带版Alpha 0.12.1 build 10', 34)
ver(pocket, '携带版Alpha 0.12.1 build 9', unknown)
ver(pocket, '携带版Alpha 0.12.1 build 8', unknown)
ver(pocket, '携带版Alpha 0.12.1 build 7', unknown)
ver(pocket, '携带版Alpha 0.12.1 build 6', unknown)
ver(pocket, '携带版Alpha 0.12.1 build 5', unknown)
ver(pocket, '携带版Alpha 0.12.1 build 4', unknown)
ver(pocket, '携带版Alpha 0.12.1 build 3', unknown)
ver(pocket, '携带版Alpha 0.12.1 build 2', unknown)
ver(pocket, '携带版Alpha 0.12.1 build 1', unknown)
ver(pocket, '携带版Alpha 0.12.0.1', unknown)
ver(pocket, '携带版Alpha 0.12.0', unknown)

-- 0.11
ver(pocket, '携带版Alpha 0.11.2', unknown)
ver(pocket, '携带版Alpha 0.11.1', unknown)
ver(pocket, '携带版Alpha 0.11.0', unknown)
ver(pocket, '携带版Alpha 0.11.0 build 14', 27)
ver(pocket, '携带版Alpha 0.11.0 build 13', unknown)
ver(pocket, '携带版Alpha 0.11.0 build 12', unknown)
ver(pocket, '携带版Alpha 0.11.0 build 11', 26)
ver(pocket, '携带版Alpha 0.11.0 build 10', unknown)
ver(pocket, '携带版Alpha 0.11.0 build 9', unknown)
ver(pocket, '携带版Alpha 0.11.0 build 8', 25)
ver(pocket, '携带版Alpha 0.11.0 build 7', 24)
ver(pocket, '携带版Alpha 0.11.0 build 6', unknown)
ver(pocket, '携带版Alpha 0.11.0 build 5', 23)
ver(pocket, '携带版Alpha 0.11.0 build 4', 22)
ver(pocket, '携带版Alpha 0.11.0 build 3', unknown)
ver(pocket, '携带版Alpha 0.11.0 build 2', unknown)
ver(pocket, '携带版Alpha 0.11.0 build 1', 21)

-- 0.10
ver(pocket, '携带版Alpha 0.10.5', unknown)
ver(pocket, '携带版Alpha 0.10.4', unknown)
ver(pocket, '携带版Alpha 0.10.3', unknown)
ver(pocket, '携带版Alpha 0.10.2', unknown)
ver(pocket, '携带版Alpha 0.10.1', unknown)
ver(pocket, '携带版Alpha 0.10.0', unknown)
ver(pocket, '携带版Alpha 0.10.0 build 9', unknown)
ver(pocket, '携带版Alpha 0.10.0 build 8', unknown)
ver(pocket, '携带版Alpha 0.10.0 build 7', unknown)
ver(pocket, '携带版Alpha 0.10.0 build 6', 20)
ver(pocket, '携带版Alpha 0.10.0 build 5', unknown)
ver(pocket, '携带版Alpha 0.10.0 build 4', unknown)
ver(pocket, '携带版Alpha 0.10.0 build 3', unknown)
ver(pocket, '携带版Alpha 0.10.0 build 2', unknown)
ver(pocket, '携带版Alpha 0.10.0 build 1', 19)

-- 0.9
ver(pocket, '携带版Alpha 0.9.5', 18)
ver(pocket, '携带版Alpha 0.9.4', unknown)
ver(pocket, '携带版Alpha 0.9.3', unknown)
ver(pocket, '携带版Alpha 0.9.2', unknown)
ver(pocket, '携带版Alpha 0.9.1', unknown)
ver(pocket, '携带版Alpha 0.9.0', unknown)
ver(pocket, '携带版Alpha 0.9.0 build 12', 17)
ver(pocket, '携带版Alpha 0.9.0 build 11', unknown)
ver(pocket, '携带版Alpha 0.9.0 build 10', unknown)
ver(pocket, '携带版Alpha 0.9.0 build 9', unknown)
ver(pocket, '携带版Alpha 0.9.0 build 8', unknown)
ver(pocket, '携带版Alpha 0.9.0 build 7', 16)
ver(pocket, '携带版Alpha 0.9.0 build 6', unknown)
ver(pocket, '携带版Alpha 0.9.0 build 5', unknown)
ver(pocket, '携带版Alpha 0.9.0 build 4', unknown)
ver(pocket, '携带版Alpha 0.9.0 build 3', unknown)
ver(pocket, '携带版Alpha 0.9.0 build 2', 15)
ver(pocket, '携带版Alpha 0.9.0 build 1', unknown)

-- 0.8
ver(pocket, '携带版Alpha 0.8.2', unknown)
ver(pocket, '携带版Alpha 0.8.1', 14)
ver(pocket, '携带版Alpha 0.8.0', unknown)
ver(pocket, '携带版Alpha 0.8.0 build 8', unknown)
ver(pocket, '携带版Alpha 0.8.0 build 7', unknown)
ver(pocket, '携带版Alpha 0.8.0 build 6', unknown)
ver(pocket, '携带版Alpha 0.8.0 build 5', unknown)
ver(pocket, '携带版Alpha 0.8.0 build 4', unknown)
ver(pocket, '携带版Alpha 0.8.0 build 3', unknown)
ver(pocket, '携带版Alpha 0.8.0 build 2', unknown)

-- 0.7
ver(pocket, '携带版Alpha 0.7.6', unknown)
ver(pocket, '携带版Alpha 0.7.5', unknown)
ver(pocket, '携带版Alpha 0.7.4', 12)
ver(pocket, '携带版Alpha 0.7.3', unknown)
ver(pocket, '携带版Alpha 0.7.2', unknown)
ver(pocket, '携带版Alpha 0.7.1', unknown)
ver(pocket, '携带版Alpha 0.7.0', 11)

-- 0.6
ver(pocket, '携带版Alpha 0.6.1', 9)
ver(pocket, '携带版Alpha 0.6.0', 9)

-- 0.5
ver(pocket, '携带版Alpha 0.5.0', 8)

-- 0.4
ver(pocket, '携带版Alpha 0.4.0 rev 3', unknown)
ver(pocket, '携带版Alpha 0.4.0 rev 2', unknown)
ver(pocket, '携带版Alpha 0.4.0', 7)

-- 0.3
ver(pocket, '携带版Alpha 0.3.3', 6)
ver(pocket, '携带版Alpha 0.3.2', 5)
ver(pocket, '携带版Alpha 0.3.0', 4)

-- 0.2
ver(pocket, '携带版Alpha 0.2.2', unknown)
ver(pocket, '携带版Alpha 0.2.1 alpha 2', unknown)
ver(pocket, '携带版Alpha 0.2.1', 3)
ver(pocket, '携带版Alpha 0.2.0', 2)

-- 0.1
ver(pocket, '携带版Alpha 0.1.3', unknown)
ver(pocket, '携带版Alpha 0.1.2', unknown)
ver(pocket, '携带版Alpha 0.1.1', unknown)
ver(pocket, '携带版Alpha 0.1.0', unknown)

-- Pre-release
ver(pocket, '携带版Demo', unknown)

-- EDUCATION EDITION
ver(education, '教育版1.14.30', 390)
ver(education, '教育版1.12.60', 363)
ver(education, '教育版1.12.5', unknown)
ver(education, '教育版1.12.3', 362)
ver(education, '教育版1.12.1', unknown)
ver(education, '教育版1.12.0', 361)
ver(education, '教育版1.9.3', 332)
ver(education, '教育版1.9.1', 332)
ver(education, '教育版1.9', 332)
ver(education, '教育版1.8', 332)
ver(education, '教育版1.7.3', 291)
ver(education, '教育版1.7.1', 291)
ver(education, '教育版1.7', 291)
ver(education, '教育版1.4', 261)
ver(education, '教育版1.0.28', 150)
ver(education, '教育版1.0.27', 150)
ver(education, '教育版1.0.21', 137)
ver(education, '教育版1.0.18', unknown)
ver(education, '教育版1.0.17', unknown)
ver(education, '教育版1.0.2', 137)
ver(education, '教育版1.0.1', unknown)
ver(education, '教育版1.0', unknown)
ver(education, '教育版0.16.0', unknown)
ver(education, '教育版0.14.2', unknown)


return { ['versions'] = all, ['groups'] = groups }