ProjectKorra (Core) icon

ProjectKorra (Core) -----

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



1.12.0
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
Resource Information
Author:
----------
Total Downloads: 257,475
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