aboutsummaryrefslogtreecommitdiff
path: root/azalea-entity/src/effects.rs
blob: 9cc750e5e4d1350d3085e79d1c5f526bb6da0079 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// TODO

// pub struct ActiveEffects(HashMap<azalea_registry::MobEffect, MobEffectData>);

/// Returns the level of the given effect, or `None` if the effect is not
/// active. The lowest level is 0.
pub fn get_effect(_effect: azalea_registry::MobEffect) -> Option<u32> {
    // TODO
    None
}

pub fn get_dig_speed_amplifier() -> Option<u32> {
    let effect_plus_one = u32::max(
        get_effect(azalea_registry::MobEffect::Haste)
            .map(|x| x + 1)
            .unwrap_or_default(),
        get_effect(azalea_registry::MobEffect::ConduitPower)
            .map(|x| x + 1)
            .unwrap_or_default(),
    );
    if effect_plus_one > 0 {
        Some(effect_plus_one - 1)
    } else {
        None
    }
}