glacier_texture/
lib.rs

1use std::str::FromStr;
2
3pub mod texture_map;
4
5#[cfg(feature = "rpkg")]
6pub mod rpkg;
7pub mod convert;
8pub mod pack;
9pub mod enums;
10pub mod mipblock;
11pub mod atlas;
12
13#[derive(Debug, PartialEq, Clone, Copy)]
14pub enum WoaVersion {
15    HM2016,
16    HM2,
17    HM3,
18}
19
20impl FromStr for WoaVersion {
21    type Err = String;
22    fn from_str(s: &str) -> Result<Self, Self::Err> {
23        match s {
24            "1" | "H1" | "HM1" | "HM2016" | "H2016" => Ok(WoaVersion::HM2016),
25            "2" | "H2" | "HM2" | "HM2018" | "H2018" => Ok(WoaVersion::HM2),
26            "3" | "H3" | "HM3" | "HM2020" | "H2020" => Ok(WoaVersion::HM3),
27            _ => Err(format!("Invalid value for WoaVersion: {}", s)),
28        }
29    }
30}
31
32pub trait Version {
33    fn get_version() -> WoaVersion;
34}