hypixel_api/api/
mod.rs

1pub(crate) mod throttler;
2#[cfg(feature = "reply")]
3pub mod reply;
4pub(crate) mod request;
5#[macro_use]
6pub(crate) mod macros;
7pub mod error;
8#[cfg(feature = "util")]
9pub mod util;
10mod tests;
11
12use std::fmt::{Display, Formatter};
13use serde::Deserialize;
14
15#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Deserialize)]
16#[serde(rename_all = "UPPERCASE")]
17pub enum MonthlyPackageRank {
18    None,
19    Superstar,
20}
21display_enum_with_case!(MonthlyPackageRank, Upper);
22
23#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Deserialize)]
24#[serde(rename_all = "UPPERCASE", from="String")]
25pub enum StaffLevel {
26    Normal,
27    Helper,
28    Moderator,
29    Admin,
30    Unknown(String)
31}
32
33impl From<String> for StaffLevel {
34    fn from(s: String) -> Self {
35        match s.as_str() {
36            "NORMAL" => StaffLevel::Normal,
37            "HELPER" => StaffLevel::Helper,
38            "MODERATOR" => StaffLevel::Moderator,
39            "ADMIN" => StaffLevel::Admin,
40            _ => StaffLevel::Unknown(s)
41        }
42    }
43}
44
45impl Display for StaffLevel {
46    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
47        match self {
48            StaffLevel::Normal => write!(f, "NORMAL"),
49            StaffLevel::Helper => write!(f, "HELPER"),
50            StaffLevel::Moderator => write!(f, "MODERATOR"),
51            StaffLevel::Admin => write!(f, "ADMIN"),
52            StaffLevel::Unknown(s) => write!(f, "{}", s),
53        }
54    }
55}
56
57#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Deserialize)]
58#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
59pub enum PackageRank {
60    None,
61    Vip,
62    VipPlus,
63    Mvp,
64    MvpPlus,
65    MvpPlusPlus,
66}
67display_enum_with_case!(PackageRank, ScreamingSnake);
68
69/// This corresponds to the table on [this wiki](https://minecraft.fandom.com/wiki/Formatting_codes#Color_codes).
70#[derive(Debug, Copy, Clone, PartialEq, Eq, Deserialize)]
71#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
72pub enum ColorCodes {
73    Black,
74    DarkBlue,
75    DarkGreen,
76    DarkAqua,
77    DarkRed,
78    DarkPurple,
79    Gold,
80    Gray,
81    DarkGray,
82    Blue,
83    Green,
84    Aqua,
85    Red,
86    LightPurple,
87    Yellow,
88    White,
89}
90display_enum_with_case!(ColorCodes, ScreamingSnake);