## Additions
* Implements the Attribute annotation for all applicable fields in every ability class (some abilities have multiple classes)
## Fixes
* Fixes FireShield not dealing firetick (options weren't set as defaults in the config)
## Removals
* Removes all RPG references and the ProjectKorraRPG.jar from the libs folder in the project and as a maven dependency
* Removes all Items references and the ProjectKorraItems.jar from the libs folder in the project and as a maven dependency
* Removes all Spirits references and the ProjectKorraSpirits.jar from the libs folder in the project and as a maven dependency
## Misc. Changes
* Changes various config options and field names to be more self-explanatory
> * In AirStream: `EntityHeight` and `EntityDuration` were changed to be `EntityCarry.Height` and `EntityCarry.Duration` (also changed in AvatarState portion)
> * In IceSpike: `SlowPower` was changed to `SlowPotency` (also in the Blast portion) and `Field.Push` was changed to `Field.Knockup`
> * In WaterSpout.Wave: `FlightTimer` was changed to `FlightDuration`
> * In Bloodbending: `ThrowFactor` was changed to `Knockback` and `HoldTime` was changed to `Duration`
> * In HealingWaters: `Power` was changed to `PotionPotency` and `HealingDuration` was removed
> * In Surge.Wave: `HorizontalPush` was changed to `Knockback` and `VerticalPush` was changed to `Knockup`
> * In Torrent: `Push` was changed to `Knockback` and `MaxUpwardForce` was changed to `Knockup`
> * In WaterArms: `Punch.PunchDamage` was changed to `Punch.Damage` and `Grab.HoldTime` was changed to `Grab.Duration` and `Spear.Sphere` was changed to `Spear.SphereRadius`
> * In WaterManipulation: `Push` was changed to `Knockback`
> * EarthSmash has been separated better into portions of `Flight`, `Grab`, and `Shoot`
> * In EarthSmash: `RemoveTimer` was changed to `Duration`
> * MetalClips has been separated better into portions of `Crush` and `Magnet`
> * In EarthPillars: `Power` was changed to `Knockup`
> * In Combustion: `Power` was changed to `ExplosivePower`
> * In FireBlast: `Push` was changed to `Knockback`
> * Added separate cooldown option for Charged FireBlast
* Changed some abilities constructor to allow Attribute system to work
## 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.
* 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
Updates WorldGuard depend version
Fixes NPE in EarthAbility reverting
Fixes NPE in PKListener when getting element prefixes
Fixes inconsistencies between commands
Adds getPrefix() Method to Element
Adds Items commands to /b help
- 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