Package dev.aurelium.auraskills.api.mana
Class CustomManaAbility
java.lang.Object
dev.aurelium.auraskills.api.mana.CustomManaAbility
- All Implemented Interfaces:
AbstractAbility
,ManaAbility
,Optioned
,NamespaceIdentified
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
-
Method Summary
Modifier and TypeMethodDescriptionbuilder
(NamespacedId id) Gets a newCustomManaAbility.CustomManaAbilityBuilder
used to create a custom mana ability.double
Gets the base cooldown of the mana ability at level 1 (just unlocked).double
Gets the base mana cost of the mana ability at level 1 (just unlocked).double
Gets the value of a mana ability at level 1 (just unlocked).double
getCooldown
(int level) Gets the cooldown at a specific mana ability level.double
Gets the change in cooldown per mana ability level.getDescription
(Locale locale) Gets the mana ability description as defined in the locale's messages file.getDisplayName
(Locale locale) Gets the mana ability display name as defined in the locale's messages file.double
getDisplayValue
(int level) Gets the value of the mana ability displayed in menus at a specific mana ability level.getId()
Gets theNamespacedId
of the objectint
Gets the interval of skill levels between ability level ups.double
getManaCost
(int level) Gets the mana cost at a specific mana ability level.double
Gets the change in mana cost per mana ability level.int
Gets the max level of the ability based on the configuration.getSkill()
Gets the skill the ability is leveled up by based on the configuration in the skills.yml file.int
Gets the skill level the ability is unlocked at based on the configuration.double
getValue
(int level) Gets the value of the mana ability at a specific mana ability level.double
Gets the amount that the mana ability value is increased by for every mana ability level.boolean
Gets whether the mana ability is enabled in the configuration.name()
Gets a fully uppercase String of the mana ability name without the namespaceboolean
optionBoolean
(String key) boolean
optionBoolean
(String key, boolean def) double
optionDouble
(String key) double
optionDouble
(String key, double def) int
int
optionString
(String key) optionString
(String key, String def) optionStringList
(String key) toString()
-
Method Details
-
builder
Gets a newCustomManaAbility.CustomManaAbilityBuilder
used to create a custom mana ability.- Parameters:
id
- theNamespacedId
identifying the mana ability- Returns:
- a new builder
-
getDefined
-
getSkill
Description copied from interface:AbstractAbility
Gets the skill the ability is leveled up by based on the configuration in the skills.yml file.- Specified by:
getSkill
in interfaceAbstractAbility
- Returns:
- the skill the ability belongs to
-
getId
Description copied from interface:NamespaceIdentified
Gets theNamespacedId
of the object- Specified by:
getId
in interfaceNamespaceIdentified
- Returns:
- the
NamespacedId
-
getMaxLevel
public int getMaxLevel()Description copied from interface:AbstractAbility
Gets the max level of the ability based on the configuration.- Specified by:
getMaxLevel
in interfaceAbstractAbility
- Returns:
- the max level
-
getUnlock
public int getUnlock()Description copied from interface:AbstractAbility
Gets the skill level the ability is unlocked at based on the configuration.- Specified by:
getUnlock
in interfaceAbstractAbility
- Returns:
- the skill level the ability is unlocked at
-
getLevelUp
public int getLevelUp()Description copied from interface:AbstractAbility
Gets the interval of skill levels between ability level ups. A value of 5 means the ability levels up every 5 levels, starting at the value ofAbstractAbility.getUnlock()
.- Specified by:
getLevelUp
in interfaceAbstractAbility
- Returns:
- the level up interval
-
getDisplayName
Description copied from interface:ManaAbility
Gets the mana ability display name as defined in the locale's messages file.- Specified by:
getDisplayName
in interfaceManaAbility
- Parameters:
locale
- the locale to get the display name in- Returns:
- the display name in the specified locale or in a fallback language
-
getDescription
Description copied from interface:ManaAbility
Gets the mana ability description as defined in the locale's messages file.- Specified by:
getDescription
in interfaceManaAbility
- Parameters:
locale
- the locale to get the description in- Returns:
- the description in the specified locale or in a fallback language
-
name
Description copied from interface:ManaAbility
Gets a fully uppercase String of the mana ability name without the namespace- Specified by:
name
in interfaceManaAbility
- Returns:
- the mana ability name in all upper case
-
isEnabled
public boolean isEnabled()Description copied from interface:ManaAbility
Gets whether the mana ability is enabled in the configuration. Mana abilities that are not loaded in any skill will always return false. Disabled mana abilities should have no effect on gameplay.- Specified by:
isEnabled
in interfaceManaAbility
- Returns:
- whether the mana ability is enabled
-
getBaseValue
public double getBaseValue()Description copied from interface:ManaAbility
Gets the value of a mana ability at level 1 (just unlocked).- Specified by:
getBaseValue
in interfaceManaAbility
- Returns:
- the base value
-
getValuePerLevel
public double getValuePerLevel()Description copied from interface:ManaAbility
Gets the amount that the mana ability value is increased by for every mana ability level. This value only starts being added from ability level 2. A negative value means the mana ability value is decreased when leveled up.- Specified by:
getValuePerLevel
in interfaceManaAbility
- Returns:
- the change in value per mana ability level
-
getValue
public double getValue(int level) Description copied from interface:ManaAbility
Gets the value of the mana ability at a specific mana ability level.- Specified by:
getValue
in interfaceManaAbility
- Parameters:
level
- the mana ability level- Returns:
- the value at the level
-
getDisplayValue
public double getDisplayValue(int level) Description copied from interface:ManaAbility
Gets the value of the mana ability displayed in menus at a specific mana ability level. This is usually the same asManaAbility.getValue(int)
, but can be different if the value has to be scaled to show an accurate value, such as multiplying by hp action bar scaling.- Specified by:
getDisplayValue
in interfaceManaAbility
- Parameters:
level
- the mana ability level- Returns:
- the displayed value at the level
-
getBaseCooldown
public double getBaseCooldown()Description copied from interface:ManaAbility
Gets the base cooldown of the mana ability at level 1 (just unlocked).- Specified by:
getBaseCooldown
in interfaceManaAbility
- Returns:
- the base cooldown
-
getCooldownPerLevel
public double getCooldownPerLevel()Description copied from interface:ManaAbility
Gets the change in cooldown per mana ability level. Negative values mean the cooldown decreases as the mana ability levels up.- Specified by:
getCooldownPerLevel
in interfaceManaAbility
- Returns:
- the change in cooldown per mana ability level
-
getCooldown
public double getCooldown(int level) Description copied from interface:ManaAbility
Gets the cooldown at a specific mana ability level.- Specified by:
getCooldown
in interfaceManaAbility
- Parameters:
level
- the mana ability level- Returns:
- the cooldown at the level
-
getBaseManaCost
public double getBaseManaCost()Description copied from interface:ManaAbility
Gets the base mana cost of the mana ability at level 1 (just unlocked).- Specified by:
getBaseManaCost
in interfaceManaAbility
- Returns:
- the base mana cost
-
getManaCostPerLevel
public double getManaCostPerLevel()Description copied from interface:ManaAbility
Gets the change in mana cost per mana ability level. Negative values indicate a decrease in mana cost.- Specified by:
getManaCostPerLevel
in interfaceManaAbility
- Returns:
- the change in mana cost per mana ability level
-
getManaCost
public double getManaCost(int level) Description copied from interface:ManaAbility
Gets the mana cost at a specific mana ability level.- Specified by:
getManaCost
in interfaceManaAbility
- Parameters:
level
- the mana ability level- Returns:
- the mana cost at the level
-
optionBoolean
- Specified by:
optionBoolean
in interfaceOptioned
-
optionBoolean
- Specified by:
optionBoolean
in interfaceOptioned
-
optionInt
-
optionInt
-
optionDouble
- Specified by:
optionDouble
in interfaceOptioned
-
optionDouble
- Specified by:
optionDouble
in interfaceOptioned
-
optionString
- Specified by:
optionString
in interfaceOptioned
-
optionString
- Specified by:
optionString
in interfaceOptioned
-
optionStringList
- Specified by:
optionStringList
in interfaceOptioned
-
optionMap
-
toString
-