TF-ProjectKorra/src/com/projectkorra/projectkorra/ability/BlueFireAbility.java
Vahagn Tovmasian 3c1d6b7b85
Blue Fire Update & Firebending Refactor (#1062)
## Additions
* Adds Blue Fire SubElement.
    > *Adds related damage, cooldown, and range modifiers for configuration
* Adds Sticks, Sponges, and Chorus Fruit to cookable HeatControl items.
* Adds Smoker, BlastFurnace, and extinguished Campfires to blocks which FireBlast can light.
* Adds new TempBlock constructor which takes in a `long revertTime` parameter
* Adds new blocks to block lists in configuration
  >* Adds new nether plants to plantBlocks list
  >* Adds new earth blocks to earthBlocks list

## Fixes
* Fixes AvatarState buffs overriding day related buffs for firebending.
* Fixes Blaze not going up hills, going through walls (mostly), jumping gaps.
* Fixes Furnaces and related blocks not smelting after being activated by FireBlast

## Removals
* Removes BlazeArc dependencies for Fire Abilities which ignite the ground.
* Removes smoke particles from Fire bending to increase visibility and better emulate the show.

## Misc. Changes
* Changes API versioning to 1.16.1
* Fire from Firebending no longer reverts all at once.
* Changes Combustion animation to be more beam-like rather than a rehash of FireBlast.
* Changes Add, Remove, Display command to properly display space for Blue Fire.
* Changes `ElementalAbility#isFire()` to check for SOUL_FIRE_FLAME.
* Changes isIgnitable to check whether fire can be placed at that location rather than solely based on flammability.
* Changes firebending abilities to use `FireAbility#playFirebendingParticles()` & `FireAbility#createTempFire()` where applicable.
* Changes `FireAbility#playFirebendingParticles()` to play blue fire particles when player has the BlueFire subelement.
2020-07-11 22:05:45 -07:00

36 lines
812 B
Java

package com.projectkorra.projectkorra.ability;
import org.bukkit.entity.Player;
import com.projectkorra.projectkorra.Element;
public abstract class BlueFireAbility extends FireAbility implements SubAbility {
public BlueFireAbility(final Player player) {
super(player);
}
@Override
public Class<? extends Ability> getParentAbility() {
return FireAbility.class;
}
@Override
public Element getElement() {
return Element.BLUE_FIRE;
}
public static double getDamageFactor() {
return getConfig().getDouble("Properties.Fire.BlueFire.DamageFactor");
}
public static double getCooldownFactor() {
return getConfig().getDouble("Properties.Fire.BlueFire.CooldownFactor");
}
public static double getRangeFactor() {
return getConfig().getDouble("Properties.Fire.BlueFire.RangeFactor");
}
}