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}