• Hello Guest! Did you know that ProjectKorra has an official Discord server? A lot of discussion about the official server, development process, and community discussion happens over there. Feel free to join now by clicking the link below.

    Join the Discord Server
ProjectKorra (Core)

ProjectKorra (Core) 1.9.2

Additions
  • Adds support for Minecraft 1.17!
    • No new features have been added to take advantage of the new 1.17 content. This release is purely just a port of 1.9.1 that can support Minecraft 1.16.5 and 1.17.
  • Adds vanished player support to the /pk who <Player> command.
    • Should work with most common vanishing plugins, tested using Essentials vanish.
    • Affects /pk who and /pk who <Player>.
  • Adds new "Abilities.Earth.EarthSmash.Lift.Knockup" configuration option to control the velocity applied to players standing where an EarthSmash is created.
  • Adds new "Abilities.Earth.EarthSmash.Lift.Range" configuration option to control the range in which entities need to be standing in relation to where an EarthSmash is created to get the Knockup applied.
Fixes
  • Fixes players sometimes "falling through" their EarthSmash if they try to create it underneath themselves.
    • Reduces the overall push so it feels more natural.
    • Expands the push radius so it can affect entities within one block of the location.
  • Fixes IceWave activating sometimes when PhaseChange wasn't clicked.
  • Fixes IceWave users getting stuck on their ice midair.
  • Fixes the display command showing hidden combos and passives.
  • Fixes an error caused by adding attribute modifiers to abilities sometimes.
  • Fixes an error preventing the plugin from working on Minecraft 1.17.
    • ClassDefNotFoundError resulting from EntityHuman being moved during the 1.17 Minecraft update. We no longer rely on NMS for this area as a proper API has been introduced. As such, GeneralMethods and EarthArmor have been updated to reflect these changes.
Additions
  • Adds a built-in bending board sidebar to visualize bound abilities and cooldowns.
    • The board respects worlds where bending is disabled.
    • Players can use the command `/pk board` to toggle the visibility of their board.
    • Includes an API that community developers can use in BendingBoardManager.
    • Adds the "Properties.BendingBoard" config option to enable or disable the board server.
    • Adds language file configuration options to control BendingBoard visuals.
      • "Board.Title"
        • Controls the title at the top of the board.
        • Supports the standard Minecraft color codes.
      • "Board.SelectionPrefix"
        • Controls the prefix shown corresponding to your current hot bar slot.
        • Supports the standard Minecraft color codes.
      • "Board.EmptySlot"
        • Controls what is shown for empty slots.
        • Supports the standard Minecraft color codes.
        • `{slot_number}` can be used as a placeholder for the slot number.
      • "Board.MiscSeparator"
        • Controls the separation between hot bar binds and temporary cooldowns such as Combos.
        • Supports the standard Minecraft color codes.
  • Adds support for KingdomsX version 1.10.19.1
  • Adds ability permission check to passive abilities. They should now respect their bending.ability.<ability name> permissions.
  • Adds AbilityVelocityAffectEntityEvent
    • A cancellable event that will fire whenever an ability would alter the velocity of an entity.
  • Adds the Abilities.Earth.EarthSmash.Shoot.CollisionRadius configuration option
    • Sets the collision radius of shot EarthSmash.
Fixes
  • Fixes FireBlast going through liquids.
  • Fixes duplication involving waterlogged containers.
  • Fixes being able to not enter the name of a Preset when using the /pk preset create <name> command.
  • Fixes getDayFactor() not being applied correctly and occasionally producing the wrong value.
  • Fixes a rounding issue with some Fire ability damage configuration options.
  • Fixes an error when attempting to start EarthGrab.
  • Fixes PhaseChange error when melting snow.
  • Fixes a memory/process leak in how cooldowns were removed.
    • A player's cooldowns could only be removed when they were online. If a player's cooldown expired while they weren't online, their cooldown would attempt to revert every tick until the player rejoined. This has been resolved so cooldowns can revert while a player is offline.
    • A side effect of this fix is that it is now possible for PlayerCooldownChangeEvents to fire while their corresponding Player is offline.
  • Fixes an issue with MultiAbilityManager#hasMultiAbilityBound where it would return true if any MultiAbility is bound, not if the specified MultiAbility was bound.
Misc Changes
  • Updates Towny version to 0.96.2.0
  • DensityShift sand blocks can now be used as a bendable source.
  • Changes AvatarState so that its cooldown is applied when the ability ends instead of when it starts.
  • Changes togglable abilities such as AvatarState, Illumination, and TremorSense to visually show when they are enabled in the BendingBoard and on BendingPreview in the same way as the ChiBlocking Stances.
  • Updated the text of some ability descriptions and instructions.
  • Adds new cache to PhaseChange to greatly improve the performance of water/ice updates.
The Blue Fire Update
The long awaited update is finally here! Thank you to everyone who contributed to this update. There are a lot of new cool features for players & server owners to enjoy! This update is for Spigot versions 1.16.1 and above!

Additions
  • Adds Blue Fire SubElement. Given via the add command and the `bending.fire.bluefire` permission.
    • Changes the visual elements of fire abilities to use their soul fire equivalents. Also, it adds related damage, cooldown, and range modifiers for configuration if server owners want to buff ability attributes. Addon developers can not make blue fire exclusive moves too if they want!
  • Adds Sticks, Sponges, and Chorus Fruit to cookable HeatControl items.
  • Adds Smoker, BlastFurnace, and extinguished Campfires to blocks which FireBlast can light.
  • Adds new TempBlock constructor which takes in a long revertTime parameter
  • Adds new blocks to block lists in configuration
    • Adds new nether plants to plantBlocks list
    • Adds new earth blocks to earthBlocks list
  • Adds new methods to GeneralMethods involving armor Material checks.
  • Adds Surge interactions with Lava
    • Surge Wave and Surge Wall will both cause Lava to turn into TempBlock Cobblestone / Obsidian
    • Enabled via the new Abilities.Water.Surge.Wave.SolidifyLava.Enabled and Abilities.Water.Surge.Wall.SolidifyLava.Enabled config options. They both default to true
    • Duration of the created TempBlocks is set via the new Abilities.Water.Surge.Wave.SolidifyLava.Duration and Abilities.Water.Surge.Wall.SolidifyLava.Duration config options. They both default to 36000
  • Added boundaries to Levelled block data in GeneralMethods#getWaterData() and GeneralMethods#getLavaData() to avoid future bugs
Fixes
  • Fixes AvatarState buffs overriding day related buffs for firebending.
  • Fixes Blaze not going up hills, going through walls (mostly), jumping gaps.
  • Fixes Furnaces and related blocks not smelting after being activated by FireBlast
  • Patches AirBlast same origin & destination erroring.
  • Patches PhaseChange duplication glitch
  • Patches EarthGrab duplication glitch
  • Fixes invalid preset name throwing NPE
  • Fixes ChatPrefix not correctly displaying Avatar for those w/ multiple elements.
  • Fixes the /pk debug command causing ClassNotFoundException and NoClassDefFoundError due to missing hook dependencies in the compiled jar.
  • Fixes TempArmor duping glitches
  • Fixes DensityShift turning non-full blocks into Sand causing the player to get stuck in the ground. Now it will still prevent fall damage on non-full earthbendable blocks but will not turn them to Sand.
  • Fixes EarthDome and potentially other combos from not respecting their Enabled config option
  • Fixes players with usernames the same as ability names getting incorrect cooldowns applied.
  • Fixes the server loading the legacy Material API when a player used TremorSense
  • Fixes AirBlast, FireBlast, and AirSwipe going through walls
  • Fixes FireBurst not doing damage.
  • Fixes GeneralMethods#dropItems not checking for invalid drops.
Removals
  • Removes smoke particles from Fire bending to increase visibility and better emulate the show.
Misc. Changes
  • Changes API versioning to 1.16.1
  • Fire from Firebending no longer reverts all at once.
  • Changes Combustion animation to be more beam-like rather than a rehash of FireBlast.
  • Changes Add, Remove, Display command to properly display space for Blue Fire.
  • Changes ElementalAbility#isFire() to check for SOUL_FIRE_FLAME.
  • Changes FireAbility#isIgnitable() to check whether fire can be placed at that location rather than solely based on flammability.
  • Changes firebending abilities to use FireAbility#playFirebendingParticles() & FireAbility#createTempFire() where applicable.
  • Changes FireAbility#playFirebendingParticles() to play blue fire particles when player has the BlueFire subelement.
  • Changes Water abilities that require sources to deactivate if their source is destroyed after selection occurs but before the ability starts
  • Changes AirSuction origin selection to remove if the player gets too far away
  • Changes AirSwipe streams to be independent of one another (i.e. one hitting a wall won't cause them all to stop)
  • Reduces the default collision radius of AirSwipe and prevents entities from getting hit through corners
  • Reduce collision radii for most abilities.
For Spigot 1.14.4 to 1.15.2
  • 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 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 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 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

* 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)
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 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!

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 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.
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. Requires Servers to define `server-name` in their server.properties 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.
Removals
  • 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.​

Additions:
- 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 README.md 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.

Fixes:
- 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)

Changes:
- 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.

Recodes:
- 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.​

Removals:
- 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.
Additions
  • 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.
Top