Class CustomManaAbility

java.lang.Object
dev.aurelium.auraskills.api.mana.CustomManaAbility
All Implemented Interfaces:
AbstractAbility, ManaAbility, Optioned, NamespaceIdentified

public class CustomManaAbility extends Object implements ManaAbility
  • Method Details

    • builder

      Gets a new CustomManaAbility.CustomManaAbilityBuilder used to create a custom mana ability.
      Parameters:
      id - the NamespacedId identifying the mana ability
      Returns:
      a new builder
    • getDefined

      public CustomManaAbility.Defined getDefined()
    • getSkill

      public Skill 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 interface AbstractAbility
      Returns:
      the skill the ability belongs to
    • getId

      public NamespacedId getId()
      Description copied from interface: NamespaceIdentified
      Gets the NamespacedId of the object
      Specified by:
      getId in interface NamespaceIdentified
      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 interface AbstractAbility
      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 interface AbstractAbility
      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 of AbstractAbility.getUnlock().
      Specified by:
      getLevelUp in interface AbstractAbility
      Returns:
      the level up interval
    • getDisplayName

      public String getDisplayName(Locale locale)
      Description copied from interface: ManaAbility
      Gets the mana ability display name as defined in the locale's messages file.
      Specified by:
      getDisplayName in interface ManaAbility
      Parameters:
      locale - the locale to get the display name in
      Returns:
      the display name in the specified locale or in a fallback language
    • getDescription

      public String getDescription(Locale locale)
      Description copied from interface: ManaAbility
      Gets the mana ability description as defined in the locale's messages file.
      Specified by:
      getDescription in interface ManaAbility
      Parameters:
      locale - the locale to get the description in
      Returns:
      the description in the specified locale or in a fallback language
    • name

      public String name()
      Description copied from interface: ManaAbility
      Gets a fully uppercase String of the mana ability name without the namespace
      Specified by:
      name in interface ManaAbility
      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 interface ManaAbility
      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 interface ManaAbility
      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 interface ManaAbility
      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 interface ManaAbility
      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 as ManaAbility.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 interface ManaAbility
      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 interface ManaAbility
      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 interface ManaAbility
      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 interface ManaAbility
      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 interface ManaAbility
      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 interface ManaAbility
      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 interface ManaAbility
      Parameters:
      level - the mana ability level
      Returns:
      the mana cost at the level
    • optionBoolean

      public boolean optionBoolean(String key)
      Specified by:
      optionBoolean in interface Optioned
    • optionBoolean

      public boolean optionBoolean(String key, boolean def)
      Specified by:
      optionBoolean in interface Optioned
    • optionInt

      public int optionInt(String key)
      Specified by:
      optionInt in interface Optioned
    • optionInt

      public int optionInt(String key, int def)
      Specified by:
      optionInt in interface Optioned
    • optionDouble

      public double optionDouble(String key)
      Specified by:
      optionDouble in interface Optioned
    • optionDouble

      public double optionDouble(String key, double def)
      Specified by:
      optionDouble in interface Optioned
    • optionString

      public String optionString(String key)
      Specified by:
      optionString in interface Optioned
    • optionString

      public String optionString(String key, String def)
      Specified by:
      optionString in interface Optioned
    • optionStringList

      public List<String> optionStringList(String key)
      Specified by:
      optionStringList in interface Optioned
    • optionMap

      public Map<String,Object> optionMap(String key)
      Specified by:
      optionMap in interface Optioned
    • toString

      public String toString()
      Overrides:
      toString in class Object