Module:Waarden/Protocol- en dataversies

Uit Minecraft Wiki
Ga naar: navigatie, zoeken
Deze pagina heeft nog geen documentatie. Als je weet hoe het werkt, maak het dan alsjeblieft.
--[[
    All credits for creating this module go to User:Pokechu22.
]]

local all = {} -- Table with version name as key and version info as value
-- These are ordered
local java = {}
local java_old = {}
local java_af = {}

-- References to those ordered lists
local groups = {
    {
        ['name'] = 'Javaeditie',
        ['link'] = 'Javaeditie',
        ['desc'] = 'Protocolversienummers na de herschrijving van Netty in 13w41a.',
        ['values'] = java
    },
    {
        ['name'] = 'Javaeditie (vóór de herschrijving van Netty)',
        ['link'] = 'Javaeditie',
        ['values'] = java_old
    },
    {
        ['name'] = '1-aprilversies',
        ['link'] = ':Categorie:1 april',
        ['desc'] = 'Wijzigingen in de 1-aprilversies zijn niet aanwezig in latere versies.',
        ['values'] = java_af
    }
}

-- Intended for translators
unknown = 'onbekend'

-- 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("Er werd geprobeerd om versie " .. name .. " toe te voegen, maar die bestaat al!")
    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.

    Sources: http://wiki.vg/Protocol_version_numbers (licensed under
             CC-BY-SA 3.0)
             https://gist.github.com/Pokechu22/ac12bc2370bc78bdcc293896929d5b60
             and own research using Burger (https://github.com/Pokechu22/Burger)

    Build-up of version data:

    Java:
        ver(java, 'version', 'protocol version', data version)
    Old Java
        ver(java_old, 'version', 'protocol version')
    April Fools' Java
        ver(java_af, 'version', 'protocol version', data version)

    Add data version only when applicable.

    See also the documentation above.
]]

-- VANILLA
-- 1.14
ver(java, '19w03c', '455(?)', unknown)
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.2
ver(java, '1.13.2-pre2', '403', 1630)
ver(java, '1.13.2-pre1', '402', 1629)

-- 1.13.1
ver(java, '1.13.1-pre2', '400', 1627)
ver(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)

-- 1.13
ver(java, '1.13', '393', 1519)
ver(java, '1.13-pre10', '392', 1518)
ver(java, '1.13-pre9', '391', 1517)
ver(java, '1.13-pre8', '390', 1516)
ver(java, '1.13-pre7', '389', 1513)
ver(java, '1.13-pre6', '388', 1512)
ver(java, '1.13-pre5', '387', 1511)
ver(java, '1.13-pre4', '386', 1504)
ver(java, '1.13-pre3', '385', 1503)
ver(java, '1.13-pre2', '384', 1502)
ver(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, '1.12.2', '340', 1343)
ver(java, '1.12.2-pre2', '339', 1342)
ver(java, '1.12.2-pre1', '339', 1341)
-- 1.12.1
ver(java, '1.12.1', '338', 1241)
ver(java, '1.12.1-pre1', '337', 1240)
ver(java, '17w31a', '336', 1239)
-- 1.12
ver(java, '1.12', '335', 1139)
ver(java, '1.12-pre7', '334', 1138)
ver(java, '1.12-pre6', '333', 1137)
ver(java, '1.12-pre5', '332', 1136)
ver(java, '1.12-pre4', '331', 1135)
ver(java, '1.12-pre3', '330', 1134)
ver(java, '1.12-pre2', '329', 1133)
ver(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, '1.11.2', '316', 922)
-- 1.11.1
ver(java, '1.11.1', '316', 921)
ver(java, '16w50a', '316', 920)
-- 1.11
ver(java, '1.11', '315', 819)
ver(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, '1.10.2', '210', 512)
-- 1.10.1
ver(java, '1.10.1', '210', 511)
-- 1.10
ver(java, '1.10', '210', 510)
ver(java, '1.10-pre2', '205', 507)
ver(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, '1.9.4', '110', 184)
-- 1.9.3
ver(java, '1.9.3', '110', 183)
ver(java, '1.9.3-pre3', '110', 182)
ver(java, '1.9.3-pre2', '110', 181)
ver(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, '1.9.2', '109', 176)
-- 1.9.1
ver(java, '1.9.1', '108', 175)
ver(java, '1.9.1-pre3', '108', 172)
ver(java, '1.9.1-pre2', '108', 171)
ver(java, '1.9.1-pre1', '107', 170)
-- 1.9
ver(java, '1.9', '107', 169)
ver(java, '1.9-pre4', '106', 168)
ver(java, '1.9-pre3', '105', 167)
ver(java, '1.9-pre2', '104', 165)
ver(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, '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, '1.8.9', '47')
-- 1.8.8
ver(java, '1.8.8', '47')
-- 1.8.7
ver(java, '1.8.7', '47')
-- 1.8.6
ver(java, '1.8.6', '47')
-- 1.8.5
ver(java, '1.8.5', '47')
-- 1.8.4
ver(java, '1.8.4', '47')
-- 1.8.3
ver(java, '1.8.3', '47')
-- 1.8.2
ver(java, '1.8.2', '47')
-- 1.8.1
ver(java, '1.8.1', '47')
-- 1.8
ver(java, '1.8', '47')
ver(java, '1.8-pre3', '46')
ver(java, '1.8-pre2', '45')
ver(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, '14w30a', '30')
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, '14w20a', '18')
ver(java, '14w19a', '17')
ver(java, '14w18b', '16')
ver(java, '14w17a', '15')
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, '14w06a', '10')
ver(java, '14w05a', '9')
ver(java, '14w04b', '8')
ver(java, '14w04a', '7')
ver(java, '14w03a', '6')
ver(java, '14w02a', '5')

-- 1.7.10
ver(java, '1.7.10', '5')
-- 1.7.9
ver(java, '1.7.9', '5')
-- 1.7.8
ver(java, '1.7.8', '5')
-- 1.7.7
ver(java, '1.7.7', '5')
-- 1.7.6
ver(java, '1.7.6', '5')
-- 1.7.5
ver(java, '1.7.5', '4')
-- 1.7.4
ver(java, '1.7.4', '4')
ver(java, '1.7.3-pre', '4')
-- 1.7.2
ver(java, '1.7.2', '4')
ver(java, '1.7.1-pre', '4')
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, '1.6.4', '78')
ver(java_old, '1.6.3-pre', '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, '1.6.2', '74')
-- 1.6.1
ver(java_old, '1.6.1', '73')
ver(java_old, '1.6-pre', '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, '13w18a', '65')
ver(java_old, '13w17a', '64')
ver(java_old, '13w16b', '63')
ver(java_old, '13w16a', '62')

-- 1.5.2
ver(java_old, '1.5.2', '61')
-- 1.5.1
ver(java_old, '1.5.1', '60')
-- 1.5
ver(java_old, '1.5', '60')
ver(java_old, '13w09b', '59')
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, '13w02a', '53')
ver(java_old, '13w01a', '52')

-- 1.4.7
ver(java_old, '1.4.7', '51')
-- 1.4.6
ver(java_old, '1.4.6', '51')
ver(java_old, '12w49a', '50')
-- 1.4.5
ver(java_old, '1.4.5', '49')
-- 1.4.4
ver(java_old, '1.4.4', '49')
ver(java_old, '1.4.3-pre', '48')
-- 1.4.2
ver(java_old, '1.4.2', '47')
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, '1.3.2', '39')
-- 1.3.1
ver(java_old, '1.3.1', '39')
ver(java_old, '12w27a', '38')
ver(java_old, '12w26a', '37')
ver(java_old, '12w25a', '37')
ver(java_old, '12w24a', '36')
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')

-- 1.2.5
ver(java_old, '1.2.5', '29')
-- 1.2.4
ver(java_old, '1.2.4', '29')
-- 1.2.3
ver(java_old, '1.2.3', '28')
-- 1.2.2
ver(java_old, '1.2.2', '28')
-- 1.2.1
ver(java_old, '1.2.1', '28')
ver(java_old, '12w07a', '27')
ver(java_old, '12w06a', '25')
ver(java_old, '12w05a', '24')
ver(java_old, '12w04a', '24')
ver(java_old, '12w03a', '24')

-- 1.1
ver(java_old, '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, '1.0.1', '22')
-- 1.0.0
ver(java_old, '1.0.0', '22')
ver(java_old, '1.0.0-RC2', '22')
ver(java_old, '1.0.0-RC1', '22')
ver(java_old, 'Beta 1.9-pre6', '22')
ver(java_old, 'Beta 1.9-pre5', '21')
ver(java_old, 'Beta 1.9-pre4', '20')
ver(java_old, 'Beta 1.9-pre3', '19')
ver(java_old, 'Beta 1.9-pre2', '19')
ver(java_old, 'Beta 1.9-pre1', '18')

-- BETA
-- 1.8
ver(java_old, 'Beta 1.8.1', '17')
ver(java_old, 'Beta 1.8', '17')
ver(java_old, 'Beta 1.8-pre2', '16')
ver(java_old, 'Beta 1.8-pre1', '15')

-- 1.7
ver(java_old, 'Beta 1.7.3', '14')
ver(java_old, 'Beta 1.7.2', '14')
ver(java_old, 'Beta 1.7.1', '14')
ver(java_old, 'Beta 1.7', '14')

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

-- 1.5
ver(java_old, 'Beta 1.5_01', '11')
ver(java_old, 'Beta 1.5', '11')

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

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

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

-- 1.1
ver(java_old, 'Beta 1.1_02', '8')
ver(java_old, 'Beta 1.1_01', '7')
ver(java_old, 'Beta 1.1', unknown .. ' (7?)')

-- 1.0
ver(java_old, 'Beta 1.0_02', '7')
ver(java_old, 'Beta 1.0_01', '7')
ver(java_old, 'Beta 1.0', '7')

-- ALPHA
-- 1.2
ver(java_old, 'Alpha 1.2.6', '6')
ver(java_old, 'Alpha 1.2.5', '6')
ver(java_old, 'Alpha 1.2.4_01', '6')
ver(java_old, 'Alpha 1.2.4', unknown .. ' (6?)')
ver(java_old, 'Alpha 1.2.3_04', '5')
ver(java_old, 'Alpha 1.2.3_02', '5')
ver(java_old, 'Alpha 1.2.3_01', '5')
ver(java_old, 'Alpha 1.2.3', '5')
ver(java_old, 'Alpha 1.2.2', unknown .. ' (4?)')
ver(java_old, 'Alpha 1.2.1_01', '3')
ver(java_old, 'Alpha 1.2.1', '3')
ver(java_old, 'Alpha 1.2.0_02', '3')
ver(java_old, 'Alpha 1.2.0_01', '3')
ver(java_old, 'Alpha 1.2.0', '3')

-- 1.1
ver(java_old, 'Alpha 1.1.2_01', '2')
ver(java_old, 'Alpha 1.1.2', '2')
ver(java_old, 'Alpha 1.1.1', unknown .. ' (2?)')
ver(java_old, 'Alpha 1.1.0', '2')

-- 1.0
ver(java_old, 'Alpha 1.0.17_04', '1')
ver(java_old, 'Alpha 1.0.17_03', unknown .. ' (1?)')
ver(java_old, 'Alpha 1.0.17_02', '1')
ver(java_old, 'Alpha 1.0.17', unknown)
ver(java_old, 'Alpha 1.0.16_02', unknown)
ver(java_old, 'Alpha 1.0.16_01', unknown)
ver(java_old, 'Alpha 1.0.16', '14')
ver(java_old, 'Alpha 1.0.15', '13')
-- Between Alpha 1.0.0 and 1.0.14_01, multiplayer did not exist

-- CLASSIC
ver(java_old, '0.30', '7')
ver(java_old, '0.0.23a_01', '6')

-- April Fools'
ver(java_af, '1.RV-Pre1', '108', 173)
ver(java_af, '15w14a', '48')
ver(java_af, 'Minecraft 2.0', '90, 91, 92')

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