• 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.11.2

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 @Aztlfor 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!
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
7072

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+
Fixes
  • Fixed blue fire causing errors with fire abilities
  • Fixed the who command not showing chi passives
  • Fixed IceWave not removing properly
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
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
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 IgnoredBlocks config 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 RevertCheckTime configuration 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 BARRIER option 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.
Likes: Elias
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.
Top