value; } public static function tryFromTag(string $tag): Hunter|null { return match ($tag) { 'Hunter.Stalker' => Hunter::Stalker, 'Hunter.Poacher' => Hunter::Poacher, 'Hunter.Inquisitor' => Hunter::Inquisitor, 'Hunter.Mass' => Hunter::Mass, default => null, }; } public function getGroupType(): ItemGroupType { return match ($this) { Hunter::Stalker => ItemGroupType::HunterStalker, Hunter::Poacher => ItemGroupType::HunterPoacher, Hunter::Inquisitor => ItemGroupType::HunterInquisitor, Hunter::Mass => ItemGroupType::HunterVeteran, }; } /** * @return class-string */ public function getItemConfigClass(): string { return match ($this) { Hunter::Stalker => StalkerItemConfig::class, Hunter::Poacher => PoacherItemConfig::class, Hunter::Inquisitor => InquisitorItemConfig::class, Hunter::Mass => VeteranItemConfig::class, }; } }