Commit graph

2224 commits

Author SHA1 Message Date
PhanaticD
9ebf502542 default config for new integrations 2019-01-01 07:45:51 -05:00
PhanaticD
0f90fb3df2 fix pom to allow travisci to compile without spigot server since we only used one other library besides the spigot api, add support for plotsquared, redprotect, and bentobox(askyblock successor) 2019-01-01 07:40:05 -05:00
Simplicitee
821a54ec92
Merge pull request #2 from PhanaticD/wip-1.13
prevent possible dupes with temp blocks, fix particles, fix most integrations and pom
2018-12-31 22:33:09 -05:00
PhanaticD
609626175a spacing 2018-12-29 22:59:09 -05:00
PhanaticD
32b4d7a60f dont return false for faction check 2018-12-29 22:57:56 -05:00
PhanaticD
5a5355f5ed add ally to factionframework buildable 2018-12-29 10:06:01 -05:00
PhanaticD
3cbb81f0ec major pom cleanup and removal of unused resources and removal of spigot server because its technically illegal, update all plugins to their 1.13 versions 2018-12-29 09:46:13 -05:00
PhanaticD
a44c3f8dba fix particles not showing from 30+ block distances 2018-12-28 23:12:59 -05:00
PhanaticD
4a79d90327 Merge branch 'wip-1.13' of https://github.com/Simplicitee/ProjectKorra into wip-1.13
merge up
2018-12-28 22:29:05 -05:00
Simp
6930b3cf71 Fix FerroControl instances persisting 2018-12-28 22:25:06 -05:00
Simp
8302209b29 FastSwim bugfix 2018-12-28 22:13:41 -05:00
PhanaticD
342498de5f prevent possible dupes with temp blocks 2018-12-28 21:36:57 -05:00
Simp
12dc9f25f3 Logic fix 2018-12-28 21:12:52 -05:00
Simplicitee
77104cf81a
Merge pull request #1 from StrangeOne101/master
Made Combos Translatable
2018-12-28 19:02:03 -05:00
Simp
7c3bd13535 Fastswim and kelp bugs 2018-12-27 23:51:02 -05:00
Simplicitee
ec081a4d65 Passives 2018-12-25 18:59:27 -05:00
Simp
b2a4be6cc9 Sounds being weird 2018-11-25 16:11:08 -05:00
Simp
284be1235e AirBlast mechanics 2018-11-25 16:01:46 -05:00
Simp
db08dbcd80 More 1.13 bug fixes 2018-11-25 10:08:28 -05:00
Simp
a62f03eb1b Transparency change 2018-11-25 04:22:25 -05:00
Simp
0b90c55060 1.13 bug fixes 2018-11-25 04:11:49 -05:00
Simplicitee
2d9b3b7fa2 Update dependencies 2018-11-04 17:12:24 -05:00
StrangeOne101
cd2999f7a1 Made Combos Translatable
• Moved all hardcoded combo instruction values to the language file config.
• Changed default getInstructions() method to change the path if it's a combo in order to get the correct configuration value.
2018-10-31 21:51:25 +13:00
Simplicitee
801cd6e50f Tweaking 2018-10-28 13:16:03 -04:00
Simplicitee
9c8005962c Legacy 2018-10-28 00:37:57 -04:00
Simplicitee
b1ffb6487f 1.13 pt. 2 2018-10-27 16:29:15 -04:00
Simplicitee
72c747767e 1.13 2018-10-25 22:28:36 -04:00
Jay Evans
7c404139d4 Optimized GeneralMethods#getTargetedEntity (#982)
* GeneralMethods#getTargetedEntity will now only loop through entities within the specified range instead of all entities in the world
2018-10-19 00:09:55 -07:00
Jay Evans
d1141d5dfc
Merge pull request #981 from ArchBear-Vega/wip
Update plugin.yml
2018-10-14 17:55:47 +10:00
ArchBear-Vega
08110ab59c
Update plugin.yml
-Fix spelling errors/remove unused permissions
2018-10-14 00:34:37 -07:00
ArchBear-Vega
433fc5cb21 Adds duration values to AcrobatStance and WarriorStance (#980)
## Additions
* Adds duration value to `AcrobatStance` and `WarriorStance`.
2018-10-03 18:07:57 -07:00
Simplicitee
016f48c415 Attribute implementation & various changes (#979)
## Additions
* Implements the Attribute annotation for all applicable fields in every ability class (some abilities have multiple classes)

## Fixes
* Fixes FireShield not dealing firetick (options weren't set as defaults in the config)

## Removals
* Removes all RPG references and the ProjectKorraRPG.jar from the libs folder in the project and as a maven dependency
* Removes all Items references and the ProjectKorraItems.jar from the libs folder in the project and as a maven dependency
* Removes all Spirits references and the ProjectKorraSpirits.jar from the libs folder in the project and as a maven dependency

## Misc. Changes
* Changes various config options and field names to be more self-explanatory
    > * In AirStream: `EntityHeight` and `EntityDuration` were changed to be `EntityCarry.Height` and `EntityCarry.Duration`  (also changed in AvatarState portion)
    > * In IceSpike: `SlowPower` was changed to `SlowPotency` (also in the Blast portion) and `Field.Push` was changed to `Field.Knockup`
    > * In WaterSpout.Wave: `FlightTimer` was changed to `FlightDuration`
    > * In Bloodbending: `ThrowFactor` was changed to `Knockback` and `HoldTime` was changed to `Duration`
    > * In HealingWaters: `Power` was changed to `PotionPotency` and `HealingDuration` was removed
    > * In Surge.Wave: `HorizontalPush` was changed to `Knockback` and `VerticalPush` was changed to `Knockup`
    > * In Torrent: `Push` was changed to `Knockback` and `MaxUpwardForce` was changed to `Knockup`
    > * In WaterArms: `Punch.PunchDamage` was changed to `Punch.Damage` and `Grab.HoldTime` was changed to `Grab.Duration` and `Spear.Sphere` was changed to `Spear.SphereRadius`
    > * In WaterManipulation: `Push` was changed to `Knockback`
    > * EarthSmash has been separated better into portions of `Flight`, `Grab`, and `Shoot`
    > * In EarthSmash: `RemoveTimer` was changed to `Duration`
    > * MetalClips has been separated better into portions of `Crush` and `Magnet`
    > * In EarthPillars: `Power` was changed to `Knockup`
    > * In Combustion: `Power` was changed to `ExplosivePower`
    > * In FireBlast: `Push` was changed to `Knockback`
    > * Added separate cooldown option for Charged FireBlast
* Changed some abilities constructor to allow Attribute system to work
2018-09-06 00:35:06 -07:00
Jay
19c5681a77
Merge pull request #978 from jayoevans/wip
Attribute System
2018-08-17 10:03:20 +10:00
jayoevans
57cac9666b Reordered Attribute priorities 2018-08-17 09:41:51 +10:00
jayoevans
3aa582d75e Added Attributes System 2018-08-17 09:23:26 +10:00
Jay
3b074506f7 Abstract Management System (#977)
To better store instances of manager classes such as FlightHandler, DBCooldownManager, and more to come in the future, an abstract Manager class implementing Listener has added. This class serves to provide easy accessibility of Manager classes without needing to store individual variables everywhere or restoring to solely static classes.

**Usage**
To create a Manager class, simply extend `com.projectkorra.projectkorra.Manager`.
To register your Manager, simply call `Manager.registerManager(Class<? extends Manager>)`.
It is required that your manager has a constructor with no args as this is used to instantiate your class.
It is highly recommended to make this constructor private to prevent new unintentional instances being created.
To get the Manager throughout your code, simply call `Manager.getManager(Class<? extends Manager>)`.

Manager provides two overridable methods, onActivate, and onDeactivate. These methods are called when the Manager is activated and deactivated respectively.
A Manager is activated when `Manager.registerManager(Class<? extends Manager>)` is called, and deactivated when ProjectKorra is disabled on reload/restart.

As Manager implements Listener, any events related to this manager class should be contained within the class.
2018-08-14 18:21:19 -07:00
Jay
4a569ad032
Merge pull request #974 from jayoevans/wip
Added overrideable CoreAbility#getMovePreview, renamed BindChangeEven…
2018-08-12 06:15:35 +10:00
Christopher Martin
014fb0793d
Add final modifier to Player parameter 2018-08-11 00:59:21 -07:00
jayoevans
5bd2b8b217 Added overrideable CoreAbility#getMovePreview, renamed BindChangeEvent to PlayerBindChangeEvent 2018-08-11 17:36:26 +10:00
Christopher Martin
9ae9c07c7e
1.8.7 (#972)
## Additions
* 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 a getter 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`
* 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

## Fixes
* 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
* 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


## Misc. Changes
* 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

## Removals
* 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)`
2018-08-06 22:46:09 -07:00
Carbogen
08165edeb1 Fixed bug with MetalClips and misc errors. (#869)
## Errors and bugs corrected
* A `ClassCastException` in `PKListener.java:onEntityDamageEvent()` would occur when a non-Living Entity took damage.
* Ingots on the ground would disappear when their `ItemStack` merged with MetalClips', and the latter is removed upon colliding with an Entity.

## Improvements made
* A small vertical push was given to items affected by the *magnetize* functionality of MetalClips, so that they no longer get stuck when being pulled upwards.

## Other changes
* Added a `gitignore` entry to omit IntelliJ's out/ directory, which contains compiled code.
2017-12-19 16:08:31 -08:00
Christopher Martin
102112ffdd 1.8.6 (#825)
## Fixes
* Fixed Combos and possibly Passives appearing in `/pk b <Ability>` auto-tabbing.
* Fixed Combos not loading properly on certain servers.
* Fixed issue with `PreciousStones` by updating to the latest version to resolve API change issues.
* Fixed `RapidPunch` damage.
* Fixed incorrect summation of chiblocking chance.
* Fixed possible issue in PKListener#onPlayerInteraction()
* Fixed `Earth.LavaSound`.
* Fixed Chi attempting to chiblock targets with any move.
* Fixed hitting an entity with `TempArmor` not ignoring armor.
* Fixed `Immobilize` config path.

## Additions
* Added "Contributing" section to the `README` to help guide active community members.
* Added more detail to the `PULL_REQUEST_TEMPLATE` to allow for more uniform pull requests. 
* Added many new blocks to our ability block interaction.
* Added check to combo collisions to discard dead entities.
* Added functionality to allow chiblocking abilities to affect all entities.
* Added exception handling to the configurable `Sound` options to prevent `IllegalArgumentExcpetions`.
* Added sounds and `ActionBar` messages to being Bloodbent, Electrocuted, Immobilized, MetalClipped, and Paralyzed. (Abilities: `Bloodbending`, `Lightning`, `Immobilize`, `MetalClips`, and `Paralyze`)
* Added sound and `ActionBar` message for being Chiblocked.
* Added interval config option to `RapidPunch`. (time between each punch)

## API Changes
* Updated to `Spigot 1.12.1`.
    * Confirmed to be backward compatible with `Spigot 1.12` and `Spigot 1.11.2`.
* Renamed `ElementalAbility#getTransparentMaterial()` to `ElementalAbility#getTransparentMaterials()`.
* Converted most `byte`/`int` dependent `Material` logic to use `Material` instead. 
    * `ElementalAbility#getTransparentMaterialSet()` now returns a `HashSet<Material>` instead of a `HashSet<Byte>`.
    * `ElementalAbility#getTransparentMaterials()` and `GeneralMethods.NON_OPAQUE` now return `Material[]` instead of `Integer[]`.
    * `GeneralMethods#getTargetedLocation()` now takes a `varargs Material[]` instead of a `varargs Integer[]`.
* Removed `ElementalAbility.TRANSPARENT_MATERIAL`. It was outdated and became irrelevent after `GeneralMethods.NON_OPAQUE` was updated.
* Removed `Java 7` Travi-CI  JDK check.
* Updated `pom.xml` to build in `Java 8`.
* Added new `MovementHandler` utility class to control entity movement. (currently only capable of stopping movement.
2017-08-06 00:18:12 -07:00
Christopher Martin
0ab240cd93 1.8.5 (#813)
## Fixes

* Fixed odd interactions between `Bloodbending` and `AvatarState`.
  * You can no longer be bloodbent while in `AvatarState` and going into the `AvatarState` while being bloodbent will break you free.
* Fixed various errors in `Bloodbending`.
* Fixed `SubElements` being saved incorrectly in the database.
* Fixed a few cases where `Surge` would cause flooding.
* Fixed various NoCheatPlus exemptions in our `DamageHandler`. (Thanks, RoboMWM)
* Fixed ProjectKorra fire tick damage overriding other plugins fire tick damage.
* Fixed `FireSpin` working underwater.
* Fixed `EarthArmor` not properly obeying its cooldown.
* Fixed `Combo Abilities` being displayed in `/pk display <Element>`.
* Fixed `Extraction` cooldown being applied when the ability couldn't start.
* Fixed `EarthTunnel` cooldown being applied when the ability couldn't start.
* Fixed `IceSpike` field functionality not activating on `PhaseChange` blocks.
* Fixed `FireWheel` hit location if used while looking down.
* Fixed `Lightning` paralyze functionality.
* Fixed `DensityShift` causing fall damage if used on other `DensityShift` blocks.
* Fixed `Flight` cooldown being applied when the ability couldn't start.
* Fixed `Flight` deactivating if used while on the ground.
* Fixed `RapidPunch` cooldown being applied when the ability couldn't start.
* Fixed `WaterArms` not returning water sources to bottles.
* Fixed `WaterArms` not grabbing sources correctly.
* Fixed `CollisionManager` attempting to detect collisions between abilities in different worlds. (Thanks, plushmonkey)
* Fixed `CollisionManager` not resetting when a new manager is created.
* Fixed `JetBlaze` and `JetBlast` not overriding `FireJet` duration.
* Fixed `PhaseChange` not being able to melt snow blocks.
* Fixed `FastSwim` being able to be used on a `Catapult` slot.
* Fixed `FireManipulation` cooldown.
* Fixed `Collapse` and `RaiseEarth`not working in `AvatarState`.
* Fixed Waterbending causing concrete powder to harden.
* Fixed `MetalClips` magnetize not pulling iron ingots if players had them in their hand.
* Fixed `MetalClips` not disabling passives such as `FastSwim` on its targets.
* Fixed `MetalClips` armor absorbing damage.
* Fixed `MetalClips` magnetize not pulling if the launching portion of the move is on cooldown.
* Fixed `MetalClips` not dropping iron ingots once a held target is killed.
* Fixed `MetalClips` duplicating iron ingots by repeatedly hitting and pulling entities.
* Fixed `MetalClips` duplicating iron ingots by hitting blocks. 
* Fixed addon Passive abilities not registering.
* Fixed `/pk help <Element>` displaying incorrect/old links.
* Fixed `/pk help <Element/Combo>` being case sensitive.
* Fixed `/pk help` not allowing players to auto tab all non-hidden abilities.
* Fixed `IllegalArgumentException` being thrown if server owners put an incorrect `ChatColor` for the `Chat.Branding.Color` value in `language.yml`.
* Fixed `EarthArmor` allowing players to use `FastSwim` while the armor is activated.
* Fixed incorrect cancellation of `BlockBreakEvent` when players bending is toggled off.
* Fixed multiple instances of the same `CoreAbility` being present in auto tabbing due to certain move functionalities being split up between files.
* Fixed Passive abilities and Combo abilities showing up in `/pk bind <Ability>` auto tabbing.
* Fixed `WaterWave` and `WaterSpout` cohesive movement.
* Fixed `DamageHandler` applying `DamageModifier.ARMOR` where it is not applicable.
* Fixed `/pk check` command URL.
* Fixed Passive abilities breaking when choosing an element while bending is toggled.
* Fixed `WaterBubble` removing blocks placed by players while the ability is active.
* Fixed potential infinite loop in `EarthGrab`.
* Fixed `AirScooter` not disabling when a player would sneak.

## Additions

* Added cooldown capability to `AirShield`, `AirSpout`, `Tornado`, `FastSwim`, `WaterBubble`, `EarthTunnel`, `AcrobaticStance`, and `WarriorStance`.
* Added the clickable ProjectKorra branding message to the `/pk help` and `/pk who` commands.
* Added `radius` config option to `EarthGrab`.
* Added AvatarState configuration options for `IceSpike`, `IceBlast`, `Torrent`, `OctopusForm`, `WallOfFire`, `WaterSpout`, and all stock Combos.
* Added aesthetic donation perk servers can give to their players in the `/pk who <Player>` command via the `bending.donor` permission.
* Added config option for the lightning bending sound and lava bending sound.
* Added `Pitch` and `Volume` config options for all configurable sounds.
* Added identifiers on Addon Abilities in `/pk help <Ability>` and `/pk display`.

## General Changes

* Reduced default config values of `AvatarState` ability modifiers.
* Changed the way abilities display in `/pk help <Ability>`
     * Abilities now display whether they are Addons or not.
     * Abilities now display whether they are Combos or Passives.
     * Addon Abilities display their author and version.
* Improved `AirScooter` behavior. It isn't perfect yet, but it is better.
* Changed `EarthArmor` so it now breaks when a player teleports.
* Changed cobblestone and obsidian created by `AirBlast` to `TempBlocks`.
* Changed `/pk add Avatar` to add all four main elements.

## API Changes

* Added `RevertTask` which runs whenever `TempBlock#revertBlock()` is called.
* Moved `BendingPlayer` creation to a separate thread.
* Changed initial `BendingPlayer` database storage to insert default values.
* Improved `CollisionManager` performance by removing unnecessary detections.
* Put logic in place to remove ability instances causing exceptions without breaking all other running abilities. (Thanks, PhanaticD)
* Changed `PassiveManager` storage so Passive abilities are be stored by name/class instead of by `Element`.
* Removed `PassiveManager#getPassivesByElement()`.
* Added `CoreAbility#unloadAbility(Class clazz)` to unload an ability from a server.
* Added `CoreAbility#getAddonPlugins()` to get the names and paths of all currently loaded addon plugins. Returned format: `<plugin name>::<abilities path>`
* Changed `/pk reload` to add support for addon plugin reloading.

## Removals

* Removed the Minecraft version from the `/pk version` command.
* Removed `SandSpout`.
* Removed `SandRun` remnant from `EarthPassive`.
* Removed `AirBlast` collisions with other basic moves.
2017-08-03 21:54:22 -07:00
Christopher Martin
3bec7541d3 1.8.4 pom version fix. 2017-06-13 19:05:19 -07:00
Christopher Martin
0b1bd99bbf 1.8.4 (#769)
* Fix OctopusForm (#734)

* Reload changes

* Catapult Fixes

* Catapult Adjustment

* Changes

* OctopusForm fix

* Attribute System + FireBlast example (#735)

* Attribute System + FireBlast example

* Removed PK jar 😃 💃

* Fixes Chi Descriptions/Instructions, Removes Fire Passive (#737)

* Fixes missing Chi ability descriptions and instructions

https://trello.com/c/3vto7SEn/734-re-add-paralyze-and-rapidpunch-descrip
tions-and-instructions

* Removes FirePassive

Was discussed in CD chat
https://trello.com/c/skKfHiwR/733-convert-firebending-passive-to-the-new
-passive-system

* Change Octoform freezing (#741)

* Reload changes

* Catapult Fixes

* Catapult Adjustment

* Changes

* OctopusForm fix

* Change Octoform Freezing

* Revert "Change Octoform Freezing"

This reverts commit d5745fe3171b0e24682631889322d81f153d73bd.

* Revert "Revert "Change Octoform Freezing""

This reverts commit 9a91730e0fec7c428f619ffca14e4ea467298b37.

* Changed attributes to use plain reflection rather than annotations (#743)

* should fix some issues with octopusform (#742)

when this .remove() is called nothing has happened with this instance, so the old tempblocks/phasechange never actually get removed, and we get nullpointers trying to remove the ones for this instance since they were never even created

* Fixed external elements, subelements and abilities not loading (#745)

Due to plugins that depend on ProjectKorra loading in AFTER pk, when a
BendingPlayer object is created, all the external elements, subelements
or abilities they may have are lost because they are caught in the null
checks.
To work around this, we will continuously loop every second for 30
seconds until the request times out. If any elements/abilities the user
has haven't loaded in, in that time (the side plugin has taken longer
than 30 seconds to load), then it will time out and report it in the
console.

* New Attribute System (#746)

• New Attribute System (WIP)
• Fields should now be marked with @Attribute(Attribute.DAMAGE) or
whatever the relevant attribute is.
• If the Attribute you want is not there, you can provide a string
instead
• At runtime, these Attributes can be changed with
Attributes.modify(ability/element, attribute, modifier)
• Air and Chi have all been marked with @Attribute annotations
• Updated Particlelib - Fixed bug with dragonbreath and endRod particles
being wrong. AND added new 1.11 particles.

* Adding blocks to the world async is not allowed (#744)

* Wip (#748)

* Fixed *abilitis* typo in Shockwave description

* fixed: WaterSpout not working on PACKED_ICE - cause was looking for nonexistent config boolean, instead of at Properties.Water.IceBlocks list

* Plant block removal and /b add all feature (#749)

* Fixed *abilitis* typo in Shockwave description

* fixed: WaterSpout not working on PACKED_ICE - cause was looking for nonexistent config boolean, instead of at Properties.Water.IceBlocks list

* Fixed: Surge and WaterArms not removing plant block

* New Feature: /bend add all [player]

* fixed passives not enabling on /bend toggle all (#751)

* fixed passives not enabling on /bend toggle all

* Correct/Update comment to act as a TODO note.

* Fix spectator target (#753)

* Don't target spectators

* Remove debug code

- Remove stick debug code that was causing a NullPointerException.

* Change block set order when moving earth (#754)

- Set the source block to air after setting the target block to the new
  type. This will eliminate temporary holes, which minimizes major lighting
  updates.

* Fix exceptions (#752)

* Fix world check when sending particles

- Check by World reference rather than string name comparison. The following
  Location distanceSquared call will throw an exception if the World names
  are the same but references aren't.

* Fix several exceptions

- Destroy LavaFlow instance when the Player leaves the World.
- Destroy Torrent instance when the Player leaves the World.
- Fix cooldown exception when Player is null.

* PhaseChange Speed option added (#756)

• Delay option changed to speed
• Fixed EarthArmor breaking when a player is paralyzed.

* FireManip, WaterBubble & 1.12 (#757)

• Added basic FireManipulation. Still needs lots of improving, but
that's for another commit.
• Redone WaterBubble. Now has a click version and an expand/shrink
animation.
• Removed AirBubble
• Updated Spigot to 1.12
• Fixed Octopus NPE
• Fixed EarthArmor remaining after TPs to other worlds

* EarthTunnel - DropLootIfNotRevert (#759)

* .gitignore - Added ignores for IntelliJ

* EarthTunnel: DropLootIfNotRevert - config & functionality

* .gitignore - Added ignores for IntelliJ

* EarthTunnel: DropLootIfNotRevert - config & functionality

* Bug Fixes (Catapult, Illumination, Config) (#760)

* Bug Fixes (Catapult, Illumination, Config)

* Finish Fixing Illumination

* Fix Catapult angle

* Fix Catapult bug

* Angle cancel option Catapult

* Fix Illumination on leaves, Fix water flooding

* Config stuff for Toby

* Fix LavaFlow (#755)

Fixed "AllowNaturalFlow"

* Updated to 1.12 with for days (#761)

• Redone the (core) ability load system - The old one broke with the
Guava update in 1.12
• Fixed some WaterBubble floods
• Fixed PhaseChange melting snow super duper fast
• Fixed some other misc bugs
• Added 1.12 Spigot to classpath

* 1.12 Bug Fixes (#762)

* Bug Fixes (Catapult, Illumination, Config)

* Finish Fixing Illumination

* Fix Catapult angle

* Fix Catapult bug

* Angle cancel option Catapult

* Fix Illumination on leaves, Fix water flooding

* Config stuff for Toby

* 1.12 fixes

* More 1.12 fixes (#763)

* Bug Fixes (Catapult, Illumination, Config)

* Finish Fixing Illumination

* Fix Catapult angle

* Fix Catapult bug

* Angle cancel option Catapult

* Fix Illumination on leaves, Fix water flooding

* Config stuff for Toby

* 1.12 fixes

* More 1.12 Fixes

* Collision fixes, Air sound change,

* Tried Fixing Collisions

Currently the loops in
CollisionInitializer#initializeDefaultCollisions() don't work

* 1.8.4 Fixes (#764)

* Small 1.8.4 fixes

• Fixed selecting snow blocks as a water source not working when they
are more than 3 blocks away
• Fixed DensityShift turning lava into sand when you land softly
• Fixed IceBlast not working on TempBlocks

* Added FireManip particle options to config

Also removed a sneaky debug message

* 1.8.4 Fixes (#765)

* Redone Fire Combos (#766)

* Finalize Fire Combo split (#767)

* 1.8.4 Fixes

* Correct Fire Combos

* Remove unused imports
2017-06-13 00:54:30 -07:00
Christopher Martin
e03723ad31 1.8.3 (#733)
* 1.8.3 / Repo Cleanup

* Readme start
2017-02-16 22:35:24 -08:00
Simplicitee
ca6ca2b08a Catapult Fix (#732)
* Reload changes

* Catapult Fixes

* Catapult Adjustment

* Changes
2017-02-16 22:13:38 -08:00
Simplicitee
f2889b7fd4 Reload changes (#731) 2017-02-16 19:10:03 -08:00
Alexander Meech
2cb73c71ec Alex's Awesome Update (#729)
* Fix chi abilities appearing to strike twice, implement catapult 2.0, and fix water sources being removed by breaking them

* Small changes for loony (visual and time)

* Completely rewrite catapult functions and repair water abilities allowing plant sources to be broken upon selection

* Increase length of moveEarth call in Catapult and add more configuration options

* Fix my dumb mistake of using a bitwise operator

* Allow tempblock usage for iceblast
2017-02-16 18:10:08 -08:00
Sobki
2fa49c945c Fixed memory issues with LavaFlow (#730) 2017-02-12 13:27:03 -08:00