class Region:
    menu = "Menu"
    stardew_valley = "Stardew Valley"
    farm_house = "Farmhouse"
    cellar = "Cellar"
    farm = "Farm"
    coop = "Coop"
    barn = "Barn"
    shed = "Shed"
    slime_hutch = "Slime Hutch"
    town = "Town"
    beach = "Beach"
    mountain = "Mountain"
    forest = "Forest"
    bus_stop = "Bus Stop"
    backwoods = "Backwoods"
    tunnel_entrance = "Tunnel Entrance"
    bus_tunnel = "Bus Tunnel"
    railroad = "Railroad"
    secret_woods = "Secret Woods"
    community_center = "Community Center"
    pantry = "Pantry"
    crafts_room = "Crafts Room"
    fish_tank = "Fish Tank"
    boiler_room = "Boiler Room"
    vault = "Vault"
    bulletin_board = "Bulletin Board"
    desert = "Desert"
    oasis = "Oasis"
    casino = "Casino"
    mines = "The Mines"
    skull_cavern_entrance = "Skull Cavern Entrance"
    skull_cavern = "Skull Cavern"
    sewer = "Sewer"
    mutant_bug_lair = "Mutant Bug Lair"
    witch_swamp = "Witch's Swamp"
    witch_hut = "Witch's Hut"
    island_south = "Island South"
    island_resort = "Island Resort"
    island_south_east = "Island Southeast"
    pirate_cove = "Pirate Cove"
    island_east = "Island East"
    island_north = "Island North"
    island_shrine = "Island Shrine"
    leo_hut = "Leo's Hut"
    leo_treehouse = "Leo's TreeHouse"
    island_farmhouse = "Island Farmhouse"
    dig_site = "Dig Site"
    professor_snail_cave = "Professor Snail Cave"
    field_office = "Field Office"
    volcano = "Volcano Entrance"
    volcano_secret_beach = "Volcano Secret Beach"
    island_trader = "Island Trader"
    volcano_floor_5 = "Volcano - Floor 5"
    volcano_dwarf_shop = "Volcano Dwarf Shop"
    volcano_floor_10 = "Volcano - Floor 10"
    island_west = "Island West"
    gourmand_frog_cave = "Gourmand Frog Cave"
    colored_crystals_cave = "Colored Crystals Cave"
    shipwreck = "Shipwreck"
    qi_walnut_room = "Qi's Walnut Room"
    skull_cavern_25 = "Skull Cavern Floor 25"
    skull_cavern_50 = "Skull Cavern Floor 50"
    skull_cavern_75 = "Skull Cavern Floor 75"
    skull_cavern_100 = "Skull Cavern Floor 100"
    skull_cavern_125 = "Skull Cavern Floor 125"
    skull_cavern_150 = "Skull Cavern Floor 150"
    skull_cavern_175 = "Skull Cavern Floor 175"
    skull_cavern_200 = "Skull Cavern Floor 200"
    dangerous_skull_cavern = "Dangerous Skull Cavern"
    hospital = "Hospital"
    carpenter = "Carpenter Shop"
    alex_house = "Alex's House"
    elliott_house = "Elliott's House"
    ranch = "Marnie's Ranch"
    mastery_cave = "Mastery Cave"
    farm_cave = "Farmcave"
    greenhouse = "Greenhouse"
    leah_house = "Leah's Cottage"
    wizard_tower = "Wizard Tower"
    wizard_basement = "Wizard Basement"
    tent = "Tent"
    maru_room = "Maru's Room"
    sebastian_room = "Sebastian's Room"
    adventurer_guild = "Adventurer's Guild"
    adventurer_guild_bedroom = "Marlon's bedroom"
    quarry = "Quarry"
    quarry_mine_entrance = "Quarry Mine Entrance"
    quarry_mine = "Quarry Mine"
    witch_warp_cave = "Witch Warp Cave"
    harvey_room = "Harvey's Room"
    pierre_store = "Pierre's General Store"
    sunroom = "Sunroom"
    saloon = "Saloon"
    blacksmith = "Clint's Blacksmith"
    trailer = "Trailer"
    museum = "Museum"
    mayor_house = "Mayor's Manor"
    haley_house = "Haley's House"
    sam_house = "Sam's House"
    jojamart = "JojaMart"
    abandoned_jojamart = "Abandoned JojaMart"
    movie_theater = "Movie Theater"
    movie_ticket_stand = "Ticket Stand"
    fish_shop = "Willy's Fish Shop"
    boat_tunnel = "Boat Tunnel"
    tide_pools = "Tide Pools"
    bathhouse_entrance = "Bathhouse Entrance"
    locker_room = "Locker Room"
    public_bath = "Public Bath"
    jotpk_world_1 = "JotPK World 1"
    jotpk_world_2 = "JotPK World 2"
    jotpk_world_3 = "JotPK World 3"
    junimo_kart_1 = "Junimo Kart 1"
    junimo_kart_2 = "Junimo Kart 2"
    junimo_kart_3 = "Junimo Kart 3"
    junimo_kart_4 = "Junimo Kart 4"
    mines_floor_5 = "The Mines - Floor 5"
    mines_floor_10 = "The Mines - Floor 10"
    mines_floor_15 = "The Mines - Floor 15"
    mines_floor_20 = "The Mines - Floor 20"
    mines_floor_25 = "The Mines - Floor 25"
    mines_floor_30 = "The Mines - Floor 30"
    mines_floor_35 = "The Mines - Floor 35"
    mines_floor_40 = "The Mines - Floor 40"
    mines_floor_45 = "The Mines - Floor 45"
    mines_floor_50 = "The Mines - Floor 50"
    mines_floor_55 = "The Mines - Floor 55"
    mines_floor_60 = "The Mines - Floor 60"
    mines_floor_65 = "The Mines - Floor 65"
    mines_floor_70 = "The Mines - Floor 70"
    mines_floor_75 = "The Mines - Floor 75"
    mines_floor_80 = "The Mines - Floor 80"
    mines_floor_85 = "The Mines - Floor 85"
    mines_floor_90 = "The Mines - Floor 90"
    mines_floor_95 = "The Mines - Floor 95"
    mines_floor_100 = "The Mines - Floor 100"
    mines_floor_105 = "The Mines - Floor 105"
    mines_floor_110 = "The Mines - Floor 110"
    mines_floor_115 = "The Mines - Floor 115"
    mines_floor_120 = "The Mines - Floor 120"
    dangerous_mines_20 = "Dangerous Mines - Floor 20"
    dangerous_mines_60 = "Dangerous Mines - Floor 60"
    dangerous_mines_100 = "Dangerous Mines - Floor 100"


class LogicRegion:
    mines_dwarf_shop = "Mines Dwarf Shop"

    traveling_cart = "Traveling Cart"
    traveling_cart_sunday = "Traveling Cart Sunday"
    traveling_cart_monday = "Traveling Cart Monday"
    traveling_cart_tuesday = "Traveling Cart Tuesday"
    traveling_cart_wednesday = "Traveling Cart Wednesday"
    traveling_cart_thursday = "Traveling Cart Thursday"
    traveling_cart_friday = "Traveling Cart Friday"
    traveling_cart_saturday = "Traveling Cart Saturday"

    kitchen = "Kitchen"
    shipping = "Shipping"
    queen_of_sauce = "The Queen of Sauce"

    @staticmethod
    def blacksmith_upgrade(material: str) -> str:
        return f"Blacksmith {material} Upgrades"

    blacksmith_copper = blacksmith_upgrade("Copper")
    blacksmith_iron = blacksmith_upgrade("Iron")
    blacksmith_gold = blacksmith_upgrade("Gold")
    blacksmith_iridium = blacksmith_upgrade("Iridium")

    spring_farming = "Spring Farming"
    summer_farming = "Summer Farming"
    fall_farming = "Fall Farming"
    winter_farming = "Winter Farming"
    indoor_farming = "Indoor Farming"
    summer_or_fall_farming = "Summer or Fall Farming"

    fishing = "Fishing"
    egg_festival = "Egg Festival"
    desert_festival = "Desert Festival"
    trout_derby = "Trout Derby"
    flower_dance = "Flower Dance"
    luau = "Luau"
    moonlight_jellies = "Dance of the Moonlight Jellies"
    fair = "Stardew Valley Fair"
    spirit_eve = "Spirit's Eve"
    festival_of_ice = "Festival of Ice"
    night_market = "Night Market"
    winter_star = "Feast of the Winter Star"
    squidfest = "SquidFest"
    raccoon_daddy = "Raccoon Bundles"
    raccoon_shop = "Raccoon Shop"
    bookseller_1 = "Bookseller Experience Books"
    bookseller_2 = "Bookseller Year 1 Books"
    bookseller_3 = "Bookseller Year 3 Books"
    forest_waterfall = "Waterfall"


class DeepWoodsRegion:
    main_lichtung = "Entrance to the Deep Woods"
    abandoned_home = "Abandoned Home in Deep Woods"
    woods_obelisk_menu = "Woods Obelisk Menu"
    floor_10 = "The Deep Woods Depth 10"
    floor_20 = "The Deep Woods Depth 20"
    floor_30 = "The Deep Woods Depth 30"
    floor_40 = "The Deep Woods Depth 40"
    floor_50 = "The Deep Woods Depth 50"
    floor_60 = "The Deep Woods Depth 60"
    floor_70 = "The Deep Woods Depth 70"
    floor_80 = "The Deep Woods Depth 80"
    floor_90 = "The Deep Woods Depth 90"
    floor_100 = "The Deep Woods Depth 100"


class EugeneRegion:
    eugene_garden = "Eugene's Garden"
    eugene_bedroom = "Eugene's Bedroom"


class MagicRegion:
    altar = "Magic Altar"


class JasperRegion:
    jasper_bedroom = "Jasper's Bedroom"


class AlecRegion:
    pet_store = "Alec's Pet Shop"
    alec_bedroom = "Alec's Bedroom"


class YobaRegion:
    yoba_clearing = "Yoba's Clearing"


class JunaRegion:
    juna_cave = "Juna's Cave"


class AyeishaRegion:
    mail_van = "Ayeisha's Mail Van"


class RileyRegion:
    riley_house = "Riley's House"


class SVERegion:
    grandpas_shed = "Grandpa's Shed"
    grandpas_shed_front_door = "Grandpa's Shed Front Door"
    grandpas_shed_interior = "Grandpa's Shed Interior"
    grandpas_shed_upstairs = "Grandpa's Shed Upstairs"
    grove_outpost_warp = "Grove Outpost Warp"
    grove_wizard_warp = "Grove Wizard Warp"
    grove_farm_warp = "Grove Farm Warp"
    grove_aurora_warp = "Grove Aurora Vineyard Warp"
    grove_guild_warp = "Grove Guild Warp"
    grove_junimo_warp = "Grove Junimo Woods Warp"
    grove_spring_warp = "Grove Sprite Spring Warp"
    marnies_shed = "Marnie's Shed"
    fairhaven_farm = "Fairhaven Farm"
    blue_moon_vineyard = "Blue Moon Vineyard"
    sophias_house = "Sophia's House"
    jenkins_residence = "Jenkins' Residence"
    jenkins_cellar = "Jenkins' Cellar"
    unclaimed_plot = "Unclaimed Plot"
    shearwater = "Shearwater Bridge"
    guild_summit = "Guild Summit"
    fable_reef = "Fable Reef"
    first_slash_guild = "First Slash Guild"
    highlands_outside = "Highlands Outside"
    highlands_cavern = "Highlands Cavern"
    dwarf_prison = "Highlands Cavern Prison"
    lances_house = "Lance's House Main"
    lances_ladder = "Lance's House Ladder"
    forest_west = "Forest West"
    aurora_vineyard = "Aurora Vineyard"
    aurora_vineyard_basement = "Aurora Vineyard Basement"
    bear_shop = "Bear Shop"
    sprite_spring = "Sprite Spring"
    lost_woods = "Lost Woods"
    junimo_woods = "Junimo Woods"
    purple_junimo_shop = "Purple Junimo Shop"
    enchanted_grove = "Enchanted Grove"
    galmoran_outpost = "Galmoran Outpost"
    badlands_entrance = "Badlands Entrance"
    crimson_badlands = "Crimson Badlands"
    alesia_shop = "Alesia Shop"
    isaac_shop = "Isaac Shop"
    summit = "Summit"
    susans_house = "Susan's House"
    marlon_boat = "Marlon's Boat"
    badlands_cave = "Badlands Cave"
    outpost_roof = "Galmoran Outpost Roof"
    grampleton_station = "Grampleton Station"
    grampleton_suburbs = "Grampleton Suburbs"
    scarlett_house = "Scarlett's House"
    first_slash_hallway = "First Slash Hallway"
    first_slash_spare_room = "First Slash Spare Room"
    sprite_spring_cave = "Sprite Spring Cave"
    willy_bedroom = "Willy's Bedroom"
    gunther_bedroom = "Gunther's Bedroom"
    highlands_pond = "Highlands Pond"


class AlectoRegion:
    witch_attic = "Witch's Attic"


class LaceyRegion:
    hat_house = "Mouse House"


class BoardingHouseRegion:
    boarding_house_plateau = "Boarding House Outside"
    boarding_house_first = "Boarding House - First Floor"
    boarding_house_second = "Boarding House - Second Floor"
    abandoned_mines_entrance = "Abandoned Mines Entrance"
    abandoned_mines_1a = "Abandoned Mines - 1A"
    abandoned_mines_1b = "Abandoned Mines - 1B"
    abandoned_mines_2a = "Abandoned Mines - 2A"
    abandoned_mines_2b = "Abandoned Mines - 2B"
    abandoned_mines_3 = "Abandoned Mines - 3"
    abandoned_mines_4 = "Abandoned Mines - 4"
    abandoned_mines_5 = "Abandoned Mines - 5"
    the_lost_valley = "The Lost Valley"
    gregory_tent = "Gregory's Tent"
    lost_valley_ruins = "Lost Valley Ruins"
    lost_valley_minecart = "Lost Valley Minecart"
    lost_valley_house_1 = "Lost Valley Ruins - First House"
    lost_valley_house_2 = "Lost Valley Ruins - Second House"
    buffalo_ranch = "Buffalo's Ranch"
