TF-ProjectKorra/src/com/projectkorra/projectkorra/ability/WaterAbility.java

384 lines
13 KiB
Java
Raw Normal View History

2016-01-13 21:14:34 +00:00
package com.projectkorra.projectkorra.ability;
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
import java.util.HashSet;
import java.util.Set;
PhaseChange recode and EarthGrab fix (#661) * Fix metalclips - Removed a check that was preventing metalclips from progressing past 1 clip on a target. * Fix metalclips - Fixed a bug limiting the metal clip count to one * Improve MetalClips - Fixed bug where shooting at a block spawned two clips - Added ShootCooldown and CrushCooldown - ShootCooldown only applies to shooting clips - Changed how crushing works: --- Removed old style and variables --- When controlling an entity with 4 clips, the controller can click to cause the armor to "crush" and damage the entity. --- Has own cooldown, default of 2000 (2 seconds) - Changed launching --- Works with all clip amounts except 4 --- When the user releases sneak, the entity will be launched at varying power depending on how many clips were attached. - Changed ability cooldown to activate only after the ability is finished. * Add CrushDamage option to MetalClips * New Damage Type, MetalClips changes - Fixed MetalClips bug caused in magnetizing - Added ignoreArmor option to damageEntity method, default true for most abilities. If wanted to be changed, someone needs to go through and add false as a parameter - Changed default config option for MetalClips description * PhaseChange recode * Chris wanted changes * Chris doesn't want bugs * Only you can prevent bugs - Added checks for worlds to prevent errors * Remove unnecessary auto generated comments * Loony didn't like the passive * Added RegionProtection checks * PhaseChange * Revert "PhaseChange" This reverts commit 761c73f5756771674719ffca52413cffa09243a8. * Revert "Added RegionProtection checks" This reverts commit b53a02a74d0276d4d1e773e1c197666cbcfab624. * Revert "Loony didn't like the passive" This reverts commit 6612bb7fa8eea3e26c01d0ef761c658447779e03. * Revert "Remove unnecessary auto generated comments" This reverts commit da9c45106d0b7e256c278e6a84d15f7a7340a140. * Revert "Only you can prevent bugs" This reverts commit 630161659ea89bfb106924c8ab1fbcdb8f6f1310. * Revert "Chris doesn't want bugs" This reverts commit eda2dee6b52dd38c73f35680c5e4484adc5b5b91. * Revert "Chris wanted changes" This reverts commit 30b76c10c4adc63784ea7115eb4f9c636650d6c5. * Revert "PhaseChange recode" This reverts commit f8f290dd8c57a3467a87de7e43b58ce635196c62. * Conflicts * Stupid conflicts * I hope and pray * Revert "Revert "Chris wanted changes"" This reverts commit e612607c8a16a735c92014714c00aa671954b4a5. * Revert "Revert "Chris doesn't want bugs"" This reverts commit bd656b814d7ffa2d9c84fa304d3adb8f1535f782. * Revert "Revert "Only you can prevent bugs"" This reverts commit 7772c95737130cf414ff1af49dcfb48865be5374. * Revert "Revert "Remove unnecessary auto generated comments"" This reverts commit 69315dc7baa6cd237fbd89394e544913596ec6e3. * Revert "Revert "Loony didn't like the passive"" This reverts commit ea397c6323e50d219395d5912850513afd6f2a7b. * Revert "Revert "Added RegionProtection checks"" This reverts commit 8cb41709f65e4322e68b2f0e1792987f7fc214f2. * Revert "Revert "PhaseChange"" This reverts commit da6b0e7071acf74df6447b15daf4ae6e39f057f6. * Working PhaseChange finally * Fix EarthGrab * Air fixes, PhaseChange changes
2016-12-20 04:43:56 +00:00
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
import org.bukkit.Tag;
PhaseChange recode and EarthGrab fix (#661) * Fix metalclips - Removed a check that was preventing metalclips from progressing past 1 clip on a target. * Fix metalclips - Fixed a bug limiting the metal clip count to one * Improve MetalClips - Fixed bug where shooting at a block spawned two clips - Added ShootCooldown and CrushCooldown - ShootCooldown only applies to shooting clips - Changed how crushing works: --- Removed old style and variables --- When controlling an entity with 4 clips, the controller can click to cause the armor to "crush" and damage the entity. --- Has own cooldown, default of 2000 (2 seconds) - Changed launching --- Works with all clip amounts except 4 --- When the user releases sneak, the entity will be launched at varying power depending on how many clips were attached. - Changed ability cooldown to activate only after the ability is finished. * Add CrushDamage option to MetalClips * New Damage Type, MetalClips changes - Fixed MetalClips bug caused in magnetizing - Added ignoreArmor option to damageEntity method, default true for most abilities. If wanted to be changed, someone needs to go through and add false as a parameter - Changed default config option for MetalClips description * PhaseChange recode * Chris wanted changes * Chris doesn't want bugs * Only you can prevent bugs - Added checks for worlds to prevent errors * Remove unnecessary auto generated comments * Loony didn't like the passive * Added RegionProtection checks * PhaseChange * Revert "PhaseChange" This reverts commit 761c73f5756771674719ffca52413cffa09243a8. * Revert "Added RegionProtection checks" This reverts commit b53a02a74d0276d4d1e773e1c197666cbcfab624. * Revert "Loony didn't like the passive" This reverts commit 6612bb7fa8eea3e26c01d0ef761c658447779e03. * Revert "Remove unnecessary auto generated comments" This reverts commit da9c45106d0b7e256c278e6a84d15f7a7340a140. * Revert "Only you can prevent bugs" This reverts commit 630161659ea89bfb106924c8ab1fbcdb8f6f1310. * Revert "Chris doesn't want bugs" This reverts commit eda2dee6b52dd38c73f35680c5e4484adc5b5b91. * Revert "Chris wanted changes" This reverts commit 30b76c10c4adc63784ea7115eb4f9c636650d6c5. * Revert "PhaseChange recode" This reverts commit f8f290dd8c57a3467a87de7e43b58ce635196c62. * Conflicts * Stupid conflicts * I hope and pray * Revert "Revert "Chris wanted changes"" This reverts commit e612607c8a16a735c92014714c00aa671954b4a5. * Revert "Revert "Chris doesn't want bugs"" This reverts commit bd656b814d7ffa2d9c84fa304d3adb8f1535f782. * Revert "Revert "Only you can prevent bugs"" This reverts commit 7772c95737130cf414ff1af49dcfb48865be5374. * Revert "Revert "Remove unnecessary auto generated comments"" This reverts commit 69315dc7baa6cd237fbd89394e544913596ec6e3. * Revert "Revert "Loony didn't like the passive"" This reverts commit ea397c6323e50d219395d5912850513afd6f2a7b. * Revert "Revert "Added RegionProtection checks"" This reverts commit 8cb41709f65e4322e68b2f0e1792987f7fc214f2. * Revert "Revert "PhaseChange"" This reverts commit da6b0e7071acf74df6447b15daf4ae6e39f057f6. * Working PhaseChange finally * Fix EarthGrab * Air fixes, PhaseChange changes
2016-12-20 04:43:56 +00:00
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
import org.bukkit.block.data.Levelled;
PhaseChange recode and EarthGrab fix (#661) * Fix metalclips - Removed a check that was preventing metalclips from progressing past 1 clip on a target. * Fix metalclips - Fixed a bug limiting the metal clip count to one * Improve MetalClips - Fixed bug where shooting at a block spawned two clips - Added ShootCooldown and CrushCooldown - ShootCooldown only applies to shooting clips - Changed how crushing works: --- Removed old style and variables --- When controlling an entity with 4 clips, the controller can click to cause the armor to "crush" and damage the entity. --- Has own cooldown, default of 2000 (2 seconds) - Changed launching --- Works with all clip amounts except 4 --- When the user releases sneak, the entity will be launched at varying power depending on how many clips were attached. - Changed ability cooldown to activate only after the ability is finished. * Add CrushDamage option to MetalClips * New Damage Type, MetalClips changes - Fixed MetalClips bug caused in magnetizing - Added ignoreArmor option to damageEntity method, default true for most abilities. If wanted to be changed, someone needs to go through and add false as a parameter - Changed default config option for MetalClips description * PhaseChange recode * Chris wanted changes * Chris doesn't want bugs * Only you can prevent bugs - Added checks for worlds to prevent errors * Remove unnecessary auto generated comments * Loony didn't like the passive * Added RegionProtection checks * PhaseChange * Revert "PhaseChange" This reverts commit 761c73f5756771674719ffca52413cffa09243a8. * Revert "Added RegionProtection checks" This reverts commit b53a02a74d0276d4d1e773e1c197666cbcfab624. * Revert "Loony didn't like the passive" This reverts commit 6612bb7fa8eea3e26c01d0ef761c658447779e03. * Revert "Remove unnecessary auto generated comments" This reverts commit da9c45106d0b7e256c278e6a84d15f7a7340a140. * Revert "Only you can prevent bugs" This reverts commit 630161659ea89bfb106924c8ab1fbcdb8f6f1310. * Revert "Chris doesn't want bugs" This reverts commit eda2dee6b52dd38c73f35680c5e4484adc5b5b91. * Revert "Chris wanted changes" This reverts commit 30b76c10c4adc63784ea7115eb4f9c636650d6c5. * Revert "PhaseChange recode" This reverts commit f8f290dd8c57a3467a87de7e43b58ce635196c62. * Conflicts * Stupid conflicts * I hope and pray * Revert "Revert "Chris wanted changes"" This reverts commit e612607c8a16a735c92014714c00aa671954b4a5. * Revert "Revert "Chris doesn't want bugs"" This reverts commit bd656b814d7ffa2d9c84fa304d3adb8f1535f782. * Revert "Revert "Only you can prevent bugs"" This reverts commit 7772c95737130cf414ff1af49dcfb48865be5374. * Revert "Revert "Remove unnecessary auto generated comments"" This reverts commit 69315dc7baa6cd237fbd89394e544913596ec6e3. * Revert "Revert "Loony didn't like the passive"" This reverts commit ea397c6323e50d219395d5912850513afd6f2a7b. * Revert "Revert "Added RegionProtection checks"" This reverts commit 8cb41709f65e4322e68b2f0e1792987f7fc214f2. * Revert "Revert "PhaseChange"" This reverts commit da6b0e7071acf74df6447b15daf4ae6e39f057f6. * Working PhaseChange finally * Fix EarthGrab * Air fixes, PhaseChange changes
2016-12-20 04:43:56 +00:00
import org.bukkit.entity.Player;
import org.bukkit.util.Vector;
2016-01-13 21:14:34 +00:00
import com.projectkorra.projectkorra.BendingPlayer;
import com.projectkorra.projectkorra.Element;
import com.projectkorra.projectkorra.GeneralMethods;
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
import com.projectkorra.projectkorra.ProjectKorra;
import com.projectkorra.projectkorra.ability.util.Collision;
import com.projectkorra.projectkorra.firebending.HeatControl;
2016-01-13 21:14:34 +00:00
import com.projectkorra.projectkorra.util.BlockSource;
import com.projectkorra.projectkorra.util.ParticleEffect;
PhaseChange recode and EarthGrab fix (#661) * Fix metalclips - Removed a check that was preventing metalclips from progressing past 1 clip on a target. * Fix metalclips - Fixed a bug limiting the metal clip count to one * Improve MetalClips - Fixed bug where shooting at a block spawned two clips - Added ShootCooldown and CrushCooldown - ShootCooldown only applies to shooting clips - Changed how crushing works: --- Removed old style and variables --- When controlling an entity with 4 clips, the controller can click to cause the armor to "crush" and damage the entity. --- Has own cooldown, default of 2000 (2 seconds) - Changed launching --- Works with all clip amounts except 4 --- When the user releases sneak, the entity will be launched at varying power depending on how many clips were attached. - Changed ability cooldown to activate only after the ability is finished. * Add CrushDamage option to MetalClips * New Damage Type, MetalClips changes - Fixed MetalClips bug caused in magnetizing - Added ignoreArmor option to damageEntity method, default true for most abilities. If wanted to be changed, someone needs to go through and add false as a parameter - Changed default config option for MetalClips description * PhaseChange recode * Chris wanted changes * Chris doesn't want bugs * Only you can prevent bugs - Added checks for worlds to prevent errors * Remove unnecessary auto generated comments * Loony didn't like the passive * Added RegionProtection checks * PhaseChange * Revert "PhaseChange" This reverts commit 761c73f5756771674719ffca52413cffa09243a8. * Revert "Added RegionProtection checks" This reverts commit b53a02a74d0276d4d1e773e1c197666cbcfab624. * Revert "Loony didn't like the passive" This reverts commit 6612bb7fa8eea3e26c01d0ef761c658447779e03. * Revert "Remove unnecessary auto generated comments" This reverts commit da9c45106d0b7e256c278e6a84d15f7a7340a140. * Revert "Only you can prevent bugs" This reverts commit 630161659ea89bfb106924c8ab1fbcdb8f6f1310. * Revert "Chris doesn't want bugs" This reverts commit eda2dee6b52dd38c73f35680c5e4484adc5b5b91. * Revert "Chris wanted changes" This reverts commit 30b76c10c4adc63784ea7115eb4f9c636650d6c5. * Revert "PhaseChange recode" This reverts commit f8f290dd8c57a3467a87de7e43b58ce635196c62. * Conflicts * Stupid conflicts * I hope and pray * Revert "Revert "Chris wanted changes"" This reverts commit e612607c8a16a735c92014714c00aa671954b4a5. * Revert "Revert "Chris doesn't want bugs"" This reverts commit bd656b814d7ffa2d9c84fa304d3adb8f1535f782. * Revert "Revert "Only you can prevent bugs"" This reverts commit 7772c95737130cf414ff1af49dcfb48865be5374. * Revert "Revert "Remove unnecessary auto generated comments"" This reverts commit 69315dc7baa6cd237fbd89394e544913596ec6e3. * Revert "Revert "Loony didn't like the passive"" This reverts commit ea397c6323e50d219395d5912850513afd6f2a7b. * Revert "Revert "Added RegionProtection checks"" This reverts commit 8cb41709f65e4322e68b2f0e1792987f7fc214f2. * Revert "Revert "PhaseChange"" This reverts commit da6b0e7071acf74df6447b15daf4ae6e39f057f6. * Working PhaseChange finally * Fix EarthGrab * Air fixes, PhaseChange changes
2016-12-20 04:43:56 +00:00
import com.projectkorra.projectkorra.util.TempBlock;
2016-01-13 21:14:34 +00:00
import com.projectkorra.projectkorra.waterbending.SurgeWall;
import com.projectkorra.projectkorra.waterbending.SurgeWave;
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
import com.projectkorra.projectkorra.waterbending.Torrent;
2016-01-13 21:14:34 +00:00
import com.projectkorra.projectkorra.waterbending.WaterSpout;
import com.projectkorra.projectkorra.waterbending.ice.PhaseChange;
import com.projectkorra.projectkorra.waterbending.multiabilities.WaterArms;
2016-01-13 21:14:34 +00:00
public abstract class WaterAbility extends ElementalAbility {
2016-01-13 21:14:34 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public WaterAbility(final Player player) {
2016-01-13 21:14:34 +00:00
super(player);
}
2017-01-16 06:48:20 +00:00
2016-01-13 21:14:34 +00:00
public boolean canAutoSource() {
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
return getConfig().getBoolean("Abilities." + this.getElement() + "." + this.getName() + ".CanAutoSource");
2016-01-13 21:14:34 +00:00
}
2017-01-16 06:48:20 +00:00
2016-01-13 21:14:34 +00:00
public boolean canDynamicSource() {
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
return getConfig().getBoolean("Abilities." + this.getElement() + "." + this.getName() + ".CanDynamicSource");
2016-01-13 21:14:34 +00:00
}
2017-01-16 06:48:20 +00:00
2016-01-13 21:14:34 +00:00
@Override
public Element getElement() {
return Element.WATER;
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public Block getIceSourceBlock(final double range) {
return getIceSourceBlock(this.player, range);
2016-01-13 21:14:34 +00:00
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public Block getPlantSourceBlock(final double range) {
return this.getPlantSourceBlock(range, false);
2016-01-13 21:14:34 +00:00
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public Block getPlantSourceBlock(final double range, final boolean onlyLeaves) {
return getPlantSourceBlock(this.player, range, onlyLeaves);
2016-01-13 21:14:34 +00:00
}
2017-01-16 06:48:20 +00:00
2016-01-13 21:14:34 +00:00
@Override
public boolean isExplosiveAbility() {
return false;
}
2017-01-16 06:48:20 +00:00
2016-01-13 21:14:34 +00:00
@Override
public boolean isIgniteAbility() {
return false;
}
2017-01-16 06:48:20 +00:00
@Override
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public void handleCollision(final Collision collision) {
super.handleCollision(collision);
if (collision.isRemovingFirst()) {
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
ParticleEffect.BLOCK_CRACK.display(collision.getLocationFirst(), 10, 1, 1, 1, 0.1, collision.getLocationFirst().getBlock().getBlockData());
}
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
public double getNightFactor(final double value) {
return this.player != null ? value * getNightFactor() : 1;
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static boolean isBendableWaterTempBlock(final Block block) { // TODO: Will need to be done for earth as well.
return isBendableWaterTempBlock(TempBlock.get(block));
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static boolean isBendableWaterTempBlock(final TempBlock tempBlock) {
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
return PhaseChange.getFrozenBlocksMap().containsKey(tempBlock) || HeatControl.getMeltedBlocks().contains(tempBlock) || SurgeWall.SOURCE_BLOCKS.contains(tempBlock) || Torrent.getFrozenBlocks().containsKey(tempBlock);
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public boolean isIcebendable(final Block block) {
return this.isIcebendable(block.getType());
}
2016-01-13 21:14:34 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public boolean isIcebendable(final Material material) {
return this.isIcebendable(this.player, material);
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public boolean isIcebendable(final Player player, final Material material) {
return isIcebendable(player, material, false);
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public boolean isPlantbendable(final Block block) {
return this.isPlantbendable(block.getType());
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public boolean isPlantbendable(final Material material) {
return this.isPlantbendable(this.player, material);
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public boolean isPlantbendable(final Player player, final Material material) {
return isPlantbendable(player, material, false);
2016-01-13 21:14:34 +00:00
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public boolean isWaterbendable(final Block block) {
return this.isWaterbendable(this.player, block);
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public boolean isWaterbendable(final Player player, final Block block) {
return isWaterbendable(player, null, block);
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public boolean allowBreakPlants() {
return true;
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static boolean isWaterbendable(final Material material) {
return isWater(material) || isIce(material) || isPlant(material) || isSnow(material);
2016-01-13 21:14:34 +00:00
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static Block getIceSourceBlock(final Player player, final double range) {
final Location location = player.getEyeLocation();
final Vector vector = location.getDirection().clone().normalize();
2016-01-13 21:14:34 +00:00
for (double i = 0; i <= range; i++) {
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
final Block block = location.clone().add(vector.clone().multiply(i)).getBlock();
2016-01-13 21:14:34 +00:00
if (GeneralMethods.isRegionProtectedFromBuild(player, "IceBlast", location)) {
continue;
}
if (isIcebendable(player, block.getType(), false)) {
if (TempBlock.isTempBlock(block) && !isBendableWaterTempBlock(block)) {
2016-01-13 21:14:34 +00:00
continue;
}
return block;
}
}
return null;
}
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
public static double getNightFactor() {
return getConfig().getDouble("Properties.Water.NightFactor");
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static double getNightFactor(final double value, final World world) {
2016-01-13 21:14:34 +00:00
if (isNight(world)) {
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
return value * getNightFactor();
2016-01-13 21:14:34 +00:00
}
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
return value;
2016-01-13 21:14:34 +00:00
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static double getNightFactor(final World world) {
2016-01-13 21:14:34 +00:00
return getNightFactor(1, world);
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static Block getPlantSourceBlock(final Player player, final double range, final boolean onlyLeaves) {
final Location location = player.getEyeLocation();
final Vector vector = location.getDirection().clone().normalize();
2017-01-16 06:48:20 +00:00
2016-01-13 21:14:34 +00:00
for (double i = 0; i <= range; i++) {
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
final Block block = location.clone().add(vector.clone().multiply(i)).getBlock();
2016-01-13 21:14:34 +00:00
if (GeneralMethods.isRegionProtectedFromBuild(player, "PlantDisc", location)) {
continue;
2017-01-16 06:48:20 +00:00
} else if (isPlantbendable(player, block.getType(), onlyLeaves)) {
if (TempBlock.isTempBlock(block) && !isBendableWaterTempBlock(block)) {
2016-01-13 21:14:34 +00:00
continue;
}
return block;
}
}
return null;
}
2017-01-16 06:48:20 +00:00
2016-01-13 21:14:34 +00:00
/**
* Finds a valid Water source for a Player. To use dynamic source selection,
* use BlockSource.getWaterSourceBlock() instead of this method. Dynamic
* source selection saves the user's previous source for future use.
* {@link BlockSource#getWaterSourceBlock(Player, double)}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
*
2016-01-13 21:14:34 +00:00
* @param player the player that is attempting to Waterbend.
* @param range the maximum block selection range.
* @param plantbending true if the player can bend plants.
* @return a valid Water source block, or null if one could not be found.
*/
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static Block getWaterSourceBlock(final Player player, final double range, final boolean plantbending) {
final Location location = player.getEyeLocation();
final Vector vector = location.getDirection().clone().normalize();
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
final BendingPlayer bPlayer = BendingPlayer.getBendingPlayer(player);
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
final Set<Material> trans = getTransparentMaterialSet();
if (plantbending) {
final Set<Material> remove = new HashSet<>();
for (final Material m : trans) {
if (isPlant(m)) {
remove.add(m);
}
}
trans.removeAll(remove);
}
final Block testBlock = player.getTargetBlock(trans, range > 3 ? 3 : (int) range);
if (bPlayer == null) {
return null;
} else if (isWaterbendable(player, null, testBlock) && (!isPlant(testBlock) || plantbending)) {
return testBlock;
}
2017-01-16 06:48:20 +00:00
2016-01-13 21:14:34 +00:00
for (double i = 0; i <= range; i++) {
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
final Block block = location.clone().add(vector.clone().multiply(i)).getBlock();
1.8.4 (#769) * Fix OctopusForm (#734) * Reload changes * Catapult Fixes * Catapult Adjustment * Changes * OctopusForm fix * Attribute System + FireBlast example (#735) * Attribute System + FireBlast example * Removed PK jar :smiley: :dancer: * Fixes Chi Descriptions/Instructions, Removes Fire Passive (#737) * Fixes missing Chi ability descriptions and instructions https://trello.com/c/3vto7SEn/734-re-add-paralyze-and-rapidpunch-descrip tions-and-instructions * Removes FirePassive Was discussed in CD chat https://trello.com/c/skKfHiwR/733-convert-firebending-passive-to-the-new -passive-system * Change Octoform freezing (#741) * Reload changes * Catapult Fixes * Catapult Adjustment * Changes * OctopusForm fix * Change Octoform Freezing * Revert "Change Octoform Freezing" This reverts commit d5745fe3171b0e24682631889322d81f153d73bd. * Revert "Revert "Change Octoform Freezing"" This reverts commit 9a91730e0fec7c428f619ffca14e4ea467298b37. * Changed attributes to use plain reflection rather than annotations (#743) * should fix some issues with octopusform (#742) when this .remove() is called nothing has happened with this instance, so the old tempblocks/phasechange never actually get removed, and we get nullpointers trying to remove the ones for this instance since they were never even created * Fixed external elements, subelements and abilities not loading (#745) Due to plugins that depend on ProjectKorra loading in AFTER pk, when a BendingPlayer object is created, all the external elements, subelements or abilities they may have are lost because they are caught in the null checks. To work around this, we will continuously loop every second for 30 seconds until the request times out. If any elements/abilities the user has haven't loaded in, in that time (the side plugin has taken longer than 30 seconds to load), then it will time out and report it in the console. * New Attribute System (#746) • New Attribute System (WIP) • Fields should now be marked with @Attribute(Attribute.DAMAGE) or whatever the relevant attribute is. • If the Attribute you want is not there, you can provide a string instead • At runtime, these Attributes can be changed with Attributes.modify(ability/element, attribute, modifier) • Air and Chi have all been marked with @Attribute annotations • Updated Particlelib - Fixed bug with dragonbreath and endRod particles being wrong. AND added new 1.11 particles. * Adding blocks to the world async is not allowed (#744) * Wip (#748) * Fixed *abilitis* typo in Shockwave description * fixed: WaterSpout not working on PACKED_ICE - cause was looking for nonexistent config boolean, instead of at Properties.Water.IceBlocks list * Plant block removal and /b add all feature (#749) * Fixed *abilitis* typo in Shockwave description * fixed: WaterSpout not working on PACKED_ICE - cause was looking for nonexistent config boolean, instead of at Properties.Water.IceBlocks list * Fixed: Surge and WaterArms not removing plant block * New Feature: /bend add all [player] * fixed passives not enabling on /bend toggle all (#751) * fixed passives not enabling on /bend toggle all * Correct/Update comment to act as a TODO note. * Fix spectator target (#753) * Don't target spectators * Remove debug code - Remove stick debug code that was causing a NullPointerException. * Change block set order when moving earth (#754) - Set the source block to air after setting the target block to the new type. This will eliminate temporary holes, which minimizes major lighting updates. * Fix exceptions (#752) * Fix world check when sending particles - Check by World reference rather than string name comparison. The following Location distanceSquared call will throw an exception if the World names are the same but references aren't. * Fix several exceptions - Destroy LavaFlow instance when the Player leaves the World. - Destroy Torrent instance when the Player leaves the World. - Fix cooldown exception when Player is null. * PhaseChange Speed option added (#756) • Delay option changed to speed • Fixed EarthArmor breaking when a player is paralyzed. * FireManip, WaterBubble & 1.12 (#757) • Added basic FireManipulation. Still needs lots of improving, but that's for another commit. • Redone WaterBubble. Now has a click version and an expand/shrink animation. • Removed AirBubble • Updated Spigot to 1.12 • Fixed Octopus NPE • Fixed EarthArmor remaining after TPs to other worlds * EarthTunnel - DropLootIfNotRevert (#759) * .gitignore - Added ignores for IntelliJ * EarthTunnel: DropLootIfNotRevert - config & functionality * .gitignore - Added ignores for IntelliJ * EarthTunnel: DropLootIfNotRevert - config & functionality * Bug Fixes (Catapult, Illumination, Config) (#760) * Bug Fixes (Catapult, Illumination, Config) * Finish Fixing Illumination * Fix Catapult angle * Fix Catapult bug * Angle cancel option Catapult * Fix Illumination on leaves, Fix water flooding * Config stuff for Toby * Fix LavaFlow (#755) Fixed "AllowNaturalFlow" * Updated to 1.12 with for days (#761) • Redone the (core) ability load system - The old one broke with the Guava update in 1.12 • Fixed some WaterBubble floods • Fixed PhaseChange melting snow super duper fast • Fixed some other misc bugs • Added 1.12 Spigot to classpath * 1.12 Bug Fixes (#762) * Bug Fixes (Catapult, Illumination, Config) * Finish Fixing Illumination * Fix Catapult angle * Fix Catapult bug * Angle cancel option Catapult * Fix Illumination on leaves, Fix water flooding * Config stuff for Toby * 1.12 fixes * More 1.12 fixes (#763) * Bug Fixes (Catapult, Illumination, Config) * Finish Fixing Illumination * Fix Catapult angle * Fix Catapult bug * Angle cancel option Catapult * Fix Illumination on leaves, Fix water flooding * Config stuff for Toby * 1.12 fixes * More 1.12 Fixes * Collision fixes, Air sound change, * Tried Fixing Collisions Currently the loops in CollisionInitializer#initializeDefaultCollisions() don't work * 1.8.4 Fixes (#764) * Small 1.8.4 fixes • Fixed selecting snow blocks as a water source not working when they are more than 3 blocks away • Fixed DensityShift turning lava into sand when you land softly • Fixed IceBlast not working on TempBlocks * Added FireManip particle options to config Also removed a sneaky debug message * 1.8.4 Fixes (#765) * Redone Fire Combos (#766) * Finalize Fire Combo split (#767) * 1.8.4 Fixes * Correct Fire Combos * Remove unused imports
2017-06-13 07:54:30 +00:00
if ((!isTransparent(player, block) && !isIce(block) && !isPlant(block) && !isSnow(block)) || GeneralMethods.isRegionProtectedFromBuild(player, "WaterManipulation", location)) {
2016-01-13 21:14:34 +00:00
continue;
} else if (isWaterbendable(player, null, block) && (!isPlant(block) || plantbending)) {
if (TempBlock.isTempBlock(block) && !isBendableWaterTempBlock(block)) {
continue;
2016-01-13 21:14:34 +00:00
}
return block;
}
}
return null;
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static boolean isAdjacentToFrozenBlock(final Block block) {
final BlockFace[] faces = { BlockFace.DOWN, BlockFace.UP, BlockFace.NORTH, BlockFace.EAST, BlockFace.WEST, BlockFace.SOUTH };
2016-01-13 21:14:34 +00:00
boolean adjacent = false;
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
for (final BlockFace face : faces) {
PhaseChange recode and EarthGrab fix (#661) * Fix metalclips - Removed a check that was preventing metalclips from progressing past 1 clip on a target. * Fix metalclips - Fixed a bug limiting the metal clip count to one * Improve MetalClips - Fixed bug where shooting at a block spawned two clips - Added ShootCooldown and CrushCooldown - ShootCooldown only applies to shooting clips - Changed how crushing works: --- Removed old style and variables --- When controlling an entity with 4 clips, the controller can click to cause the armor to "crush" and damage the entity. --- Has own cooldown, default of 2000 (2 seconds) - Changed launching --- Works with all clip amounts except 4 --- When the user releases sneak, the entity will be launched at varying power depending on how many clips were attached. - Changed ability cooldown to activate only after the ability is finished. * Add CrushDamage option to MetalClips * New Damage Type, MetalClips changes - Fixed MetalClips bug caused in magnetizing - Added ignoreArmor option to damageEntity method, default true for most abilities. If wanted to be changed, someone needs to go through and add false as a parameter - Changed default config option for MetalClips description * PhaseChange recode * Chris wanted changes * Chris doesn't want bugs * Only you can prevent bugs - Added checks for worlds to prevent errors * Remove unnecessary auto generated comments * Loony didn't like the passive * Added RegionProtection checks * PhaseChange * Revert "PhaseChange" This reverts commit 761c73f5756771674719ffca52413cffa09243a8. * Revert "Added RegionProtection checks" This reverts commit b53a02a74d0276d4d1e773e1c197666cbcfab624. * Revert "Loony didn't like the passive" This reverts commit 6612bb7fa8eea3e26c01d0ef761c658447779e03. * Revert "Remove unnecessary auto generated comments" This reverts commit da9c45106d0b7e256c278e6a84d15f7a7340a140. * Revert "Only you can prevent bugs" This reverts commit 630161659ea89bfb106924c8ab1fbcdb8f6f1310. * Revert "Chris doesn't want bugs" This reverts commit eda2dee6b52dd38c73f35680c5e4484adc5b5b91. * Revert "Chris wanted changes" This reverts commit 30b76c10c4adc63784ea7115eb4f9c636650d6c5. * Revert "PhaseChange recode" This reverts commit f8f290dd8c57a3467a87de7e43b58ce635196c62. * Conflicts * Stupid conflicts * I hope and pray * Revert "Revert "Chris wanted changes"" This reverts commit e612607c8a16a735c92014714c00aa671954b4a5. * Revert "Revert "Chris doesn't want bugs"" This reverts commit bd656b814d7ffa2d9c84fa304d3adb8f1535f782. * Revert "Revert "Only you can prevent bugs"" This reverts commit 7772c95737130cf414ff1af49dcfb48865be5374. * Revert "Revert "Remove unnecessary auto generated comments"" This reverts commit 69315dc7baa6cd237fbd89394e544913596ec6e3. * Revert "Revert "Loony didn't like the passive"" This reverts commit ea397c6323e50d219395d5912850513afd6f2a7b. * Revert "Revert "Added RegionProtection checks"" This reverts commit 8cb41709f65e4322e68b2f0e1792987f7fc214f2. * Revert "Revert "PhaseChange"" This reverts commit da6b0e7071acf74df6447b15daf4ae6e39f057f6. * Working PhaseChange finally * Fix EarthGrab * Air fixes, PhaseChange changes
2016-12-20 04:43:56 +00:00
if (PhaseChange.getFrozenBlocksAsBlock().contains((block.getRelative(face)))) {
2016-01-13 21:14:34 +00:00
adjacent = true;
}
}
return adjacent;
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static boolean isIcebendable(final Player player, final Material material, final boolean onlyIce) {
final BendingPlayer bPlayer = BendingPlayer.getBendingPlayer(player);
return bPlayer == null ? null : isIce(material) && bPlayer.canIcebend() && (!onlyIce || material == Material.ICE);
2016-01-13 21:14:34 +00:00
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static boolean isPlantbendable(final Player player, final Material material, final boolean onlyLeaves) {
final BendingPlayer bPlayer = BendingPlayer.getBendingPlayer(player);
2017-01-16 06:48:20 +00:00
if (onlyLeaves) {
return bPlayer == null ? null : isPlant(material) && bPlayer.canPlantbend() && isLeaves(material);
} else {
return bPlayer == null ? null : isPlant(material) && bPlayer.canPlantbend();
}
2016-01-13 21:14:34 +00:00
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static boolean isLeaves(final Block block) {
return block != null ? isLeaves(block.getType()) : false;
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static boolean isLeaves(final Material material) {
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
return Tag.LEAVES.isTagged(material);
2016-01-13 21:14:34 +00:00
}
2017-01-16 06:48:20 +00:00
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static boolean isSnow(final Block block) {
2016-01-13 21:14:34 +00:00
return block != null ? isSnow(block.getType()) : false;
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static boolean isSnow(final Material material) {
2016-01-13 21:14:34 +00:00
return material == Material.SNOW || material == Material.SNOW_BLOCK;
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static boolean isWaterbendable(final Player player, final String abilityName, final Block block) {
final BendingPlayer bPlayer = BendingPlayer.getBendingPlayer(player);
if (bPlayer == null || !isWaterbendable(block.getType()) || GeneralMethods.isRegionProtectedFromBuild(player, abilityName, block.getLocation())) {
return false;
}
if (TempBlock.isTempBlock(block) && !isBendableWaterTempBlock(block)) {
2016-01-13 21:14:34 +00:00
return false;
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
} else if (isWater(block) && block.getBlockData() instanceof Levelled && ((Levelled) block.getBlockData()).getLevel() == 0) {
2016-01-13 21:14:34 +00:00
return true;
} else if (isIce(block) && !bPlayer.canIcebend()) {
return false;
} else if (isPlant(block) && !bPlayer.canPlantbend()) {
return false;
2016-01-13 21:14:34 +00:00
}
return true;
2016-01-13 21:14:34 +00:00
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static void playFocusWaterEffect(final Block block) {
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
ParticleEffect.SMOKE_NORMAL.display(block.getLocation().add(0.5, 0.5, 0.5), 4);
2016-01-13 21:14:34 +00:00
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static void playIcebendingSound(final Location loc) {
2016-01-13 21:14:34 +00:00
if (getConfig().getBoolean("Properties.Water.PlaySound")) {
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
final float volume = (float) getConfig().getDouble("Properties.Water.IceSound.Volume");
final float pitch = (float) getConfig().getDouble("Properties.Water.IceSound.Pitch");
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
Sound sound = Sound.ITEM_FLINTANDSTEEL_USE;
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
try {
sound = Sound.valueOf(getConfig().getString("Properties.Water.IceSound.Sound"));
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
} catch (final IllegalArgumentException exception) {
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
ProjectKorra.log.warning("Your current value for 'Properties.Water.IceSound.Sound' is not valid.");
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
} finally {
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
loc.getWorld().playSound(loc, sound, volume, pitch);
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
}
2016-01-13 21:14:34 +00:00
}
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static void playPlantbendingSound(final Location loc) {
2016-01-13 21:14:34 +00:00
if (getConfig().getBoolean("Properties.Water.PlaySound")) {
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
final float volume = (float) getConfig().getDouble("Properties.Water.PlantSound.Volume");
final float pitch = (float) getConfig().getDouble("Properties.Water.PlantSound.Pitch");
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
Sound sound = Sound.BLOCK_GRASS_STEP;
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
try {
sound = Sound.valueOf(getConfig().getString("Properties.Water.PlantSound.Sound"));
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
} catch (final IllegalArgumentException exception) {
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
ProjectKorra.log.warning("Your current value for 'Properties.Water.PlantSound.Sound' is not valid.");
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
} finally {
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
loc.getWorld().playSound(loc, sound, volume, pitch);
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
}
2016-01-13 21:14:34 +00:00
}
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static void playWaterbendingSound(final Location loc) {
2016-01-13 21:14:34 +00:00
if (getConfig().getBoolean("Properties.Water.PlaySound")) {
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
final float volume = (float) getConfig().getDouble("Properties.Water.WaterSound.Volume");
final float pitch = (float) getConfig().getDouble("Properties.Water.WaterSound.Pitch");
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
Sound sound = Sound.BLOCK_WATER_AMBIENT;
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
try {
sound = Sound.valueOf(getConfig().getString("Properties.Water.WaterSound.Sound"));
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
} catch (final IllegalArgumentException exception) {
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
ProjectKorra.log.warning("Your current value for 'Properties.Water.WaterSound.Sound' is not valid.");
1.8.9 (#1038) For Spigot 1.14.4+ ## General Gameplay ### Additions - Added default Suffocate cooldown: 6.5 seconds - Added kinetic damage tracker to AirSweep - Added self and others push strength options for AirSuction - Added config option for multiple blocks to be changed per EarthTunnel run, allowing for much faster earth tunnels - Added config to ignore ores completely for EarthTunnel (good for mining) - Added AllowSnow config option for IceBlast - Added AvatarStateCooldown config options for IceBlast and IceBullet - Added config option for ice trapping abilities to not place blocks in players head or feet ### Fixes - Fixed preset command not allowing page numbers higher than 1 - Fixed Catapult and MetalClips not respecting /b invincible - Fixed Charged FireBlast radius and cooldown - Fixed Suffocate being usable through walls - Fixed FireBlast ignoring particle radius options - Fixed FireBurst fragmenting (not looking like a single burst) - Fixed AirSweep knockback to be more consistent (lessened friction) - Fixed AirBlast knockback using wrong push options - Fixed EarthSmash using nonexistent AvatarState options - Fixed error when switching worlds with PhaseChange active - Fixed server crash when hitting falling blocks with high-velocity abilities - Fixed server crash when using EarthGrab over the void - Fixed EarthTunnel not using configurable revert time - Fixed EarthPillars persisting when no entities were around ### Changes - Improved pathing for EarthBlast; works more consistently and can be used from ceilings - Improved aiming for EarthBlast and IceBlast - Changed AirSwipe and AirSweep to originate from the player’s main hand - Changed AirBlast knockback calculations; made the push options affect knockback more directly - Changed EarthTunnel to use tempblocks properly - Moved core combo instructions to config ### Removals - Removed being able to use Lightning while using FireJet - Removed jukeboxes being tempblocks - Removed bending.command.import permission from plugin.yml ## API ### Additions - Added GeneralMethods#getMainHandLocation(Player) - Added GeneralMethods#getClosestEntity(Location, double) - Added GeneralMethods#getClosestLivingEntity(Location, double) - Added "large" abilities collision with each other - Added specific timings for hot spots in the code that should help server owners diagnose lag from PK + player move event + physics event + bending manager - Created local folder repo and update pom for local jar files, this is necessary to use the maven shade plugin. - Added check for concrete powder in move earth - Added PlaceholderAPI support (hopefully more to come) + %projectkorra_slot<1-9>% ability on slot <1-9> + %projectkorra_element% element of the player + %projectkorra_elementcolor% color of the player’s element + %projectkorra_elements% elements the player has - Added "bending" WorldGuard flag. + Used for allowing or denying bending in worldguard regions. Will fall back to the old method of the build flag if the custom flag fails to register or isn't set ### Fixes - Fixed calls to CoreAbility#isEnabled() causing NullPointerExceptions when a CoreAbility is not enabled ### Changes - Changed CoreAbility#getAbility(..) Javadocs to state when it returns null - Formatted codebase - Changed GeneralMethods#getEntitiesAroundPoint() use spigot method for entities around point, should be more optimized - Optimizations to water and air spout to not continually set flying - Optimized revertchecker to not use block.getChunk; this will load the chunk on the server and instead use hashmap of coords - Optimized revertchecker to use paperlib to allow servers running paperspigot to load the chunk for a revert block async - Optimized tempblock revert to load chunk async before updating stateOptimize move event to ignore head movements without directional movement - Optimized physics event to check for air prior to checking for tempblocks - Optimized tempblock set/revert to not apply physics for blocks that don't emit light - Optimize isWater to check for actual water blocks first - Optimize PhaseChange list check, hot spot due to being called in physics event ### Removals - Removed BindChangeEvent; never called or used - Removed HorizontalVelocityTracker that has lasted over 30 seconds, also don't create a tracker for non-living entities
2019-12-10 07:03:28 +00:00
} finally {
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
loc.getWorld().playSound(loc, sound, volume, pitch);
1.8.6 (#825) ## Fixes * Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing. * Fixed Combos not loading properly on certain servers. * Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues. * Fixed `RapidPunch` damage. * Fixed incorrect summation of chiblocking chance. * Fixed possible issue in PKListener#onPlayerInteraction() * Fixed `Earth.LavaSound`. * Fixed Chi attempting to chiblock targets with any move. * Fixed hitting an entity with `TempArmor` not ignoring armor. * Fixed `Immobilize` config path. ## Additions * Added "Contributing" section to the `README` to help guide active community members. * Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. * Added many new blocks to our ability block interaction. * Added check to combo collisions to discard dead entities. * Added functionality to allow chiblocking abilities to affect all entities. * Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`. * Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`) * Added sound and `ActionBar` message for being Chiblocked. * Added interval config option to `RapidPunch`. (time between each punch) ## API Changes * Updated to `Spigot 1.12.1`. * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`. * Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`. * Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`. * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`. * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`. * Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated. * Removed `Java 7` Travi-CI JDK check. * Updated `pom.xml` to build in `Java 8`. * Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 07:18:12 +00:00
}
2016-01-13 21:14:34 +00:00
}
}
/**
* This method was used for the old collision detection system. Please see
* {@link Collision} for the new system.
* <p>
2016-01-13 21:14:34 +00:00
* Removes all water spouts in a location within a certain radius.
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
*
2016-01-13 21:14:34 +00:00
* @param loc The location to use
* @param radius The radius around the location to remove spouts in
* @param source The player causing the removal
*/
@Deprecated
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static void removeWaterSpouts(final Location loc, final double radius, final Player source) {
2016-01-13 21:14:34 +00:00
WaterSpout.removeSpouts(loc, radius, source);
}
/**
* This method was used for the old collision detection system. Please see
* {@link Collision} for the new system.
* <p>
2016-01-13 21:14:34 +00:00
* Removes all water spouts in a location with a radius of 1.5.
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
*
2016-01-13 21:14:34 +00:00
* @param loc The location to use
* @param source The player causing the removal
*/
@Deprecated
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
public static void removeWaterSpouts(final Location loc, final Player source) {
2016-01-13 21:14:34 +00:00
removeWaterSpouts(loc, 1.5, source);
}
2017-01-16 06:48:20 +00:00
2016-01-13 21:14:34 +00:00
public static void stopBending() {
SurgeWall.removeAllCleanup();
SurgeWave.removeAllCleanup();
WaterArms.removeAllCleanup();
}
1.8.7 (#972) ## Additions * Added Statistics API * Added cooldown database * Added database cooldown to `AvatarState` * Added code to try a reconnect if the database connection is lost * Added a check to ensure an entity is an instance of `LivingEntity` before casting in `PKListener` * Added `FireManipulation` and Combo permissions to `plugin.yml` * Added an isBender method to `BendingPlayer` * Added a getter for the player object stored in `BendingPlayer` * Added `OFFHAND_TRIGGER` to `ClickType` * Added `ElementalAbility#getEarthbendableBlocks()`, returns String list from config * Added `GeneralMethods#getBlockFaceFromValue(int xyz, double value)` * Added `GeneralMethods#checkDiagonalWall(Location location, Vector direction)`, to determine if there is a diagonal wall * Added required variable to `ComboAbilityInfo`, Set of `CoreAbility` a `Player` must have active to use corresponding `ComboAbility` * Added `PassiveAbility#isProgressable()`, checks for if the ability uses its progress() method * Added overriding capabilities to `CollisionManager` * Added `TempArmorStand` utility class * Added new `EarthGrab` * Added new Earth combo, `EarthPillars`. * Added new `Flight` `MultiAbility` * Added a "Sticky" feature to `TremorSense` * Added “/b stats” command to display player statistics * Added `TimeUtil` to convert millisecond times into human readable increments * Added Dynamic Sourcing config option for Earth and Water * Added enable/disable option to `FireManipulation` * Added configurable duration values to `AirShield`, `AirSpout`, and `Tornado`, `WaterSpout`, `HealingWaters`, and `OctopusForm` * Added `IceBlast` and `IceSpike` blast to collisions * Added mechanics to `AirSuction` to close doors * Added configurable cooldown to “/b choose” located at “Properties.ChooseCooldown” * Added IRON_TRAPDOOR to `FerroControl` functionality * Added new config option that can prevent the Updater from connecting to the website when disabled in the config * Added more options to `AirSwipe` in `AvatarState` config portion ## Fixes * Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in `ConfigManager.java` * Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in `ConfigManager.java` * Fixed “Commands.PermaRemove.Description” spelling error in `ConfigManager.java` * Fixed “Extras.Fire.DayMessage” spelling error in `ConfigManager.java` * Fixed `QuickStrike` causing an endless chain of itself that never stops chiblocking and does no damage * Fixed `Paralyze` going indefinitely when it has a cooldown of 0 * Fixed damaging chi abilities not working in `WarriorStance` * Fixed `WarriorStance` NPE * Fixed `AcrobatStance` NPE when a user attempts to log out while the move is active * Fixed paralyzing abilities canceling the sneak event if the player was sneaking * Fixed `Passives` not being removed when a player has their bending changed * Fixed `Passives` being activated in Spectator mode * Fixed `DensityShift` softening your landing while you are an Airbender * Fixed the passives that weren't working. This includes `FerroControl`, `FastSwim`, `AirAgility` and `ChiAgility` * Fixed `MultiAbility` instances not being removed when a player has their bending changed * Fixed player binds not being filtered properly if they are using a `MultiAbility` * Fixed `FireWheel` going over air * Fixed `AvatarState` sound causing the ability to not work * Fixed bottlebending for `Surge`, `WaterManipulation`, and `OctopusForm` * Fixed `Bloodbending` ConcurrentModificationException when attempting to bend non-living entities * Fixed `PhaseChange` not working on blocks placed over already melted blocks * Fixed `IceBlast` going on cooldown after sneaking after selecting a block * Fixed `Surge` making `TempBlocks` revert * Fixed `WaterArms` grapple ability not working * Fixed `WaterArms` making `TempBlocks` revert * Fixed `WaterArmsSpear` checking if a block is placeable after placing the block * Fixed aiming bugs with `WaterArmsSpear` * Fixed `LavaFlow` causing drop duplications when cooled by another move * Fixed `EarthArmor` making people invincible * Fixed `EarthTunnel` so that it will work through tall grass and other transparent blocks * Fixed `EarthTunnel` not checking if a block it was trying to remove was in a protected region * Fixed `EarthSmash` values being incorrect * Fixed being able to remove the `EarthArmor` armor items from their slots * Fixed `EarthTunnel` not being able to be used on fallen blocks * Fixed `FireManipulation` being able to go through blocks * Fixed `FireSpin` and `FireKick` not expanding to full size when hitting an entity * Fixed `HeatControl` solidify not working on Minecraft version 1.9 * Fixed `Illumination` dropping a torch if water is placed on the user's feet via bucket * Fixed `FireCombos` not working with `AvatarState` * Fixed `FireWheel` not going down inclines * Fixed `FireWheel` insane wall climbing * Fixed `FireShield` duration * Fixed `FireWheel` not always damaging due to an invalid entity selection range * Fixed logic in `GeneralMethods#displayColoredParticle()` which caused random blips of other colors * FIxed `ClassCastException` in `PKListener.java` caused by `MetalClips` * Fixed typo in `GeneralMethods` which confused NETHER_WART_BLOCK with NETHER_STALK * Fixed permission based limit on how many Presets players can create. `bending.command.preset.create.#` * Fixed NPE in `WhoCommand` when performing offline lookups * Fixed various bad `Map#contains()` checks throughout the plugin * Fixed `BendingPlayer#addCooldown()` adding cooldowns even if their time is set to an invalid number. * Fixed the `PlayerCooldownChangeEvent` being fired on an invalid case * Fixed entity targeting methods in `GeneralMethods` registering dead players waiting to respawn as valid targets * Fixed NPE caused by checking for Lunar Eclipse, Solar Eclipse, Full Moon or Sozins Comet when not in the Overworld * Fixed `AirBlast`, `AirSweep`, `FireBlast` going through diagonal walls * Fixed known fly glitches * Fixed ability redirection breaking bottlebending for that player until server restart ## Misc. Changes * Changed instructions in “/bending help <ability>” to `ChatColor.WHITE` * Changed “/bending help earth” message to match others * Improved check for exhaustion in move event * Changed `CoreAbility#getDescription()` to pull combos from the lang config as well * Renamed `Hydrosink.java` to `HydroSink.java` * Reduced combo cleanup delay to one minute * Improved `IceSpike` blast animation * Improved code in `ProjectKorra.java` * Improved `FireShield` animation * Changed passive classes to be more functional than previously * Changed `BendingPlayer#canBendPassive()` and `BendingPlayer#canUsePassive()` to have `CoreAbility` param instead of `Element` * Changed `PassiveAbility#isInstantiable()` to be a check if the ability must be activated by the player, not if it uses the constructor * Improved `CoreAbility#progressAll()` * Improved `AirAgility` and `ChiAgility` * Changed death messages that say “experienced kinetic damage” to “experienced a fatal collision” * Changed `AirShield` to permit `AirSwipe` and `AirSweep` to pass through it * Changed `FireShield` to permit `FireBlastCharged` to pass through it * Changed `AirBlast`, `AirSuction`, `Blaze`, and `Combustion` so they do not collide with any other abilities * Changed `AirSwipe` and `AirSweep` so they can respectively pass through other instances of themselves. * Removed all active abilities for a given player when they quit the server * Changed old `EarthGrab` to `EarthDome` combo * Changed `AirSwipe` to cool lava temporarily instead of permanently * Changed “/pk” to return the “/pk help” pages * Changed `InvincibleCommand` to use `i` as an alias. “/pk i” * Changed `Preset` bind command to use branding * Changed `Preset` list command to use pages * Changed bending preview to persist while on an ability slot * Changed moves that cool lava (`AirBlast`, `AirBurst`, `AirSwipe`, `HeatControl`) so that they revert `LavaFlow` blocks * Changed `LavaFlow` click to only produce particles on blocks it has affected * Updated the `Updater` URL * Updated “/pk help <element>” to support Avatar as an argument * Updated “/pk help <element>” to prompt users to enter “/pk display <element>” instead of “/pk h <elementcombos>” * Changed `FireWheel` default range in `AvatarState` config portion * Changed `AirStream` default hold duration in `AvatarState` config portion * Changed `WaterArms` to not go through tempblocks * Changed `HealingWaters` previous duration value to “PotionDuration” in order to accurately represent what the setting changed * Increased the default number of creatable presets to 5 * Disabled FireManipulation by default ## Removals * Removed `ImportCommand` * Removed `AirSwipes` capability to break blocks * Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list * Removed `AirPassive.java` and `WaterPassive.java`, combos are in their own respective files. * Removed redundant checks in `PKListener` * Removed redundant Earthbendable checks in `Extraction` * Removed redundant checks in `BendingPlayer` * Removed unnecessary code from `GeneralMethods#getTargetedEntity()` * Removed unnecessary SuppressWarnings for deprecation in various classes * Removed unnecessary `SpiritPlayer` checks in `BendingPlayer#canBind(CoreAbility ability)`
2018-08-07 05:46:09 +00:00
}