ProjectKorra (Core) icon

ProjectKorra (Core) -----

Minecraft Reimagined - Master the elements from Avatar: The Last Airbender and The Legend of Korra




Additions

New Command /b temp
- Adds elements (and subelements) to players for a limited time!
- Players will be notified when they expire, and all their abilities bound for that element are removed
- Players who login after their element expired will be notified that it expired while they were offline
- Temporary elements display the time left in the /b who command
- /b temp add <player> <element> <time> - Adds an elements for a time
- /b temp remove <player> [element] - Remove a temp element
- /b temp extend <player> <element> <time> - Extend the time of a temp element, OR give it to them if they don't have it
- /b temp reduce <player> <element> <time> - Reduce the time of a temp element. Will remove it if the time is greater than the time left
- Example Usage: /b temp add StrangeOne101 blood 1h30m
- Adding the avatar element will add fire, water, earth, and air - NOT AvatarState or other OP abilities

New AvatarState
- AvatarState has been overhauled, and is more fun/useful than ever before!
- Can now activate automatically when low on health (Configurable via LowHealth.Enabled in the new avatarstate.yml)
- The ability must be bound to one slot on your hotbar!
- The health required and whether to prevent death is also configurable
- New particles! AvatarState has new particles for when AvatarState is active AND particles for when someone activates it
- New AvatarState sound
- Players in the AvatarState are immune to chiblocking! (Configurable via AvatarState.CanBeChiblocked in the new avatarstate.yml)
- Has a configurable option to make the player glow when in the AvatarState
- The cooldown now scales to how long the player was in the AvatarState
- Moves have been buffed a LOT again!
- The AvatarState can now buff EVERY ability! And is fully configurable! (Even for addons!)
- New avatarstate.yml config file
- Majority of AvatarState configuration is now done in this file!
- Potion effects in the AvatarState are configurable! You can add or remove any effect in Minecraft
- All values can be modified to be multipliers if you wish!
- Some examples: x2.0, +10%, +4, -1 (original value minus one, not 'set' to negative one)
- Or it can just be a "set" value, which will be set when AvatarState is on.
- All abilities will check for values in the following order
- 1. Abilities.<Element>.<Name>.<Attribute>. If not found, it will check
- 2. Abilities.<Element>._All.<Attribute>. If not found, it will check
- 3. Abilities._All.<Attribute>
- This means that even if an ability doesn't specify that Speed is x2, if Speed is set to x2.0 in the fallback for that element, it will use that instead
- This config will try migrate from your existing PK config
- This means the size of the normal PK config has also been reduced a lot!

Dynamic Firebending Light
- Firebending now has dynamic light! Light up the night with fire!
- Works async to prevent lag and uses packets to prevent world grief

Day/Night Factors
- Day and night factors have been redone for stability!
- Abilities will now shrink/grow in size/damage/etc when the daylight cycle changes for water and fire
- Now, no factors will be in play during dawn/dusk - giving a time where nothing if buffed
- Day/night messages will no longer appear at the same time
- New bending.water.nightfactor permission node. Defaults to true.
- New bending.fire.dayfactor permission node. Defaults to true.
- New bending.fire.bluefirefactor permission node. Defaults to ops.

Minor Changes
- Added PAPI %projectkorra_element_prefix% placeholder. Uses the defined prefixes from language.yml
- Reduced IceSpikeField sounds
- Extraction can now be used on Iron Golems
- Made extraction give a minimum amount of items when double or triple chance activate (e.g. for nether gold ore which can drop up to 6 nuggets, double chance means it drops between 6 to 12 nuggets, not 1-12)
- Added a configurable push factor to AirShield
- Nerfed Torrent and Surge sounds.
- Added Plan plugin integration
- Made Bloodbending & MetalClips' actionbar message configurable
- Made IceWave's IceSphere radius configurable
- When SurgeWave or SurgeWall interacts with water blocks (e.g., if used underwater), bubble particles is now displayed--similarly to Torrent and WaterManipulation.
- MetalClips' shoot speed and cooldown is now configurable
- SurgeWall select range is now configurable
- Updated EarthArmor colors with new 1.21 blocks
- ProjectKorra now requires Java 11 on 1.16
- All fire abilities will cook mob drops now (previously, just FireBlast and a few others did this)
- Waterbenders can now use Wet sponges as water sources
- Firebending will now dry sponges, and melt snow
- WaterArms now displays the uses left in the ActionBar


Fixes
- Fixed PK messages in console showing md5 component spam
- Fixed ConcurrentModificationExceptions using the cooldown command when resetting all cooldowns
- Fixed IceSpikeField not working
- Fixed IceSpikeField attacking yourself if you are half over a block
- Fixed AirShield not pushing players when in AvatarState ( #1350)
- Fixed WaterSpout cooldown not applying ( #1349)
- Fixed EarthArmor being duped when teleporting into a world with a different inventory
- Fixed MySQL databases timing out when the connection has been idle for a very long time
- Fixed vanished players being visible in commands
- Fixed issues with PK and MythicLib
- Fixed material tags in the config not accepting non minecraft namespace tags ( #1324)
- Fixed running the add command multiple times in a single tick not saving all the added elements due to race condition ( #1338)
- Fixed WaterArms flooding when moving the camera up ( #1336)
- Fixed the damage handler having issues on 1.20.4 due to checking the wrong version
- Fixed extraction turning iron ore (and others) to deepslate
- Fixed AirBurst cone not applying cooldown
- Fixed clicking AirBurst/FireBurst while charging cancelling the charge sequence
- Fixed sneaking with AirShield/Tornado while on cooldown restarting the cooldown
- Fixed range option not applying for non avatarstate Suffocate
- Fixed NPE when Tremorsense is disabled
- Fixed AirSweep and IceBullet creating firebending light
- Fixed FireKick not working when looking straight upwards


API Changes

Attribute Changes
- New system to modify attributes
- Attributes are now modified inside of the new AbilityRecalculateAttributeEvent event.
- Allows you to listen to the event using EventPriority to cancel existing modifiers
- This event is now fired when CoreAbility#recalculateAttributes is called. This method tell the ability to recalculate what values attributes should be and set them
- CoreAbility#recalculateAttributes is also called when an ability starts, and can be called manually by developers at anytime
- This allows attributes to be modified while an ability is still in progress. For example, when the day/night cycle changes and day/night buffs change
- Old methods to set attributes will no longer work
- CoreAbility#addAttributeModifier and CoreAbility#setAttribute are deprecated, do nothing, and will be removed in 1.13.0
- AvatarState and Day/night cycles now use this new system

Temp Elements API
- Added OfflineBendingPlayer#getTempElements - Get a map of temp elements and their expiry times
- Note that expired elements will still be present in this map until the player logs in to be notified about them
- Times of 0 mean that the element was removed via command when the player was offline
- Subelements with a time of -1 mean they are linked to the temp parent element
- Added OfflineBendingPlayer#getTempSubElements - Same as above
- Added OfflineBendingPlayer#hasTempElement - Check if a player has the element temporarily, and that it hasn't expired
- Added OfflineBendingPlayer#hasTempSubElement - Same as above
- Added OfflineBendingPlayer#hasTempSubElementExcludeParents - Check if a player has a temp subelement that isn't a sub added because of a temp parent element (e.g. temp fire will add temp lightning and temp combustion)
- Added OfflineBendingPlayer#hasTempElements - Returns true if they have any temp elements that have not expired)
- Added OfflineBendingPlayer#getTempElementTime - Gets the exact time an element expires, or -1 if it isn't temp
- Added OfflineBendingPlayer#getTempSubElementTime - Same as above
- Added OfflineBendingPlayer#getTempElementRelativeTime - Gets the relative time an element expires, or 0 if it isn't temporary
- Added OfflineBendingPlayer#getTempSubElementRelativeTime - Same as above

StanceAbility
- Stance-like abilities now implement StanceAbility
- BendingPlayer#getStance - Returns the stance of a player, or null
- BendingPlayer#setStance - Sets the stance of a player

Event Changes
- PlayerStanceChangeEvent is now cancellable
- Most events now use OfflineBendingPlayer instead of BendingPlayer
- BendingPlayerCreationEvent has been renamed to BendingPlayerLoadEvent
- This event is fired when player data is loaded. The event is fired again when Offline data is converted to online data (e.g. a player logs in again)
- PlayerChangeElementEvent
- Can now be cancelled
- Now supports Offline Players
- Now has methods to check if the element is removed or if the element being changed is temporary
- Same changes are reflected inside PlayerChangeSubElementEvent

Other Changes
- New EarthAbility#setNoiseReduction(int) to reduce the amount of noise an ability should make. Current applicable in Shockwave and RaiseEarth
- Added API to make entities immune to bending. DamageHandler#setImmunity(Entity, boolean)
- Added new CompletableFuture to get an offline player async in PK command classes. this.getPlayer(name).thenAccept(player -> { ... })
- Made the Predicate of the entity filter used for finding mobs accessible as its own method. GeneralMethods#getEntityFilter
- Opened up the bending board classes so they can be extended and overridden slightly
- Moved ActionBar to ChatUtil and deprecated the ActionBar class
- Added CanBindHook for developers to override binding functionality. Use BendingPlayer#registerCanBindHook
- Deprecated FireComboStream

Big shoutout to StrangeOne101 for doing most of the heavy lifting with this release!
----------, Mar 29, 2025

Additions
  • Adds permission checks to /bending add <element/sub-element> command
    • /bending add <element> checks if the player has the permission bending.command.add.<element>
    • /bending add <sub-element> checks if the player has the permission bending.command.add.<sub-element>
    • /bending add all checks if the player has the permission to add each element the command is trying to apply
  • Added SpoutHop
    • When using Water spout, you can hold sneak and left click to use the spout to jump foward
    • Configurable in the config
    • Inspired by an old WaterSpout bug that people wished would return
  • Added ChargeTimeout option for Torrent
    • Acts as a duration timer for spinning the water around you with Torrent
Changes
  • ProjectKorra has been updated to now work on Spigot 1.16 to 1.21.X
  • Optimized TempBlock reverting
    • Reduced the lags caused from TempBlocks reverting. The main cause was due to removing blocks going through the entire queue to find the block to remove, when it could have just been removed from the top.
    • Additionally, there is no longer checks to see if it is already in the queue in some instances. This also caused a lot of pointless CPU processing
  • Optimized AirBlast putting out fire or triggering redstone related blocks. It now does it for every block along the path, and not just every single tick at the current location (so it would miss 33% of blocks)
  • Made the database commit all uncommitted changes when the connection is closed
  • JetBlaze/JetBlast can no longer be used while the other combo is in use
Fixes
  • Fixed Flight not checking perms for the different slot abilities
  • Fixed /b cooldown command not respecting permissions
  • Fixed grass not being labelled short_grass on versions at and above 1.20.3
  • Fixed illumination digging into the ground in 1.16
  • Fixed bending damage that bypasses armor not bypassing protection enchantments
  • Fixed TempArmor duplicating items
  • Fixed waterbending ice suffocating players (https://github.com/ProjectKorra/ProjectKorra/issues/1309)
  • Fixed IceSpike and IceBlast working when the source is removed before you click
  • Fixed Multiability slots not updating when they start/end
  • Fixed Extraction turning deepslate ores into stone when used
  • Fixed MythicLib causing you to use abilities when mobs are hit
  • Fixed passives being toggled with bending when Properties.TogglePassivesWithAllBending is disabled (https://github.com/ProjectKorra/ProjectKorra/issues/1288)
  • Fixed attributes not being updated after the ability starts
  • Fixed custom elements that aren't build right causing crashes due to their lack of name
  • Fixed TempBlocks attempting to revert in unloaded worlds (https://github.com/ProjectKorra/ProjectKorra/issues/1319)
  • Fixed Citizen NPCs causing errors due to no BendingPlayer existing
  • Fixed minor memory leak in RegionProtection
  • Fixes issue where attribute modifiers on the same attribute, with the same priority, type, and value would not stack
  • Fixed issue where a mistimed activation resulted in no JetBlast/JetBlaze creation while still going on cooldown
  • Fixed lightning creating infinite water arcs when used on a waterlogged copper slab (https://github.com/ProjectKorra/ProjectKorra/issues/1311)
----------, Mar 8, 2025

Additions
  • Added a new configuration option to control the revert duration of WaterWave's trail.
  • Added a new additional constructor to the MultiAbilityInfoSub class with one new ChatColor parameter that allows for the MutliAbilities sub-abilities to have a custom color.
Misc. Changes
  • Changed the logic of MultiAbilityInfoSub's getAbilityColor() method to allow for the implementation of individual colors.
  • Updated Lands support to 6.26.X and higher.
  • Changed Combustion to work better when FireGrief is false.
Fixes
  • Muted paper timing spam.
  • Fixed BendingBoard slowly disappearing as more combos are used over time.
  • Fixed Temp Lava not doing damage to entities if it doesn't belong to any ability. (#1280)
    • Thanks @Aztl for figuring out this issue!
  • Fixed passives not working in protected regions. (#1278)
  • Fixed dynamic sourcing not working as intended for left click moves.
  • - This issue required double clicking for a lot of moves like RaiseEarth and Torrent. (#1277)
  • Fixed OctopusForm ice not reverting if you log out
  • Fixed placing blocks in Surge shield (SurgeWall) deleting blocks (#1216)
    • To fix Surge deleting blocks, Surge was switched to use the new TempBlock system. Previously, it just reverted all blocks in that spot, so making it revert individual TempBlocks stops it from removing blocks placed within its water.
  • Fixed day/night messages being the wrong way around
  • Fixed damaging ArmorStands with bending causing errors.
  • Fixed StackOverFlowException when using a certain damageEntity method.
  • Fixed sourcing and BendingPreview working in disabled worlds.
  • Fixed bending reload command erroring without PAPI installed.
  • Fixed IllegalArgumentException: string cannot be null when the sub color for an element isn't provided/was deleted from the config.
  • Fixed IceWave leaving behind some ice blocks that can't be melted when freezing players.
    • Thanks @Aztl for fixing this issue!
----------, May 23, 2023

Fixes
  • Fixed display command using the incorrect permission check for SubElements
  • Fixed help command showing the quickbind for abilities users didn't have the element for
  • Fixed exception that occurs when displaying Avatar abilities
  • Fixed melting WaterArms spear ice causing water to be left behind sometimes when melting with PhaseChange (#1274)
  • Fixed multiple combos cooldowns causing exceptions sometimes in the BendingBoard
  • Fixed AirSwipe angle not working when facing upwards
  • Fixed PhaseChange working in claims while the user was outside of the claim, no matter the user
----------, Mar 15, 2023

[​IMG]
Additions
  • Bending can now bypass a percentage of armor
    • Defaults to 50%
    • Configurable with specific elements and abilities
  • Added new PAPI placeholders
    • %projectkorra_slot% (The currently selected bind)
    • %projectkorra_subelements% (All subs the player has)
    • %projectkorra_cooldown_<ability>% (The cooldown for ability)
    • %projectkorra_cooldown_slot% (The cooldown for the currently selected slot)
    • %projectkorra_cooldown_slot<1-9>% (The cooldown for said bind)
    • Added a list of placeholders for PAPI to use. This can be seen in /papi info projectkorra
Changes
  • Bloodbending will no longer work on Bloodless mobs. Configurable.
  • Waterbending now works from filled cauldrons (with water and snow)
  • Redone the /b display command
    • Everything now displays text when you hover over it
    • You can now click the abilities in chat to show the /b help of that move. When you click subelements or combos, it will display them
    • The format is completely configurable
    • /b help <ability> now shows a "quick bind" menu for quickly binding the ability to your slots. Configurable.
  • Removed "x ability is disabled" messages in logs when abilities are disabled
  • Updated the /b debug command
  • Updated Lightning
    • Is now attracted to copper and lightning rods
    • Will chain between them
    • Can now transform vanilla mobs like vanilla lightning does. Configurable.
  • Removed Kingdoms support. Kingdoms will be supporting PK instead of PK supporting Kingdoms
  • Removed the ProjectKorra website reference from /b help <element>
  • Updated the PK Updater to not show "There is a new update" when running beta builds
  • Updated contributor list
  • Made PK's chat formatting disabled by default when a common chat plugin is detected
Dev Changes
  • Added Experimental annotation. Marks APIs that are still WIP and might not work correctly, or may be changed in future.
  • TempBlocks can now be stacked. This means that multiple TempBlocks can exist in the same block
    • This means some abilities will need to be updated. Any ability that creates multiple TempBlocks in the same spot but only reverts one will probably need to be patched so ALL revert.
    • This should stop any dupes and will allow for more configurable TempBlocks in future
  • TempBlock#isBendableSource and TempBlock#setBendableSource(boolean). Experimental - will be implemented in 1.12.0. Defaults to false
  • TempBlock#canSuffocate and TempBlock#setCanSuffocate(boolean) - Set whether this TempBlock suffocates players that are trapped in it. Defaults to true
  • TempBlocks can now have an ability assigned to them
  • Removed TempBlock.RevertTask class in place of Runnables
  • FireDamageTimer can now be applied to lava TempBlocks. Will allow lava abilities to have proper death messages when dying to lava
  • Experimental: Element#doesCountTowardsAvatar - Whether an element should count towards being an avatar or not.
  • Experimental: WorldTimeEvent - An event fired when night and day changes
Fixes
  • Fixed snow melting into gray grass with PhaseChange
  • Fixed Blaze duplicating blocks
  • Fixed the bending board showing if the player lacks permission
  • Fixed BendingBoard warning "java.lang.IllegalStateException: Unregistered scoreboard component"
  • Fixed blue fire placing floating blue fire
  • Fixed some abilities being able to place fire on water
  • Fixed WaterArms Spear ice not reverting
  • Fixed TremorSense making mining faster
  • Fixed NPE caused from disabling Fire Combos
  • Fixed language.yml typos
  • Fixed being able to trigger EarthDome when bending is toggled off
  • Fixed TimeUtil now showing less than 1s
  • Fixed WorldGuard giving errors when PK disables
  • Fixed relogging with a Multiability causing binds to clear
  • Fixed plugins being loaded in the Abilities folder
  • Fixed hitting mobs not triggering bending
  • Fixed AvatarState not being accessible to OPs in 1.19+
----------, Mar 5, 2023

Fixes
  • Fixed blue fire causing errors with fire abilities
  • Fixed the who command not showing chi passives
  • Fixed IceWave not removing properly
----------, Sep 18, 2022

Region Protection
Dev Changes
  • Moved sendBrandingMessage to ChatUtil
  • Moved displayMovePreview to ChatUtil
  • Updated pom for missing repositories
  • Added the ability to link TempBlocks together. Reverting one will revert them all
Fixes
  • Fixed branding messages not supporting the simple hex color format
  • Fixed WaterSpout deleting blocks
  • Fixed IceBullet's combination being hardcoded
  • Fixed Fire combos being able to move into region protected areas
  • Fixed fire blocks from firebending not spreading when FireGriefing is true
  • Fixed FireBlast not destroying plants when firegrief is on
  • Fixed FireBlast not igniting blocks when it hits the side
  • Fixed temp fire placing an incorrect blockstate
  • Fixed EarthTunnel's blacklist not being read until /pk reload
  • Fixed custom elements not loading without a vanilla element being present in the bending user
----------, Sep 11, 2022

Changes
  • Added hex color support for elements
  • Added (hex) colors for each individual subelement
  • Added a /b cooldown command to view/set/reset cooldowns for a player
  • Added Lands region protection support
  • Added Factions SaberFactions & Similar region protection support
  • Updated Kingdoms region protection support
  • Added better support for 1.16
  • Made the config generate blocks based on the current server version (1.19 blocks will now appear in it when generating the config on 1.19)
  • The [ProjectKorra] prefix in front of commands is completely configurable
  • Commands can now affect offline players
  • The combinations used to trigger combos is now configurable
  • Reimplemented day/night factors
  • Better EarthArmor colors
  • Passives are now togglable with /b toggle <element>passives
  • Removed autoannouncer
Developer Changes
  • Added TempFallingBlock class
  • Added PlayerSwingEvent for addon developers
  • Added OfflineBendingPlayer class for offline player data
  • Added RegionProtectionHook interface so 3rd parties can add bending region protection support
  • Added CanBendHook interface so addon plugins can hook into the canBend method of BendingPlayer
  • Added MultiSubElement class for subelements that have more than 1 parent element (e.g. mudbending for water and earth)
  • Cleaned up GeneralMethods
  • Made addons who don't define permissions have permissions defined for them instead
  • Fixed pom.xml having outdated depends and repos
Fixes
  • Fixed presets halting main thread when being created (caused a lot of lag)
  • Fixed presets halting main thread when being deleted
  • Fixed preset tabbing not working for binding and deleting
  • Fixed vanished players showing in command tabbing
  • Fixed a range of 0 crashing the server
  • Fixed addons registering their listeners twice on /b reload
  • Fixed vanished players being visible in tab completion
  • Fixes BendingBoard IllegalStateException thrown when team is unregistered twice
  • Fixed "Proper Usage: xxx" in commands being untranslatable
  • Fixed addon jars being unable to be deleted in windows while the server was on (PK now no longer have a hold on addon ability jars)
  • Fixed cooldowns halting the main thread when saving (and causing a lot of lag)
  • Fixed ALL cooldowns being saved to the database
  • Fixed branding messages not supporting hex colors
  • Fixed subs not reloading their colors from config on pk reload
  • Fixed bending boards showing up in disabled worlds when you log in
  • Fixed bending toggle reminder not being translatable
  • Fixed untranslated line for failing to bind when you have a multiability bound
  • Fixed temp snow blocks not preventing fall damage in HydroSink
  • Fixed memory leak where BendingPlayer objects are never unloaded from memory
  • Fixed toggled bending not persisting over relogs
  • Fixed /b choose avatar not giving all 4 elements but instead giving the internal "Avatar" element that is useless
  • Fixes addon abilities that do not define their own permissions being unusable until the permission is set by the server owner
  • Fixed Night and Day factors not existing for 90% of abilities
  • Fixed the blue fire factor not being used for a lot of abilities
  • Fixed earth abilities not using the Metal power factor for damage when using a metal source
  • Fixed combos being triggered from block placing
  • Fixed the copy command able to copy while using a multi ability
  • Fixed the bending board not showing for new players
  • Fixed the display command showing the command to display passive and combos when there are no combos/passives for that element
  • Fixed Chi not showing subelements of chi in the display command
  • Fixed fire abilities that use FireTickTimer giving incorrect death messages
  • Fixed NPE caused by FireTickTimer
----------, Aug 31, 2022

Additions
  • Adds new 1.17 blocks to the various source block lists.
  • Adds material tags (#tag) support in addition to the usual individual material names when configuring source blocks.
  • Adds Nether Gold and Gilded Blackstone interactions to Extraction.
    • Nether Gold will give 6, 12, or 18 gold nuggets depending on the double and triple chance of Extraction.
    • Gilded Blackstone will give 5, 10, or 15 gold nuggets depending on the double and triple chance of Extraction.
  • Adds new IgnoredBlocksconfig option to EarthTunnel.
    • Dictates additional blocks EarthTunnel will ignore. Can not be used to remove hard-coded blocks earth tunnel will ignore.
    • Contains all ores by default.
  • Adds separate RevertCheckTimeconfiguration option to control the revert time for EarthTunnel.
    • Defaults to 300000. (The same as the default earth revert time)
  • Adds BendingBoard#show() to make that BendingBoard visible and update it.
  • Adds BendingBoard#hide() to make that bendingboard invisible.
  • Adds BendingBoard#destroy() to unregister the Scoreboard it has. (BendingBoard object should not be used after destruction, and it's package visibility)
  • Adds BendingBoard#isVisible() and BendingBoard#setVisible(boolean) for more general visibility conditions.
  • Adds BendingBoardManager#isDisabled(Player) to check if a Player has the BendingBoard disabled.
  • Adds element option for the BendingBoard prefix colors. Causes the selector to match the user's element color.
  • Adds much-needed documentation to BendingBoardManager.
  • Adds LightningCharge sound effect, with a method playLightningbendingChargingSound located in FireAbility, that gets called in Lightning when the move is charging.
    • Allows config support following the similar structure of LightningSound.
  • Adds LightningHit sound effect, with a method playLightningbendingHitSound located in FireAbility, that gets called in Lightning when the move hits an entity.
    • Allows config support following the similar structure of LightningSound.
  • Adds playLightningbendingSound() when the lightning is progressing.
Fixes
  • Fixes passives not showing up on /pk display.
  • Fixes the /pk clear [#] command not utilizing/respecting the PlayerBindChangeEvent.
    • Allows addon developers to properly cancel the effects of the /pk clear [#] command.
    • Fixes the Bending Board so that it properly updates in the event the /pk clear [#] command is used.
  • Fixes PhaseChange melting Ice into Water in the Nether.
    • Ice blocks melted in the Nether will be turned into temporary Air if the AllowFlow config option is false and real Air if the config option is true.
  • Fixes Ancient Debris not being considered ores by EarthTunnel.
  • Fixes Flight not ending when switching elements or changing to spectator mode while the ability is running.
  • Fixes FlightHandler not properly respecting gamemode changes that occur while abilities are running.
    • If a player switched to spectator mode while an ability was running, it is very likely they would fall into the void and die.
    • If a player switched to creative mode while an ability was running, they might not have been able to fly.
    • This change has the potential to cause issues if abilities change a player's gamemode. Addon developers must resolve gamemode resets before reverting FlightHandler data.
  • Fixes AvatarState's regeneration effect not being applied properly due to the duration being too short.
  • Fixes bending boards toggling on any world switch.
  • Fixes RapidPunch adding cooldown before it starts. With this fix, addon developers will be able to prevent the ability from getting activated without getting it on cooldown.
  • Fixes board flickering.
  • Fixes WaterArms showing up under ice abilities and as an ice ability in some displays.
  • Fixes cooldown in Bloodbending not activating. The previous implementation would allow a user to constantly spam shift to Bloodbend without going on cooldown.
  • Fixes FireManipulation stream cooldown not being applied.
  • Fixes AbilityDamageEntityEvent being called unnecessarily.
  • Fixes ignoreArmor param for DamageHandler#damageEntity.
Removals
  • Removes BARRIERoption from ParticleEffect, this was done so this build could support 1.16.X, 1.17.X, and 1.18.X.
    • It was not a common particle so this breaking change was made to ensure backward compatibility. Moving forward, MARKER should be used.
  • Removes the unneeded IgnoreOres config option from EarthTunnel in favor of the new option which offers more control.
  • Removes BendingBoard#disableScoreboard(), hiding the scoreboard should not delete the bendingboard object.
Misc. Changes
  • Changes ConfigManager to not rely on Material enum toString values to allow for better version support.
    • Allows 1.17 blocks and material tags to be used in source list configurations.
  • Changes prefix to have main and alternate color config options for the active and non-active slots respectively.
  • Changes miscellaneous section to work more effectively.
  • Cleans up some SQL statements to follow proper syntax casing conventions.
  • Optimizes board code in general.
  • Changes BendingBoardInstance to BendingBoard.
  • Updates documentation for BendingBoardManager.
  • Merges BendingBoardManager#toggleBoard(Player) and BendingBoardManager#forceToggleBoard(Player) into the same method with a force boolean parameter BendingBoardManager#toggleBoard(Player, boolean).
  • Changes BendingBoardManager#canUseScoreboard to BendingBoardManager#getBoard : Optional<BendingBoard>.
  • Adds Board.Extras section with defaults for server owners to add trackable miscellaneous names on the BendingBoard.
  • Standardizes the PlayerBindChangeEvent so that it is called before the bind changes and is actually cancellable.
  • Cleans up the MultiAbilityManager codewise.
  • Changes ChatColor import in BendingBoard to the bungee import, allowing for hex colors in the board config options.
  • Changes WaterArms sub-abilities (freeze, spear, whip) to be hidden (for the aforementioned WaterArms fix).
  • Changes BendingBoard to update when elements are added.
  • Changes the pom.xml to use HTTPS URLs since maven doesn't support HTTP URLs anymore.
  • Cleans up DamageHandler#damageEntity code.
  • Changes the noDamageTicks check in DamageHandler#damageEntity(...) to more closely follow Minecraft's logic.
----------, Jan 2, 2022

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.
----------, Jun 15, 2021

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.
----------, Jun 9, 2021

Blue fire 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.
----------, Aug 22, 2020

Finally regained access to post! This is not a new version but I am posting it here for continuities sake. This build is for Spigot versions 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
----------, Aug 22, 2020

General Notes (IMPORTANT!)

  • Support is provided on ProjectKorra.com/forum/
  • 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
----------, Feb 5, 2019

[​IMG]

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. Don't worry, like the Spigot team, we are actively working on updating.

It has been exactly one year since our last release so as you can expect we have a lot to go over! Big shoutout to the entire ProjectKorra team for making this a possibility and an even bigger shoutout to you, the community, for sticking with us for so long! We are, from this point forward, planning on releasing much smaller monthly builds so we can get you more content quickly and hopefully revitalize the community. Below is a full changelog but we have an in-depth post on some of the more exciting changes here on our forums.

* 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)
----------, Aug 7, 2018

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.
----------, Jul 25, 2017

Hello! This is the official release of ProjectKorra (Core) v1.8.3. We did not upload v1.8.2 because of numerous known issues. You can find the changelog for 1.8.2 here.

Resolved Issues
  • Removed "revert" debug message introcuded in v1.8.2.
  • Fixed 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 website.
  • 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. (Metalbenders being able 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 combos you have access to.
  • Adds new Catapult
    • Catapult now has 4 tiers of charged power. Each tier boosts your 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
  • WaterManipulation and Surge cannot use bottlebending.
  • Water is a little more "flowy" than it should be.

Find another issue? Please report it via the official ProjectKorra Bug Report tool here.
----------, Feb 18, 2017

A full changelog can be found at the ProjectKorra Wiki by clicking this link.

Hello everyone! We promised in our last post we would aim for an update every two weeks. We plan to stick to that promise.

New Versioning Standards
It may be a tad confusing, but in order to maintain consistency between all of our plugins we are going to be changing how we display version numbers for ProjectKorra (Core). We will begin 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. When we are done with intended features, the build will be promoted to 1.9.0. Any breaking API changes will result in the Breaking Version being changed and the plugin would become 2.0.0.

This build takes care of a lot of issues we found in the 1.8.0 release. It is highly recommended that you update your server as soon as possible. This build also contains some cool new features that we hope you will like. Reply to this thread with the feature you like the most.

Fixes:
  • Fixed Spout movement
  • Fixed Tremorsense click ability activating constantly
  • Fixed SandSpout canceling flight on deactivation
  • Fixed 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
Changes:
  • /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
    • Effects - EarthArmor gives Absorption rather than resistance and dampens fire damage.
    • Duration - Your EarthArmor remains on 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.
    • Color - The color of your EarthArmor depends on the blocks used to source it
    • [​IMG]
  • New HealingWaters
    • HealingWaters can now be used outside of the water if you have a bottle in your inventory.
    • [​IMG]
    • Usage - 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 begint o 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 direction of your target for them to keep healing. You can right click your current target again to deselct 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
    • [​IMG]
    • Usage - In order to EarthGrab your target, shift and click on them. Alternatively, look down and click the block you are standing on to EarthGrab yourself.
    • Effect - Fancy new particles as your EarthGrab goes to your target.

  • New AirScooter
    • [​IMG]
    • AirScooter now displays as a ball like in the show!

  • New LavaFlow
    • [​IMG]
    • 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 actively working to resolve this issue but felt it was more important to stay on schedule and release this build anyway. Expect a fix in the next build.
----------, Oct 19, 2016

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 (http://projectkorra.com/docs/)

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.

For space / time reasons - you can find a full changelog here. If that link doesn't work, try here: http://projectkorra.com/resources/projectkorra-core.1/update?update=906

We appreciate the patience. Comment what some of your favorite changes are!
----------, Oct 6, 2016

This update is about 4 months (with breaks) in the making and is massive. Hope you enjoy it! This wouldn't have been possible without our phenomenal development and concept design teams, as well as the community for their tireless efforts in the creation of bug reports and suggestions.

The changelog for this update is far too long to post in a resource update (>10,000 Characters), so you can find the full change log at our wiki by clicking here, or clicking the link below.

Changelog: http://projectkorra.wikia.com/wiki/ProjectKorra_(Core)_v1.7.0

A (brief) summary of what's included in this version:
  • Massive code rewrites and Methods changes
  • Numerous bug fixes -- several longstanding bugs fixed.
  • The default config has been completely redone to be balanced.
  • Day / Night messages for water and firebenders can now be customized.
  • Added a BendingReloadEvent -- Developers can now listen for /pk reload.
  • Use of the ProjectKorra SQL Database is now much more efficient and processes very quickly.
  • Error Log handling completely reworked.
  • Players /bending toggle status now persists through relog and resets only on server reboot.
  • /bending display has been cleaned up and new commands added for subelements.
  • New Event: PlayerChangeElementEvent -- called whenever a player's element is changed.
  • Permissions have been expanded.
  • Dynamic Sourcing is now available for Water, Earth, and Lava Sources. Making source selection more adaptable for certain situations.
  • Added a new MultiAbilityAPI, which allows abilities to take advantage of the hotbar for more usefulness.
  • Added an Update Checker. (/pk check)
  • New Death Messages
  • AirBlast can now open wooden door types, activate levers, and both button types.
  • Dead bushes are no longer bendable for Waterbenders (they do not have Water in them...)
  • New Ability; WaterArms, taking advantage of the new MultiAbilityAPI, players can now pull, punch, and grapple their opponents.
  • New Ability: PlantArmor -- To give Waterbenders some more defense, this ability will clad the bender in a strong armor made of plants.
  • IceBlast has been optimized.
  • WaterSpout has been reanimated.
  • Earthbenders with the Sandbending subelement can now receive a slight speed boost while on sandbendable blocks.
  • New Ability: SandSpout -- Slower and lower than Air and WaterSpout by default, but deals damage to players caught in the Spout.
  • RaiseEarth is now affected by the AvatarState.
  • Lightning has a cool new chargeup animation.
  • Firebending performance has been substantially increased.
  • ... and so much more! You'll have to see the wiki for a full changelog!
----------, Aug 5, 2015

This update is about 4 months (with breaks) in the making and is rather large. This wouldn't be possible without the phenomenal development team, concept design team, and the community for their tireless efforts in the creation of bug reports and suggestions.

The changelog for this update is far too large to post in a resource update (>10,000 characters),s o you can find the full changelog at our wiki by clicking the link below:

http://projectkorra.wikia.com/wiki/ProjectKorra_(Core)_v1.6.0

To sum up what is in this update:
  • Numerous Bug Fixes
  • Several new Methods for Developers to use.
  • All plugin dependencies updated.
  • Rewrite of the Modular Ability API.
  • Several performance increases
  • Many abilities now have sound
  • AirBubble and WaterBubble have been reworked, the bender must now hold shift to use the ability.
  • New Airbending Ability: Flight, allows Airbenders to fly in a similar fashion to a couple of benders in Legend of Korra.
  • The airbending ability 'Suffocate' has been completely reworked.
  • Added Wall Damage mechanisms for Airbending abilities, allowing abilities to deal damage based on how fast an entity is moving when it collides with a wall.
  • Added permission nodes for the subelements (Meaning if moves have sub-element specific qualities, they must have the permission node (i.e. freezing Surge)
  • Expanded config for abilities.
  • Added new ability: EarthSmash, allowing them to manipulate larger pieces of earth for offensive, defensive, and mobility techniques.
  • The Firebending ability HeatControl has been reworked to mirror the show a bit more. To cool lava you must now hold shift.
  • Lightning has been completely reworked to look more like the show instead of just coming from the sky. It now has the ability to seek carriers, spread in water, paralyze, and can be redirected.
  • Added Chiblocking Ability: QuickStrike, has a 20% chance to chiblock for two seconds without a combo.
  • Added Chiblocking Ability: SwiftKick, has a 30% chance to chiblock for 3 seconds. Does 2 hearts with no stance activated.
  • Added Chiblocking Combos, QuickStrike -> SwiftKick -> QuickStrike -> Quickstrike: Paralyzes for 10 seconds, works on mobs.
  • ... and so much more! You'll have to see the wiki for the full changelog.
----------, Apr 19, 2015

Resource Information
Author:
----------
Total Downloads: 257,450
First Release: Dec 28, 2014
Last Update: Mar 29, 2025
Category: ---------------
All-Time Rating:
21 ratings
Find more info at projectkorra.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings