1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! Data models for Minecraft server status responses.
//!
//! # Top-level types
//!
//! | Type | Description |
//! |------|-------------|
//! | [`ServerStatus`] | Full result of a ping — online, IP, latency, DNS, edition data |
//! | [`ServerData`] | Edition-specific payload (Java, Bedrock, Legacy, Query) |
//! | [`PingResult`] | Raw result returned by a [`PingProtocol`](crate::protocol::PingProtocol) |
//! | [`ServerInfo`] | Address + edition pair, used in [`McClient::ping_many`](crate::McClient::ping_many) |
//! | [`ServerEdition`] | `Java` or `Bedrock` — parses from `"java"` / `"bedrock"` strings |
//!
//! # Java Edition models
//!
//! [`JavaStatus`] is the main model. It contains [`JavaVersion`],
//! [`JavaPlayers`], optional [`JavaPlugin`] / [`JavaMod`] lists, and the raw
//! JSON response in `raw_data`.
//!
//! # Bedrock Edition models
//!
//! [`BedrockStatus`] is parsed directly from the RakNet Unconnected Pong
//! semicolon-delimited string. All fields are `String` or `Option<u16>` — no
//! nested structs.
//!
//! # Future protocol models
//!
//! [`LegacyData`] and [`QueryData`] are placeholder structs for the pre-1.7
//! Java ping and UDP Query API respectively. They are present in
//! [`ServerData`] but currently serialised with `#[serde(skip)]`.
pub use ;
pub use ;
pub use BedrockStatus;