/* This file is generated. Do not edit manually. */
#[derive(Copy, Clone, Hash, PartialEq, Eq)]
#[repr(u8)]
pub enum DataComponent {
    CustomData = 0u8,
    MaxStackSize = 1u8,
    MaxDamage = 2u8,
    Damage = 3u8,
    Unbreakable = 4u8,
    UseEffects = 5u8,
    CustomName = 6u8,
    MinimumAttackCharge = 7u8,
    DamageType = 8u8,
    ItemName = 9u8,
    ItemModel = 10u8,
    Lore = 11u8,
    Rarity = 12u8,
    Enchantments = 13u8,
    CanPlaceOn = 14u8,
    CanBreak = 15u8,
    AttributeModifiers = 16u8,
    CustomModelData = 17u8,
    TooltipDisplay = 18u8,
    RepairCost = 19u8,
    CreativeSlotLock = 20u8,
    EnchantmentGlintOverride = 21u8,
    IntangibleProjectile = 22u8,
    Food = 23u8,
    Consumable = 24u8,
    UseRemainder = 25u8,
    UseCooldown = 26u8,
    DamageResistant = 27u8,
    Tool = 28u8,
    Weapon = 29u8,
    AttackRange = 30u8,
    Enchantable = 31u8,
    Equippable = 32u8,
    Repairable = 33u8,
    Glider = 34u8,
    TooltipStyle = 35u8,
    DeathProtection = 36u8,
    BlocksAttacks = 37u8,
    PiercingWeapon = 38u8,
    KineticWeapon = 39u8,
    SwingAnimation = 40u8,
    AdditionalTradeCost = 41u8,
    StoredEnchantments = 42u8,
    Dye = 43u8,
    DyedColor = 44u8,
    MapColor = 45u8,
    MapId = 46u8,
    MapDecorations = 47u8,
    MapPostProcessing = 48u8,
    ChargedProjectiles = 49u8,
    BundleContents = 50u8,
    PotionContents = 51u8,
    PotionDurationScale = 52u8,
    SuspiciousStewEffects = 53u8,
    WritableBookContent = 54u8,
    WrittenBookContent = 55u8,
    Trim = 56u8,
    DebugStickState = 57u8,
    EntityData = 58u8,
    BucketEntityData = 59u8,
    BlockEntityData = 60u8,
    Instrument = 61u8,
    ProvidesTrimMaterial = 62u8,
    OminousBottleAmplifier = 63u8,
    JukeboxPlayable = 64u8,
    ProvidesBannerPatterns = 65u8,
    Recipes = 66u8,
    LodestoneTracker = 67u8,
    FireworkExplosion = 68u8,
    Fireworks = 69u8,
    Profile = 70u8,
    NoteBlockSound = 71u8,
    BannerPatterns = 72u8,
    BaseColor = 73u8,
    PotDecorations = 74u8,
    Container = 75u8,
    BlockState = 76u8,
    Bees = 77u8,
    SulfurCubeContent = 78u8,
    Lock = 79u8,
    ContainerLoot = 80u8,
    BreakSound = 81u8,
    VillagerVariant = 82u8,
    WolfVariant = 83u8,
    WolfSoundVariant = 84u8,
    WolfCollar = 85u8,
    FoxVariant = 86u8,
    SalmonSize = 87u8,
    ParrotVariant = 88u8,
    TropicalFishPattern = 89u8,
    TropicalFishBaseColor = 90u8,
    TropicalFishPatternColor = 91u8,
    MooshroomVariant = 92u8,
    RabbitVariant = 93u8,
    PigVariant = 94u8,
    PigSoundVariant = 95u8,
    CowVariant = 96u8,
    CowSoundVariant = 97u8,
    ChickenVariant = 98u8,
    ChickenSoundVariant = 99u8,
    ZombieNautilusVariant = 100u8,
    FrogVariant = 101u8,
    HorseVariant = 102u8,
    PaintingVariant = 103u8,
    LlamaVariant = 104u8,
    AxolotlVariant = 105u8,
    CatVariant = 106u8,
    CatSoundVariant = 107u8,
    CatCollar = 108u8,
    SheepColor = 109u8,
    ShulkerColor = 110u8,
}
impl DataComponent {
    #[must_use]
    pub const fn to_id(self) -> u8 {
        self as u8
    }
    #[must_use]
    #[allow(clippy::too_many_lines)]
    pub const fn try_from_id(id: u8) -> Option<Self> {
        match id {
            0u8 => Some(Self::CustomData),
            1u8 => Some(Self::MaxStackSize),
            2u8 => Some(Self::MaxDamage),
            3u8 => Some(Self::Damage),
            4u8 => Some(Self::Unbreakable),
            5u8 => Some(Self::UseEffects),
            6u8 => Some(Self::CustomName),
            7u8 => Some(Self::MinimumAttackCharge),
            8u8 => Some(Self::DamageType),
            9u8 => Some(Self::ItemName),
            10u8 => Some(Self::ItemModel),
            11u8 => Some(Self::Lore),
            12u8 => Some(Self::Rarity),
            13u8 => Some(Self::Enchantments),
            14u8 => Some(Self::CanPlaceOn),
            15u8 => Some(Self::CanBreak),
            16u8 => Some(Self::AttributeModifiers),
            17u8 => Some(Self::CustomModelData),
            18u8 => Some(Self::TooltipDisplay),
            19u8 => Some(Self::RepairCost),
            20u8 => Some(Self::CreativeSlotLock),
            21u8 => Some(Self::EnchantmentGlintOverride),
            22u8 => Some(Self::IntangibleProjectile),
            23u8 => Some(Self::Food),
            24u8 => Some(Self::Consumable),
            25u8 => Some(Self::UseRemainder),
            26u8 => Some(Self::UseCooldown),
            27u8 => Some(Self::DamageResistant),
            28u8 => Some(Self::Tool),
            29u8 => Some(Self::Weapon),
            30u8 => Some(Self::AttackRange),
            31u8 => Some(Self::Enchantable),
            32u8 => Some(Self::Equippable),
            33u8 => Some(Self::Repairable),
            34u8 => Some(Self::Glider),
            35u8 => Some(Self::TooltipStyle),
            36u8 => Some(Self::DeathProtection),
            37u8 => Some(Self::BlocksAttacks),
            38u8 => Some(Self::PiercingWeapon),
            39u8 => Some(Self::KineticWeapon),
            40u8 => Some(Self::SwingAnimation),
            41u8 => Some(Self::AdditionalTradeCost),
            42u8 => Some(Self::StoredEnchantments),
            43u8 => Some(Self::Dye),
            44u8 => Some(Self::DyedColor),
            45u8 => Some(Self::MapColor),
            46u8 => Some(Self::MapId),
            47u8 => Some(Self::MapDecorations),
            48u8 => Some(Self::MapPostProcessing),
            49u8 => Some(Self::ChargedProjectiles),
            50u8 => Some(Self::BundleContents),
            51u8 => Some(Self::PotionContents),
            52u8 => Some(Self::PotionDurationScale),
            53u8 => Some(Self::SuspiciousStewEffects),
            54u8 => Some(Self::WritableBookContent),
            55u8 => Some(Self::WrittenBookContent),
            56u8 => Some(Self::Trim),
            57u8 => Some(Self::DebugStickState),
            58u8 => Some(Self::EntityData),
            59u8 => Some(Self::BucketEntityData),
            60u8 => Some(Self::BlockEntityData),
            61u8 => Some(Self::Instrument),
            62u8 => Some(Self::ProvidesTrimMaterial),
            63u8 => Some(Self::OminousBottleAmplifier),
            64u8 => Some(Self::JukeboxPlayable),
            65u8 => Some(Self::ProvidesBannerPatterns),
            66u8 => Some(Self::Recipes),
            67u8 => Some(Self::LodestoneTracker),
            68u8 => Some(Self::FireworkExplosion),
            69u8 => Some(Self::Fireworks),
            70u8 => Some(Self::Profile),
            71u8 => Some(Self::NoteBlockSound),
            72u8 => Some(Self::BannerPatterns),
            73u8 => Some(Self::BaseColor),
            74u8 => Some(Self::PotDecorations),
            75u8 => Some(Self::Container),
            76u8 => Some(Self::BlockState),
            77u8 => Some(Self::Bees),
            78u8 => Some(Self::SulfurCubeContent),
            79u8 => Some(Self::Lock),
            80u8 => Some(Self::ContainerLoot),
            81u8 => Some(Self::BreakSound),
            82u8 => Some(Self::VillagerVariant),
            83u8 => Some(Self::WolfVariant),
            84u8 => Some(Self::WolfSoundVariant),
            85u8 => Some(Self::WolfCollar),
            86u8 => Some(Self::FoxVariant),
            87u8 => Some(Self::SalmonSize),
            88u8 => Some(Self::ParrotVariant),
            89u8 => Some(Self::TropicalFishPattern),
            90u8 => Some(Self::TropicalFishBaseColor),
            91u8 => Some(Self::TropicalFishPatternColor),
            92u8 => Some(Self::MooshroomVariant),
            93u8 => Some(Self::RabbitVariant),
            94u8 => Some(Self::PigVariant),
            95u8 => Some(Self::PigSoundVariant),
            96u8 => Some(Self::CowVariant),
            97u8 => Some(Self::CowSoundVariant),
            98u8 => Some(Self::ChickenVariant),
            99u8 => Some(Self::ChickenSoundVariant),
            100u8 => Some(Self::ZombieNautilusVariant),
            101u8 => Some(Self::FrogVariant),
            102u8 => Some(Self::HorseVariant),
            103u8 => Some(Self::PaintingVariant),
            104u8 => Some(Self::LlamaVariant),
            105u8 => Some(Self::AxolotlVariant),
            106u8 => Some(Self::CatVariant),
            107u8 => Some(Self::CatSoundVariant),
            108u8 => Some(Self::CatCollar),
            109u8 => Some(Self::SheepColor),
            110u8 => Some(Self::ShulkerColor),
            _ => None,
        }
    }
    #[must_use]
    #[allow(clippy::too_many_lines)]
    pub fn try_from_name(name: &str) -> Option<Self> {
        let name = if name.contains(':') {
            std::borrow::Cow::Borrowed(name)
        } else {
            std::borrow::Cow::Owned(format!("minecraft:{name}"))
        };
        match name.as_ref() {
            "minecraft:custom_data" => Some(Self::CustomData),
            "minecraft:max_stack_size" => Some(Self::MaxStackSize),
            "minecraft:max_damage" => Some(Self::MaxDamage),
            "minecraft:damage" => Some(Self::Damage),
            "minecraft:unbreakable" => Some(Self::Unbreakable),
            "minecraft:use_effects" => Some(Self::UseEffects),
            "minecraft:custom_name" => Some(Self::CustomName),
            "minecraft:minimum_attack_charge" => Some(Self::MinimumAttackCharge),
            "minecraft:damage_type" => Some(Self::DamageType),
            "minecraft:item_name" => Some(Self::ItemName),
            "minecraft:item_model" => Some(Self::ItemModel),
            "minecraft:lore" => Some(Self::Lore),
            "minecraft:rarity" => Some(Self::Rarity),
            "minecraft:enchantments" => Some(Self::Enchantments),
            "minecraft:can_place_on" => Some(Self::CanPlaceOn),
            "minecraft:can_break" => Some(Self::CanBreak),
            "minecraft:attribute_modifiers" => Some(Self::AttributeModifiers),
            "minecraft:custom_model_data" => Some(Self::CustomModelData),
            "minecraft:tooltip_display" => Some(Self::TooltipDisplay),
            "minecraft:repair_cost" => Some(Self::RepairCost),
            "minecraft:creative_slot_lock" => Some(Self::CreativeSlotLock),
            "minecraft:enchantment_glint_override" => Some(Self::EnchantmentGlintOverride),
            "minecraft:intangible_projectile" => Some(Self::IntangibleProjectile),
            "minecraft:food" => Some(Self::Food),
            "minecraft:consumable" => Some(Self::Consumable),
            "minecraft:use_remainder" => Some(Self::UseRemainder),
            "minecraft:use_cooldown" => Some(Self::UseCooldown),
            "minecraft:damage_resistant" => Some(Self::DamageResistant),
            "minecraft:tool" => Some(Self::Tool),
            "minecraft:weapon" => Some(Self::Weapon),
            "minecraft:attack_range" => Some(Self::AttackRange),
            "minecraft:enchantable" => Some(Self::Enchantable),
            "minecraft:equippable" => Some(Self::Equippable),
            "minecraft:repairable" => Some(Self::Repairable),
            "minecraft:glider" => Some(Self::Glider),
            "minecraft:tooltip_style" => Some(Self::TooltipStyle),
            "minecraft:death_protection" => Some(Self::DeathProtection),
            "minecraft:blocks_attacks" => Some(Self::BlocksAttacks),
            "minecraft:piercing_weapon" => Some(Self::PiercingWeapon),
            "minecraft:kinetic_weapon" => Some(Self::KineticWeapon),
            "minecraft:swing_animation" => Some(Self::SwingAnimation),
            "minecraft:additional_trade_cost" => Some(Self::AdditionalTradeCost),
            "minecraft:stored_enchantments" => Some(Self::StoredEnchantments),
            "minecraft:dye" => Some(Self::Dye),
            "minecraft:dyed_color" => Some(Self::DyedColor),
            "minecraft:map_color" => Some(Self::MapColor),
            "minecraft:map_id" => Some(Self::MapId),
            "minecraft:map_decorations" => Some(Self::MapDecorations),
            "minecraft:map_post_processing" => Some(Self::MapPostProcessing),
            "minecraft:charged_projectiles" => Some(Self::ChargedProjectiles),
            "minecraft:bundle_contents" => Some(Self::BundleContents),
            "minecraft:potion_contents" => Some(Self::PotionContents),
            "minecraft:potion_duration_scale" => Some(Self::PotionDurationScale),
            "minecraft:suspicious_stew_effects" => Some(Self::SuspiciousStewEffects),
            "minecraft:writable_book_content" => Some(Self::WritableBookContent),
            "minecraft:written_book_content" => Some(Self::WrittenBookContent),
            "minecraft:trim" => Some(Self::Trim),
            "minecraft:debug_stick_state" => Some(Self::DebugStickState),
            "minecraft:entity_data" => Some(Self::EntityData),
            "minecraft:bucket_entity_data" => Some(Self::BucketEntityData),
            "minecraft:block_entity_data" => Some(Self::BlockEntityData),
            "minecraft:instrument" => Some(Self::Instrument),
            "minecraft:provides_trim_material" => Some(Self::ProvidesTrimMaterial),
            "minecraft:ominous_bottle_amplifier" => Some(Self::OminousBottleAmplifier),
            "minecraft:jukebox_playable" => Some(Self::JukeboxPlayable),
            "minecraft:provides_banner_patterns" => Some(Self::ProvidesBannerPatterns),
            "minecraft:recipes" => Some(Self::Recipes),
            "minecraft:lodestone_tracker" => Some(Self::LodestoneTracker),
            "minecraft:firework_explosion" => Some(Self::FireworkExplosion),
            "minecraft:fireworks" => Some(Self::Fireworks),
            "minecraft:profile" => Some(Self::Profile),
            "minecraft:note_block_sound" => Some(Self::NoteBlockSound),
            "minecraft:banner_patterns" => Some(Self::BannerPatterns),
            "minecraft:base_color" => Some(Self::BaseColor),
            "minecraft:pot_decorations" => Some(Self::PotDecorations),
            "minecraft:container" => Some(Self::Container),
            "minecraft:block_state" => Some(Self::BlockState),
            "minecraft:bees" => Some(Self::Bees),
            "minecraft:sulfur_cube_content" => Some(Self::SulfurCubeContent),
            "minecraft:lock" => Some(Self::Lock),
            "minecraft:container_loot" => Some(Self::ContainerLoot),
            "minecraft:break_sound" => Some(Self::BreakSound),
            "minecraft:villager/variant" => Some(Self::VillagerVariant),
            "minecraft:wolf/variant" => Some(Self::WolfVariant),
            "minecraft:wolf/sound_variant" => Some(Self::WolfSoundVariant),
            "minecraft:wolf/collar" => Some(Self::WolfCollar),
            "minecraft:fox/variant" => Some(Self::FoxVariant),
            "minecraft:salmon/size" => Some(Self::SalmonSize),
            "minecraft:parrot/variant" => Some(Self::ParrotVariant),
            "minecraft:tropical_fish/pattern" => Some(Self::TropicalFishPattern),
            "minecraft:tropical_fish/base_color" => Some(Self::TropicalFishBaseColor),
            "minecraft:tropical_fish/pattern_color" => Some(Self::TropicalFishPatternColor),
            "minecraft:mooshroom/variant" => Some(Self::MooshroomVariant),
            "minecraft:rabbit/variant" => Some(Self::RabbitVariant),
            "minecraft:pig/variant" => Some(Self::PigVariant),
            "minecraft:pig/sound_variant" => Some(Self::PigSoundVariant),
            "minecraft:cow/variant" => Some(Self::CowVariant),
            "minecraft:cow/sound_variant" => Some(Self::CowSoundVariant),
            "minecraft:chicken/variant" => Some(Self::ChickenVariant),
            "minecraft:chicken/sound_variant" => Some(Self::ChickenSoundVariant),
            "minecraft:zombie_nautilus/variant" => Some(Self::ZombieNautilusVariant),
            "minecraft:frog/variant" => Some(Self::FrogVariant),
            "minecraft:horse/variant" => Some(Self::HorseVariant),
            "minecraft:painting/variant" => Some(Self::PaintingVariant),
            "minecraft:llama/variant" => Some(Self::LlamaVariant),
            "minecraft:axolotl/variant" => Some(Self::AxolotlVariant),
            "minecraft:cat/variant" => Some(Self::CatVariant),
            "minecraft:cat/sound_variant" => Some(Self::CatSoundVariant),
            "minecraft:cat/collar" => Some(Self::CatCollar),
            "minecraft:sheep/color" => Some(Self::SheepColor),
            "minecraft:shulker/color" => Some(Self::ShulkerColor),
            _ => None,
        }
    }
    #[must_use]
    #[allow(clippy::too_many_lines)]
    pub const fn to_name(self) -> &'static str {
        match self {
            Self::CustomData => "minecraft:custom_data",
            Self::MaxStackSize => "minecraft:max_stack_size",
            Self::MaxDamage => "minecraft:max_damage",
            Self::Damage => "minecraft:damage",
            Self::Unbreakable => "minecraft:unbreakable",
            Self::UseEffects => "minecraft:use_effects",
            Self::CustomName => "minecraft:custom_name",
            Self::MinimumAttackCharge => "minecraft:minimum_attack_charge",
            Self::DamageType => "minecraft:damage_type",
            Self::ItemName => "minecraft:item_name",
            Self::ItemModel => "minecraft:item_model",
            Self::Lore => "minecraft:lore",
            Self::Rarity => "minecraft:rarity",
            Self::Enchantments => "minecraft:enchantments",
            Self::CanPlaceOn => "minecraft:can_place_on",
            Self::CanBreak => "minecraft:can_break",
            Self::AttributeModifiers => "minecraft:attribute_modifiers",
            Self::CustomModelData => "minecraft:custom_model_data",
            Self::TooltipDisplay => "minecraft:tooltip_display",
            Self::RepairCost => "minecraft:repair_cost",
            Self::CreativeSlotLock => "minecraft:creative_slot_lock",
            Self::EnchantmentGlintOverride => "minecraft:enchantment_glint_override",
            Self::IntangibleProjectile => "minecraft:intangible_projectile",
            Self::Food => "minecraft:food",
            Self::Consumable => "minecraft:consumable",
            Self::UseRemainder => "minecraft:use_remainder",
            Self::UseCooldown => "minecraft:use_cooldown",
            Self::DamageResistant => "minecraft:damage_resistant",
            Self::Tool => "minecraft:tool",
            Self::Weapon => "minecraft:weapon",
            Self::AttackRange => "minecraft:attack_range",
            Self::Enchantable => "minecraft:enchantable",
            Self::Equippable => "minecraft:equippable",
            Self::Repairable => "minecraft:repairable",
            Self::Glider => "minecraft:glider",
            Self::TooltipStyle => "minecraft:tooltip_style",
            Self::DeathProtection => "minecraft:death_protection",
            Self::BlocksAttacks => "minecraft:blocks_attacks",
            Self::PiercingWeapon => "minecraft:piercing_weapon",
            Self::KineticWeapon => "minecraft:kinetic_weapon",
            Self::SwingAnimation => "minecraft:swing_animation",
            Self::AdditionalTradeCost => "minecraft:additional_trade_cost",
            Self::StoredEnchantments => "minecraft:stored_enchantments",
            Self::Dye => "minecraft:dye",
            Self::DyedColor => "minecraft:dyed_color",
            Self::MapColor => "minecraft:map_color",
            Self::MapId => "minecraft:map_id",
            Self::MapDecorations => "minecraft:map_decorations",
            Self::MapPostProcessing => "minecraft:map_post_processing",
            Self::ChargedProjectiles => "minecraft:charged_projectiles",
            Self::BundleContents => "minecraft:bundle_contents",
            Self::PotionContents => "minecraft:potion_contents",
            Self::PotionDurationScale => "minecraft:potion_duration_scale",
            Self::SuspiciousStewEffects => "minecraft:suspicious_stew_effects",
            Self::WritableBookContent => "minecraft:writable_book_content",
            Self::WrittenBookContent => "minecraft:written_book_content",
            Self::Trim => "minecraft:trim",
            Self::DebugStickState => "minecraft:debug_stick_state",
            Self::EntityData => "minecraft:entity_data",
            Self::BucketEntityData => "minecraft:bucket_entity_data",
            Self::BlockEntityData => "minecraft:block_entity_data",
            Self::Instrument => "minecraft:instrument",
            Self::ProvidesTrimMaterial => "minecraft:provides_trim_material",
            Self::OminousBottleAmplifier => "minecraft:ominous_bottle_amplifier",
            Self::JukeboxPlayable => "minecraft:jukebox_playable",
            Self::ProvidesBannerPatterns => "minecraft:provides_banner_patterns",
            Self::Recipes => "minecraft:recipes",
            Self::LodestoneTracker => "minecraft:lodestone_tracker",
            Self::FireworkExplosion => "minecraft:firework_explosion",
            Self::Fireworks => "minecraft:fireworks",
            Self::Profile => "minecraft:profile",
            Self::NoteBlockSound => "minecraft:note_block_sound",
            Self::BannerPatterns => "minecraft:banner_patterns",
            Self::BaseColor => "minecraft:base_color",
            Self::PotDecorations => "minecraft:pot_decorations",
            Self::Container => "minecraft:container",
            Self::BlockState => "minecraft:block_state",
            Self::Bees => "minecraft:bees",
            Self::SulfurCubeContent => "minecraft:sulfur_cube_content",
            Self::Lock => "minecraft:lock",
            Self::ContainerLoot => "minecraft:container_loot",
            Self::BreakSound => "minecraft:break_sound",
            Self::VillagerVariant => "minecraft:villager/variant",
            Self::WolfVariant => "minecraft:wolf/variant",
            Self::WolfSoundVariant => "minecraft:wolf/sound_variant",
            Self::WolfCollar => "minecraft:wolf/collar",
            Self::FoxVariant => "minecraft:fox/variant",
            Self::SalmonSize => "minecraft:salmon/size",
            Self::ParrotVariant => "minecraft:parrot/variant",
            Self::TropicalFishPattern => "minecraft:tropical_fish/pattern",
            Self::TropicalFishBaseColor => "minecraft:tropical_fish/base_color",
            Self::TropicalFishPatternColor => "minecraft:tropical_fish/pattern_color",
            Self::MooshroomVariant => "minecraft:mooshroom/variant",
            Self::RabbitVariant => "minecraft:rabbit/variant",
            Self::PigVariant => "minecraft:pig/variant",
            Self::PigSoundVariant => "minecraft:pig/sound_variant",
            Self::CowVariant => "minecraft:cow/variant",
            Self::CowSoundVariant => "minecraft:cow/sound_variant",
            Self::ChickenVariant => "minecraft:chicken/variant",
            Self::ChickenSoundVariant => "minecraft:chicken/sound_variant",
            Self::ZombieNautilusVariant => "minecraft:zombie_nautilus/variant",
            Self::FrogVariant => "minecraft:frog/variant",
            Self::HorseVariant => "minecraft:horse/variant",
            Self::PaintingVariant => "minecraft:painting/variant",
            Self::LlamaVariant => "minecraft:llama/variant",
            Self::AxolotlVariant => "minecraft:axolotl/variant",
            Self::CatVariant => "minecraft:cat/variant",
            Self::CatSoundVariant => "minecraft:cat/sound_variant",
            Self::CatCollar => "minecraft:cat/collar",
            Self::SheepColor => "minecraft:sheep/color",
            Self::ShulkerColor => "minecraft:shulker/color",
        }
    }
}
