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#[cfg(feature = "image")]
13pub mod image;
14
15#[derive(Debug, PartialEq, Clone, Copy)]
16pub enum WoaVersion {
17 HM2016,
18 HM2,
19 HM3,
20}
21
22impl FromStr for WoaVersion {
23 type Err = String;
24 fn from_str(s: &str) -> Result<Self, Self::Err> {
25 match s {
26 "1" | "H1" | "HM1" | "HM2016" | "H2016" => Ok(WoaVersion::HM2016),
27 "2" | "H2" | "HM2" | "HM2018" | "H2018" => Ok(WoaVersion::HM2),
28 "3" | "H3" | "HM3" | "HM2020" | "H2020" => Ok(WoaVersion::HM3),
29 _ => Err(format!("Invalid value for WoaVersion: {s}")),
30 }
31 }
32}
33
34pub trait Version {
35 fn get_version() -> WoaVersion;
36}