123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- package com.gmail.nossr50.api;
- import org.bukkit.entity.Player;
- import com.gmail.nossr50.Users;
- import com.gmail.nossr50.datatypes.SkillType;
- import com.gmail.nossr50.skills.Skills;
- public class ExperienceAPI {
- /**
- * Check the XP of a player. This should be called after giving XP to process level-ups.
- *
- * @param player The player to check
- * @param skillType The skill to check
- */
- private static void checkXP(Player player, SkillType skillType) {
- if (skillType.equals(SkillType.ALL)) {
- Skills.XpCheckAll(player);
- }
- else {
- Skills.XpCheckSkill(skillType, player);
- }
- }
- /**
- * Adds XP to the player, doesn't calculate for XP Rate or other modifiers.
- * </br>
- * This function is designed for API usage.
- *
- * @param player The player to add XP to
- * @param skillType The skill to add XP to
- * @param XP The amount of XP to add
- */
- public static void addRawXP(Player player, SkillType skillType, int XP) {
- Users.getProfile(player).addXPOverride(skillType, XP);
- checkXP(player, skillType);
- }
- /**
- * Adds XP to the player, calculates for XP Rate but not skill modifiers.
- * </br>
- * This function is designed for API usage.
- *
- * @param player The player to add XP to
- * @param skillType The skill to add XP to
- * @param XP The amount of XP to add
- */
- public static void addMultipliedXP(Player player, SkillType skillType, int XP) {
- Users.getProfile(player).addXPOverrideBonus(skillType, XP);
- checkXP(player, skillType);
- }
- /**
- * Adds XP to the player, calculates for XP Rate and skill modifiers.
- * </br>
- * This function is designed for API usage.
- *
- * @param player The player to add XP to
- * @param skillType The skill to add XP to
- * @param XP The amount of XP to add
- */
- public static void addXP(Player player, SkillType skillType, int XP) {
- Users.getProfile(player).addXP(skillType, XP);
- checkXP(player, skillType);
- }
- /**
- * Get the amount of XP a player has in a specific skill.
- * </br>
- * This function is designed for API usage.
- *
- * @param player The player to get XP for
- * @param skillType The skill to get XP for
- * @return the amount of XP in a given skill
- */
- public static int getXP(Player player, SkillType skillType) {
- return Users.getProfile(player).getSkillXpLevel(skillType);
- }
- /**
- * Get the amount of XP left before leveling up.
- * </br>
- * This function is designed for API usage.
- *
- * @param player The player to get the XP amount for
- * @param skillType The skill to get the XP amount for
- * @return the amount of XP left before leveling up a specifc skill
- */
- public static int getXPToNextLevel(Player player, SkillType skillType) {
- return Users.getProfile(player).getXpToLevel(skillType);
- }
- /**
- * Add levels to a skill.
- * </br>
- * This function is designed for API usage.
- *
- * @param skillType Type of skill to add levels to
- * @param levels Number of levels to add
- */
- public static void addLevel(Player player, SkillType skillType, int levels) {
- Users.getProfile(player).addLevels(skillType, levels);
- }
- /**
- * Get the level a player has in a specific skill.
- * </br>
- * This function is designed for API usage.
- *
- * @param player The player to get the level for
- * @param skillType The skill to get the level for
- * @return the level of a given skill
- */
- public static int getLevel(Player player, SkillType skillType) {
- return Users.getProfile(player).getSkillLevel(skillType);
- }
- }
|