aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/utils/Location.java
blob: 1f6c93a0caa4d97004916a2a69ed345a1d051ea9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package de.hysky.skyblocker.utils;

import java.util.Arrays;

/**
 * All Skyblock locations
 */
public enum Location {
    /**
     * mode: dynamic
     */
    PRIVATE_ISLAND("dynamic"),
    /**
     * mode: garden
     */
    GARDEN("garden"),
    /**
     * mode: hub
     */
    HUB("hub"),
    /**
     * mode: farming_1
     */
    THE_FARMING_ISLAND("farming_1"),
    /**
     * mode: foraging_1
     */
    THE_PARK("foraging_1"),
    /**
     * mode: combat_1
     */
    SPIDERS_DEN("combat_1"),
    /**
     * mode: combat_2
     */
    BLAZING_FORTRESS("combat_2"),
    /**
     * mode: combat_3
     */
    THE_END("combat_3"),
    /**
     * mode: crimson_isle
     */
    CRIMSON_ISLE("crimson_isle"),
    /**
     * mode: mining_1
     */
    GOLD_MINE("mining_1"),
    /**
     * mode: mining_2
     */
    DEEP_CAVERNS("mining_2"),
    /**
     * mode: mining_3
     */
    DWARVEN_MINES("mining_3"),
    /**
     * mode: dungeon_hub
     */
    DUNGEON_HUB("dungeon_hub"),
    /**
     * mode: winter
     */
    WINTER_ISLAND("winter"),
    /**
     * mode: rift
     */
    THE_RIFT("rift"),
    /**
     * mode: dark_auction
     */
    DARK_AUCTION("dark_auction"),
    /**
     * mode: crystal_hollows
     */
    CRYSTAL_HOLLOWS("crystal_hollows"),
    /**
     * mode: dungeon
     */
    DUNGEON("dungeon"),
    /**
     * mode: kuudra
     */
    KUUDRAS_HOLLOW("kuudra"),
    /**
     * The freezing cold Glacite Mineshafts! *brr... so cold... :(*
     */
    GLACITE_MINESHAFT("mineshaft"),
    /**
     * Goodbye 1.8 hello 1.21 (and foraging 50 for all)!
     */
    MODERN_FORAGING_ISLAND("placeholder"),
    /**
     * Unknown Skyblock location
     */
    UNKNOWN("unknown");

    /**
     * location id from <a href="https://api.hypixel.net/v2/resources/games">Hypixel API</a>
     */
    private final String id;

    /**
     * @param id location id from <a href="https://api.hypixel.net/v2/resources/games">Hypixel API</a>
     */
    Location(String id) {
        this.id = id;
    }

    /**
     * @return location id
     */
    public String id() {
        return this.id;
    }

    /**
     * @param id location id from <a href="https://api.hypixel.net/v2/resources/games">Hypixel API</a>
     * @return location object
     */
    public static Location from(String id) {
        return Arrays.stream(Location.values()).filter(loc -> id.equals(loc.id())).findFirst().orElse(UNKNOWN);
    }
}