public class ExperienceTable
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.Integer,java.lang.Long> |
info
Maps level to experience needed to reach the level.
|
private int |
maxLevel
The maximum level value in
info . |
private int |
minLevel
The minimum level value in
info . |
Constructor and Description |
---|
ExperienceTable() |
Modifier and Type | Method and Description |
---|---|
private void |
add(int level,
long exp)
Adds a new level->experience mapping.
|
private void |
clear()
Forgets about all level-$> mappings.
|
private long |
getExperience(int level)
Returns the experience needed for a given level.
|
long |
getExperienceToNextLevel(int currentLevel,
long currentExp)
Returns the experience needed to reach the next level.
|
int |
getPercentsToNextLevel(int currentLevel,
long currentExp)
Returns the experience fraction of the current level in percents.
|
void |
setExpTable(long[] expTable)
Updates the experience table information.
|
@NotNull private final java.util.Map<java.lang.Integer,java.lang.Long> info
private int maxLevel
info
.private int minLevel
info
.private void add(int level, long exp)
level
- the level to updateexp
- the experience needed to reach level level
private void clear()
private long getExperience(int level)
level
- the level to reachpublic long getExperienceToNextLevel(int currentLevel, long currentExp)
currentLevel
- the current levelcurrentExp
- the current experiencecurrentLevel+1
public int getPercentsToNextLevel(int currentLevel, long currentExp)
currentLevel
- the current levelcurrentExp
- the current experiencepublic void setExpTable(@NotNull long[] expTable)
expTable
- the new experience table