terra-items-xbox360 0.1.2

Crate with enum contatining xbox 360 terraria items and prefixes
Documentation
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[allow(clippy::enum_variant_names)]
pub enum Prefix {
	Large = 1,
	Massive = 2,
	Dangerous = 3,
	Savage = 4,
	Sharp = 5,
	Pointy = 6,
	Tiny = 7,
	Terrible = 8,
	Small = 9,
	Dull = 10,
	Unhappy = 11,
	Bulky = 12,
	Shameful = 13,
	Heavy = 14,
	Light = 15,
	Sighted = 16,
	Rapid = 17,
	HastyRanged = 18,
	Intimidating = 19,
	DeadlyRanged = 20,
	Staunch = 21,
	Awful = 22,
	Lethargic = 23,
	Awkward = 24,
	Powerful = 25,
	Mystic = 26,
	Adept = 27,
	Masterful = 28,
	Inept = 29,
	Ignorant = 30,
	Deranged = 31,
	Intense = 32,
	Taboo = 33,
	Celestial = 34,
	Furious = 35,
	Keen = 36,
	Superior = 37,
	Forceful = 38,
	Broken = 39,
	Damaged = 40,
	Shoddy = 41,
	QuickWeapon = 42,
	Deadly = 43,
	Agile = 44,
	Nimble = 45,
	Murderous = 46,
	Slow = 47,
	Sluggish = 48,
	Lazy = 49,
	Annoying = 50,
	Nasty = 51,
	Manic = 52,
	Hurtful = 53,
	Strong = 54,
	Unpleasant = 55,
	Weak = 56,
	Ruthless = 57,
	Frenzying = 58,
	Godly = 59,
	Demonic = 60,
	Zealous = 61,
	Hard = 62,
	Guarding = 63,
	Armored = 64,
	Warding = 65,
	Arcane = 66,
	Precise = 67,
	Lucky = 68,
	Jagged = 69,
	Spiked = 70,
	Angry = 71,
	Menacing = 72,
	Brisk = 73,
	Fleeting = 74,
	HastyAccessory = 75,
	QuickAccessory = 76,
	Wild = 77,
	Rash = 78,
	Intrepid = 79,
	Violent = 80,
	Legendary = 81,
	Unreal = 82,
	Mythical = 83,
}

#[cfg(feature = "convert")]
impl TryFrom<terra_items::Prefix> for Prefix {
	type Error = ();
	fn try_from(value: terra_items::Prefix) -> Result<Self, Self::Error> {
		Ok(match value {
			terra_items::Prefix::Large => Self::Large,
			terra_items::Prefix::Massive => Self::Massive,
			terra_items::Prefix::Dangerous => Self::Dangerous,
			terra_items::Prefix::Savage => Self::Savage,
			terra_items::Prefix::Sharp => Self::Sharp,
			terra_items::Prefix::Pointy => Self::Pointy,
			terra_items::Prefix::Tiny => Self::Tiny,
			terra_items::Prefix::Terrible => Self::Terrible,
			terra_items::Prefix::Small => Self::Small,
			terra_items::Prefix::Dull => Self::Dull,
			terra_items::Prefix::Unhappy => Self::Unhappy,
			terra_items::Prefix::Bulky => Self::Bulky,
			terra_items::Prefix::Shameful => Self::Shameful,
			terra_items::Prefix::Heavy => Self::Heavy,
			terra_items::Prefix::Light => Self::Light,
			terra_items::Prefix::Sighted => Self::Sighted,
			terra_items::Prefix::Rapid => Self::Rapid,
			terra_items::Prefix::HastyRanged => Self::HastyRanged,
			terra_items::Prefix::Intimidating => Self::Intimidating,
			terra_items::Prefix::Deadly => Self::Deadly,
			terra_items::Prefix::Staunch => Self::Staunch,
			terra_items::Prefix::Awful => Self::Awful,
			terra_items::Prefix::Lethargic => Self::Lethargic,
			terra_items::Prefix::Awkward => Self::Awkward,
			terra_items::Prefix::Powerful => Self::Powerful,
			terra_items::Prefix::Mystic => Self::Mystic,
			terra_items::Prefix::Adept => Self::Adept,
			terra_items::Prefix::Masterful => Self::Masterful,
			terra_items::Prefix::Inept => Self::Inept,
			terra_items::Prefix::Ignorant => Self::Ignorant,
			terra_items::Prefix::Deranged => Self::Deranged,
			terra_items::Prefix::Intense => Self::Intense,
			terra_items::Prefix::Taboo => Self::Taboo,
			terra_items::Prefix::Celestial => Self::Celestial,
			terra_items::Prefix::Furious => Self::Furious,
			terra_items::Prefix::Keen => Self::Keen,
			terra_items::Prefix::Superior => Self::Superior,
			terra_items::Prefix::Forceful => Self::Forceful,
			terra_items::Prefix::Broken => Self::Broken,
			terra_items::Prefix::Damaged => Self::Damaged,
			terra_items::Prefix::Shoddy => Self::Shoddy,
			terra_items::Prefix::QuickWeapon => Self::QuickWeapon,
			terra_items::Prefix::DeadlyRanged => Self::DeadlyRanged,
			terra_items::Prefix::Agile => Self::Agile,
			terra_items::Prefix::Nimble => Self::Nimble,
			terra_items::Prefix::Murderous => Self::Murderous,
			terra_items::Prefix::Slow => Self::Slow,
			terra_items::Prefix::Sluggish => Self::Sluggish,
			terra_items::Prefix::Lazy => Self::Lazy,
			terra_items::Prefix::Annoying => Self::Annoying,
			terra_items::Prefix::Nasty => Self::Nasty,
			terra_items::Prefix::Manic => Self::Manic,
			terra_items::Prefix::Hurtful => Self::Hurtful,
			terra_items::Prefix::Strong => Self::Strong,
			terra_items::Prefix::Unpleasant => Self::Unpleasant,
			terra_items::Prefix::Weak => Self::Weak,
			terra_items::Prefix::Ruthless => Self::Ruthless,
			terra_items::Prefix::Frenzying => Self::Frenzying,
			terra_items::Prefix::Godly => Self::Godly,
			terra_items::Prefix::Demonic => Self::Demonic,
			terra_items::Prefix::Zealous => Self::Zealous,
			terra_items::Prefix::Hard => Self::Hard,
			terra_items::Prefix::Guarding => Self::Guarding,
			terra_items::Prefix::Armored => Self::Armored,
			terra_items::Prefix::Warding => Self::Warding,
			terra_items::Prefix::Arcane => Self::Arcane,
			terra_items::Prefix::Precise => Self::Precise,
			terra_items::Prefix::Lucky => Self::Lucky,
			terra_items::Prefix::Jagged => Self::Jagged,
			terra_items::Prefix::Spiked => Self::Spiked,
			terra_items::Prefix::Angry => Self::Angry,
			terra_items::Prefix::Menacing => Self::Menacing,
			terra_items::Prefix::Brisk => Self::Brisk,
			terra_items::Prefix::Fleeting => Self::Fleeting,
			terra_items::Prefix::HastyAccessory => Self::HastyAccessory,
			terra_items::Prefix::QuickAccessory => Self::QuickAccessory,
			terra_items::Prefix::Wild => Self::Wild,
			terra_items::Prefix::Rash => Self::Rash,
			terra_items::Prefix::Intrepid => Self::Intrepid,
			terra_items::Prefix::Violent => Self::Violent,
			terra_items::Prefix::Legendary => Self::Legendary,
			terra_items::Prefix::Unreal => Self::Unreal,
			terra_items::Prefix::Mythical => Self::Mythical,
			_ => return Err(()),
		})
	}
}

#[cfg(feature = "convert")]
impl From<Prefix> for terra_items::Prefix {
	fn from(value: Prefix) -> Self {
		match value {
			Prefix::Large => Self::Large,
			Prefix::Massive => Self::Massive,
			Prefix::Dangerous => Self::Dangerous,
			Prefix::Savage => Self::Savage,
			Prefix::Sharp => Self::Sharp,
			Prefix::Pointy => Self::Pointy,
			Prefix::Tiny => Self::Tiny,
			Prefix::Terrible => Self::Terrible,
			Prefix::Small => Self::Small,
			Prefix::Dull => Self::Dull,
			Prefix::Unhappy => Self::Unhappy,
			Prefix::Bulky => Self::Bulky,
			Prefix::Shameful => Self::Shameful,
			Prefix::Heavy => Self::Heavy,
			Prefix::Light => Self::Light,
			Prefix::Sighted => Self::Sighted,
			Prefix::Rapid => Self::Rapid,
			Prefix::HastyRanged => Self::HastyRanged,
			Prefix::Intimidating => Self::Intimidating,
			Prefix::Deadly => Self::Deadly,
			Prefix::Staunch => Self::Staunch,
			Prefix::Awful => Self::Awful,
			Prefix::Lethargic => Self::Lethargic,
			Prefix::Awkward => Self::Awkward,
			Prefix::Powerful => Self::Powerful,
			Prefix::Mystic => Self::Mystic,
			Prefix::Adept => Self::Adept,
			Prefix::Masterful => Self::Masterful,
			Prefix::Inept => Self::Inept,
			Prefix::Ignorant => Self::Ignorant,
			Prefix::Deranged => Self::Deranged,
			Prefix::Intense => Self::Intense,
			Prefix::Taboo => Self::Taboo,
			Prefix::Celestial => Self::Celestial,
			Prefix::Furious => Self::Furious,
			Prefix::Keen => Self::Keen,
			Prefix::Superior => Self::Superior,
			Prefix::Forceful => Self::Forceful,
			Prefix::Broken => Self::Broken,
			Prefix::Damaged => Self::Damaged,
			Prefix::Shoddy => Self::Shoddy,
			Prefix::QuickWeapon => Self::QuickWeapon,
			Prefix::DeadlyRanged => Self::DeadlyRanged,
			Prefix::Agile => Self::Agile,
			Prefix::Nimble => Self::Nimble,
			Prefix::Murderous => Self::Murderous,
			Prefix::Slow => Self::Slow,
			Prefix::Sluggish => Self::Sluggish,
			Prefix::Lazy => Self::Lazy,
			Prefix::Annoying => Self::Annoying,
			Prefix::Nasty => Self::Nasty,
			Prefix::Manic => Self::Manic,
			Prefix::Hurtful => Self::Hurtful,
			Prefix::Strong => Self::Strong,
			Prefix::Unpleasant => Self::Unpleasant,
			Prefix::Weak => Self::Weak,
			Prefix::Ruthless => Self::Ruthless,
			Prefix::Frenzying => Self::Frenzying,
			Prefix::Godly => Self::Godly,
			Prefix::Demonic => Self::Demonic,
			Prefix::Zealous => Self::Zealous,
			Prefix::Hard => Self::Hard,
			Prefix::Guarding => Self::Guarding,
			Prefix::Armored => Self::Armored,
			Prefix::Warding => Self::Warding,
			Prefix::Arcane => Self::Arcane,
			Prefix::Precise => Self::Precise,
			Prefix::Lucky => Self::Lucky,
			Prefix::Jagged => Self::Jagged,
			Prefix::Spiked => Self::Spiked,
			Prefix::Angry => Self::Angry,
			Prefix::Menacing => Self::Menacing,
			Prefix::Brisk => Self::Brisk,
			Prefix::Fleeting => Self::Fleeting,
			Prefix::HastyAccessory => Self::HastyAccessory,
			Prefix::QuickAccessory => Self::QuickAccessory,
			Prefix::Wild => Self::Wild,
			Prefix::Rash => Self::Rash,
			Prefix::Intrepid => Self::Intrepid,
			Prefix::Violent => Self::Violent,
			Prefix::Legendary => Self::Legendary,
			Prefix::Unreal => Self::Unreal,
			Prefix::Mythical => Self::Mythical,
		}
	}
}

impl Prefix {
	pub fn to_id(self) -> u8 {
		self as u8
	}

	pub fn from_id(id: u8) -> Option<Self> {
		Some(match id {
			1 => Prefix::Large,
			2 => Prefix::Massive,
			3 => Prefix::Dangerous,
			4 => Prefix::Savage,
			5 => Prefix::Sharp,
			6 => Prefix::Pointy,
			7 => Prefix::Tiny,
			8 => Prefix::Terrible,
			9 => Prefix::Small,
			10 => Prefix::Dull,
			11 => Prefix::Unhappy,
			12 => Prefix::Bulky,
			13 => Prefix::Shameful,
			14 => Prefix::Heavy,
			15 => Prefix::Light,
			16 => Prefix::Sighted,
			17 => Prefix::Rapid,
			18 => Prefix::HastyRanged,
			19 => Prefix::Intimidating,
			20 => Prefix::DeadlyRanged,
			21 => Prefix::Staunch,
			22 => Prefix::Awful,
			23 => Prefix::Lethargic,
			24 => Prefix::Awkward,
			25 => Prefix::Powerful,
			26 => Prefix::Mystic,
			27 => Prefix::Adept,
			28 => Prefix::Masterful,
			29 => Prefix::Inept,
			30 => Prefix::Ignorant,
			31 => Prefix::Deranged,
			32 => Prefix::Intense,
			33 => Prefix::Taboo,
			34 => Prefix::Celestial,
			35 => Prefix::Furious,
			36 => Prefix::Keen,
			37 => Prefix::Superior,
			38 => Prefix::Forceful,
			39 => Prefix::Broken,
			40 => Prefix::Damaged,
			41 => Prefix::Shoddy,
			42 => Prefix::QuickWeapon,
			43 => Prefix::Deadly,
			44 => Prefix::Agile,
			45 => Prefix::Nimble,
			46 => Prefix::Murderous,
			47 => Prefix::Slow,
			48 => Prefix::Sluggish,
			49 => Prefix::Lazy,
			50 => Prefix::Annoying,
			51 => Prefix::Nasty,
			52 => Prefix::Manic,
			53 => Prefix::Hurtful,
			54 => Prefix::Strong,
			55 => Prefix::Unpleasant,
			56 => Prefix::Weak,
			57 => Prefix::Ruthless,
			58 => Prefix::Frenzying,
			59 => Prefix::Godly,
			60 => Prefix::Demonic,
			61 => Prefix::Zealous,
			62 => Prefix::Hard,
			63 => Prefix::Guarding,
			64 => Prefix::Armored,
			65 => Prefix::Warding,
			66 => Prefix::Arcane,
			67 => Prefix::Precise,
			68 => Prefix::Lucky,
			69 => Prefix::Jagged,
			70 => Prefix::Spiked,
			71 => Prefix::Angry,
			72 => Prefix::Menacing,
			73 => Prefix::Brisk,
			74 => Prefix::Fleeting,
			75 => Prefix::HastyAccessory,
			76 => Prefix::QuickAccessory,
			77 => Prefix::Wild,
			78 => Prefix::Rash,
			79 => Prefix::Intrepid,
			80 => Prefix::Violent,
			81 => Prefix::Legendary,
			82 => Prefix::Unreal,
			83 => Prefix::Mythical,
			_ => return None,
		})
	}
}