public class WauzAchievement
extends java.lang.Object
AchievementTracker
Modifier and Type | Field and Description |
---|---|
private static java.util.Map<WauzAchievementType,java.util.Map<java.lang.String,WauzAchievement>> |
achievementGoalMap
A map with mappings of non generic achievement goals to their achievements, indexed by type.
|
private static java.util.Map<WauzAchievementType,java.util.List<WauzAchievement>> |
achievementMap
A map with lists of achievements, indexed by type.
|
private int |
goal
The required value to complete the achievement.
|
private java.lang.String |
goalString
The required target name to complete the achievement.
|
private java.lang.String |
key
The key of the achievement.
|
private java.lang.String |
name
The name of the achievement.
|
private int |
reward
The amount of soulstones to receive as an achievement reward.
|
private WauzAchievementType |
type
The type of the achievement.
|
Modifier | Constructor and Description |
---|---|
private |
WauzAchievement(java.lang.String key)
Constructor for a new achievement.
|
Modifier and Type | Method and Description |
---|---|
void |
award(org.bukkit.entity.Player player)
Grants this achievement to the player and increases ther achievement count.
|
static int |
getAchievementCount()
Gets the number of all earnable achievements.
|
static WauzAchievement |
getAchievementForGoal(WauzAchievementType type,
java.lang.String goal)
Gets a non generic achievement for the given goal, if existant.
|
static java.util.List<WauzAchievement> |
getAchievementsOfType(WauzAchievementType type)
Gets all achievements of the given type.
|
static WauzAchievement |
getCurrentAchievementStage(org.bukkit.entity.Player player,
WauzAchievementType type)
Gets the highest achievement of this type, that the given player earned.
|
int |
getGoal() |
java.lang.String |
getGoalString() |
java.lang.String |
getKey() |
java.lang.String |
getName() |
static WauzAchievement |
getNextAchievementStage(org.bukkit.entity.Player player,
WauzAchievementType type)
Gets the next achievement of this type, that the player has not earned yet.
|
int |
getReward() |
WauzAchievementType |
getType() |
static void |
init()
Initializes all achievements and fills the internal achievement maps.
|
void |
setGoal(int goal) |
void |
setGoalString(java.lang.String goalString) |
void |
setKey(java.lang.String key) |
void |
setName(java.lang.String name) |
void |
setReward(int reward) |
void |
setType(WauzAchievementType type) |
private static java.util.Map<WauzAchievementType,java.util.List<WauzAchievement>> achievementMap
private static java.util.Map<WauzAchievementType,java.util.Map<java.lang.String,WauzAchievement>> achievementGoalMap
private java.lang.String key
private java.lang.String name
private WauzAchievementType type
private java.lang.String goalString
private int goal
private int reward
private WauzAchievement(java.lang.String key)
key
- The key of the achievement.public static int getAchievementCount()
public static void init()
public static WauzAchievement getAchievementForGoal(WauzAchievementType type, java.lang.String goal)
type
- The non generic achievement type.goal
- The goal to check for.public static java.util.List<WauzAchievement> getAchievementsOfType(WauzAchievementType type)
type
- The achievement type.public static WauzAchievement getCurrentAchievementStage(org.bukkit.entity.Player player, WauzAchievementType type)
player
- The player that earned the achievement.type
- The type of the achievement.public static WauzAchievement getNextAchievementStage(org.bukkit.entity.Player player, WauzAchievementType type)
player
- The player that has to earn the achievement.type
- The type of the achievement.public void award(org.bukkit.entity.Player player)
player
- The player that should earn the achievement.public java.lang.String getKey()
public void setKey(java.lang.String key)
key
- The new key of the achievement.public java.lang.String getName()
public void setName(java.lang.String name)
name
- The new name of the achievement.public WauzAchievementType getType()
public void setType(WauzAchievementType type)
type
- The new type of the achievement.public java.lang.String getGoalString()
public void setGoalString(java.lang.String goalString)
goalString
- The new required target name to complete the achievement.public int getGoal()
public void setGoal(int goal)
goal
- The new required value to complete the achievement.public int getReward()
public void setReward(int reward)
reward
- The new amount of soulstones to receive as an achievement reward.