## 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.
## Fixes
* Fixed odd interactions between `Bloodbending` and `AvatarState`.
* You can no longer be bloodbent while in `AvatarState` and going into the `AvatarState` while being bloodbent will break you free.
* Fixed various errors in `Bloodbending`.
* Fixed `SubElements` being saved incorrectly in the database.
* Fixed a few cases where `Surge` would cause flooding.
* Fixed various NoCheatPlus exemptions in our `DamageHandler`. (Thanks, RoboMWM)
* Fixed ProjectKorra fire tick damage overriding other plugins fire tick damage.
* Fixed `FireSpin` working underwater.
* Fixed `EarthArmor` not properly obeying its cooldown.
* Fixed `Combo Abilities` being displayed in `/pk display <Element>`.
* Fixed `Extraction` cooldown being applied when the ability couldn't start.
* Fixed `EarthTunnel` cooldown being applied when the ability couldn't start.
* Fixed `IceSpike` field functionality not activating on `PhaseChange` blocks.
* Fixed `FireWheel` hit location if used while looking down.
* Fixed `Lightning` paralyze functionality.
* Fixed `DensityShift` causing fall damage if used on other `DensityShift` blocks.
* Fixed `Flight` cooldown being applied when the ability couldn't start.
* Fixed `Flight` deactivating if used while on the ground.
* Fixed `RapidPunch` cooldown being applied when the ability couldn't start.
* Fixed `WaterArms` not returning water sources to bottles.
* Fixed `WaterArms` not grabbing sources correctly.
* Fixed `CollisionManager` attempting to detect collisions between abilities in different worlds. (Thanks, plushmonkey)
* Fixed `CollisionManager` not resetting when a new manager is created.
* Fixed `JetBlaze` and `JetBlast` not overriding `FireJet` duration.
* Fixed `PhaseChange` not being able to melt snow blocks.
* Fixed `FastSwim` being able to be used on a `Catapult` slot.
* Fixed `FireManipulation` cooldown.
* Fixed `Collapse` and `RaiseEarth`not working in `AvatarState`.
* Fixed Waterbending causing concrete powder to harden.
* Fixed `MetalClips` magnetize not pulling iron ingots if players had them in their hand.
* Fixed `MetalClips` not disabling passives such as `FastSwim` on its targets.
* Fixed `MetalClips` armor absorbing damage.
* Fixed `MetalClips` magnetize not pulling if the launching portion of the move is on cooldown.
* Fixed `MetalClips` not dropping iron ingots once a held target is killed.
* Fixed `MetalClips` duplicating iron ingots by repeatedly hitting and pulling entities.
* Fixed `MetalClips` duplicating iron ingots by hitting blocks.
* Fixed addon Passive abilities not registering.
* Fixed `/pk help <Element>` displaying incorrect/old links.
* Fixed `/pk help <Element/Combo>` being case sensitive.
* Fixed `/pk help` not allowing players to auto tab all non-hidden abilities.
* Fixed `IllegalArgumentException` being thrown if server owners put an incorrect `ChatColor` for the `Chat.Branding.Color` value in `language.yml`.
* Fixed `EarthArmor` allowing players to use `FastSwim` while the armor is activated.
* Fixed incorrect cancellation of `BlockBreakEvent` when players bending is toggled off.
* Fixed multiple instances of the same `CoreAbility` being present in auto tabbing due to certain move functionalities being split up between files.
* Fixed Passive abilities and Combo abilities showing up in `/pk bind <Ability>` auto tabbing.
* Fixed `WaterWave` and `WaterSpout` cohesive movement.
* Fixed `DamageHandler` applying `DamageModifier.ARMOR` where it is not applicable.
* Fixed `/pk check` command URL.
* Fixed Passive abilities breaking when choosing an element while bending is toggled.
* Fixed `WaterBubble` removing blocks placed by players while the ability is active.
* Fixed potential infinite loop in `EarthGrab`.
* Fixed `AirScooter` not disabling when a player would sneak.
## Additions
* Added cooldown capability to `AirShield`, `AirSpout`, `Tornado`, `FastSwim`, `WaterBubble`, `EarthTunnel`, `AcrobaticStance`, and `WarriorStance`.
* Added the clickable ProjectKorra branding message to the `/pk help` and `/pk who` commands.
* Added `radius` config option to `EarthGrab`.
* Added AvatarState configuration options for `IceSpike`, `IceBlast`, `Torrent`, `OctopusForm`, `WallOfFire`, `WaterSpout`, and all stock Combos.
* Added aesthetic donation perk servers can give to their players in the `/pk who <Player>` command via the `bending.donor` permission.
* Added config option for the lightning bending sound and lava bending sound.
* Added `Pitch` and `Volume` config options for all configurable sounds.
* Added identifiers on Addon Abilities in `/pk help <Ability>` and `/pk display`.
## General Changes
* Reduced default config values of `AvatarState` ability modifiers.
* Changed the way abilities display in `/pk help <Ability>`
* Abilities now display whether they are Addons or not.
* Abilities now display whether they are Combos or Passives.
* Addon Abilities display their author and version.
* Improved `AirScooter` behavior. It isn't perfect yet, but it is better.
* Changed `EarthArmor` so it now breaks when a player teleports.
* Changed cobblestone and obsidian created by `AirBlast` to `TempBlocks`.
* Changed `/pk add Avatar` to add all four main elements.
## API Changes
* Added `RevertTask` which runs whenever `TempBlock#revertBlock()` is called.
* Moved `BendingPlayer` creation to a separate thread.
* Changed initial `BendingPlayer` database storage to insert default values.
* Improved `CollisionManager` performance by removing unnecessary detections.
* Put logic in place to remove ability instances causing exceptions without breaking all other running abilities. (Thanks, PhanaticD)
* Changed `PassiveManager` storage so Passive abilities are be stored by name/class instead of by `Element`.
* Removed `PassiveManager#getPassivesByElement()`.
* Added `CoreAbility#unloadAbility(Class clazz)` to unload an ability from a server.
* Added `CoreAbility#getAddonPlugins()` to get the names and paths of all currently loaded addon plugins. Returned format: `<plugin name>::<abilities path>`
* Changed `/pk reload` to add support for addon plugin reloading.
## Removals
* Removed the Minecraft version from the `/pk version` command.
* Removed `SandSpout`.
* Removed `SandRun` remnant from `EarthPassive`.
* Removed `AirBlast` collisions with other basic moves.
* Fix OctopusForm (#734)
* Reload changes
* Catapult Fixes
* Catapult Adjustment
* Changes
* OctopusForm fix
* Attribute System + FireBlast example (#735)
* Attribute System + FireBlast example
* Removed PK jar 😃💃
* 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
• Fixed CoreAbility.getAbilities() not returning addon abilities
• Fixed errors spammed from /b w when the server can't fetch the staff
list
• Fixed /b d passives - now displays all possible passives
• Fixed /b t <sub> causing an internal error
• Fixed a lot of NPEs
* Fixes AirScooter Speed Glitch
Fixes being able to autorun with AirScooter (CTRL) to go insanely fast
* Adds golden tools
Fixes an issue that didn’t include golden tools in CanBendWithWeapons.
* Adds cooldown to QuickStrike, fixes QuickStrike and SwiftKick not activating
* Fixes HighJump cooldown activating when the ability hasn't worked
* Fixes SwiftKick and QuickStrike not working properly and RapidPunch not working half the time
* Fixes FireWheel and AirSwipe being stopped by snow on the ground
* Makes QuickStrike do one heart
* 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
* New HeatControl & NPE fix
* Updated to latest
* Cleaned up HeatControl
* Updated PKListener to use HeatControlType instead of Function
* Cleaned up, cleaned up HeatControl
* Removed melt(...)
* Final changes
* Update the interactable materials array to remove unnecessary materials
* Remove shaded jsoup lib and change the remote staff fetcher to load and parse a txt file instead of an html file
* Add Changes to HealingWaters and Fix for Distance bug
* Fix conflicts in EarthGrab.java
* Fix conflicts in ConfigManager.java
* Fix conflicts in EarthGrab.java
* 1.9.0 Changes
• Rewritten GeneralMethods.getEntitiesAroundPoint - Now more effecient
and less draining on the server
• Rewritten EarthArmor - Now gives gold hearts instead of resistance.
• Added TempArmor class - Self explanitory
• Changed bottlebending permission from bending.ability.WaterReturn to
bending.ability.Bottlebending
• Fixed syntax when removing elements from youself
* More EarthArmor Changes
• Made the amount of gold hearts that EarthArmor gives configurable
• Changed default EarthArmor description
• Removed EarthArmor config options that are no longer used
• Converted more ConcurrentHashMaps to be generic map types
• Added new message for failing to bind abilities when the user doesn't
have the required subelements
• Fixed PhaseChange not reverting melted ice
• Fixed LavaFlow not creating lava under double plants
• Fixed double plants dropping items when used as water sources
* Fixes NPE with surge wave & bottles
* Fixed bracket :S
For some reason it PR'd my bracket and code separate? Weird.
* Changed dayfactor placement so that it's correct with avatar state factor
* Added config option for Bending Preview
• Fixed binds being removed when non-ops relog
• Fixed Lavaflow destroying plants and flowers
• Fixed Bloodbending being spammed
• Fixed Bloodbending being able to bloodbending grouped players
• Fixed Bloodbending in the AvatarState from going haywire
• Fixed Bloodbending having no default cooldown
• Fixed PK Side Plugins (Items, Probending) from showing up in the wrong
place in the debug file
* Various Fixes
• Added Java version to debug.txt file
• Added Probending to the debug.txt file (and added PB methods)
• Changed layout of debug.txt file
• Fixed AddonAbilities with the same name as Stock abilities always
being disabled
• Fixed AcrobatStance and WarriorStance effects still being applied when
the user is no longer a chiblocker
* Changed all ConcurrentHashMaps to use generic map types
• As the title says, it's an attempt to fix a Java 7/8 error in
ConcurrentHashMaps. All Maps are still concurrent but their type is just
a generic map, not a concurrent one.
• Fixed FireBlast damage being slightly off
* Fixed Java 7 Compile Errors
* Lots of Fixes
• Added 1.9 and 1.10 particle effects
• Fixed Particle Effect version from being wrong
• Fixed {ability} not being replaced when trying to bind non-existent
move
• Fixed permremoving command not sending a message to the executor
• Fixed remove command sending user 2 remove messages if they removed
their own bending
• Fixed who command not replacing {target} in message for players that
aren't found
• Fixed Chat prefixes not being in the language file
* Fixed Chat Prefixes
• Fixed chat prefixes from not generating in language.yml file
• Added Nonbender prefix
* Fixed Waterbending Bugs
• Fixes waterbending getting a super far away source when selecting
under water
• Water from Bottlebending now shows bubbles when under water
* Fixed WaterWave & WaterManip Bugs
• Fixed WaterManipulation disappearing when the player taps shift
• Fixed being able to use current WaterManips as sources for other
WaterManips
• Fixed WaterWave being able to use more sources while spinning around
the player
* OfflinePlayer lookup fix + IceWave DeathMessage
• Fixed IceWave not having a death message
• Fixed /b who not working on offline players
* Fixed bad english ;-;
* Changes + Fixes
• Added Properties.TogglePassivesWithAllBending config option (whether
passives should be toggled when bending is toggled globally)
• Changed chat prefixes
• Re-enabled WarriorStance
• Fixed IceBlast being removed when pressing shift
• Fixed IceWave and IceBullet from having the wrong colored death
messages
• Fixed not being able to select ice and plants as sources for
WaterManip
• Fixed help command showing hidden abilities (WaterReturn, etc)
• Fixed WaterManip turning ice sources to air
• Fixes disabled abilities still being able to be bound (some) and used
• Fixes Torrent flood issue with bottlebending
• Fixed Combos not being able to be disabled
• Updated all commands to treat subelements as elements in certain
circumstances (add, remove, etc)
• Updated tabbing with bug fixes
• Database will now update player's subs when they log in for the first
time (post update)
• Removed "SubElementAdded" field from config
• Fixed /b choose not taking aliases
- Changed BindChangeEvent call spot
- Changed subelements to be stored in database
- Changed choose command to accept subelements as an argument
- Changed add command to accept subelements as an argument
- Changed all canBend<SubElement> methods
- Added PlayerChangeSubElementEvent
- Added saveSubElements() method to GeneralMethods
- Cleaned up imports in various classes
- Removed print out in damagehandler
Added a language.yml in which almost every message in the plugin can be
found. I moved the move descriptions, and death messages to that file,
so the deathmessages.yml has been removed, because it has nothing in it
anymore.
- Added two new config options, Residence.Respect and Residence.Flag (in
the according spot)
- Residence.Respect will respect if true
- Residence.Flag specifies the flag that needs to be set to true for
bending to be enabled in a residence.
- Is put in isRegionProtected methods