## Removals
* Removes `AirBurst#getAffectedEntities()`, shouldn't allow direct access to the list
## Misc. Changes
* Lowers "friction" in AirBlast knockback for entities on the ground
* Ignore "friction" in AirBlast when the AirBurst source isn't null
* Changes entity velocity comparison to only add vectors angled > pi/3 from push vector
* Increase default AirBurst push option
## Additions
Static Function that returns the slot id of the first water bottle found, -1 if none found. Used to not repeat code that should be the same (hasWaterBottle and emptyWaterBottle start finding this index, but they don't use the same code).
## Fixes
Fixes an error in hasWaterBottle function. In the former version of the WaterReturn.java file, hasWaterBottle only tests if the first item with Material.POTION in the inventory is of type PotionType.WATER. Having a random potion in the inventory in any slot before a Water Bottle makes this to return false, instead of checking all the potions in the Player Inventory. This causes the player to be unable to use the bottle as a water source. The new code checks all the potions.
## Misc. Changes
Since the items in an inventory aren't usually sorted (players don't sort items by id in their inventories), the "contains" method iterates all over the items on the inventory until it finds one with the specified material. The "first" method does the same, but instead of returning a boolean, it gives us the slot index of the item or -1 if not found. Since in "fillBottle" method we are going to calculate that index after checking whether the item is in the inventory or not, I've calculated this index with the "first" method and checking if it is greater or equals than 0 (not -1). Doing so we don't repeat the search task and we have a little improvement in efficiency terms.
## Fixes
* Fixes getClosestEntity to not rely on a distance check for if the entity is returned, but instead purely get the closest entity from getEntitiesAroundPoint
* Fixes SurgeWall to not do that new diagonal check, fixes Ice wall glitching out
## Misc. Changes
* Changes JetBlaze hitbox size, was way too big
* Changes FireJet, WallOfFire, and the FireJet Combos cooldowns to activate when the move completes
## Additions
* Adds logic for EarthBlast being used on ceilings
* Adds default cooldown to Suffocate
## Changes
* Fixes Suffocate being usable through walls
* Improves logic for EarthBlast pathing in general
## Removals
* `ALL_AFFECTED_BLOCKS` in RaiseEarth isn't actually used, removes it.
## Additions
* Adds self/others options for AirSuction
## Fixes
* Fixes AirBlast push self and others being mixed up
* Fixes AirBlast not using self push at all
* #1006
* Fixes EarthSmash using nonexistent AvatarState config options
## Removals
* Removes unnecessary arithmetic from AirBlast and AirSuction in determining knockback power
* Defaults in config have been changed to make up for removing the arithmetic
## Additions
* Adds HorizontalVelocityTracker to AirSweep
* Adds GeneralMethods#getMainHandLocation(final Player player)
## Changes
* Changed AirSweep and AirSwipe to originate from a Player's main hand location
* Changed the knockback caused by AirSweep more consistent in the air and on the ground
* Disable Lightning use when using FireJet
## Fixes
* Add null checks before several `CoreAbility.getAbility(someclass).isEnabled()`
## Misc. Changes
* Changes `CoreAbility.getAbility(..)` javadoc to describe when it returns null
* Changes cooldown DB table create query to use proper primary key
## Fixes
* Server crash with AirSwipe (or any move that can cause high velocity) on falling blocks or tnt
* Error with PhaseChange if you switch worlds while using
* Server crash with EarthGrab when used over void
## Misc. Changes
* Changes exception for WorldGuard bending flag
* Skip jukeboxes for TempBlocks to prevent invalid record type when trying to revert them
## Additions
* Improved earthblast and iceblast aiming.
## Fixes
* Fixed earthpillars bug where using the ability while not around entities creates a loop until the player is around other entities.
## Additions
* use spigot method for entities around point, should be more optimized
* optimizations to water and air spout to not continually set flying
* optimization 1 for revertchecker: do not use block.getChunk as this will load the chunk on the server and instead use hashmap of coords
* optimization 2 for revertcheck: use paperlib to allow servers running paper to load the chunk for a revert block async
* optimize tempblock revert to load chunk async before updating state
* create local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. Put a comment in the pom for how to add new dependencies
* add specific timings for hot spots in the code: player move event, physics event, and bending manager. Should help server owners diagnose lag from PK
* optimize move event to ignore head movements without directional movement
* optimize physics event to check for air prior to checking for tempblocks
* optimize tempblock set/revert to not apply physics for blocks that dont emit light
* check for concrete powder in move earth
* optimize isWater to hit actual water blocks first
* optimize PhaseChange list check, hot spot due to being called in physics event
* add "large" abilities collision with each other
* remove HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
* add config to ignore ores completely for EarthTunnel (good for mining)
* add config option for multiple blocks to be changed per earthtunnel run, allowing for much faster earth tunnels
* add config option to allow snow to be used for ice blast
* add config options for avatar state cooldowns for IceBlast and IceBullet
* add config option for ice trap type moves to not place blocks in players head or feet
* add PlaceholderAPI support for %projectkorra_slot<1-9>% %projectkorra_element% %projectkorra_elementcolor% %projectkorra_elements%
* add "bending" WorldGuard flag. Used for allowing or denying bending in worldguard regions. Will fallback to the old method of the build flag if the custom flag fails to register or isn't set
## Fixes
* wrong plugin version
* remove unnecessary code from avatar state causing cooldown removal
* fix error in EarthGrab remove
* fix error with TempArmor remove if some armor was null
* fix NPE and CME in WaterArms
* fix sound error in AirSuction
* fix NPE in player chat
* fix error when damaging item frame
* fix NPE in FireManipulation getting locations
* fix NPE in WaterSpout getting locations
* fix NPE in HeatControl
* prevent placing blocks in earth tunnel air, and fix error with placing blocks in tempblocks
* fix AirSweep affecting toggled invincible
* fix illumination torch replacing fences allowing players to pass through them
* fix AirShield vector
* fix AirSwipe not being removed
* fix AirSuction not checking worlds
* remove firestream tasks on JetBlast/JetBlaze removal
* division by 0 fix for tornado (entity location and origin location being equal)
* NaN vector fix for airstream (location and destination being equal)
* use actual list of undead for isUndead from the wiki
* fix BloodBending affecting armor stands
* fix AirSweep vector
* fix IceBullet combo to function better
* fix isMeltable to use ElementalAbility functions
* fix Paralyze trying to paralyze non-living entities
## Removals
* remove plotsquared support, and bentobox leftovers
* remove unnecessary flight handlers