1pub fn get_item_tier(item: azalea_registry::Item) -> Option<Tier> {
2 use azalea_registry::Item::*;
3 Some(match item {
4 WoodenPickaxe | WoodenShovel | WoodenAxe | WoodenHoe | WoodenSword => Tier::Wood,
5 StonePickaxe | StoneShovel | StoneAxe | StoneHoe | StoneSword => Tier::Stone,
6 IronPickaxe | IronShovel | IronAxe | IronHoe | IronSword => Tier::Iron,
7 DiamondPickaxe | DiamondShovel | DiamondAxe | DiamondHoe | DiamondSword => Tier::Diamond,
8 GoldenPickaxe | GoldenShovel | GoldenAxe | GoldenHoe | GoldenSword => Tier::Gold,
9 NetheritePickaxe | NetheriteShovel | NetheriteAxe | NetheriteHoe | NetheriteSword => {
10 Tier::Netherite
11 }
12 _ => return None,
13 })
14}
15
16pub enum Tier {
17 Wood,
18 Stone,
19 Iron,
20 Diamond,
21 Gold,
22 Netherite,
23}
24
25impl Tier {
26 pub fn level(&self) -> u8 {
27 match self {
28 Tier::Wood => 0,
29 Tier::Stone => 1,
30 Tier::Iron => 2,
31 Tier::Diamond => 3,
32 Tier::Gold => 0, Tier::Netherite => 4,
34 }
35 }
36 pub fn speed(&self) -> f32 {
37 match self {
38 Tier::Wood => 2.,
39 Tier::Stone => 4.,
40 Tier::Iron => 6.,
41 Tier::Diamond => 8.,
42 Tier::Gold => 12.,
43 Tier::Netherite => 9.,
44 }
45 }
46}