/******************************************************************************* * Copyright 2014 Tobias Welther * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package de.tobiyas.racesandclasses.APIs; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import de.tobiyas.racesandclasses.RacesAndClasses; import de.tobiyas.racesandclasses.playermanagement.player.RaCPlayer; import de.tobiyas.racesandclasses.playermanagement.player.RaCPlayerManager; public class LevelAPI { /** * Adds a level to the player * * @param player to add to * @param levelToAdd to add * * @deprecated use {@link #addLevel(Player, int)} instead */ @Deprecated public static void addLevel(String playerName, int levelToAdd){ addLevel(Bukkit.getPlayer(playerName), levelToAdd); } /** * Adds a level to the player * * @param orgPlayer to add to * @param levelToAdd to add */ public static void addLevel(Player orgPlayer, int levelToAdd){ RaCPlayer player = RaCPlayerManager.get().getPlayer(orgPlayer); player.getLevelManager().addLevel(levelToAdd); } /** * Removes a level from the Player * * @param player to remove from * @param levelToRemove to remove * * @deprecated use # */ @Deprecated public static void removeLevel(String playerName, int levelToRemove){ removeLevel(Bukkit.getPlayer(playerName), levelToRemove); } /** * Removes a level from the Player * * @param player to remove from * @param levelToRemove to remve */ public static void removeLevel(Player player, int levelToRemove){ RaCPlayer racPlayer = RaCPlayerManager.get().getPlayer(player); racPlayer.getLevelManager().removeLevel(levelToRemove); } /** * Adds exp to an player * * @param player to add to * @param amount to * * @deprecated use {@link #addExp(Player, double)} instead */ @Deprecated public static void addExp(String playerName, int amount){ addExp(Bukkit.getPlayer(playerName), amount); } /** * Adds exp to an player * * @param player to add to * @param amount to */ public static void addExp(Player player, int amount){ RaCPlayer racPlayer = RaCPlayerManager.get().getPlayer(player); racPlayer.getLevelManager().addExp(amount); } /** * Adds exp to an player * * @param player to add to * @param amount to */ public static void addExp(RaCPlayer racPlayer, int amount){ racPlayer.getLevelManager().addExp(amount); } /** * Removes the EXP passed from the Player * * @param player to remove from * @param amount to remove * * @deprecated use {@link #removeExp(Player, double)} instead */ @Deprecated public static void removeExp(String playerName, double amount){ removeExp(Bukkit.getPlayer(playerName), amount); } /** * Removes the EXP passed from the Player * * @param player to remove from * @param amount to remove */ public static void removeExp(Player player, double amount){ RaCPlayer racPlayer = RaCPlayerManager.get().getPlayer(player); racPlayer.getLevelManager().removeExp((int)amount); } /** * Removes the EXP passed from the Player * * @param player to remove from * @param amount to remove */ public static void removeExp(RaCPlayer racPlayer, double amount){ racPlayer.getLevelManager().removeExp((int)amount); } /** * Returns the current level of the Player * * @param player to get * @return the level of the player * * @deprecated use {@link #getCurrentLevel(Player)} instead */ @Deprecated public static int getCurrentLevel(String playerName){ return getCurrentLevel(Bukkit.getPlayer(playerName)); } /** * Returns the current level of the Player * * @param player to get * @return the level of the player */ public static int getCurrentLevel(Player player){ RaCPlayer racPlayer = RaCPlayerManager.get().getPlayer(player); return racPlayer.getLevelManager().getCurrentLevel(); } /** * Returns the current level of the Player * * @param player to get * @return the level of the player */ public static int getCurrentLevel(RaCPlayer racPlayer){ return racPlayer.getLevelManager().getCurrentLevel(); } /** * sets the current level of the Player * * @param player to get * @param level the level to set * * @deprecated use {@link #setCurrentLevel(Player, int)} instead */ @Deprecated public static void setCurrentLevel(String playerName, int level){ setCurrentLevel(Bukkit.getPlayer(playerName), level); } /** * sets the current level of the Player * * @param player to get * @param level the level to set */ public static void setCurrentLevel(Player player, int level){ RaCPlayer racPlayer = RaCPlayerManager.get().getPlayer(player); setCurrentLevel(racPlayer, level); } /** * sets the current level of the Player * * @param player to get * @param level the level to set */ public static void setCurrentLevel(RaCPlayer racPlayer, int level){ racPlayer.getLevelManager().setCurrentLevel(level); } /** * Gets the current exp of the level. * * @param player to get from * * @return the current exp of the level * * @deprecated use {@link #getCurrentExpOfLevel(Player)} instead */ public static int getCurrentExpOfLevel(String playerName){ return getCurrentExpOfLevel(Bukkit.getPlayer(playerName)); } /** * Gets the current exp of the level. * * @param player to get from * * @return the current exp of the level */ public static int getCurrentExpOfLevel(Player player){ RaCPlayer racPlayer = RaCPlayerManager.get().getPlayer(player); return racPlayer.getLevelManager().getCurrentExpOfLevel(); } /** * Sets the current exp of the level. * * @param player to get from * @param exp the current exp of the level * * @deprecated use {@link #getCurrentExpOfLevel(Player)} instead */ public static void setCurrentExpOfLevel(String playerName, int exp){ setCurrentExpOfLevel(Bukkit.getPlayer(playerName), exp); } /** * Gets the current exp of the level. * * @param player to get from * @param exp the current exp of the level */ public static void setCurrentExpOfLevel(Player player, int exp){ RaCPlayer racPlayer = RaCPlayerManager.get().getPlayer(player); racPlayer.getLevelManager().setCurrentExpOfLevel(exp); } /** * Returns the Max EXP to the Next level * * @param player to get for * * @return the max EXP needed for the next level. */ public static int getMaxEXPToNextLevel(Player player) { RaCPlayer racPlayer = RaCPlayerManager.get().getPlayer(player); return racPlayer.getLevelManager().getMaxEXPToNextLevel(); } /** * Returns the Maximal possible level. * <br>A value smaller to 0 means there is no level restriction. * * @return the max. possible Level */ public static int getMaxLevel(){ if(RacesAndClasses.getPlugin() == null) return -1; return RacesAndClasses.getPlugin().getConfigManager().getGeneralConfig().getConfig_max_level(); } }