#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub enum EffectType {
    Speed,
    Slowness,
    Haste,
    MiningFatigue,
    Strength,
    InstantHealth,
    InstantDamage,
    JumpBoost,
    Nausea,
    Regeneration,
    Resistance,
    FireResistance,
    WaterBreathing,
    Invisibility,
    Blindness,
    NightVision,
    Hunger,
    Weakness,
    Poison,
    Wither,
    HealthBoost,
    Absorption,
    Saturation,
    Glowing,
    Levitation,
    Luck,
    Unluck,
    SlowFalling,
    ConduitPower,
    DolphinsGrace,
    BadOmen,
    HeroOfTheVillage,
    Darkness,
    TrialOmen,
    RaidOmen,
    WindCharged,
    Weaving,
    Oozing,
    Infested,
}
impl EffectType {
    #[doc = r" Try to parse an `EffectType` from a resource location string."]
    pub fn from_name(name: &str) -> Option<Self> {
        match name {
            "speed" => Some(Self::Speed),
            "slowness" => Some(Self::Slowness),
            "haste" => Some(Self::Haste),
            "mining_fatigue" => Some(Self::MiningFatigue),
            "strength" => Some(Self::Strength),
            "instant_health" => Some(Self::InstantHealth),
            "instant_damage" => Some(Self::InstantDamage),
            "jump_boost" => Some(Self::JumpBoost),
            "nausea" => Some(Self::Nausea),
            "regeneration" => Some(Self::Regeneration),
            "resistance" => Some(Self::Resistance),
            "fire_resistance" => Some(Self::FireResistance),
            "water_breathing" => Some(Self::WaterBreathing),
            "invisibility" => Some(Self::Invisibility),
            "blindness" => Some(Self::Blindness),
            "night_vision" => Some(Self::NightVision),
            "hunger" => Some(Self::Hunger),
            "weakness" => Some(Self::Weakness),
            "poison" => Some(Self::Poison),
            "wither" => Some(Self::Wither),
            "health_boost" => Some(Self::HealthBoost),
            "absorption" => Some(Self::Absorption),
            "saturation" => Some(Self::Saturation),
            "glowing" => Some(Self::Glowing),
            "levitation" => Some(Self::Levitation),
            "luck" => Some(Self::Luck),
            "unluck" => Some(Self::Unluck),
            "slow_falling" => Some(Self::SlowFalling),
            "conduit_power" => Some(Self::ConduitPower),
            "dolphins_grace" => Some(Self::DolphinsGrace),
            "bad_omen" => Some(Self::BadOmen),
            "hero_of_the_village" => Some(Self::HeroOfTheVillage),
            "darkness" => Some(Self::Darkness),
            "trial_omen" => Some(Self::TrialOmen),
            "raid_omen" => Some(Self::RaidOmen),
            "wind_charged" => Some(Self::WindCharged),
            "weaving" => Some(Self::Weaving),
            "oozing" => Some(Self::Oozing),
            "infested" => Some(Self::Infested),
            _ => None,
        }
    }
    pub const fn to_name(&self) -> &'static str {
        match self {
            Self::Speed => "speed",
            Self::Slowness => "slowness",
            Self::Haste => "haste",
            Self::MiningFatigue => "mining_fatigue",
            Self::Strength => "strength",
            Self::InstantHealth => "instant_health",
            Self::InstantDamage => "instant_damage",
            Self::JumpBoost => "jump_boost",
            Self::Nausea => "nausea",
            Self::Regeneration => "regeneration",
            Self::Resistance => "resistance",
            Self::FireResistance => "fire_resistance",
            Self::WaterBreathing => "water_breathing",
            Self::Invisibility => "invisibility",
            Self::Blindness => "blindness",
            Self::NightVision => "night_vision",
            Self::Hunger => "hunger",
            Self::Weakness => "weakness",
            Self::Poison => "poison",
            Self::Wither => "wither",
            Self::HealthBoost => "health_boost",
            Self::Absorption => "absorption",
            Self::Saturation => "saturation",
            Self::Glowing => "glowing",
            Self::Levitation => "levitation",
            Self::Luck => "luck",
            Self::Unluck => "unluck",
            Self::SlowFalling => "slow_falling",
            Self::ConduitPower => "conduit_power",
            Self::DolphinsGrace => "dolphins_grace",
            Self::BadOmen => "bad_omen",
            Self::HeroOfTheVillage => "hero_of_the_village",
            Self::Darkness => "darkness",
            Self::TrialOmen => "trial_omen",
            Self::RaidOmen => "raid_omen",
            Self::WindCharged => "wind_charged",
            Self::Weaving => "weaving",
            Self::Oozing => "oozing",
            Self::Infested => "infested",
        }
    }
    pub fn from_minecraft_name(name: &str) -> Option<Self> {
        match name {
            concat!("minecraft:", "speed") => Some(Self::Speed),
            concat!("minecraft:", "slowness") => Some(Self::Slowness),
            concat!("minecraft:", "haste") => Some(Self::Haste),
            concat!("minecraft:", "mining_fatigue") => Some(Self::MiningFatigue),
            concat!("minecraft:", "strength") => Some(Self::Strength),
            concat!("minecraft:", "instant_health") => Some(Self::InstantHealth),
            concat!("minecraft:", "instant_damage") => Some(Self::InstantDamage),
            concat!("minecraft:", "jump_boost") => Some(Self::JumpBoost),
            concat!("minecraft:", "nausea") => Some(Self::Nausea),
            concat!("minecraft:", "regeneration") => Some(Self::Regeneration),
            concat!("minecraft:", "resistance") => Some(Self::Resistance),
            concat!("minecraft:", "fire_resistance") => Some(Self::FireResistance),
            concat!("minecraft:", "water_breathing") => Some(Self::WaterBreathing),
            concat!("minecraft:", "invisibility") => Some(Self::Invisibility),
            concat!("minecraft:", "blindness") => Some(Self::Blindness),
            concat!("minecraft:", "night_vision") => Some(Self::NightVision),
            concat!("minecraft:", "hunger") => Some(Self::Hunger),
            concat!("minecraft:", "weakness") => Some(Self::Weakness),
            concat!("minecraft:", "poison") => Some(Self::Poison),
            concat!("minecraft:", "wither") => Some(Self::Wither),
            concat!("minecraft:", "health_boost") => Some(Self::HealthBoost),
            concat!("minecraft:", "absorption") => Some(Self::Absorption),
            concat!("minecraft:", "saturation") => Some(Self::Saturation),
            concat!("minecraft:", "glowing") => Some(Self::Glowing),
            concat!("minecraft:", "levitation") => Some(Self::Levitation),
            concat!("minecraft:", "luck") => Some(Self::Luck),
            concat!("minecraft:", "unluck") => Some(Self::Unluck),
            concat!("minecraft:", "slow_falling") => Some(Self::SlowFalling),
            concat!("minecraft:", "conduit_power") => Some(Self::ConduitPower),
            concat!("minecraft:", "dolphins_grace") => Some(Self::DolphinsGrace),
            concat!("minecraft:", "bad_omen") => Some(Self::BadOmen),
            concat!("minecraft:", "hero_of_the_village") => Some(Self::HeroOfTheVillage),
            concat!("minecraft:", "darkness") => Some(Self::Darkness),
            concat!("minecraft:", "trial_omen") => Some(Self::TrialOmen),
            concat!("minecraft:", "raid_omen") => Some(Self::RaidOmen),
            concat!("minecraft:", "wind_charged") => Some(Self::WindCharged),
            concat!("minecraft:", "weaving") => Some(Self::Weaving),
            concat!("minecraft:", "oozing") => Some(Self::Oozing),
            concat!("minecraft:", "infested") => Some(Self::Infested),
            _ => None,
        }
    }
    pub const fn to_minecraft_name(&self) -> &'static str {
        match self {
            Self::Speed => concat!("minecraft:", "speed"),
            Self::Slowness => concat!("minecraft:", "slowness"),
            Self::Haste => concat!("minecraft:", "haste"),
            Self::MiningFatigue => concat!("minecraft:", "mining_fatigue"),
            Self::Strength => concat!("minecraft:", "strength"),
            Self::InstantHealth => concat!("minecraft:", "instant_health"),
            Self::InstantDamage => concat!("minecraft:", "instant_damage"),
            Self::JumpBoost => concat!("minecraft:", "jump_boost"),
            Self::Nausea => concat!("minecraft:", "nausea"),
            Self::Regeneration => concat!("minecraft:", "regeneration"),
            Self::Resistance => concat!("minecraft:", "resistance"),
            Self::FireResistance => concat!("minecraft:", "fire_resistance"),
            Self::WaterBreathing => concat!("minecraft:", "water_breathing"),
            Self::Invisibility => concat!("minecraft:", "invisibility"),
            Self::Blindness => concat!("minecraft:", "blindness"),
            Self::NightVision => concat!("minecraft:", "night_vision"),
            Self::Hunger => concat!("minecraft:", "hunger"),
            Self::Weakness => concat!("minecraft:", "weakness"),
            Self::Poison => concat!("minecraft:", "poison"),
            Self::Wither => concat!("minecraft:", "wither"),
            Self::HealthBoost => concat!("minecraft:", "health_boost"),
            Self::Absorption => concat!("minecraft:", "absorption"),
            Self::Saturation => concat!("minecraft:", "saturation"),
            Self::Glowing => concat!("minecraft:", "glowing"),
            Self::Levitation => concat!("minecraft:", "levitation"),
            Self::Luck => concat!("minecraft:", "luck"),
            Self::Unluck => concat!("minecraft:", "unluck"),
            Self::SlowFalling => concat!("minecraft:", "slow_falling"),
            Self::ConduitPower => concat!("minecraft:", "conduit_power"),
            Self::DolphinsGrace => concat!("minecraft:", "dolphins_grace"),
            Self::BadOmen => concat!("minecraft:", "bad_omen"),
            Self::HeroOfTheVillage => concat!("minecraft:", "hero_of_the_village"),
            Self::Darkness => concat!("minecraft:", "darkness"),
            Self::TrialOmen => concat!("minecraft:", "trial_omen"),
            Self::RaidOmen => concat!("minecraft:", "raid_omen"),
            Self::WindCharged => concat!("minecraft:", "wind_charged"),
            Self::Weaving => concat!("minecraft:", "weaving"),
            Self::Oozing => concat!("minecraft:", "oozing"),
            Self::Infested => concat!("minecraft:", "infested"),
        }
    }
}
