diff --git a/CHANGELOG.md b/CHANGELOG.md index f8ae34d..08bba07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,9 @@ Who knows what the future holds... # 0.X.Y - DD/MM/YYYY ### Changes: -None, yet... +Protocols: +- Minecraft Java: Add derives to `RequestSettings` and add `new_just_hostname` that creates new settings just by specifying +the hostname, `protocol_version` defaults to -1. ### Breaking... None, yaay! diff --git a/src/protocols/minecraft/types.rs b/src/protocols/minecraft/types.rs index fafc77a..0d1da2c 100644 --- a/src/protocols/minecraft/types.rs +++ b/src/protocols/minecraft/types.rs @@ -89,6 +89,8 @@ pub struct JavaResponse { } /// Java-only additional request settings. +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +#[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)] pub struct RequestSettings { /// Some Minecraft servers do not respond as expected if this /// isn't a specific value, `mc.hypixel.net` is an example. @@ -99,8 +101,7 @@ pub struct RequestSettings { } impl Default for RequestSettings { - /// `hostname`: "gamedig" - /// + /// `hostname`: "gamedig" /// `protocol_version`: -1 fn default() -> Self { Self { @@ -110,6 +111,17 @@ impl Default for RequestSettings { } } +impl RequestSettings { + /// Make a new *RequestSettings* with just the hostname, the protocol + /// version defaults to -1 + pub fn new_just_hostname(hostname: String) -> Self { + Self { + hostname, + protocol_version: -1, + } + } +} + impl From for RequestSettings { fn from(value: ExtraRequestSettings) -> Self { let default = Self::default();