public class Research extends java.lang.Object implements Keyed
SlimefunItem
or more and require XP levels to unlock this/these item(s).ResearchSetup
,
ResearchUnlockEvent
Constructor and Description |
---|
Research(NamespacedKey key,
int id,
java.lang.String name,
int defaultCost)
The constructor for a
Research . |
Modifier and Type | Method and Description |
---|---|
void |
addItems(SlimefunItem... items)
Bind the specified Slimefun items to this
Research . |
boolean |
canUnlock(Player p)
|
java.util.List<SlimefunItem> |
getAffectedItems()
Lists every
SlimefunItem that is bound to this Research . |
static Research |
getByID(int id)
Attempts to get a
Research with the given ID. |
int |
getCost()
Gets the cost in XP levels to unlock this
Research . |
int |
getID()
Gets the ID of this
Research . |
NamespacedKey |
getKey() |
java.lang.String |
getName(Player p)
This method gives you a localized name for this
Research . |
boolean |
isEnabled()
This method returns whether this
Research is enabled. |
void |
register()
Registers this
Research . |
void |
setCost(int cost)
Sets the cost in XP levels to unlock this
Research . |
java.lang.String |
toString() |
void |
unlock(Player p,
boolean instant)
|
public Research(NamespacedKey key, int id, java.lang.String name, int defaultCost)
Research
.
Create a new research, then bind this research to the Slimefun items you want by calling
addItems(SlimefunItem...)
. Once you're finished, call register()
to register it.
To speed up, directly setup the research by calling
Slimefun.registerResearch(Research, org.bukkit.inventory.ItemStack...)
.public NamespacedKey getKey()
public boolean isEnabled()
Research
is enabled.
false
can mean that this particular Research
was disabled or that
researches alltogether have been disabled.Research
is enabled or notpublic int getID()
Research
.
This is the old way of identifying Researches, use a NamespacedKey
in the future.Research
public java.lang.String getName(Player p)
public int getCost()
Research
.Research
public void setCost(int cost)
Research
.cost
- The cost in XP levelspublic void addItems(SlimefunItem... items)
Research
.items
- Instances of SlimefunItem
to bind to this Research
public java.util.List<SlimefunItem> getAffectedItems()
SlimefunItem
that is bound to this Research
.Research
.public boolean canUnlock(Player p)
public void unlock(Player p, boolean instant)
public void register()
Research
.public static Research getByID(int id)
Research
with the given ID.
We will use NamespacedKey
for this in the future.id
- ID of the research to getResearch
if found, or nullpublic java.lang.String toString()
toString
in class java.lang.Object