/* This file is generated. Do not edit manually. */
use crate::effect::StatusEffect;
pub struct Potion {
    pub id: u8,
    pub name: &'static str,
    pub effects: &'static [Effect],
}
#[derive(Clone)]
pub struct Effect {
    pub effect_type: &'static StatusEffect,
    pub duration: i32,
    pub amplifier: u8,
    pub ambient: bool,
    pub show_particles: bool,
    pub show_icon: bool,
    pub blend: bool,
}
impl Potion {
    pub const AWKWARD: Self = Self {
        name: "awkward",
        id: 3u8,
        effects: &[],
    };
    pub const FIRE_RESISTANCE: Self = Self {
        name: "fire_resistance",
        id: 11u8,
        effects: &[Effect {
            effect_type: &StatusEffect::FIRE_RESISTANCE,
            duration: 3600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const HARMING: Self = Self {
        name: "harming",
        id: 26u8,
        effects: &[Effect {
            effect_type: &StatusEffect::INSTANT_DAMAGE,
            duration: 1i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const HEALING: Self = Self {
        name: "healing",
        id: 24u8,
        effects: &[Effect {
            effect_type: &StatusEffect::INSTANT_HEALTH,
            duration: 1i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const INFESTED: Self = Self {
        name: "infested",
        id: 45u8,
        effects: &[Effect {
            effect_type: &StatusEffect::INFESTED,
            duration: 3600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const INVISIBILITY: Self = Self {
        name: "invisibility",
        id: 6u8,
        effects: &[Effect {
            effect_type: &StatusEffect::INVISIBILITY,
            duration: 3600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LEAPING: Self = Self {
        name: "leaping",
        id: 8u8,
        effects: &[Effect {
            effect_type: &StatusEffect::JUMP_BOOST,
            duration: 3600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LONG_FIRE_RESISTANCE: Self = Self {
        name: "long_fire_resistance",
        id: 12u8,
        effects: &[Effect {
            effect_type: &StatusEffect::FIRE_RESISTANCE,
            duration: 9600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LONG_INVISIBILITY: Self = Self {
        name: "long_invisibility",
        id: 7u8,
        effects: &[Effect {
            effect_type: &StatusEffect::INVISIBILITY,
            duration: 9600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LONG_LEAPING: Self = Self {
        name: "long_leaping",
        id: 9u8,
        effects: &[Effect {
            effect_type: &StatusEffect::JUMP_BOOST,
            duration: 9600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LONG_NIGHT_VISION: Self = Self {
        name: "long_night_vision",
        id: 5u8,
        effects: &[Effect {
            effect_type: &StatusEffect::NIGHT_VISION,
            duration: 9600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LONG_POISON: Self = Self {
        name: "long_poison",
        id: 29u8,
        effects: &[Effect {
            effect_type: &StatusEffect::POISON,
            duration: 1800i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LONG_REGENERATION: Self = Self {
        name: "long_regeneration",
        id: 32u8,
        effects: &[Effect {
            effect_type: &StatusEffect::REGENERATION,
            duration: 1800i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LONG_SLOW_FALLING: Self = Self {
        name: "long_slow_falling",
        id: 41u8,
        effects: &[Effect {
            effect_type: &StatusEffect::SLOW_FALLING,
            duration: 4800i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LONG_SLOWNESS: Self = Self {
        name: "long_slowness",
        id: 17u8,
        effects: &[Effect {
            effect_type: &StatusEffect::SLOWNESS,
            duration: 4800i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LONG_STRENGTH: Self = Self {
        name: "long_strength",
        id: 35u8,
        effects: &[Effect {
            effect_type: &StatusEffect::STRENGTH,
            duration: 9600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LONG_SWIFTNESS: Self = Self {
        name: "long_swiftness",
        id: 14u8,
        effects: &[Effect {
            effect_type: &StatusEffect::SPEED,
            duration: 9600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LONG_TURTLE_MASTER: Self = Self {
        name: "long_turtle_master",
        id: 20u8,
        effects: &[
            Effect {
                effect_type: &StatusEffect::SLOWNESS,
                duration: 800i32,
                amplifier: 3u8,
                ambient: false,
                show_particles: true,
                show_icon: true,
                blend: false,
            },
            Effect {
                effect_type: &StatusEffect::RESISTANCE,
                duration: 800i32,
                amplifier: 2u8,
                ambient: false,
                show_particles: true,
                show_icon: true,
                blend: false,
            },
        ],
    };
    pub const LONG_WATER_BREATHING: Self = Self {
        name: "long_water_breathing",
        id: 23u8,
        effects: &[Effect {
            effect_type: &StatusEffect::WATER_BREATHING,
            duration: 9600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LONG_WEAKNESS: Self = Self {
        name: "long_weakness",
        id: 38u8,
        effects: &[Effect {
            effect_type: &StatusEffect::WEAKNESS,
            duration: 4800i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const LUCK: Self = Self {
        name: "luck",
        id: 39u8,
        effects: &[Effect {
            effect_type: &StatusEffect::LUCK,
            duration: 6000i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const MUNDANE: Self = Self {
        name: "mundane",
        id: 1u8,
        effects: &[],
    };
    pub const NIGHT_VISION: Self = Self {
        name: "night_vision",
        id: 4u8,
        effects: &[Effect {
            effect_type: &StatusEffect::NIGHT_VISION,
            duration: 3600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const OOZING: Self = Self {
        name: "oozing",
        id: 44u8,
        effects: &[Effect {
            effect_type: &StatusEffect::OOZING,
            duration: 3600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const POISON: Self = Self {
        name: "poison",
        id: 28u8,
        effects: &[Effect {
            effect_type: &StatusEffect::POISON,
            duration: 900i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const REGENERATION: Self = Self {
        name: "regeneration",
        id: 31u8,
        effects: &[Effect {
            effect_type: &StatusEffect::REGENERATION,
            duration: 900i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const SLOW_FALLING: Self = Self {
        name: "slow_falling",
        id: 40u8,
        effects: &[Effect {
            effect_type: &StatusEffect::SLOW_FALLING,
            duration: 1800i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const SLOWNESS: Self = Self {
        name: "slowness",
        id: 16u8,
        effects: &[Effect {
            effect_type: &StatusEffect::SLOWNESS,
            duration: 1800i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const STRENGTH: Self = Self {
        name: "strength",
        id: 34u8,
        effects: &[Effect {
            effect_type: &StatusEffect::STRENGTH,
            duration: 3600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const STRONG_HARMING: Self = Self {
        name: "strong_harming",
        id: 27u8,
        effects: &[Effect {
            effect_type: &StatusEffect::INSTANT_DAMAGE,
            duration: 1i32,
            amplifier: 1u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const STRONG_HEALING: Self = Self {
        name: "strong_healing",
        id: 25u8,
        effects: &[Effect {
            effect_type: &StatusEffect::INSTANT_HEALTH,
            duration: 1i32,
            amplifier: 1u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const STRONG_LEAPING: Self = Self {
        name: "strong_leaping",
        id: 10u8,
        effects: &[Effect {
            effect_type: &StatusEffect::JUMP_BOOST,
            duration: 1800i32,
            amplifier: 1u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const STRONG_POISON: Self = Self {
        name: "strong_poison",
        id: 30u8,
        effects: &[Effect {
            effect_type: &StatusEffect::POISON,
            duration: 432i32,
            amplifier: 1u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const STRONG_REGENERATION: Self = Self {
        name: "strong_regeneration",
        id: 33u8,
        effects: &[Effect {
            effect_type: &StatusEffect::REGENERATION,
            duration: 450i32,
            amplifier: 1u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const STRONG_SLOWNESS: Self = Self {
        name: "strong_slowness",
        id: 18u8,
        effects: &[Effect {
            effect_type: &StatusEffect::SLOWNESS,
            duration: 400i32,
            amplifier: 3u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const STRONG_STRENGTH: Self = Self {
        name: "strong_strength",
        id: 36u8,
        effects: &[Effect {
            effect_type: &StatusEffect::STRENGTH,
            duration: 1800i32,
            amplifier: 1u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const STRONG_SWIFTNESS: Self = Self {
        name: "strong_swiftness",
        id: 15u8,
        effects: &[Effect {
            effect_type: &StatusEffect::SPEED,
            duration: 1800i32,
            amplifier: 1u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const STRONG_TURTLE_MASTER: Self = Self {
        name: "strong_turtle_master",
        id: 21u8,
        effects: &[
            Effect {
                effect_type: &StatusEffect::SLOWNESS,
                duration: 400i32,
                amplifier: 5u8,
                ambient: false,
                show_particles: true,
                show_icon: true,
                blend: false,
            },
            Effect {
                effect_type: &StatusEffect::RESISTANCE,
                duration: 400i32,
                amplifier: 3u8,
                ambient: false,
                show_particles: true,
                show_icon: true,
                blend: false,
            },
        ],
    };
    pub const SWIFTNESS: Self = Self {
        name: "swiftness",
        id: 13u8,
        effects: &[Effect {
            effect_type: &StatusEffect::SPEED,
            duration: 3600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const THICK: Self = Self {
        name: "thick",
        id: 2u8,
        effects: &[],
    };
    pub const TURTLE_MASTER: Self = Self {
        name: "turtle_master",
        id: 19u8,
        effects: &[
            Effect {
                effect_type: &StatusEffect::SLOWNESS,
                duration: 400i32,
                amplifier: 3u8,
                ambient: false,
                show_particles: true,
                show_icon: true,
                blend: false,
            },
            Effect {
                effect_type: &StatusEffect::RESISTANCE,
                duration: 400i32,
                amplifier: 2u8,
                ambient: false,
                show_particles: true,
                show_icon: true,
                blend: false,
            },
        ],
    };
    pub const WATER: Self = Self {
        name: "water",
        id: 0u8,
        effects: &[],
    };
    pub const WATER_BREATHING: Self = Self {
        name: "water_breathing",
        id: 22u8,
        effects: &[Effect {
            effect_type: &StatusEffect::WATER_BREATHING,
            duration: 3600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const WEAKNESS: Self = Self {
        name: "weakness",
        id: 37u8,
        effects: &[Effect {
            effect_type: &StatusEffect::WEAKNESS,
            duration: 1800i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const WEAVING: Self = Self {
        name: "weaving",
        id: 43u8,
        effects: &[Effect {
            effect_type: &StatusEffect::WEAVING,
            duration: 3600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    pub const WIND_CHARGED: Self = Self {
        name: "wind_charged",
        id: 42u8,
        effects: &[Effect {
            effect_type: &StatusEffect::WIND_CHARGED,
            duration: 3600i32,
            amplifier: 0u8,
            ambient: false,
            show_particles: true,
            show_icon: true,
            blend: false,
        }],
    };
    #[must_use]
    pub fn from_name(name: &str) -> Option<&'static Self> {
        match name {
            "awkward" => Some(&Self::AWKWARD),
            "fire_resistance" => Some(&Self::FIRE_RESISTANCE),
            "harming" => Some(&Self::HARMING),
            "healing" => Some(&Self::HEALING),
            "infested" => Some(&Self::INFESTED),
            "invisibility" => Some(&Self::INVISIBILITY),
            "leaping" => Some(&Self::LEAPING),
            "long_fire_resistance" => Some(&Self::LONG_FIRE_RESISTANCE),
            "long_invisibility" => Some(&Self::LONG_INVISIBILITY),
            "long_leaping" => Some(&Self::LONG_LEAPING),
            "long_night_vision" => Some(&Self::LONG_NIGHT_VISION),
            "long_poison" => Some(&Self::LONG_POISON),
            "long_regeneration" => Some(&Self::LONG_REGENERATION),
            "long_slow_falling" => Some(&Self::LONG_SLOW_FALLING),
            "long_slowness" => Some(&Self::LONG_SLOWNESS),
            "long_strength" => Some(&Self::LONG_STRENGTH),
            "long_swiftness" => Some(&Self::LONG_SWIFTNESS),
            "long_turtle_master" => Some(&Self::LONG_TURTLE_MASTER),
            "long_water_breathing" => Some(&Self::LONG_WATER_BREATHING),
            "long_weakness" => Some(&Self::LONG_WEAKNESS),
            "luck" => Some(&Self::LUCK),
            "mundane" => Some(&Self::MUNDANE),
            "night_vision" => Some(&Self::NIGHT_VISION),
            "oozing" => Some(&Self::OOZING),
            "poison" => Some(&Self::POISON),
            "regeneration" => Some(&Self::REGENERATION),
            "slow_falling" => Some(&Self::SLOW_FALLING),
            "slowness" => Some(&Self::SLOWNESS),
            "strength" => Some(&Self::STRENGTH),
            "strong_harming" => Some(&Self::STRONG_HARMING),
            "strong_healing" => Some(&Self::STRONG_HEALING),
            "strong_leaping" => Some(&Self::STRONG_LEAPING),
            "strong_poison" => Some(&Self::STRONG_POISON),
            "strong_regeneration" => Some(&Self::STRONG_REGENERATION),
            "strong_slowness" => Some(&Self::STRONG_SLOWNESS),
            "strong_strength" => Some(&Self::STRONG_STRENGTH),
            "strong_swiftness" => Some(&Self::STRONG_SWIFTNESS),
            "strong_turtle_master" => Some(&Self::STRONG_TURTLE_MASTER),
            "swiftness" => Some(&Self::SWIFTNESS),
            "thick" => Some(&Self::THICK),
            "turtle_master" => Some(&Self::TURTLE_MASTER),
            "water" => Some(&Self::WATER),
            "water_breathing" => Some(&Self::WATER_BREATHING),
            "weakness" => Some(&Self::WEAKNESS),
            "weaving" => Some(&Self::WEAVING),
            "wind_charged" => Some(&Self::WIND_CHARGED),
            _ => None,
        }
    }
}
