RuneHive-Game
Loading...
Searching...
No Matches
SlayerUnlockable.java
Go to the documentation of this file.
1package com.runehive.content.skill.impl.slayer;
2
3import java.util.Arrays;
4import java.util.Optional;
5
6/**
7 * Holds all the unlockable slayer rewards and tasks.
8 *
9 * @author Daniel
10 */
11public enum SlayerUnlockable {
12 SLAYER_HELM("Malevolent masquerade", 11864, 250, "Learn to combine the protective Slayer\\nheadgear & Slayer gem into one universal\\nhelmet. 55 crafting needed."),
13 BROAD_BOLT("Broader fletching", 11874, 75, "Learn to fletch broad arrows (with level 52\\nfletching) and broad bolts (with level 55 \\nfletching)."),
14 RING_OF_WEALTH("Ring bling", 2572, 250, "Learn to craft your own Slayer rings, with\\nlevel 75 crafting."),
15 CANNON_BALLS("Balls of fury", 2, 75, "Learn to craft your own cannonballs, with\\nlevel 35 smithing."),
16 ZULRAH("Give me venom", 12924, 100, "Unlock the ability to be assigned Zulrah as\\na Slayer task, 95 Slayer needed."),
17 KING_BLACK_DRAGON("King killer", 11283, 100, "Unlock the ability to be assigned King black\\ndragon as a Slayer task, 75 Slayer needed."),
18 CHAOS_ELEMENT("I strive on chaos", 12694, 100, "Unlock the ability to be assigned Chaos\\nelemental as a Slayer task, 65 Slayer\\nneeded."),
19 CRAZY_ARCHAEOLOGIST("You drive me crazy", 11990, 100, "Unlock the ability to be assigned Crazy\\narchaeologist as a Slayer task, 60\\nSlayer needed."),;
20
21 /** The unlockable name. */
22 private final String name;
23
24 /** The unlockable item display. */
25 private final int item;
26
27 /** The unlockable cost. */
28 private final int cost;
29
30 /** The unlockable description. */
31 private final String description;
32
33 /**
34 * Constructs a new <code>SlayerUnlockable<code>.
35 *
36 * @param name
37 * The name of the unlockable.
38 * @param item
39 * The item display of the unlockable.
40 * @param cost
41 * The cost of the unlockable.
42 * @param description
43 * The description of the unlockable.
44 */
45 SlayerUnlockable(String name, int item, int cost, String description) {
46 this.name = name;
47 this.item = item;
48 this.cost = cost;
49 this.description = description;
50 }
51
52 /**
53 * Gets a the unlockable name.
54 *
55 * @return name
56 */
57 public String getName() {
58 return name;
59 }
60
61 /**
62 * Gets the unlockable item display.
63 *
64 * @return item
65 */
66 public int getItem() {
67 return item;
68 }
69
70 /**
71 * Gets the unlockable cost.
72 *
73 * @return cost
74 */
75 public int getCost() {
76 return cost;
77 }
78
79 /**
80 * Gets the unlockable description.
81 *
82 * @return description
83 */
84 public String getDescription() {
85 return description;
86 }
87
88 /**
89 * Gets the slayer unlockable data based on the ordinal.
90 *
91 * @param ordinal
92 * The unlockable ordinal.
93 * @return The slayer unlockable data.
94 */
95 public static Optional<SlayerUnlockable> get(int ordinal) {
96 return Arrays.stream(values()).filter($it -> $it.ordinal() == ordinal).findFirst();
97 }
98}
String getDescription()
Gets the unlockable description.
final String description
The unlockable description.
SlayerUnlockable(String name, int item, int cost, String description)
Constructs a new SlayerUnlockable.