public interface Ability
CoreAbility provides a default implementation for a few of these
methods, but most will need to be specified by each Ability individually.| Modifier and Type | Method and Description |
|---|---|
long |
getCooldown() |
java.lang.String |
getDescription()
The description of an ability is a few sentences used to describe how the
player can fully utilize the ability.
|
Element |
getElement()
Specifies the Element used to represent this type of ability, favoring
SubElements over Elements.
|
org.bukkit.Location |
getLocation()
Specifies the Location of the ability, which may be slightly inaccurate
depending on the Ability implementation.
|
java.lang.String |
getName()
The name of the ability is used for commands such as /bending
display and /bending help.
|
org.bukkit.entity.Player |
getPlayer()
Returns the player that caused this ability to be initiated.
|
boolean |
isEnabled()
Returns true if the ability is enabled through the config.yml.
|
boolean |
isExplosiveAbility()
Determines if this ability can cause explosions.
|
boolean |
isHarmlessAbility()
Determines if this ability is considered harmless against other players.
|
boolean |
isHiddenAbility()
A hidden ability is an ability that should not be shown by commands such
as /bending display and /bending help.
|
boolean |
isIgniteAbility()
Determines if this ability can ignite blocks.
|
boolean |
isSneakAbility()
Determines if this ability uses the
PlayerToggleSneakEvent as a
controlling mechanism. |
void |
progress()
Causes the ability to be updated.
|
void |
remove()
Causes the ability to be removed from existence.
|
void progress()
void remove()
boolean isSneakAbility()
PlayerToggleSneakEvent as a
controlling mechanism. Currently WaterPassive will not work while
the player has a sneak ability bound.boolean isHarmlessAbility()
boolean isIgniteAbility()
boolean isExplosiveAbility()
FireBlastChargedboolean isHiddenAbility()
boolean isEnabled()
long getCooldown()
org.bukkit.entity.Player getPlayer()
CoreAbility.getAbility(String), or if an ability decided to set
player to null.java.lang.String getName()
BendingPlayer.addCooldown(Ability), therefore if two abilities
have the same name they will also share cooldowns. If two classes share
the same name (SurgeWall/SurgeWave) but need to have independent
cooldowns, then BendingPlayer.addCooldown(String, long) should be
called explicitly.java.lang.String getDescription()
CoreAbility.getConfig().HelpCommand,
CoreAbility.getDescription()Element getElement()
Element.LIGHTNING instead of Element.FIRE.Element.SubElement.getParentElement()org.bukkit.Location getLocation()
TorrentWave could not be fully specified by a single location,
while it is possible for an EarthBlast. The location is useful
for making sure that the player is currently in the same world as the
ability.BendingPlayer.canBend(CoreAbility)