You've already forked AstralRinth
forked from didirus/AstralRinth
* Detection of protocol versions before 18w47b * Refactor old_protocol_versions into protocol_version * Ping servers closer to how a client of an instance's version would ping a server * Allow pinging legacy servers from a modern profile in the same way a modern client would * Ping 1.4.2 through 1.5.2 like a Vanilla client in those versions would when in such an instance
479 lines
21 KiB
Rust
479 lines
21 KiB
Rust
use phf::phf_map;
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Deserialize, Serialize, Debug, Copy, Clone)]
|
|
pub struct ProtocolVersion {
|
|
pub version: u32,
|
|
pub legacy: bool,
|
|
}
|
|
|
|
impl ProtocolVersion {
|
|
pub const fn modern(version: u32) -> Self {
|
|
Self {
|
|
version,
|
|
legacy: false,
|
|
}
|
|
}
|
|
|
|
pub const fn legacy(version: u32) -> Self {
|
|
Self {
|
|
version,
|
|
legacy: true,
|
|
}
|
|
}
|
|
}
|
|
|
|
/// The map of protocol versions from before version.json was added. For newer versions, the
|
|
/// protocol version can just be read from version.json.
|
|
pub const OLD_PROTOCOL_VERSIONS: phf::Map<&str, ProtocolVersion> = phf_map! {
|
|
// April fools versions
|
|
"1.RV-Pre1" => ProtocolVersion::modern(108),
|
|
"15w14a" => ProtocolVersion::modern(48),
|
|
"2point0_purple" => ProtocolVersion::legacy(92),
|
|
"2point0_red" => ProtocolVersion::legacy(91),
|
|
"2point0_blue" => ProtocolVersion::legacy(90),
|
|
|
|
// Normal versions
|
|
"18w47a" => ProtocolVersion::modern(446),
|
|
"18w46a" => ProtocolVersion::modern(445),
|
|
"18w45a" => ProtocolVersion::modern(444),
|
|
"18w44a" => ProtocolVersion::modern(443),
|
|
"18w43c" => ProtocolVersion::modern(442),
|
|
"18w43b" => ProtocolVersion::modern(441),
|
|
"18w43a" => ProtocolVersion::modern(440),
|
|
"1.13.2" => ProtocolVersion::modern(404),
|
|
"1.13.2-pre2" => ProtocolVersion::modern(403),
|
|
"1.13.2-pre1" => ProtocolVersion::modern(402),
|
|
"1.13.1" => ProtocolVersion::modern(401),
|
|
"1.13.1-pre2" => ProtocolVersion::modern(400),
|
|
"1.13.1-pre1" => ProtocolVersion::modern(399),
|
|
"18w33a" => ProtocolVersion::modern(398),
|
|
"18w32a" => ProtocolVersion::modern(397),
|
|
"18w31a" => ProtocolVersion::modern(396),
|
|
"18w30b" => ProtocolVersion::modern(395),
|
|
"18w30a" => ProtocolVersion::modern(394),
|
|
"1.13" => ProtocolVersion::modern(393),
|
|
"1.13-pre10" => ProtocolVersion::modern(392),
|
|
"1.13-pre9" => ProtocolVersion::modern(391),
|
|
"1.13-pre8" => ProtocolVersion::modern(390),
|
|
"1.13-pre7" => ProtocolVersion::modern(389),
|
|
"1.13-pre6" => ProtocolVersion::modern(388),
|
|
"1.13-pre5" => ProtocolVersion::modern(387),
|
|
"1.13-pre4" => ProtocolVersion::modern(386),
|
|
"1.13-pre3" => ProtocolVersion::modern(385),
|
|
"1.13-pre2" => ProtocolVersion::modern(384),
|
|
"1.13-pre1" => ProtocolVersion::modern(383),
|
|
"18w22c" => ProtocolVersion::modern(382),
|
|
"18w22b" => ProtocolVersion::modern(381),
|
|
"18w22a" => ProtocolVersion::modern(380),
|
|
"18w21b" => ProtocolVersion::modern(379),
|
|
"18w21a" => ProtocolVersion::modern(378),
|
|
"18w20c" => ProtocolVersion::modern(377),
|
|
"18w20b" => ProtocolVersion::modern(376),
|
|
"18w20a" => ProtocolVersion::modern(375),
|
|
"18w19b" => ProtocolVersion::modern(374),
|
|
"18w19a" => ProtocolVersion::modern(373),
|
|
"18w16a" => ProtocolVersion::modern(372),
|
|
"18w15a" => ProtocolVersion::modern(371),
|
|
"18w14b" => ProtocolVersion::modern(370),
|
|
"18w14a" => ProtocolVersion::modern(369),
|
|
"18w11a" => ProtocolVersion::modern(368),
|
|
"18w10d" => ProtocolVersion::modern(367),
|
|
"18w10c" => ProtocolVersion::modern(366),
|
|
"18w10b" => ProtocolVersion::modern(365),
|
|
"18w10a" => ProtocolVersion::modern(364),
|
|
"18w09a" => ProtocolVersion::modern(363),
|
|
"18w08b" => ProtocolVersion::modern(362),
|
|
"18w08a" => ProtocolVersion::modern(361),
|
|
"18w07c" => ProtocolVersion::modern(360),
|
|
"18w07b" => ProtocolVersion::modern(359),
|
|
"18w07a" => ProtocolVersion::modern(358),
|
|
"18w06a" => ProtocolVersion::modern(357),
|
|
"18w05a" => ProtocolVersion::modern(356),
|
|
"18w03b" => ProtocolVersion::modern(355),
|
|
"18w03a" => ProtocolVersion::modern(354),
|
|
"18w02a" => ProtocolVersion::modern(353),
|
|
"18w01a" => ProtocolVersion::modern(352),
|
|
"17w50a" => ProtocolVersion::modern(351),
|
|
"17w49b" => ProtocolVersion::modern(350),
|
|
"17w49a" => ProtocolVersion::modern(349),
|
|
"17w48a" => ProtocolVersion::modern(348),
|
|
"17w47b" => ProtocolVersion::modern(347),
|
|
"17w47a" => ProtocolVersion::modern(346),
|
|
"17w46a" => ProtocolVersion::modern(345),
|
|
"17w45b" => ProtocolVersion::modern(344),
|
|
"17w45a" => ProtocolVersion::modern(343),
|
|
"17w43b" => ProtocolVersion::modern(342),
|
|
"17w43a" => ProtocolVersion::modern(341),
|
|
"1.12.2" => ProtocolVersion::modern(340),
|
|
"1.21.2-pre2" => ProtocolVersion::modern(339),
|
|
"1.21.2-pre1" => ProtocolVersion::modern(339),
|
|
"1.12.1" => ProtocolVersion::modern(338),
|
|
"1.12.1-pre1" => ProtocolVersion::modern(337),
|
|
"17w31a" => ProtocolVersion::modern(336),
|
|
"1.12" => ProtocolVersion::modern(335),
|
|
"1.12-pre7" => ProtocolVersion::modern(334),
|
|
"1.12-pre6" => ProtocolVersion::modern(333),
|
|
"1.12-pre5" => ProtocolVersion::modern(332),
|
|
"1.12-pre4" => ProtocolVersion::modern(331),
|
|
"1.12-pre3" => ProtocolVersion::modern(330),
|
|
"1.12-pre2" => ProtocolVersion::modern(329),
|
|
"1.12-pre1" => ProtocolVersion::modern(328),
|
|
"17w18b" => ProtocolVersion::modern(327),
|
|
"17w18a" => ProtocolVersion::modern(326),
|
|
"17w17b" => ProtocolVersion::modern(325),
|
|
"17w17a" => ProtocolVersion::modern(324),
|
|
"17w16b" => ProtocolVersion::modern(323),
|
|
"17w16a" => ProtocolVersion::modern(322),
|
|
"17w15a" => ProtocolVersion::modern(321),
|
|
"17w14a" => ProtocolVersion::modern(320),
|
|
"17w13b" => ProtocolVersion::modern(319),
|
|
"17w13a" => ProtocolVersion::modern(318),
|
|
"17w06a" => ProtocolVersion::modern(317),
|
|
"1.11.2" => ProtocolVersion::modern(316),
|
|
"1.11.1" => ProtocolVersion::modern(316),
|
|
"16w50a" => ProtocolVersion::modern(316),
|
|
"1.11" => ProtocolVersion::modern(315),
|
|
"1.11-pre1" => ProtocolVersion::modern(314),
|
|
"16w44a" => ProtocolVersion::modern(313),
|
|
"16w43a" => ProtocolVersion::modern(313),
|
|
"16w42a" => ProtocolVersion::modern(312),
|
|
"16w41a" => ProtocolVersion::modern(311),
|
|
"16w40a" => ProtocolVersion::modern(310),
|
|
"16w39c" => ProtocolVersion::modern(309),
|
|
"16w39b" => ProtocolVersion::modern(308),
|
|
"16w39a" => ProtocolVersion::modern(307),
|
|
"16w38a" => ProtocolVersion::modern(306),
|
|
"16w36a" => ProtocolVersion::modern(305),
|
|
"16w35a" => ProtocolVersion::modern(304),
|
|
"16w33a" => ProtocolVersion::modern(303),
|
|
"16w32b" => ProtocolVersion::modern(302),
|
|
"16w32a" => ProtocolVersion::modern(301),
|
|
"1.10.2" => ProtocolVersion::modern(210),
|
|
"1.10.1" => ProtocolVersion::modern(210),
|
|
"1.10" => ProtocolVersion::modern(210),
|
|
"1.10-pre2" => ProtocolVersion::modern(205),
|
|
"1.10-pre1" => ProtocolVersion::modern(204),
|
|
"16w21b" => ProtocolVersion::modern(203),
|
|
"16w21a" => ProtocolVersion::modern(202),
|
|
"16w20a" => ProtocolVersion::modern(201),
|
|
"1.9.4" => ProtocolVersion::modern(110),
|
|
"1.9.3" => ProtocolVersion::modern(110),
|
|
"1.9.3-pre3" => ProtocolVersion::modern(110),
|
|
"1.9.3-pre2" => ProtocolVersion::modern(110),
|
|
"1.9.3-pre1" => ProtocolVersion::modern(109),
|
|
"16w15b" => ProtocolVersion::modern(109),
|
|
"16w15a" => ProtocolVersion::modern(109),
|
|
"16w14a" => ProtocolVersion::modern(109),
|
|
"1.9.2" => ProtocolVersion::modern(109),
|
|
"1.9.1" => ProtocolVersion::modern(108),
|
|
"1.9.1-pre3" => ProtocolVersion::modern(108),
|
|
"1.9.1-pre2" => ProtocolVersion::modern(108),
|
|
"1.9.1-pre1" => ProtocolVersion::modern(107),
|
|
"1.9" => ProtocolVersion::modern(107),
|
|
"1.9-pre4" => ProtocolVersion::modern(106),
|
|
"1.9-pre3" => ProtocolVersion::modern(105),
|
|
"1.9-pre2" => ProtocolVersion::modern(104),
|
|
"1.9-pre1" => ProtocolVersion::modern(103),
|
|
"16w07b" => ProtocolVersion::modern(102),
|
|
"16w07a" => ProtocolVersion::modern(101),
|
|
"16w06a" => ProtocolVersion::modern(100),
|
|
"16w05b" => ProtocolVersion::modern(99),
|
|
"16w05a" => ProtocolVersion::modern(98),
|
|
"16w04a" => ProtocolVersion::modern(97),
|
|
"16w03a" => ProtocolVersion::modern(96),
|
|
"16w02a" => ProtocolVersion::modern(95),
|
|
"15w51b" => ProtocolVersion::modern(94),
|
|
"15w51a" => ProtocolVersion::modern(93),
|
|
"15w50a" => ProtocolVersion::modern(92),
|
|
"15w49b" => ProtocolVersion::modern(91),
|
|
"15w49a" => ProtocolVersion::modern(90),
|
|
"15w47c" => ProtocolVersion::modern(89),
|
|
"15w47b" => ProtocolVersion::modern(88),
|
|
"15w47a" => ProtocolVersion::modern(87),
|
|
"15w46a" => ProtocolVersion::modern(86),
|
|
"15w45a" => ProtocolVersion::modern(85),
|
|
"15w44b" => ProtocolVersion::modern(84),
|
|
"15w44a" => ProtocolVersion::modern(83),
|
|
"15w43c" => ProtocolVersion::modern(82),
|
|
"15w43b" => ProtocolVersion::modern(81),
|
|
"15w43a" => ProtocolVersion::modern(80),
|
|
"15w42a" => ProtocolVersion::modern(79),
|
|
"15w41b" => ProtocolVersion::modern(78),
|
|
"15w41a" => ProtocolVersion::modern(77),
|
|
"15w40b" => ProtocolVersion::modern(76),
|
|
"15w40a" => ProtocolVersion::modern(75),
|
|
"15w39c" => ProtocolVersion::modern(74),
|
|
"15w39b" => ProtocolVersion::modern(74),
|
|
"15w39a" => ProtocolVersion::modern(74),
|
|
"15w38b" => ProtocolVersion::modern(73),
|
|
"15w38a" => ProtocolVersion::modern(72),
|
|
"15w37a" => ProtocolVersion::modern(71),
|
|
"15w36d" => ProtocolVersion::modern(70),
|
|
"15w36c" => ProtocolVersion::modern(69),
|
|
"15w36b" => ProtocolVersion::modern(68),
|
|
"15w36a" => ProtocolVersion::modern(67),
|
|
"15w35e" => ProtocolVersion::modern(66),
|
|
"15w35d" => ProtocolVersion::modern(65),
|
|
"15w35c" => ProtocolVersion::modern(64),
|
|
"15w35b" => ProtocolVersion::modern(63),
|
|
"15w35a" => ProtocolVersion::modern(62),
|
|
"15w34d" => ProtocolVersion::modern(61),
|
|
"15w34c" => ProtocolVersion::modern(60),
|
|
"15w34b" => ProtocolVersion::modern(59),
|
|
"15w34a" => ProtocolVersion::modern(58),
|
|
"15w33c" => ProtocolVersion::modern(57),
|
|
"15w33b" => ProtocolVersion::modern(56),
|
|
"15w33a" => ProtocolVersion::modern(55),
|
|
"15w32c" => ProtocolVersion::modern(54),
|
|
"15w32b" => ProtocolVersion::modern(53),
|
|
"15w32a" => ProtocolVersion::modern(52),
|
|
"15w31c" => ProtocolVersion::modern(51),
|
|
"15w31b" => ProtocolVersion::modern(50),
|
|
"15w31a" => ProtocolVersion::modern(49),
|
|
"1.8.9" => ProtocolVersion::modern(47),
|
|
"1.8.8" => ProtocolVersion::modern(47),
|
|
"1.8.7" => ProtocolVersion::modern(47),
|
|
"1.8.6" => ProtocolVersion::modern(47),
|
|
"1.8.5" => ProtocolVersion::modern(47),
|
|
"1.8.4" => ProtocolVersion::modern(47),
|
|
"1.8.3" => ProtocolVersion::modern(47),
|
|
"1.8.2" => ProtocolVersion::modern(47),
|
|
"1.8.2-pre7" => ProtocolVersion::modern(47),
|
|
"1.8.2-pre6" => ProtocolVersion::modern(47),
|
|
"1.8.2-pre5" => ProtocolVersion::modern(47),
|
|
"1.8.2-pre4" => ProtocolVersion::modern(47),
|
|
"1.8.2-pre3" => ProtocolVersion::modern(47),
|
|
"1.8.2-pre2" => ProtocolVersion::modern(47),
|
|
"1.8.2-pre1" => ProtocolVersion::modern(47),
|
|
"1.8.1" => ProtocolVersion::modern(47),
|
|
"1.8.1-pre5" => ProtocolVersion::modern(47),
|
|
"1.8.1-pre4" => ProtocolVersion::modern(47),
|
|
"1.8.1-pre3" => ProtocolVersion::modern(47),
|
|
"1.8.1-pre2" => ProtocolVersion::modern(47),
|
|
"1.8.1-pre1" => ProtocolVersion::modern(47),
|
|
"1.8" => ProtocolVersion::modern(47),
|
|
"1.8-pre3" => ProtocolVersion::modern(46),
|
|
"1.8-pre2" => ProtocolVersion::modern(45),
|
|
"1.8-pre1" => ProtocolVersion::modern(44),
|
|
"14w34d" => ProtocolVersion::modern(43),
|
|
"14w34c" => ProtocolVersion::modern(42),
|
|
"14w34b" => ProtocolVersion::modern(41),
|
|
"14w34a" => ProtocolVersion::modern(40),
|
|
"14w33c" => ProtocolVersion::modern(39),
|
|
"14w33b" => ProtocolVersion::modern(38),
|
|
"14w33a" => ProtocolVersion::modern(37),
|
|
"14w32d" => ProtocolVersion::modern(36),
|
|
"14w32c" => ProtocolVersion::modern(35),
|
|
"14w32b" => ProtocolVersion::modern(34),
|
|
"14w32a" => ProtocolVersion::modern(33),
|
|
"14w31a" => ProtocolVersion::modern(32),
|
|
"14w30c" => ProtocolVersion::modern(31),
|
|
"14w30b" => ProtocolVersion::modern(30),
|
|
"14w30a" => ProtocolVersion::modern(30),
|
|
"14w29b" => ProtocolVersion::modern(29),
|
|
"14w29a" => ProtocolVersion::modern(29),
|
|
"14w28b" => ProtocolVersion::modern(28),
|
|
"14w28a" => ProtocolVersion::modern(27),
|
|
"14w27b" => ProtocolVersion::modern(26),
|
|
"14w27a" => ProtocolVersion::modern(26),
|
|
"14w26c" => ProtocolVersion::modern(25),
|
|
"14w26b" => ProtocolVersion::modern(24),
|
|
"14w26a" => ProtocolVersion::modern(23),
|
|
"14w25b" => ProtocolVersion::modern(22),
|
|
"14w25a" => ProtocolVersion::modern(21),
|
|
"14w21b" => ProtocolVersion::modern(20),
|
|
"14w21a" => ProtocolVersion::modern(19),
|
|
"14w20b" => ProtocolVersion::modern(18),
|
|
"14w20a" => ProtocolVersion::modern(18),
|
|
"14w19a" => ProtocolVersion::modern(17),
|
|
"14w18b" => ProtocolVersion::modern(16),
|
|
"14w18a" => ProtocolVersion::modern(16),
|
|
"14w17a" => ProtocolVersion::modern(15),
|
|
"14w11b" => ProtocolVersion::modern(14),
|
|
"14w11a" => ProtocolVersion::modern(14),
|
|
"14w10c" => ProtocolVersion::modern(13),
|
|
"14w10b" => ProtocolVersion::modern(13),
|
|
"14w10a" => ProtocolVersion::modern(13),
|
|
"14w08a" => ProtocolVersion::modern(12),
|
|
"14w07a" => ProtocolVersion::modern(11),
|
|
"14w06b" => ProtocolVersion::modern(10),
|
|
"14w06a" => ProtocolVersion::modern(10),
|
|
"14w05b" => ProtocolVersion::modern(9),
|
|
"14w05a" => ProtocolVersion::modern(9),
|
|
"14w04b" => ProtocolVersion::modern(8),
|
|
"14w04a" => ProtocolVersion::modern(7),
|
|
"14w03b" => ProtocolVersion::modern(6),
|
|
"14w03a" => ProtocolVersion::modern(6),
|
|
"14w02c" => ProtocolVersion::modern(5),
|
|
"14w02b" => ProtocolVersion::modern(5),
|
|
"14w02a" => ProtocolVersion::modern(5),
|
|
"1.7.10" => ProtocolVersion::modern(5),
|
|
"1.7.10-pre4" => ProtocolVersion::modern(5),
|
|
"1.7.10-pre3" => ProtocolVersion::modern(5),
|
|
"1.7.10-pre2" => ProtocolVersion::modern(5),
|
|
"1.7.10-pre1" => ProtocolVersion::modern(5),
|
|
"1.7.9" => ProtocolVersion::modern(5),
|
|
"1.7.8" => ProtocolVersion::modern(5),
|
|
"1.7.7" => ProtocolVersion::modern(5),
|
|
"1.7.6" => ProtocolVersion::modern(5),
|
|
"1.7.6-pre2" => ProtocolVersion::modern(5),
|
|
"1.7.6-pre1" => ProtocolVersion::modern(5),
|
|
"1.7.5" => ProtocolVersion::modern(4),
|
|
"1.7.4" => ProtocolVersion::modern(4),
|
|
"1.7.3" => ProtocolVersion::modern(4),
|
|
"13w49a" => ProtocolVersion::modern(4),
|
|
"13w48b" => ProtocolVersion::modern(4),
|
|
"13w48a" => ProtocolVersion::modern(4),
|
|
"13w47e" => ProtocolVersion::modern(4),
|
|
"13w47d" => ProtocolVersion::modern(4),
|
|
"13w47c" => ProtocolVersion::modern(4),
|
|
"13w47b" => ProtocolVersion::modern(4),
|
|
"13w47a" => ProtocolVersion::modern(4),
|
|
"1.7.2" => ProtocolVersion::modern(4),
|
|
"1.7.1" => ProtocolVersion::modern(3),
|
|
"1.7" => ProtocolVersion::modern(3),
|
|
"13w43a" => ProtocolVersion::modern(2),
|
|
"13w42b" => ProtocolVersion::modern(1),
|
|
"13w42a" => ProtocolVersion::modern(1),
|
|
"13w41b" => ProtocolVersion::modern(0),
|
|
"13w41a" => ProtocolVersion::modern(0),
|
|
"13w39b" => ProtocolVersion::legacy(80),
|
|
"13w39a" => ProtocolVersion::legacy(80),
|
|
"13w38c" => ProtocolVersion::legacy(79),
|
|
"13w38b" => ProtocolVersion::legacy(79),
|
|
"13w38a" => ProtocolVersion::legacy(79),
|
|
"1.6.4" => ProtocolVersion::legacy(78),
|
|
"1.6.3" => ProtocolVersion::legacy(77),
|
|
"13w37b" => ProtocolVersion::legacy(76),
|
|
"13w37a" => ProtocolVersion::legacy(76),
|
|
"13w36b" => ProtocolVersion::legacy(75),
|
|
"13w36a" => ProtocolVersion::legacy(75),
|
|
"1.6.2" => ProtocolVersion::legacy(74),
|
|
"1.6.1" => ProtocolVersion::legacy(73),
|
|
"1.6" => ProtocolVersion::legacy(72),
|
|
"13w26a" => ProtocolVersion::legacy(72),
|
|
"13w25c" => ProtocolVersion::legacy(71),
|
|
"13w25b" => ProtocolVersion::legacy(71),
|
|
"13w25a" => ProtocolVersion::legacy(71),
|
|
"13w24b" => ProtocolVersion::legacy(70),
|
|
"13w24a" => ProtocolVersion::legacy(69),
|
|
"13w23b" => ProtocolVersion::legacy(68),
|
|
"13w23a" => ProtocolVersion::legacy(67),
|
|
"13w22a" => ProtocolVersion::legacy(67),
|
|
"13w21b" => ProtocolVersion::legacy(67),
|
|
"13w21a" => ProtocolVersion::legacy(67),
|
|
"13w19a" => ProtocolVersion::legacy(66),
|
|
"13w18c" => ProtocolVersion::legacy(65),
|
|
"13w18b" => ProtocolVersion::legacy(65),
|
|
"13w18a" => ProtocolVersion::legacy(65),
|
|
"13w17a" => ProtocolVersion::legacy(64),
|
|
"13w16b" => ProtocolVersion::legacy(63),
|
|
"13w16a" => ProtocolVersion::legacy(62),
|
|
"1.5.2" => ProtocolVersion::legacy(61),
|
|
"1.5.1" => ProtocolVersion::legacy(60),
|
|
"13w12~" => ProtocolVersion::legacy(60),
|
|
"13w11a" => ProtocolVersion::legacy(60),
|
|
"1.5" => ProtocolVersion::legacy(60),
|
|
"13w10b" => ProtocolVersion::legacy(60),
|
|
"13w10a" => ProtocolVersion::legacy(60),
|
|
"13w09c" => ProtocolVersion::legacy(60),
|
|
"13w09b" => ProtocolVersion::legacy(59),
|
|
"13w09a" => ProtocolVersion::legacy(59),
|
|
"13w07a" => ProtocolVersion::legacy(58),
|
|
"13w06a" => ProtocolVersion::legacy(58),
|
|
"13w05b" => ProtocolVersion::legacy(56),
|
|
"13w05a" => ProtocolVersion::legacy(56),
|
|
"13w04a" => ProtocolVersion::legacy(55),
|
|
"13w03a" => ProtocolVersion::legacy(54),
|
|
"13w02b" => ProtocolVersion::legacy(53),
|
|
"13w02a" => ProtocolVersion::legacy(53),
|
|
"13w01b" => ProtocolVersion::legacy(52),
|
|
"13w01a" => ProtocolVersion::legacy(52),
|
|
"1.4.7" => ProtocolVersion::legacy(51),
|
|
"1.4.6" => ProtocolVersion::legacy(51),
|
|
"12w50b" => ProtocolVersion::legacy(51),
|
|
"12w50a" => ProtocolVersion::legacy(51),
|
|
"12w49a" => ProtocolVersion::legacy(50),
|
|
"1.4.5" => ProtocolVersion::legacy(49),
|
|
"1.4.4" => ProtocolVersion::legacy(49),
|
|
"1.4.3" => ProtocolVersion::legacy(48),
|
|
"1.4.2" => ProtocolVersion::legacy(47),
|
|
"1.4.1" => ProtocolVersion::legacy(47),
|
|
"1.4" => ProtocolVersion::legacy(47),
|
|
"12w42b" => ProtocolVersion::legacy(47),
|
|
"12w42a" => ProtocolVersion::legacy(46),
|
|
"12w41b" => ProtocolVersion::legacy(46),
|
|
"12w41a" => ProtocolVersion::legacy(46),
|
|
"12w40b" => ProtocolVersion::legacy(45),
|
|
"12w40a" => ProtocolVersion::legacy(44),
|
|
"12w39b" => ProtocolVersion::legacy(43),
|
|
"12w39a" => ProtocolVersion::legacy(43),
|
|
"12w38b" => ProtocolVersion::legacy(43),
|
|
"12w38a" => ProtocolVersion::legacy(43),
|
|
"12w37a" => ProtocolVersion::legacy(42),
|
|
"12w36a" => ProtocolVersion::legacy(42),
|
|
"12w34b" => ProtocolVersion::legacy(42),
|
|
"12w34a" => ProtocolVersion::legacy(41),
|
|
"12w32a" => ProtocolVersion::legacy(40),
|
|
"1.3.2" => ProtocolVersion::legacy(39),
|
|
"1.3.1" => ProtocolVersion::legacy(39),
|
|
"1.3" => ProtocolVersion::legacy(39),
|
|
"12w30e" => ProtocolVersion::legacy(39),
|
|
"12w30d" => ProtocolVersion::legacy(39),
|
|
"12w30c" => ProtocolVersion::legacy(39),
|
|
"12w30b" => ProtocolVersion::legacy(38),
|
|
"12w30a" => ProtocolVersion::legacy(38),
|
|
"12w27a" => ProtocolVersion::legacy(38),
|
|
"12w26a" => ProtocolVersion::legacy(37),
|
|
"12w25a" => ProtocolVersion::legacy(37),
|
|
"12w24a" => ProtocolVersion::legacy(36),
|
|
"12w23b" => ProtocolVersion::legacy(35),
|
|
"12w23a" => ProtocolVersion::legacy(35),
|
|
"12w22a" => ProtocolVersion::legacy(34),
|
|
"12w21b" => ProtocolVersion::legacy(33),
|
|
"12w21a" => ProtocolVersion::legacy(33),
|
|
"12w19a" => ProtocolVersion::legacy(32),
|
|
"12w18a" => ProtocolVersion::legacy(32),
|
|
"12w17a" => ProtocolVersion::legacy(31),
|
|
"12w16a" => ProtocolVersion::legacy(30),
|
|
"12w15a" => ProtocolVersion::legacy(29),
|
|
"1.2.5" => ProtocolVersion::legacy(29),
|
|
"1.2.4" => ProtocolVersion::legacy(29),
|
|
"1.2.3" => ProtocolVersion::legacy(28),
|
|
"1.2.2" => ProtocolVersion::legacy(28),
|
|
"1.2.1" => ProtocolVersion::legacy(28),
|
|
"1.2" => ProtocolVersion::legacy(28),
|
|
"12w08a" => ProtocolVersion::legacy(28),
|
|
"12w07b" => ProtocolVersion::legacy(27),
|
|
"12w07a" => ProtocolVersion::legacy(27),
|
|
"12w06a" => ProtocolVersion::legacy(25),
|
|
"12w05b" => ProtocolVersion::legacy(24),
|
|
"12w05a" => ProtocolVersion::legacy(24),
|
|
"12w04a" => ProtocolVersion::legacy(24),
|
|
"12w03a" => ProtocolVersion::legacy(24),
|
|
"1.1" => ProtocolVersion::legacy(23),
|
|
"12w01a" => ProtocolVersion::legacy(23),
|
|
"11w50a" => ProtocolVersion::legacy(22),
|
|
"11w49a" => ProtocolVersion::legacy(22),
|
|
"11w48a" => ProtocolVersion::legacy(22),
|
|
"11w47a" => ProtocolVersion::legacy(22),
|
|
"1.0.1" => ProtocolVersion::legacy(22),
|
|
"1.0.0" => ProtocolVersion::legacy(22),
|
|
"1.0.0-rc2-1" => ProtocolVersion::legacy(22),
|
|
"1.0.0-rc2-2" => ProtocolVersion::legacy(22),
|
|
"1.0.0-rc2-3" => ProtocolVersion::legacy(22),
|
|
"1.0.0-rc1" => ProtocolVersion::legacy(22),
|
|
"b1.9-pre6" => ProtocolVersion::legacy(22),
|
|
"b1.9-pre5" => ProtocolVersion::legacy(21),
|
|
"b1.9-pre4" => ProtocolVersion::legacy(20),
|
|
"b1.9-pre3" => ProtocolVersion::legacy(19),
|
|
"b1.9-pre2" => ProtocolVersion::legacy(19),
|
|
"b1.9-pre1" => ProtocolVersion::legacy(18),
|
|
"b1.8.1" => ProtocolVersion::legacy(17),
|
|
"b1.8" => ProtocolVersion::legacy(17),
|
|
"b1.8-pre2" => ProtocolVersion::legacy(16),
|
|
"b1.8-pre1-1" => ProtocolVersion::legacy(15),
|
|
"b1.8-pre1-2" => ProtocolVersion::legacy(15),
|
|
};
|