|
| 1 | +package dinkplugin.domain; |
| 2 | + |
| 3 | +import lombok.Getter; |
| 4 | +import lombok.RequiredArgsConstructor; |
| 5 | +import net.runelite.api.Varbits; |
| 6 | +import net.runelite.api.annotations.Varbit; |
| 7 | +import org.apache.commons.lang3.tuple.Pair; |
| 8 | + |
| 9 | +import java.util.Arrays; |
| 10 | +import java.util.Collections; |
| 11 | +import java.util.Map; |
| 12 | +import java.util.stream.Collectors; |
| 13 | + |
| 14 | +@Getter |
| 15 | +@RequiredArgsConstructor |
| 16 | +public enum AchievementDiary { |
| 17 | + ARDOUGNE_EASY(Varbits.DIARY_ARDOUGNE_EASY, "Ardougne", Difficulty.EASY), |
| 18 | + ARDOUGNE_MEDIUM(Varbits.DIARY_ARDOUGNE_MEDIUM, "Ardougne", Difficulty.MEDIUM), |
| 19 | + ARDOUGNE_HARD(Varbits.DIARY_ARDOUGNE_HARD, "Ardougne", Difficulty.HARD), |
| 20 | + ARDOUGNE_ELITE(Varbits.DIARY_ARDOUGNE_ELITE, "Ardougne", Difficulty.ELITE), |
| 21 | + DESERT_EASY(Varbits.DIARY_DESERT_EASY, "Desert", Difficulty.EASY), |
| 22 | + DESERT_MEDIUM(Varbits.DIARY_DESERT_MEDIUM, "Desert", Difficulty.MEDIUM), |
| 23 | + DESERT_HARD(Varbits.DIARY_DESERT_HARD, "Desert", Difficulty.HARD), |
| 24 | + DESERT_ELITE(Varbits.DIARY_DESERT_ELITE, "Desert", Difficulty.ELITE), |
| 25 | + FALADOR_EASY(Varbits.DIARY_FALADOR_EASY, "Falador", Difficulty.EASY), |
| 26 | + FALADOR_MEDIUM(Varbits.DIARY_FALADOR_MEDIUM, "Falador", Difficulty.MEDIUM), |
| 27 | + FALADOR_HARD(Varbits.DIARY_FALADOR_HARD, "Falador", Difficulty.HARD), |
| 28 | + FALADOR_ELITE(Varbits.DIARY_FALADOR_ELITE, "Falador", Difficulty.ELITE), |
| 29 | + FREMENNIK_EASY(Varbits.DIARY_FREMENNIK_EASY, "Fremennik", Difficulty.EASY), |
| 30 | + FREMENNIK_MEDIUM(Varbits.DIARY_FREMENNIK_MEDIUM, "Fremennik", Difficulty.MEDIUM), |
| 31 | + FREMENNIK_HARD(Varbits.DIARY_FREMENNIK_HARD, "Fremennik", Difficulty.HARD), |
| 32 | + FREMENNIK_ELITE(Varbits.DIARY_FREMENNIK_ELITE, "Fremennik", Difficulty.ELITE), |
| 33 | + KANDARIN_EASY(Varbits.DIARY_KANDARIN_EASY, "Kandarin", Difficulty.EASY), |
| 34 | + KANDARIN_MEDIUM(Varbits.DIARY_KANDARIN_MEDIUM, "Kandarin", Difficulty.MEDIUM), |
| 35 | + KANDARIN_HARD(Varbits.DIARY_KANDARIN_HARD, "Kandarin", Difficulty.HARD), |
| 36 | + KANDARIN_ELITE(Varbits.DIARY_KANDARIN_ELITE, "Kandarin", Difficulty.ELITE), |
| 37 | + KARAMJA_EASY(Varbits.DIARY_KARAMJA_EASY, "Karamja", Difficulty.EASY), |
| 38 | + KARAMJA_MEDIUM(Varbits.DIARY_KARAMJA_MEDIUM, "Karamja", Difficulty.MEDIUM), |
| 39 | + KARAMJA_HARD(Varbits.DIARY_KARAMJA_HARD, "Karamja", Difficulty.HARD), |
| 40 | + KARAMJA_ELITE(Varbits.DIARY_KARAMJA_ELITE, "Karamja", Difficulty.ELITE), |
| 41 | + KOUREND_EASY(Varbits.DIARY_KOUREND_EASY, "Kourend & Kebos", Difficulty.EASY), |
| 42 | + KOUREND_MEDIUM(Varbits.DIARY_KOUREND_MEDIUM, "Kourend & Kebos", Difficulty.MEDIUM), |
| 43 | + KOUREND_HARD(Varbits.DIARY_KOUREND_HARD, "Kourend & Kebos", Difficulty.HARD), |
| 44 | + KOUREND_ELITE(Varbits.DIARY_KOUREND_ELITE, "Kourend & Kebos", Difficulty.ELITE), |
| 45 | + LUMBRIDGE_EASY(Varbits.DIARY_LUMBRIDGE_EASY, "Lumbridge & Draynor", Difficulty.EASY), |
| 46 | + LUMBRIDGE_MEDIUM(Varbits.DIARY_LUMBRIDGE_MEDIUM, "Lumbridge & Draynor", Difficulty.MEDIUM), |
| 47 | + LUMBRIDGE_HARD(Varbits.DIARY_LUMBRIDGE_HARD, "Lumbridge & Draynor", Difficulty.HARD), |
| 48 | + LUMBRIDGE_ELITE(Varbits.DIARY_LUMBRIDGE_ELITE, "Lumbridge & Draynor", Difficulty.ELITE), |
| 49 | + MORYTANIA_EASY(Varbits.DIARY_MORYTANIA_EASY, "Morytania", Difficulty.EASY), |
| 50 | + MORYTANIA_MEDIUM(Varbits.DIARY_MORYTANIA_MEDIUM, "Morytania", Difficulty.MEDIUM), |
| 51 | + MORYTANIA_HARD(Varbits.DIARY_MORYTANIA_HARD, "Morytania", Difficulty.HARD), |
| 52 | + MORYTANIA_ELITE(Varbits.DIARY_MORYTANIA_ELITE, "Morytania", Difficulty.ELITE), |
| 53 | + VARROCK_EASY(Varbits.DIARY_VARROCK_EASY, "Varrock", Difficulty.EASY), |
| 54 | + VARROCK_MEDIUM(Varbits.DIARY_VARROCK_MEDIUM, "Varrock", Difficulty.MEDIUM), |
| 55 | + VARROCK_HARD(Varbits.DIARY_VARROCK_HARD, "Varrock", Difficulty.HARD), |
| 56 | + VARROCK_ELITE(Varbits.DIARY_VARROCK_ELITE, "Varrock", Difficulty.ELITE), |
| 57 | + WESTERN_EASY(Varbits.DIARY_WESTERN_EASY, "Western Provinces", Difficulty.EASY), |
| 58 | + WESTERN_MEDIUM(Varbits.DIARY_WESTERN_MEDIUM, "Western Provinces", Difficulty.MEDIUM), |
| 59 | + WESTERN_HARD(Varbits.DIARY_WESTERN_HARD, "Western Provinces", Difficulty.HARD), |
| 60 | + WESTERN_ELITE(Varbits.DIARY_WESTERN_ELITE, "Western Provinces", Difficulty.ELITE), |
| 61 | + WILDERNESS_EASY(Varbits.DIARY_WILDERNESS_EASY, "Wilderness", Difficulty.EASY), |
| 62 | + WILDERNESS_MEDIUM(Varbits.DIARY_WILDERNESS_MEDIUM, "Wilderness", Difficulty.MEDIUM), |
| 63 | + WILDERNESS_HARD(Varbits.DIARY_WILDERNESS_HARD, "Wilderness", Difficulty.HARD), |
| 64 | + WILDERNESS_ELITE(Varbits.DIARY_WILDERNESS_ELITE, "Wilderness", Difficulty.ELITE); |
| 65 | + |
| 66 | + public static final Map<Integer, Pair<String, Difficulty>> DIARIES = Collections.unmodifiableMap( |
| 67 | + Arrays.stream(values()) |
| 68 | + .collect(Collectors.toMap(AchievementDiary::getId, diary -> Pair.of(diary.getArea(), diary.getDifficulty()))) |
| 69 | + ); |
| 70 | + |
| 71 | + @Varbit |
| 72 | + private final int id; |
| 73 | + private final String area; |
| 74 | + private final Difficulty difficulty; |
| 75 | + |
| 76 | + public enum Difficulty { |
| 77 | + EASY, |
| 78 | + MEDIUM, |
| 79 | + HARD, |
| 80 | + ELITE; |
| 81 | + |
| 82 | + private final String displayName = this.name().charAt(0) + this.name().substring(1).toLowerCase(); |
| 83 | + |
| 84 | + @Override |
| 85 | + public String toString() { |
| 86 | + return this.displayName; |
| 87 | + } |
| 88 | + } |
| 89 | +} |
0 commit comments