ProjectKorra (Core)

ProjectKorra (Core) 1.8.9

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
General Notes (IMPORTANT!)
  • Due to the Spigot 1.13 update, internal names of block and item types have changed. Consequently, server owners should regenerate their configuration files to avoid errors. The main issue is the earth bendable blocks list in the config, several of the materials on the list had name changes and one is now a whole other type itself.
  • Failure to change config values (or delete the file so they can generate new defaults) will cause noticeable gameplay problems. It is the owner’s responsibility (or whoever is responsible) to take the necessary actions to avoid such problems.
  • If any errors present themselves when switching from PK on 1.12 to PK on 1.13, the first course of action needs to be to reset the config.
1.13 specific development changes

  • Changed the ParticleEffect API to make use Spigot’s Particle API. ParticleEffect values that had the same Particle value had any duplicates deprecated for future removal, leaving names that matched their Particle values. If you are an addon developer and use particles it will need to be updated.
  • A bug was fixed with database cooldowns, server owners will need to delete the pk_cooldowns table to properly apply this fix
  • Many Material types changed, updated references and config defaults to be accurate. Changed all uses of MaterialData to BlockData (which replaces the former in Spigot)
  • Added a new method, ElementalAbility#isWater(BlockData), checks for Waterlogged blocks primarily. Seagrass and Kelp block types are also added because they inherently have water and cannot exist without it, and also are not Waterlogged
  • Added a boolean parameter to GeneralMethods#isAdjacentToThreeOrMoreSources(Block), passing in true will check for lava source blocks, passing in false will check for water source blocks.
  • The method GeneralMethods#isAdjacentToThreeOrMoreSources(Block) still exists, and checks for water.
  • Maven setup was changed to properly use repositories with applicable dependencies. It is also possible to specify the jar output location with -Ddir=<directory>
  • With the addition of two new types of air blocks, a new methods for checking if a block is any air type was added, ElementalAbility#isAir(Block)
  • If a move throws an error while progressing, the user of the move will be notified and the full object for the move and player will be printed in console for easier debugging
Gameplay Changes

  • Using ice created by the Torrent ability as the source for Torrent, Surge, and WaterWave will now cause all the ice created by the same Torrent instance as the selected block to also revert when used. This is a test of this feature which can later be applied to other large-scale abilities that create ice blocks.
  • MetalClips now allows the user to throw the controlled entity at any clip amount, and will no longer reset when switching targets
  • Added configurable sitting animation for AirScooter, false by default
  • Added configurable gliding animation for FireJet, false by default
  • Added configurable dynamic cooldown for AirShield, any unused duration is removed from the cooldown, false by default
  • Improved EarthBlast and IceSpike targeting, won’t run into itself
  • WorldGuard dependency was updated, version 7.x required. ProtectionStones support removed until 1.13 update for that plugin. Support for the Factions plugin made by MassiveCraft was dropped as it is unclear if they will be updating to 1.13 and beyond. Support for FactionsFramework was added as a replacement. Added region protection checks for the PlotSquared and RedProtect plugins
  • Added core combo instructions to config
  • Lavaflow will now interact better with raised earth and shockwave, no longer leaving messes
  • A large number of moves have been updated to properly check for protection or if bending invincibility is toggled
  • Avatar title in chat will now require Earth, Air, Fire, and Water added, or the permission bending.avatar given
Hello everyone, I am happy to announce the release of ProjectKorra version 1.8.7!

It needs to be noted that this version of ProjectKorra is NOT made for Minecraft version 1.13 and most likely will not work on it.

That being said, this build has been exactly one year in the making. A lot of work has gone in to make it as stable as possible so big shoutout to the entire team! Let's look at some of the exciting new additions and fixes:

* 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 an accessor 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 that keeps the move running on the last earth block you were standing on
* 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

* Fixed “Abilities.Chi.Smokescreen.Instructions” spelling error in
* Fixed “Abilities.Water.Passive.HydroSink.Description” spelling error in
* Fixed “Commands.PermaRemove.Description” spelling error in
* Fixed “Extras.Fire.DayMessage” spelling error in
* 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 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 such as a cooldown of 0
* 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

* 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 to
* Reduced combo cleanup delay to one minute
* Improved IceSpike blast animation
* Improved code in
* 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

* Removed ImportCommand
* Removed AirSwipes capability to break blocks
* Removed metal ores (Iron, Gold, and Quartz) from the Earthbendable's list
* Removed and, 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)
  • 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.
  • 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 irrelevant after GeneralMethods.NON_OPAQUE was updated.

  • Removed Java 7 Travis-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.
Note: Not tested with 1.12.1. Most likely won't work!


  • 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 RaiseEarthnot 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.
  • 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. Requires Servers to define `server-name` in their file. Example: server-name=My Server

  • 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.
  • Removed the Minecraft version from the /pk version command.

  • Removed SandSpout.

  • Removed SandRun remnant from EarthPassive.

  • Removed AirBlast collisions with other basic moves.
Build Changelog:

- Updated to 1.12
> Tested backward compatibility with 1.11, should maintain compatibility with 1.10 and 1.9 as well.​

- Re-added Octopus Forms ability to freeze the water you walk on.
- Added missing descriptions and instructions for Paralyze and Rapid Punch.
- Added speed configuration option for Phase Change.
> Determines the speed at which Phase Change melts blocks.​
- Added Fire Manipulation. (Still a work in progress)
> Hold shift to draw a shield of fire that will protect you from oncoming attacks!
> After you draw that shield, click to fire them forwards towards your enemies!​
- Added a drop item configuration option for Earth Tunnel.
> Determines whether Earth Tunnel will drop items if Earth reversion is off.​
- Added angle configuration option to Catapult.
> Determines the max angle one can launch themselves at.​
- Added cancelWithAngle configuration option to Catapult.
> Determines whether an incorrect angle will cancel the move from happening as opposed to just correcting it.​
- Added additional melt functionality to Phase Change causing snow layers to melt one at a time.
- Added configuration options to customize elemental sounds.
> NOTE: Make sure you are only using sounds from your current game version! A list can be found here.​
- Added a proper to the ProjectKorra GitHub repository.
- Added unbindable message to the '/projectkorra bind' command.
- Added duration configuration options for JetBlast and JetBlaze.
- Added height and radius configuration options for FireWheel.
- Added speed configuration options for FireSpin and FireKick.
- Added 'add [player]' subcommand to the '/projectkorra add' command.

- Fixed various NullPointerExceptions.
- Fixed a typo in the description for Shockwave.
- Fixed Water Spout not working on Packed Ice.
- Fixed Surge and WaterArms not properly removing plant source blocks.
- Fixed Passives not enabling after toggling all bending with the '/projectkorra toggle all' command.
- Fixed Spectator players being targetted by bending abilities.
- Fixed ParticleAPI having the 'dragonbreath' particle and the 'endrod' particle swapped.
- Fixed potential lag caused by lighting updates in Shockwave.
- Fixed Illumination not functioning.
- Fixed Catapult being usable on non-earth blocks.
- Fixed ability collisions.
- Fixed odd selection range with snow blocks.
- Fixed Ice Blast not working with Phase Change ice.
- Fixed Bending Preview not displaying Multiability moves.
- Fixed Density Shift passive affecting lava.
- Fixed AllowNaturalFlow configuration option for Lava Flow.
- Fixed auto tab mistake in the '/projectkorra add' command.
- Fixed many nonfunctioning AvatarState moves/configuration problems. (Still in the works)

- Changed our metrics system from PluginMetrics to bStats.
> ProjectKorra's page can be found here.​
- Changed Earth Armor so that being paralyzed/hit by a Chiblocker immediately disables the ability.
- Moved all Combo's into their own respective classes.

- Recoded Water Bubble. (Still a work in progress)
> Very similar in behavior to the old version but much for aesthetically pleasing.
> Added a requireAir configuration option to stop people from creating air pockets underwater.
> Added a clickDuration configuration option to determine how long the click burst will last.​

- Removed Air Bubble
- Removed Firebending passive which allowed firebenders to extinguish themselves faster.
Resolved Issues
  • Removed "revert" message.
  • Fixes various issues with passives not loading/enabling (toggling elements, getting bloodbent, reloading the server).
  • Fixes HeatControl melting ice in an odd pattern.
  • Fixes abilities with no Usage message displaying an empty Usage tab in /b help <Ability>.
  • Fixes HeatControl and PhaseChange being usable in protected areas.
  • Fixes DensityShift dropping sand blocks when the sand is broken.
  • Fixes Bloodbending cooldown not being applied when the max hold time is reached.
  • Fixes PhaseChange ice blocks not being usable as source blocks.
  • Fixes various moves like Torrent, WaterArms, and Surge replacing water with air when they revert/select.
  • Fixes being able to use EarthGrab while in the air.
  • Fixes bending breaking when someone toggles their bending.
  • Fixes bug memory leak issues in Torrent, LavaFlow, and IceSpike.
  • Fixes addon abilities not being shown in /b display <Element>
  • Fixes internal error being caused by entering a subelement into /b toggle <Element>
  • Fixed error caused by /b who not being able to connect to the ProjectKorra site.
  • Fixes water abilities not selecting most plant sources correctly.
  • Fixes some Chi moves damaging targets twice.
  • Fixes tons of NullPointerExceptions.
  • Adds FerroControl to the passives list. (metal benders being to open iron doors)
  • Adds Branding config options.
  • Adds IceWave auto revert time config option.
  • Adds /b display passives, displays all passives you have access to.
  • Adds /b display combos, displays all passives you have access to.
  • Adds new Catapult.
    • Catapult now has 4 tiers of charged power. Each tier boosts you Catapult's height and speed. With the exception of clicking, each tier is denoted by a sound and particles.
      • Click (Tier 1)
      • Sneak (Tier 2 / 4)
        • The 4th tier will automatically use the move.
Known Issues
  • Water Manipulation and Surge cannot use bottlebending.
  • Water is a little more "flowy" than it should be.
Introducing ProjectKorra 1.8.2!


@Coolade has completely reworked the ProjectKorra ability collision system and has made it possible for you to customize what abilities interact with one another. This means addon developers can customize their abilities collisions with stock moves and even create new events that occur when moves collide!

@Sobki created a new Passives API to match our Combo API. This means that addon developers will be able to easily create passive ability addons and we will be able to implement your passive ability suggestions! Passives have names and descriptions to help users. Additionally, passives are given by default but they can be removed via permission node.

EarthArmor will now reflect Stained Clay colors in its appearance and has a new Max Duration config option.

Torrent Ice, Surge Ice, and Ice Wave now have configurable timed revert options.

Flight now has a Cooldown config option and a Max Duration time config option.

AvatarState now has config options for the buff it applies to each Ability variable. Shoutout to @Loony

The bending help command now displays a usage message for all moves with a brief instructions of how to use the move in addition to the old move descriptions. Shoutout to @Loony

Added Kingdoms Support.

As many of you know, PhaseChange was one of the largest processes in ProjectKorra. This was due to a lot of faulty design that went into the original. @Simplicitee has completely reprogrammed the move from scratch to add new functionality and to make it much more efficient. Some of the biggest changes made to PhaseChange are the new thaw mechanic and freeze mechanic. Thawing is no longer instantaneous, instead, ice will gradually melt outwards from a center point. As for freezing, the ice generated by PhaseChange will only cover the outermost layer of water by default. The amount of layers can be changed in the config.

HeatControl has been completely reprogrammed by @Sobki to add new functionality and to make the move much more efficient. Cooling now spreads out initially as magma and then cools to stone or cobble.


Fixed WaterManipulation having the ability to select other water moves.
Fixed BottleBending issue which resulted in players being unable to waterbend.
Fixed issues with QuickStrike, SwiftKick, RapidPunch, and Immobilize.
Fixed FireWheel and AirSwipe being stopped by snow on the ground.
Fixed being able to go insanely fast with AirScooter via auto-run.
Fixed gold tools / weapons not being considered weapons in the "CanBendWithWeapons" config option list.
Fixed Combos being able to be used with weapons when "CanBendWithWeapons" was set to false for that Element.
Fixed EarthTunnel not reverting snow and plants.
Fixed EarthTunnel being able to "tunnel" through lava.
Fixed EarthTunnel removing earthbendables under snow without removing said snow.
Fixed LavaFlow incorrectly setting Double Plant blocks to air.
Fixed LavaFlow lava becoming permanent after a reload.
Fixed LavaFlow spawning particles on non-earth materials.
Fixed Flight getting a huge speed increase if you sprint.
Fixed being able to enable more than one stance.
Fixed various IllegalArgumentExceptions throughout the plugin.
Fixed various NullPointerExceptions throughout the plugin.
Fixed BloodBending's odd behavior when moving selected entities.
Fixed the bind command not catching second arguments that are not numbers.
Fixed WaterArms spear not work correctly when the "Sphere" config option is set to 0.
Fixed the red "null" message appearing when binding an ability whose element is toggled.
Fixed DamageHandler firing EntityDamageByEntityEvent an incorrect number of times and sets the cause of said event correctly.
Fixed HealingWaters being able to duplicate water bottles.
Fixed AirShield not properly blocking FireBlast, EarthBlast, and WaterManipulation.
Fixed various ability descriptions not using generic control names.
Fixed AirSwipe not properly respecting its cooldown.
Fixed BottleBending behavior which resulted in a bender not being able to bend.
Fixed Immobilize not being activated correctly.

Fixed SubElement moves not displaying the proper death message.
Hey you? Yeah you! What do YOU think WE here at ProjectKorra should work on next? Give a shoutout in the comments!
Hey, everyone! As promised in our last update here is a shiny new build! I know it may be a tad confusing but in order to maintain consistency between all our plugins we are going to be changing how we display version numbers for core. We will be using this format <Breaking Version>.<Major Version>.<Minor Version> For instance, this build is the first minor build of the 1.8 major release so it can be written as 1.8.1. This build takes care of a lot of issues and errors we found in the 1.8.0 release so I highly recommend you update to it ASAP. In addition, this build contains a few cool new changes that we hope you like! Be sure to comment the feature you like the most!

  • Fixes Spout movement
  • Fixes Tremorsense click ability activating constantly
  • Fixes SandSpout canceling flight on deactivation
  • Fixes Combos being executed too soon

Fixed Errors:
  • Fixes server crash caused by Nan velocity in MetalClips
  • Fixes IllegalPluginAccessException in HeatControl
  • Fixes IllegalPluginAccessException in LogFilter
  • Fixes IllegalArgumentException on setHovering() in AirFlight
  • Fixes IllegalArgumentException ParticleEffect.WATER_BUBBLE in Torrent
  • Fixes IllegalArgumentException when checking the distance between two locations
  • Fixes NullPointerException isAdjacentToThreeOrMoreSources() in GeneralMethods
  • Fixes NullPointerException on thaw() and remove() in SurgeWave

  • /bending help auto tabbing displays combos you have access to, not all of them
  • Particles are now only visible within the entity rendering radius

New EarthArmor
  • EarthArmor gives Absorption rather than Resistance and dampens fire damage!
  • Your EarthArmor remains on you until you either disable it manually by Shift-Clicking on your bound slot, or until you run out of absorption hearts. It does not time out on its own.
  • The color of your EarthArmor depends on the blocks used to source it!

New HealingWaters
  • HealingWaters can now be used outside of water if you have a bottle in your inventory.
  • To use you begin shifting in water or with a bottle in your inventory after the blue particles appear and begin circling around you, you will begin to be healed. At this point, you can right click entities within range to transfer the healing waters to them. You must continue to look in the general direction of your target for them to keep healing them. You can right click your current target again to deselect them and return the waters to yourself. Important note: Healing does not occur while the water is in transition from target to target, only once the healing particle effect begins.

New EarthGrab
  • In order to EarthGrab your target, shift and click on them. Alternately, look down and click the block you are standing on to EarthGrab yourself.
  • Fancy new particles as your EarthGrab goes to your target!

New AirScooter
New Look!
  • AirScooter now displays as a ball like in the show!

New LavaFlow
  • You can now select ceilings as well as floors to turn to lava! Keep in mind that this gif shows the feature with the AllowNaturalFlow option set to true to rain lava down on your enemies!

Known Issues:
  • As many of you know PhaseChange has been causing lag on a lot of servers. We are currently working to resolve this issue but felt we should stay on schedule and release this beta anyways. Expect a fix in the next build!
Hello everyone! The long awaited 1.8.0 Stable build for MC 1.9.0 and 1.10 is finally here! I would like to personally apologize for the fact it has taken so long to get to this point. We have gone through a lot to make this build as perfect as possible, it focuses almost entirely on fixing issues that were deep rooted in ProjectKorra and loads of performance issues. There were so many bug fixes that we just couldn't fit them all in the changelog! In addition to that, we also focused a lot of our attention on improving the API of ProjectKorra and adding tools addon developers can use. We have entirely refactored our Ability systems, Element system, and even parts of our Command systems. Please see our updated Javadocs for an in-depth view of the changes to these systems (

It is important to note that due to massive changes in Configuration systems, such as adding language support, you MUST delete your old config files and regenerate them! As stated above, we might have missed some fixes or added features in the changelog, if we find any I will go back and edit them in, as well as post a comment saying so.

General Additions / Changes:
• /bending debug changes
/bending debug output has been changed for readability. Instead of outputting abilities in the order they're loaded, the command now outputs them alphabetically, first stock and then unofficial.
Added server's Java version to the debug file.
Added Probending, Items, and Spirits to the debug file.​
• Combo Changes
Combos are now displayed in /b display Fire/Water/Earth/Air/ChiCombos.
How to use a combo is now displayed in /bending help ComboName.​
• GeneralMethods changes
Added GeneralMethods.getComboColor() - returns ChatColor.
Added GeneralMethods.getComboElement() - returns Element.
GeneralMethods.getAbilitySubElement() - Returns the sub element of the ability specified if it has one.
Main element can now be gotten from subelements via subelement.getMainElement().
Elements and SubElements now contain methods to get their correct ChatColor.
Elements and SubElements are better integrated as they should be for Developers allowing them to create and add their own.
Added a catch for nonexistent commands and help topics. Refers the command sender to /bending help instead of not displaying a message at all.​
• /bending help changes
Added /bending help check.
Added /bending help debug.
Added /bending help presets.
Added /bending help avatar.​
• Grappling Hooks have been removed.
These will be added to ProjectKorra (Items)​
• /bending display changes
Subelement abilities are now sorted alphabetically.​
• Output for MySQL / SQLite connections cleaned up.
• Updated JavaDocs on website (
• Accessing ability instances using the getInstances() method is now much faster.
This should also have significant performance increases for both ProjectKorra Core and Items plugins.​
• Improved ComboManager efficiency
ComboManager was causing immense lag if a server stayed online for a large amount of time. Now the ComboManager has had performance improvements.​
• Commands class rewrite
• Removed TagAPI config option
• Broken addons will no longer break the plugin.
The addon itself will be unloaded and disabled and the plugin will still continue to work.​
• Players in spectator mode will be unaffected by bending and will be unable to bend.
• Major config rebalances.
If you would like these default config rebalances it is required that you delete your current config and let the server regenerate another.​
• Reworked DeathMessages and added combo support.
• Added Avatar ability support to DeathMessages.
• Added specific element toggling.
• Added Avatar option to the display command.
• Added velocity damage specific death messages.
• Added AutoTabbing to all commands.
• Changed Add command arguments.
Now requires /bending add <element> <player>​
• Added sourcing list to the config.yml for each element.
• Added accessor and mutator for ability cooldown in PlayerCooldownChangeEvent.
• Added cooldown configuration options for various moves.
• Reworked /bending who visuals.
• Added pages to /bending who and /bending help.
• Added a 30 second timeout on Updater.
• Added removing a specific element in /bending remove.
• Added bending.admin.toggle permission to toggle elements of another player.
• Recoded DynamicSourcing to use better sources.
• Added isEarth(block) method to replace isEarthbendable(material), returns true if the block is in Earthbendables config list.
• Added isEarthbendable(block), returns true if the block is on the Earthbendable, Sandbendable, or Metalbendable config lists.
• Added reloadPresets(player) method.
• Added presets.yml.
Added /bending preset bind <PresetName> <player> to bind a preset from the presets.yml file to a targeted player.
Added "bending.command.preset.bind.assign" permission to allow to bind their presets onto another player.
Added "bending.command.preset.external" permission to allow players to assign themselves presets.
Added "bending.command.preset.external.other" permission to allow players to assign others presets.
Added loadExternalPresets method.
Added bindExternalPresets method.​
• Added pages to /bending help/who commands.
• Added /bending copy <player> <player> to copy a players binds onto yourself or to another player.
Added "bending.command.copy" permission to copy somebody elses binds.
Added "bending.command.copy.assign" permission to copy somebody else's binds onto another player.​
• Added BendingPreview.
BendingPreview shows you which binds you have bound on your hot bar when you scroll past them.​
• Added various events.
Added BindUpdateEvent.
Added AbilityDamageEntityEvent.
Added AbilityStartEvent.
Added AbilityEndEvent.
Added BendingPlayerCreationEvent.
Added CooldownChangeEvent.​
• Added support for custom elements / sub-elements.
• Added config option for velocity damage to be triggered by barriers.
• Added resistance support.
• Added DamageHandler.
• Added language.yml file.
This meant that we removed the ability descriptions from the config.yml and are no longer using the deathmessages.yml - all this information is now stored in languages.yml. You may need to regenerate your config.yml.​
• Added support for Spirits plugin.
• Added SubElements to the database.
• Added SubElement compatibility to the add, choose and remove command.
• Added config options to enable/disable individual combos.
• Cleaned unused ConfigManager variables.
• Cleaned unused BendingManager methods.
• PlayerBendingDeathEvent changed to EntityBendingDeathEvent and now recognized entity PlayerBendingDeathEvent triggers when an entity is killed by bending fire.
• Changed /bending help to only show the commands you have access to.
• Added PlayerJumpEvent.
• Added snow methods to ElementalAbility and BlockSource.
• Added SNOW enum value to BlockSourceType.
• Added check for if snow isWaterbendable.
• Added AbilityProgressEvent.
• Added new clicktype, LEFT_CLICK_ENTITY.
• Added 1.9 / 1.10 particle effects to the particle effect library.
• Added Essentials Chat support for Prefixes
• Added Properties.TogglePassivesWithAllBending config option which determines whether passives should be toggled when bending is toggled globally.
• Added Maven support.​

Airbending Additions / Changes:
• Added new config option for AirBlast
CanFlickLever (Whether AirBlast flicks lever).
CanOpenDoors (Whether AirBlast opens doors).
CanCoolLava (Whether AirBlast cools lava).​
• AirSpout will no longer disable on right click
• New config option, Properties.Air.WallDamageCap
Sets the maximum damage caused by WallDamage.​
• WallDamage is now canceled by mobility moves, such as FireJet.
• Removed Suffocate locking up player controls.
• AirShield now puts out fire within its radius.
• Added RemoveAroundPoint methods to AirBlast and AirSuction.
• Fixed velocity damage damaging on incorrect block faces.​

Bug Fixes:
• Fixed a bug where AirSweep (Combo) went through walls.
Also fixed AirSweep going through blocks.​
• Fixed a bug where AirBlast could flick levers in protected regions.
• Fixed AirShield blocking incorrect moves.
• Fixed AirScooter being activated in water.
• Fixed AirShield not blocking water and air abilities.
• Fixed AirSwipe stopping when it hit a non-living entity.
• Fixed Suffocate canceling all shift events.​

Waterbending Additions / Changes:
• BloodBending changes
Added a CanBloodbendOtherBloodbenders option for Bloodbending in the config.​
• Waterbender's will no longer take fall damage from ice.
• All WaterArms moves are now enabled by default.
• BloodBending during full moons is now enabled by default.
• Changed IceBendingSound to play more quietly so it isn't as intense.
• Added BloodBending SubElement permission node.
• Added bubbles to moves when used underwater.
• Added config options for Ice and Plant source lists.
• Added cooldown config option to IceSpike.
• Added ShiftRequired config option to HealingWaters.
• Added config option for Torrent's multiple hit damage.
• Added config option for how many times Torrent can hit.
• Added more ice between the player when using OctopusForm on water.
• PhaseChange now melts ice from WaterArms (Spear).​

Bug Fixes:
• Fixed a bug where WaterManipulation would stop moving mid-air if the player switched slots while WaterManipulation was firing.
• Fixed WaterWave click bugs.
• Fixed IceBlast's DeathMessage.
• Fixed IceBullet's duration.
• Fixed Octopus spelling error.
• Fixed issue with water TempBlocks.
• Fixed WaterSpout not working on packed ice.
• Fixed WaterArms (Spear) going through ice.
• Fixed issues with PhaseChange randomly not working.
• Fixed Torrent's multiple sourcing.
• Fixed WaterManipulation turning ice into water.
• Fixed being trapped in ice when using OctopusForm under water.
• Fixed using double plants for a source glitching out.​

Earthbending Additions / Changes:
• Earthbender's will now take damage on ALL non-bendable blocks.
• Reworked LavaFlow's particles.
• Added Quartz Ore to default EarthBendable blocks list.
• Added ShiftModifier config value for Catapult.
• Added isMetalbendable method in EarthMethods.
• Added GrabRange config option to EarthSmash.
• Added SelectRange config option to EarthSmash.
• Added support for slabs to be an earth source.​

Bug Fixes:
• Fixed EarthSmash not working in AvatarState.
• Fixed Earth moves not respecting damage values.
• Fixed MetalClips dropping incorrect armor pieces.
• Fixed EarthSmash messing up when used with metal blocks.
• Fixed EarthSmash's select range.
• Fixed EarthRevert dropping blocks.
• Fixed Earth TempBlocks dealing damage.
• Fixed Extraction not being a metal ability.
• Fixed LavaFlow not removing double plants.
• Fixed Shockwave affecting liquids.
• Fixed Sand/Gravel temp block issues.​

Firebending Additions / Changes:
• FireBlast changes
Changed config option "Power" to "ExplosionRadius" for charged FireBlasts.
Added new config option "DamageBlocks" for Charged FireBlasts.
Charged FireBlasts can now set fire to more than one mob.​
• New config option, Properties.Fire.FireGriefing
This will stop / enable fire from griefing terrain.​
• New config option, Properties.Fire.RevertTicks
This will determine how long it takes fire to revert.​
• Reworked fire particles for FireBlast and Combustion.
• FireShield now puts out fire within its radius.
• Illumination now activates automatically like Tremorsense.​

Bug Fixes:
• Fixed an issue where setting's FireBlasts explosion radius to 0 would still destroy blocks.
• Fixed a bug where fire would return after 60 seconds of the fire being removed.
• Fixed an issue where fire would go through glass panes.
• Fixed FireShield blocking incorrect moves.
• Fixed FireJet not working on slabs.
• Fixed Illumination torch duplication.​

Chiblocking Additions / Changes:
• Re-enabled WarriorStance.
• Added WarriorStance and AcrobaticStance effects to show when they are active.
Added a different look in bending preview.
Added Sounds​

Bug Fixes:
• Fixed display color of /bending help ChiCombo.
• Fixed ChiCombos not appearing in /bending help ChiCombo.
• Fixed Chi Block Stance configuration options.
• Fixed SmokeScreen ignoring cooldowns.
• Fixed ChiBlockers not taking fall damage.
• Fixed being able to use SwiftKick on the ground.
• Fixed SwiftKick cooldown.
• Fixed Immobilize.
Fixed Immobilize permission.
Fixed Immobilize cooldown.​

General Fixes:
• Fixed errors when the plugin is loaded while the website is offline. (Updater will no longer throw errors if is down)
• Fixed right clicking on a block canceling bending.
• Fixed a variety of memory leaks.
• Fixed a bug that caused ProjectKorra to conflict with nickname plugins.
• Fixed bending in spectator mode.
• Fixed various moves causing paralysis.
• Fixed various NPE's.
• Fixed presets not saving properly.
• Fixed staff tags not displaying in /b who.
• Fixed various issues with commands.
• Fixed offline /b who look up.
• Fixed various command argument issues.
• Fixed debug permission message.
• Fixed the clear command not accepting numerical arguments.
• Fixed MultiAbilities not supporting AvatarAbilities.
• Fixed OPs not having all bending permissions.
• Fixed various fly glitches.
• Fixed element aliases.
• Fixed prefixes showing "null" for players who didn't have an element.
• Fixed armor moves dropping upon death.
• Fixed PlayerChangeCooldownEvent to return the correct cooldown.
• Fixed players appearing offline on /bending who look up when they aren't.
• Fixed presets being broken.
• Fixed various preset issues.
• Fixed ComboManager ClickTypes.
• Fixed a bug where passives would work in disabled worlds.
• Fixed disabled abilities still being able to be bound.
• Fixed various config bugs.
• Fixed spouts not being broken by their correct moves.
• Fixed an issue that caused addon abilities of the same name to not load.​

Congrats, you read the whole log! Post your favorite change in the comments!