diff --git a/src/com/projectkorra/projectkorra/PKListener.java b/src/com/projectkorra/projectkorra/PKListener.java index 2eddaf51..a3dac294 100644 --- a/src/com/projectkorra/projectkorra/PKListener.java +++ b/src/com/projectkorra/projectkorra/PKListener.java @@ -1,105 +1,12 @@ package com.projectkorra.projectkorra; -import com.projectkorra.projectkorra.ability.Ability; -import com.projectkorra.projectkorra.ability.AddonAbility; -import com.projectkorra.projectkorra.ability.AirAbility; -import com.projectkorra.projectkorra.ability.ChiAbility; -import com.projectkorra.projectkorra.ability.CoreAbility; -import com.projectkorra.projectkorra.ability.EarthAbility; -import com.projectkorra.projectkorra.ability.ElementalAbility; -import com.projectkorra.projectkorra.ability.FireAbility; -import com.projectkorra.projectkorra.ability.WaterAbility; -import com.projectkorra.projectkorra.ability.util.ComboManager; -import com.projectkorra.projectkorra.ability.util.MultiAbilityManager; -import com.projectkorra.projectkorra.airbending.AirBlast; -import com.projectkorra.projectkorra.airbending.AirBubble; -import com.projectkorra.projectkorra.airbending.AirBurst; -import com.projectkorra.projectkorra.airbending.AirFlight; -import com.projectkorra.projectkorra.airbending.AirScooter; -import com.projectkorra.projectkorra.airbending.AirShield; -import com.projectkorra.projectkorra.airbending.AirSpout; -import com.projectkorra.projectkorra.airbending.AirSuction; -import com.projectkorra.projectkorra.airbending.AirSwipe; -import com.projectkorra.projectkorra.airbending.Suffocate; -import com.projectkorra.projectkorra.airbending.Tornado; -import com.projectkorra.projectkorra.avatar.AvatarState; -import com.projectkorra.projectkorra.chiblocking.AcrobatStance; -import com.projectkorra.projectkorra.chiblocking.ChiCombo; -import com.projectkorra.projectkorra.chiblocking.ChiPassive; -import com.projectkorra.projectkorra.chiblocking.HighJump; -import com.projectkorra.projectkorra.chiblocking.Paralyze; -import com.projectkorra.projectkorra.chiblocking.QuickStrike; -import com.projectkorra.projectkorra.chiblocking.RapidPunch; -import com.projectkorra.projectkorra.chiblocking.Smokescreen; -import com.projectkorra.projectkorra.chiblocking.SwiftKick; -import com.projectkorra.projectkorra.chiblocking.WarriorStance; -import com.projectkorra.projectkorra.command.Commands; -import com.projectkorra.projectkorra.configuration.ConfigManager; -import com.projectkorra.projectkorra.earthbending.Catapult; -import com.projectkorra.projectkorra.earthbending.Collapse; -import com.projectkorra.projectkorra.earthbending.CollapseWall; -import com.projectkorra.projectkorra.earthbending.EarthArmor; -import com.projectkorra.projectkorra.earthbending.EarthBlast; -import com.projectkorra.projectkorra.earthbending.EarthGrab; -import com.projectkorra.projectkorra.earthbending.EarthPassive; -import com.projectkorra.projectkorra.earthbending.EarthSmash; -import com.projectkorra.projectkorra.earthbending.EarthTunnel; -import com.projectkorra.projectkorra.earthbending.Extraction; -import com.projectkorra.projectkorra.earthbending.LavaFlow; -import com.projectkorra.projectkorra.earthbending.LavaFlow.AbilityType; -import com.projectkorra.projectkorra.earthbending.LavaSurge; -import com.projectkorra.projectkorra.earthbending.LavaSurgeWave; -import com.projectkorra.projectkorra.earthbending.MetalClips; -import com.projectkorra.projectkorra.earthbending.RaiseEarth; -import com.projectkorra.projectkorra.earthbending.RaiseEarthWall; -import com.projectkorra.projectkorra.earthbending.SandSpout; -import com.projectkorra.projectkorra.earthbending.Shockwave; -import com.projectkorra.projectkorra.earthbending.Tremorsense; -import com.projectkorra.projectkorra.event.EntityBendingDeathEvent; -import com.projectkorra.projectkorra.event.HorizontalVelocityChangeEvent; -import com.projectkorra.projectkorra.event.PlayerChangeElementEvent; -import com.projectkorra.projectkorra.event.PlayerChangeElementEvent.Result; -import com.projectkorra.projectkorra.event.PlayerJumpEvent; -import com.projectkorra.projectkorra.firebending.Blaze; -import com.projectkorra.projectkorra.firebending.BlazeArc; -import com.projectkorra.projectkorra.firebending.BlazeRing; -import com.projectkorra.projectkorra.firebending.Combustion; -import com.projectkorra.projectkorra.firebending.FireBlast; -import com.projectkorra.projectkorra.firebending.FireBlastCharged; -import com.projectkorra.projectkorra.firebending.FireBurst; -import com.projectkorra.projectkorra.firebending.FireCombo; -import com.projectkorra.projectkorra.firebending.FireDamageTimer; -import com.projectkorra.projectkorra.firebending.FireJet; -import com.projectkorra.projectkorra.firebending.FireShield; -import com.projectkorra.projectkorra.firebending.HeatControlExtinguish; -import com.projectkorra.projectkorra.firebending.HeatControlSolidify; -import com.projectkorra.projectkorra.firebending.Illumination; -import com.projectkorra.projectkorra.firebending.Lightning; -import com.projectkorra.projectkorra.firebending.WallOfFire; -import com.projectkorra.projectkorra.object.HorizontalVelocityTracker; -import com.projectkorra.projectkorra.object.Preset; -import com.projectkorra.projectkorra.util.BlockSource; -import com.projectkorra.projectkorra.util.ClickType; -import com.projectkorra.projectkorra.util.DamageHandler; -import com.projectkorra.projectkorra.util.Flight; -import com.projectkorra.projectkorra.util.PassiveHandler; -import com.projectkorra.projectkorra.util.TempBlock; -import com.projectkorra.projectkorra.waterbending.Bloodbending; -import com.projectkorra.projectkorra.waterbending.IceBlast; -import com.projectkorra.projectkorra.waterbending.IceSpikeBlast; -import com.projectkorra.projectkorra.waterbending.OctopusForm; -import com.projectkorra.projectkorra.waterbending.PhaseChangeFreeze; -import com.projectkorra.projectkorra.waterbending.PhaseChangeMelt; -import com.projectkorra.projectkorra.waterbending.PlantArmor; -import com.projectkorra.projectkorra.waterbending.SurgeWall; -import com.projectkorra.projectkorra.waterbending.SurgeWave; -import com.projectkorra.projectkorra.waterbending.Torrent; -import com.projectkorra.projectkorra.waterbending.WaterArms; -import com.projectkorra.projectkorra.waterbending.WaterManipulation; -import com.projectkorra.projectkorra.waterbending.WaterPassive; -import com.projectkorra.projectkorra.waterbending.WaterSpout; -import com.projectkorra.projectkorra.waterbending.WaterSpoutWave; -import com.projectkorra.rpg.RPGMethods; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -158,13 +65,105 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.util.Vector; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; +import com.projectkorra.projectkorra.ability.Ability; +import com.projectkorra.projectkorra.ability.AddonAbility; +import com.projectkorra.projectkorra.ability.AirAbility; +import com.projectkorra.projectkorra.ability.ChiAbility; +import com.projectkorra.projectkorra.ability.CoreAbility; +import com.projectkorra.projectkorra.ability.EarthAbility; +import com.projectkorra.projectkorra.ability.ElementalAbility; +import com.projectkorra.projectkorra.ability.FireAbility; +import com.projectkorra.projectkorra.ability.WaterAbility; +import com.projectkorra.projectkorra.ability.util.ComboManager; +import com.projectkorra.projectkorra.ability.util.MultiAbilityManager; +import com.projectkorra.projectkorra.airbending.AirBlast; +import com.projectkorra.projectkorra.airbending.AirBubble; +import com.projectkorra.projectkorra.airbending.AirBurst; +import com.projectkorra.projectkorra.airbending.AirFlight; +import com.projectkorra.projectkorra.airbending.AirScooter; +import com.projectkorra.projectkorra.airbending.AirShield; +import com.projectkorra.projectkorra.airbending.AirSpout; +import com.projectkorra.projectkorra.airbending.AirSuction; +import com.projectkorra.projectkorra.airbending.AirSwipe; +import com.projectkorra.projectkorra.airbending.Suffocate; +import com.projectkorra.projectkorra.airbending.Tornado; +import com.projectkorra.projectkorra.avatar.AvatarState; +import com.projectkorra.projectkorra.chiblocking.AcrobatStance; +import com.projectkorra.projectkorra.chiblocking.ChiCombo; +import com.projectkorra.projectkorra.chiblocking.ChiPassive; +import com.projectkorra.projectkorra.chiblocking.HighJump; +import com.projectkorra.projectkorra.chiblocking.Paralyze; +import com.projectkorra.projectkorra.chiblocking.QuickStrike; +import com.projectkorra.projectkorra.chiblocking.RapidPunch; +import com.projectkorra.projectkorra.chiblocking.Smokescreen; +import com.projectkorra.projectkorra.chiblocking.SwiftKick; +import com.projectkorra.projectkorra.chiblocking.WarriorStance; +import com.projectkorra.projectkorra.command.Commands; +import com.projectkorra.projectkorra.configuration.ConfigManager; +import com.projectkorra.projectkorra.earthbending.Catapult; +import com.projectkorra.projectkorra.earthbending.Collapse; +import com.projectkorra.projectkorra.earthbending.CollapseWall; +import com.projectkorra.projectkorra.earthbending.EarthArmor; +import com.projectkorra.projectkorra.earthbending.EarthBlast; +import com.projectkorra.projectkorra.earthbending.EarthGrab; +import com.projectkorra.projectkorra.earthbending.EarthPassive; +import com.projectkorra.projectkorra.earthbending.EarthSmash; +import com.projectkorra.projectkorra.earthbending.EarthTunnel; +import com.projectkorra.projectkorra.earthbending.Extraction; +import com.projectkorra.projectkorra.earthbending.LavaFlow; +import com.projectkorra.projectkorra.earthbending.LavaFlow.AbilityType; +import com.projectkorra.projectkorra.earthbending.LavaSurge; +import com.projectkorra.projectkorra.earthbending.MetalClips; +import com.projectkorra.projectkorra.earthbending.RaiseEarth; +import com.projectkorra.projectkorra.earthbending.RaiseEarthWall; +import com.projectkorra.projectkorra.earthbending.SandSpout; +import com.projectkorra.projectkorra.earthbending.Shockwave; +import com.projectkorra.projectkorra.earthbending.Tremorsense; +import com.projectkorra.projectkorra.event.EntityBendingDeathEvent; +import com.projectkorra.projectkorra.event.HorizontalVelocityChangeEvent; +import com.projectkorra.projectkorra.event.PlayerChangeElementEvent; +import com.projectkorra.projectkorra.event.PlayerChangeElementEvent.Result; +import com.projectkorra.projectkorra.event.PlayerJumpEvent; +import com.projectkorra.projectkorra.firebending.Blaze; +import com.projectkorra.projectkorra.firebending.BlazeArc; +import com.projectkorra.projectkorra.firebending.BlazeRing; +import com.projectkorra.projectkorra.firebending.Combustion; +import com.projectkorra.projectkorra.firebending.FireBlast; +import com.projectkorra.projectkorra.firebending.FireBlastCharged; +import com.projectkorra.projectkorra.firebending.FireBurst; +import com.projectkorra.projectkorra.firebending.FireCombo; +import com.projectkorra.projectkorra.firebending.FireDamageTimer; +import com.projectkorra.projectkorra.firebending.FireJet; +import com.projectkorra.projectkorra.firebending.FireShield; +import com.projectkorra.projectkorra.firebending.HeatControlExtinguish; +import com.projectkorra.projectkorra.firebending.HeatControlSolidify; +import com.projectkorra.projectkorra.firebending.Illumination; +import com.projectkorra.projectkorra.firebending.Lightning; +import com.projectkorra.projectkorra.firebending.WallOfFire; +import com.projectkorra.projectkorra.object.HorizontalVelocityTracker; +import com.projectkorra.projectkorra.object.Preset; +import com.projectkorra.projectkorra.util.BlockSource; +import com.projectkorra.projectkorra.util.ClickType; +import com.projectkorra.projectkorra.util.DamageHandler; +import com.projectkorra.projectkorra.util.Flight; +import com.projectkorra.projectkorra.util.PassiveHandler; +import com.projectkorra.projectkorra.util.TempBlock; +import com.projectkorra.projectkorra.waterbending.Bloodbending; +import com.projectkorra.projectkorra.waterbending.IceBlast; +import com.projectkorra.projectkorra.waterbending.IceSpikeBlast; +import com.projectkorra.projectkorra.waterbending.OctopusForm; +import com.projectkorra.projectkorra.waterbending.PhaseChangeFreeze; +import com.projectkorra.projectkorra.waterbending.PhaseChangeMelt; +import com.projectkorra.projectkorra.waterbending.PlantArmor; +import com.projectkorra.projectkorra.waterbending.SurgeWall; +import com.projectkorra.projectkorra.waterbending.SurgeWave; +import com.projectkorra.projectkorra.waterbending.Torrent; +import com.projectkorra.projectkorra.waterbending.WaterArms; +import com.projectkorra.projectkorra.waterbending.WaterManipulation; +import com.projectkorra.projectkorra.waterbending.WaterPassive; +import com.projectkorra.projectkorra.waterbending.WaterSpout; +import com.projectkorra.projectkorra.waterbending.WaterSpoutWave; +import com.projectkorra.rpg.RPGMethods; public class PKListener implements Listener { @@ -390,9 +389,12 @@ public class PKListener implements Listener { @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onEntityDamageByBlock(EntityDamageByBlockEvent event) { - if (event.getDamager() != null) { - if (LavaSurgeWave.isBlockInWave(event.getDamager())) { + Block block = event.getDamager(); + + if (TempBlock.isTempBlock(block)) { + if (EarthAbility.isEarthbendable(block.getType()) && GeneralMethods.isSolid(block)) { event.setCancelled(true); + return; } } } @@ -1034,10 +1036,12 @@ public class PKListener implements Listener { } @EventHandler - public void onPlayerJoin(PlayerJoinEvent e) { - Player player = e.getPlayer(); + public void onPlayerJoin(PlayerJoinEvent event) { + Player player = event.getPlayer(); JUMPS.put(player, player.getStatistic(Statistic.JUMP)); - GeneralMethods.createBendingPlayer(e.getPlayer().getUniqueId(), player.getName()); + + GeneralMethods.createBendingPlayer(player.getUniqueId(), player.getName()); + GeneralMethods.removeUnusableAbilities(player.getName()); } @EventHandler diff --git a/src/com/projectkorra/projectkorra/ProjectKorra.java b/src/com/projectkorra/projectkorra/ProjectKorra.java index 074788ad..dbf75b66 100644 --- a/src/com/projectkorra/projectkorra/ProjectKorra.java +++ b/src/com/projectkorra/projectkorra/ProjectKorra.java @@ -1,5 +1,14 @@ package com.projectkorra.projectkorra; +import java.io.File; +import java.io.IOException; +import java.util.logging.Logger; + +import org.bukkit.Bukkit; +import org.bukkit.Statistic; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; + import com.bekvon.bukkit.residence.protection.FlagPermissions; import com.projectkorra.projectkorra.ability.CoreAbility; import com.projectkorra.projectkorra.ability.util.ComboManager; @@ -19,15 +28,6 @@ import com.projectkorra.projectkorra.util.Updater; import com.projectkorra.projectkorra.util.logging.PKLogHandler; import com.projectkorra.projectkorra.waterbending.WaterbendingManager; -import org.bukkit.Bukkit; -import org.bukkit.Statistic; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; - -import java.io.File; -import java.io.IOException; -import java.util.logging.Logger; - public class ProjectKorra extends JavaPlugin { public static ProjectKorra plugin; @@ -85,7 +85,9 @@ public class ProjectKorra extends JavaPlugin { for (Player player : Bukkit.getOnlinePlayers()) { PKListener.getJumpStatistics().put(player, player.getStatistic(Statistic.JUMP)); + GeneralMethods.createBendingPlayer(player.getUniqueId(), player.getName()); + GeneralMethods.removeUnusableAbilities(player.getName()); } try { diff --git a/src/com/projectkorra/projectkorra/chiblocking/ChiCombo.java b/src/com/projectkorra/projectkorra/chiblocking/ChiCombo.java index fec423e3..014b6301 100644 --- a/src/com/projectkorra/projectkorra/chiblocking/ChiCombo.java +++ b/src/com/projectkorra/projectkorra/chiblocking/ChiCombo.java @@ -37,10 +37,13 @@ public class ChiCombo extends ChiAbility implements ComboAbility { if (ability.equalsIgnoreCase("Immobilize")) { this.cooldown = getConfig().getLong("Abilities.Chi.ChiCombo.Immobilize.Cooldown"); this.duration = getConfig().getLong("Abilities.Chi.ChiCombo.Immobilize.ParalyzeDuration"); + target = GeneralMethods.getTargetedEntity(player, 5); if (!bPlayer.canBendIgnoreBinds(this)) { return; + } if (target == null){ + remove(); + return; } else { - target = GeneralMethods.getTargetedEntity(player, 5); paralyze(target, duration); start(); bPlayer.addCooldown(this); @@ -69,6 +72,7 @@ public class ChiCombo extends ChiAbility implements ComboAbility { */ public static boolean isParalyzed(Player player) { return isParalyzed((Entity) player); + } /** diff --git a/src/com/projectkorra/projectkorra/chiblocking/SwiftKick.java b/src/com/projectkorra/projectkorra/chiblocking/SwiftKick.java index b31578cd..0fbff854 100644 --- a/src/com/projectkorra/projectkorra/chiblocking/SwiftKick.java +++ b/src/com/projectkorra/projectkorra/chiblocking/SwiftKick.java @@ -5,6 +5,7 @@ import com.projectkorra.projectkorra.ability.ChiAbility; import com.projectkorra.projectkorra.util.DamageHandler; import org.bukkit.Location; +import org.bukkit.Material; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; @@ -21,8 +22,8 @@ public class SwiftKick extends ChiAbility { return; } this.damage = getConfig().getInt("Abilities.Chi.SwiftKick.Damage"); - this.blockChance = getConfig().getInt("Abilities.Chi.ChiCombo.ChiBlockChance"); - this.cooldown = getConfig().getInt("Abilities.Chi.ChiCombo.Cooldown"); + this.blockChance = getConfig().getInt("Abilities.Chi.SwiftKick.ChiBlockChance"); + this.cooldown = getConfig().getInt("Abilities.Chi.SwiftKick.Cooldown"); this.target = GeneralMethods.getTargetedEntity(player, 4); start(); } @@ -33,6 +34,9 @@ public class SwiftKick extends ChiAbility { remove(); return; } + if (player.getLocation().subtract(0, 0.5, 0).getBlock().getType() != Material.AIR) { + return; + } DamageHandler.damageEntity(target, damage, this); if (target instanceof Player && ChiPassive.willChiBlock(player, (Player) target)) { ChiPassive.blockChi((Player) target); diff --git a/src/com/projectkorra/projectkorra/command/RemoveCommand.java b/src/com/projectkorra/projectkorra/command/RemoveCommand.java index 941abb9c..b702581e 100644 --- a/src/com/projectkorra/projectkorra/command/RemoveCommand.java +++ b/src/com/projectkorra/projectkorra/command/RemoveCommand.java @@ -22,18 +22,24 @@ import java.util.List; * Executor for /bending remove. Extends {@link PKCommand}. */ public class RemoveCommand extends PKCommand { - - private String succesfullyRemovedElementSelf, wrongElementSelf, invalidElement, playerOffline, wrongElementTarget, - succesfullyRemovedElementTarget, succesfullyRemovedElementTargetConfirm, succesfullyRemovedAllElementsTarget, succesfullyRemovedAllElementsTargetConfirm; - + + private String succesfullyRemovedElementSelf, wrongElementSelf, invalidElement, playerOffline, wrongElementTarget, + succesfullyRemovedElementTarget, succesfullyRemovedElementTargetConfirm, succesfullyRemovedAllElementsTarget, + succesfullyRemovedAllElementsTargetConfirm; + public RemoveCommand() { - super("remove", "/bending remove [Element]", ConfigManager.languageConfig.get().getString("Commands.Remove.Description"), new String[] { "remove", "rm" }); - + super("remove", "/bending remove [Element]", + ConfigManager.languageConfig.get().getString("Commands.Remove.Description"), new String[] { "remove", "rm" }); + this.succesfullyRemovedElementSelf = ConfigManager.languageConfig.get().getString("Commands.Remove.RemovedElement"); - this.succesfullyRemovedAllElementsTarget = ConfigManager.languageConfig.get().getString("Commands.Remove.Other.RemovedAllElements"); - this.succesfullyRemovedAllElementsTargetConfirm = ConfigManager.languageConfig.get().getString("Commands.Remove.Other.RemovedAllElementsConfirm"); - this.succesfullyRemovedElementTarget = ConfigManager.languageConfig.get().getString("Commands.Remove.Other.RemovedElement"); - this.succesfullyRemovedElementTargetConfirm = ConfigManager.languageConfig.get().getString("Commands.Remove.Other.RemovedElementConfirm"); + this.succesfullyRemovedAllElementsTarget = ConfigManager.languageConfig.get() + .getString("Commands.Remove.Other.RemovedAllElements"); + this.succesfullyRemovedAllElementsTargetConfirm = ConfigManager.languageConfig.get() + .getString("Commands.Remove.Other.RemovedAllElementsConfirm"); + this.succesfullyRemovedElementTarget = ConfigManager.languageConfig.get() + .getString("Commands.Remove.Other.RemovedElement"); + this.succesfullyRemovedElementTargetConfirm = ConfigManager.languageConfig.get() + .getString("Commands.Remove.Other.RemovedElementConfirm"); this.invalidElement = ConfigManager.languageConfig.get().getString("Commands.Remove.InvalidElement"); this.wrongElementSelf = ConfigManager.languageConfig.get().getString("Commands.Remove.WrongElement"); this.wrongElementTarget = ConfigManager.languageConfig.get().getString("Commands.Remove.Other.WrongElement"); @@ -58,25 +64,34 @@ public class RemoveCommand extends PKCommand { senderBPlayer.getSubElements().remove(e); GeneralMethods.saveSubElements(senderBPlayer); GeneralMethods.removeUnusableAbilities(sender.getName()); - sender.sendMessage(e.getColor() + this.succesfullyRemovedElementSelf.replace("{element}" , e.getName() + e.getType().getBending()).replace("{sender}", ChatColor.DARK_AQUA + sender.getName() + e.getColor())); - Bukkit.getServer().getPluginManager().callEvent(new PlayerChangeSubElementEvent(sender, player, (SubElement) e, com.projectkorra.projectkorra.event.PlayerChangeSubElementEvent.Result.REMOVE)); - } else sender.sendMessage(ChatColor.RED + invalidElement); + sender.sendMessage(e.getColor() + this.succesfullyRemovedElementSelf + .replace("{element}", e.getName() + e.getType().getBending()) + .replace("{sender}", ChatColor.DARK_AQUA + sender.getName() + e.getColor())); + Bukkit.getServer().getPluginManager() + .callEvent(new PlayerChangeSubElementEvent(sender, player, (SubElement) e, + com.projectkorra.projectkorra.event.PlayerChangeSubElementEvent.Result.REMOVE)); + } else + sender.sendMessage(ChatColor.RED + wrongElementSelf); return; - } - if (senderBPlayer.hasElement(e)) { - senderBPlayer.getElements().remove(e); - GeneralMethods.saveElements(senderBPlayer); - GeneralMethods.removeUnusableAbilities(sender.getName()); + } else if (e instanceof Element) { + if (senderBPlayer.hasElement(e)) { + senderBPlayer.getElements().remove(e); + GeneralMethods.saveElements(senderBPlayer); + GeneralMethods.removeUnusableAbilities(sender.getName()); - sender.sendMessage(e.getColor() + succesfullyRemovedElementSelf.replace("{element}", e.getName())); - Bukkit.getServer().getPluginManager().callEvent(new PlayerChangeElementEvent(sender, (Player) sender, e, Result.REMOVE)); - return; - } else { - sender.sendMessage(ChatColor.RED + wrongElementSelf); - return; + sender.sendMessage(e.getColor() + succesfullyRemovedElementSelf.replace("{element}", e.getName())); + Bukkit.getServer().getPluginManager() + .callEvent(new PlayerChangeElementEvent(sender, (Player) sender, e, Result.REMOVE)); + return; + } else + sender.sendMessage(ChatColor.RED + wrongElementSelf); + { + return; + } } - } else { + } else sender.sendMessage(ChatColor.RED + invalidElement); + { return; } } @@ -103,10 +118,14 @@ public class RemoveCommand extends PKCommand { bPlayer.getElements().remove(e); GeneralMethods.saveElements(bPlayer); } - + GeneralMethods.removeUnusableAbilities(player.getName()); - player.sendMessage(e.getColor() + this.succesfullyRemovedElementTargetConfirm.replace("{element}", e.getName() + e.getType().getBending()).replace("{sender}", ChatColor.DARK_AQUA + player.getName() + e.getColor())); - sender.sendMessage(e.getColor() + this.succesfullyRemovedElementTarget.replace("{element}" , e.getName() + e.getType().getBending()).replace("{sender}", ChatColor.DARK_AQUA + sender.getName() + e.getColor())); + player.sendMessage(e.getColor() + + this.succesfullyRemovedElementTargetConfirm.replace("{element}", e.getName() + e.getType().getBending()) + .replace("{sender}", ChatColor.DARK_AQUA + player.getName() + e.getColor())); + sender.sendMessage(e.getColor() + + this.succesfullyRemovedElementTarget.replace("{element}", e.getName() + e.getType().getBending()) + .replace("{sender}", ChatColor.DARK_AQUA + sender.getName() + e.getColor())); Bukkit.getServer().getPluginManager().callEvent(new PlayerChangeElementEvent(sender, player, e, Result.REMOVE)); return; } @@ -116,16 +135,19 @@ public class RemoveCommand extends PKCommand { GeneralMethods.saveElements(bPlayer); GeneralMethods.saveSubElements(bPlayer); GeneralMethods.removeUnusableAbilities(player.getName()); - if (GeneralMethods.hasRPG()) RPGMethods.revokeAvatar(bPlayer.getUUID()); - sender.sendMessage(ChatColor.YELLOW + this.succesfullyRemovedAllElementsTargetConfirm.replace("{target}", ChatColor.DARK_AQUA + player.getName() + ChatColor.YELLOW)); - player.sendMessage(ChatColor.YELLOW + this.succesfullyRemovedAllElementsTarget.replace("{sender}", ChatColor.DARK_AQUA + sender.getName() + ChatColor.YELLOW)); + if (GeneralMethods.hasRPG()) + RPGMethods.revokeAvatar(bPlayer.getUUID()); + sender.sendMessage(ChatColor.YELLOW + this.succesfullyRemovedAllElementsTargetConfirm.replace("{target}", + ChatColor.DARK_AQUA + player.getName() + ChatColor.YELLOW)); + player.sendMessage(ChatColor.YELLOW + this.succesfullyRemovedAllElementsTarget.replace("{sender}", + ChatColor.DARK_AQUA + sender.getName() + ChatColor.YELLOW)); Bukkit.getServer().getPluginManager().callEvent(new PlayerChangeElementEvent(sender, player, null, Result.REMOVE)); } } /** - * Checks if the CommandSender has the permission 'bending.admin.remove'. If - * not, it tells them they don't have permission to use the command. + * Checks if the CommandSender has the permission 'bending.admin.remove'. If not, it tells them + * they don't have permission to use the command. * * @return True if they have the permission, false otherwise */ @@ -137,10 +159,11 @@ public class RemoveCommand extends PKCommand { sender.sendMessage(super.noPermissionMessage); return false; } - + @Override protected List getTabCompletion(CommandSender sender, List args) { - if (args.size() >= 2 || !sender.hasPermission("bending.command.remove")) return new ArrayList(); + if (args.size() >= 2 || !sender.hasPermission("bending.command.remove")) + return new ArrayList(); List l = new ArrayList(); if (args.size() == 0) { for (Player p : Bukkit.getOnlinePlayers()) { @@ -155,7 +178,7 @@ public class RemoveCommand extends PKCommand { for (Element e : Element.getAddonElements()) { l.add(e.getName()); } - + l.add("Blood"); l.add("Combustion"); l.add("Flight"); @@ -167,11 +190,11 @@ public class RemoveCommand extends PKCommand { l.add("Plant"); l.add("Sand"); l.add("Spiritual"); - + for (SubElement e : Element.getAddonSubElements()) { l.add(e.getName()); } } return l; } -} +} \ No newline at end of file diff --git a/src/com/projectkorra/projectkorra/configuration/ConfigManager.java b/src/com/projectkorra/projectkorra/configuration/ConfigManager.java index 0974184b..b8a7c13d 100644 --- a/src/com/projectkorra/projectkorra/configuration/ConfigManager.java +++ b/src/com/projectkorra/projectkorra/configuration/ConfigManager.java @@ -340,6 +340,7 @@ public class ConfigManager { earthBlocks.add("DIAMOND_ORE"); earthBlocks.add("NETHERRACK"); earthBlocks.add("QUARTZ_ORE"); + earthBlocks.add("COBBLESTONE"); ArrayList metalBlocks = new ArrayList(); metalBlocks.add("IRON_BLOCK"); @@ -393,7 +394,7 @@ public class ConfigManager { config.addDefault("Properties.HorizontalCollisionPhysics.Enabled", true); config.addDefault("Properties.HorizontalCollisionPhysics.DamageOnBarrierBlock", false); config.addDefault("Properties.HorizontalCollisionPhysics.WallDamageMinimumDistance", 5.0); - config.addDefault("Properties.HorizontalCollisionPhysics.WallDamageCap", 6.0); + config.addDefault("Properties.HorizontalCollisionPhysics.WallDamageCap", 5.0); config.addDefault("Properties.RegionProtection.AllowHarmlessAbilities", true); config.addDefault("Properties.RegionProtection.RespectWorldGuard", true); @@ -407,7 +408,7 @@ public class ConfigManager { config.addDefault("Properties.RegionProtection.CacheBlockTime", 5000); config.addDefault("Properties.Air.CanBendWithWeapons", false); - config.addDefault("Properties.Air.Particles", "cloud"); + config.addDefault("Properties.Air.Particles", "spell"); config.addDefault("Properties.Air.PlaySound", true); config.addDefault("Properties.Water.CanBendWithWeapons", true); @@ -415,7 +416,7 @@ public class ConfigManager { config.addDefault("Properties.Water.PlantBlocks", plantBlocks); config.addDefault("Properties.Water.SnowBlocks", snowBlocks); config.addDefault("Properties.Water.NightFactor", 1.5); - config.addDefault("Properties.Water.FullMoonFactor", 2.0); + config.addDefault("Properties.Water.FullMoonFactor", 1.75); config.addDefault("Properties.Water.PlaySound", true); config.addDefault("Properties.Earth.RevertEarthbending", true); @@ -444,7 +445,7 @@ public class ConfigManager { config.addDefault("Abilities.Avatar.AvatarState.Enabled", true); config.addDefault("Abilities.Avatar.AvatarState.Cooldown", 7200000); config.addDefault("Abilities.Avatar.AvatarState.Duration", 480000); - config.addDefault("Abilities.Avatar.AvatarState.PowerMultiplier", 5); + config.addDefault("Abilities.Avatar.AvatarState.PowerMultiplier", 3.5); config.addDefault("Abilities.Avatar.AvatarState.PotionEffects.Regeneration.Enabled", true); config.addDefault("Abilities.Avatar.AvatarState.PotionEffects.Regeneration.Power", 3); config.addDefault("Abilities.Avatar.AvatarState.PotionEffects.Speed.Enabled", true); @@ -501,7 +502,7 @@ public class ConfigManager { config.addDefault("Abilities.Air.AirShield.IsAvatarStateToggle", true); config.addDefault("Abilities.Air.AirSpout.Enabled", true); - config.addDefault("Abilities.Air.AirSpout.Height", 20); + config.addDefault("Abilities.Air.AirSpout.Height", 16); config.addDefault("Abilities.Air.AirSpout.Interval", 100); config.addDefault("Abilities.Air.AirSuction.Enabled", true); @@ -516,14 +517,14 @@ public class ConfigManager { config.addDefault("Abilities.Air.AirSwipe.Enabled", true); config.addDefault("Abilities.Air.AirSwipe.Damage", 2); - config.addDefault("Abilities.Air.AirSwipe.Range", 16); + config.addDefault("Abilities.Air.AirSwipe.Range", 14); config.addDefault("Abilities.Air.AirSwipe.Radius", 2); config.addDefault("Abilities.Air.AirSwipe.Push", 0.5); - config.addDefault("Abilities.Air.AirSwipe.Arc", 20); + config.addDefault("Abilities.Air.AirSwipe.Arc", 16); config.addDefault("Abilities.Air.AirSwipe.Speed", 25); config.addDefault("Abilities.Air.AirSwipe.Cooldown", 1500); config.addDefault("Abilities.Air.AirSwipe.ChargeFactor", 3); - config.addDefault("Abilities.Air.AirSwipe.MaxChargeTime", 3000); + config.addDefault("Abilities.Air.AirSwipe.MaxChargeTime", 2500); config.addDefault("Abilities.Air.AirSwipe.Particles", 3); config.addDefault("Abilities.Air.AirSwipe.StepSize", 4); @@ -554,7 +555,7 @@ public class ConfigManager { config.addDefault("Abilities.Air.Tornado.Enabled", true); config.addDefault("Abilities.Air.Tornado.Radius", 10); - config.addDefault("Abilities.Air.Tornado.Height", 25); + config.addDefault("Abilities.Air.Tornado.Height", 20); config.addDefault("Abilities.Air.Tornado.Range", 25); config.addDefault("Abilities.Air.Tornado.Speed", 1); config.addDefault("Abilities.Air.Tornado.NpcPushFactor", 1); @@ -644,21 +645,21 @@ public class ConfigManager { config.addDefault("Abilities.Water.OctopusForm.AngleIncrement", 45); config.addDefault("Abilities.Water.PhaseChange.Enabled", true); - config.addDefault("Abilities.Water.PhaseChange.Range", 20); - config.addDefault("Abilities.Water.PhaseChange.Radius", 5); + config.addDefault("Abilities.Water.PhaseChange.Range", 16); + config.addDefault("Abilities.Water.PhaseChange.Radius", 4); config.addDefault("Abilities.Water.PhaseChange.Freeze.Cooldown", 0); config.addDefault("Abilities.Water.PhaseChange.Melt.Cooldown", 0); config.addDefault("Abilities.Water.PlantArmor.Enabled", true); config.addDefault("Abilities.Water.PlantArmor.Duration", 7500); config.addDefault("Abilities.Water.PlantArmor.Resistance", 1); - config.addDefault("Abilities.Water.PlantArmor.Cooldown", 10000); + config.addDefault("Abilities.Water.PlantArmor.Cooldown", 15000); config.addDefault("Abilities.Water.PlantArmor.Range", 10); config.addDefault("Abilities.Water.Surge.Enabled", true); config.addDefault("Abilities.Water.Surge.Wave.Radius", 3); config.addDefault("Abilities.Water.Surge.Wave.Range", 20); - config.addDefault("Abilities.Water.Surge.Wave.SelectRange", 7); + config.addDefault("Abilities.Water.Surge.Wave.SelectRange", 12); config.addDefault("Abilities.Water.Surge.Wave.HorizontalPush", 1); config.addDefault("Abilities.Water.Surge.Wave.VerticalPush", 0.2); config.addDefault("Abilities.Water.Surge.Wave.MaxFreezeRadius", 7); @@ -671,7 +672,7 @@ public class ConfigManager { config.addDefault("Abilities.Water.Torrent.Enabled", true); config.addDefault("Abilities.Water.Torrent.Range", 25); - config.addDefault("Abilities.Water.Torrent.SelectRange", 10); + config.addDefault("Abilities.Water.Torrent.SelectRange", 16); config.addDefault("Abilities.Water.Torrent.InitialDamage", 3); config.addDefault("Abilities.Water.Torrent.DeflectDamage", 1); config.addDefault("Abilities.Water.Torrent.SuccessiveDamage", 1); @@ -683,7 +684,7 @@ public class ConfigManager { config.addDefault("Abilities.Water.Torrent.MaxUpwardForce", 0.2); config.addDefault("Abilities.Water.Torrent.Interval", 30); config.addDefault("Abilities.Water.Torrent.Cooldown", 0); - config.addDefault("Abilities.Water.Torrent.Wave.Radius", 15); + config.addDefault("Abilities.Water.Torrent.Wave.Radius", 12); config.addDefault("Abilities.Water.Torrent.Wave.Knockback", 1.5); config.addDefault("Abilities.Water.Torrent.Wave.Height", 1); config.addDefault("Abilities.Water.Torrent.Wave.GrowSpeed", 0.5); @@ -695,12 +696,12 @@ public class ConfigManager { config.addDefault("Abilities.Water.WaterArms.Enabled", true); config.addDefault("Abilities.Water.WaterArms.Arms.InitialLength", 4); - config.addDefault("Abilities.Water.WaterArms.Arms.SourceGrabRange", 4); + config.addDefault("Abilities.Water.WaterArms.Arms.SourceGrabRange", 12); config.addDefault("Abilities.Water.WaterArms.Arms.MaxAttacks", 10); config.addDefault("Abilities.Water.WaterArms.Arms.MaxAlternateUsage", 50); - config.addDefault("Abilities.Water.WaterArms.Arms.MaxIceShots", 5); + config.addDefault("Abilities.Water.WaterArms.Arms.MaxIceShots", 8); config.addDefault("Abilities.Water.WaterArms.Arms.Cooldown", 20000); - config.addDefault("Abilities.Water.WaterArms.Arms.AllowPlantSource", true); + config.addDefault("Abilities.Water.WaterArms.Arms.AllowPlantSource", false); config.addDefault("Abilities.Water.WaterArms.Arms.Lightning.Enabled", true); config.addDefault("Abilities.Water.WaterArms.Arms.Lightning.Damage", Double.valueOf(10.0)); @@ -724,12 +725,12 @@ public class ConfigManager { config.addDefault("Abilities.Water.WaterArms.Whip.Grapple.RespectRegions", false); - config.addDefault("Abilities.Water.WaterArms.Whip.Grab.HoldTime", 4500); + config.addDefault("Abilities.Water.WaterArms.Whip.Grab.HoldTime", 3500); config.addDefault("Abilities.Water.WaterArms.Freeze.Range", 20); config.addDefault("Abilities.Water.WaterArms.Freeze.Damage", 2); - config.addDefault("Abilities.Water.WaterArms.Spear.Range", 40); + config.addDefault("Abilities.Water.WaterArms.Spear.Range", 30); config.addDefault("Abilities.Water.WaterArms.Spear.Damage", 3); config.addDefault("Abilities.Water.WaterArms.Spear.DamageEnabled", true); config.addDefault("Abilities.Water.WaterArms.Spear.Sphere", 2); @@ -744,12 +745,12 @@ public class ConfigManager { config.addDefault("Abilities.Water.WaterArms.Spear.NightAugments.Duration.FullMoon", 12000); config.addDefault("Abilities.Water.WaterBubble.Enabled", true); - config.addDefault("Abilities.Water.WaterBubble.Radius", 7); + config.addDefault("Abilities.Water.WaterBubble.Radius", 6); config.addDefault("Abilities.Water.WaterManipulation.Enabled", true); config.addDefault("Abilities.Water.WaterManipulation.Damage", 3.0); - config.addDefault("Abilities.Water.WaterManipulation.Range", 30); - config.addDefault("Abilities.Water.WaterManipulation.SelectRange", 10); + config.addDefault("Abilities.Water.WaterManipulation.Range", 25); + config.addDefault("Abilities.Water.WaterManipulation.SelectRange", 16); config.addDefault("Abilities.Water.WaterManipulation.CollisionRadius", 2); config.addDefault("Abilities.Water.WaterManipulation.DeflectRange", 3); config.addDefault("Abilities.Water.WaterManipulation.Speed", 35); @@ -757,9 +758,9 @@ public class ConfigManager { config.addDefault("Abilities.Water.WaterManipulation.Cooldown", 1000); config.addDefault("Abilities.Water.WaterSpout.Enabled", true); - config.addDefault("Abilities.Water.WaterSpout.Height", 20); + config.addDefault("Abilities.Water.WaterSpout.Height", 16); config.addDefault("Abilities.Water.WaterSpout.Interval", 50); - config.addDefault("Abilities.Water.WaterSpout.BlockSpiral", false); + config.addDefault("Abilities.Water.WaterSpout.BlockSpiral", true); config.addDefault("Abilities.Water.WaterSpout.Particles", false); config.addDefault("Abilities.Water.WaterSpout.Wave.Particles", false); config.addDefault("Abilities.Water.WaterSpout.Wave.Enabled", true); @@ -771,10 +772,10 @@ public class ConfigManager { config.addDefault("Abilities.Water.WaterSpout.Wave.ChargeTime", 500); config.addDefault("Abilities.Water.WaterSpout.Wave.FlightTime", 2500); config.addDefault("Abilities.Water.WaterSpout.Wave.Speed", 1.3); - config.addDefault("Abilities.Water.WaterSpout.Wave.Cooldown", 4500); + config.addDefault("Abilities.Water.WaterSpout.Wave.Cooldown", 6000); config.addDefault("Abilities.Water.WaterCombo.IceWave.Enabled", true); - config.addDefault("Abilities.Water.WaterCombo.IceWave.Damage", 4); + config.addDefault("Abilities.Water.WaterCombo.IceWave.Damage", 3); config.addDefault("Abilities.Water.WaterCombo.IceWave.Cooldown", 6000); config.addDefault("Abilities.Water.WaterCombo.IceWave.ThawRadius", 10); config.addDefault("Abilities.Water.WaterCombo.IceBullet.Enabled", true); @@ -793,6 +794,7 @@ public class ConfigManager { config.addDefault("Abilities.Earth.Catapult.Length", 6); config.addDefault("Abilities.Earth.Catapult.Push", 4); config.addDefault("Abilities.Earth.Catapult.ShiftModifier", 2); + config.addDefault("Abilities.Earth.Catapult.Cooldown", 1500); config.addDefault("Abilities.Earth.Collapse.Enabled", true); config.addDefault("Abilities.Earth.Collapse.SelectRange", 20); @@ -804,7 +806,7 @@ public class ConfigManager { config.addDefault("Abilities.Earth.Collapse.Wall.Cooldown", 500); config.addDefault("Abilities.Earth.EarthArmor.Enabled", true); - config.addDefault("Abilities.Earth.EarthArmor.SelectRange", 7); + config.addDefault("Abilities.Earth.EarthArmor.SelectRange", 10); config.addDefault("Abilities.Earth.EarthArmor.Duration", 10000); config.addDefault("Abilities.Earth.EarthArmor.Strength", 2); config.addDefault("Abilities.Earth.EarthArmor.Cooldown", 17500); @@ -822,7 +824,7 @@ public class ConfigManager { config.addDefault("Abilities.Earth.EarthBlast.CollisionRadius", 2); config.addDefault("Abilities.Earth.EarthGrab.Enabled", true); - config.addDefault("Abilities.Earth.EarthGrab.SelectRange", 8); + config.addDefault("Abilities.Earth.EarthGrab.SelectRange", 14); config.addDefault("Abilities.Earth.EarthGrab.Height", 6); config.addDefault("Abilities.Earth.EarthGrab.Cooldown", 500); @@ -836,8 +838,8 @@ public class ConfigManager { config.addDefault("Abilities.Earth.Extraction.Enabled", true); config.addDefault("Abilities.Earth.Extraction.SelectRange", 5); config.addDefault("Abilities.Earth.Extraction.Cooldown", 500); - config.addDefault("Abilities.Earth.Extraction.TripleLootChance", 15); - config.addDefault("Abilities.Earth.Extraction.DoubleLootChance", 40); + config.addDefault("Abilities.Earth.Extraction.TripleLootChance", 10); + config.addDefault("Abilities.Earth.Extraction.DoubleLootChance", 30); config.addDefault("Abilities.Earth.LavaFlow.Enabled", true); config.addDefault("Abilities.Earth.LavaFlow.ShiftCooldown", 20000); @@ -865,12 +867,12 @@ public class ConfigManager { config.addDefault("Abilities.Earth.EarthSmash.Enabled", true); config.addDefault("Abilities.Earth.EarthSmash.AllowGrab", true); config.addDefault("Abilities.Earth.EarthSmash.AllowFlight", true); - config.addDefault("Abilities.Earth.EarthSmash.GrabRange", 10); - config.addDefault("Abilities.Earth.EarthSmash.SelectRange", 10); + config.addDefault("Abilities.Earth.EarthSmash.GrabRange", 16); + config.addDefault("Abilities.Earth.EarthSmash.SelectRange", 12); config.addDefault("Abilities.Earth.EarthSmash.ChargeTime", 1500); - config.addDefault("Abilities.Earth.EarthSmash.Cooldown", 2500); - config.addDefault("Abilities.Earth.EarthSmash.ShootRange", 30); - config.addDefault("Abilities.Earth.EarthSmash.Damage", 6); + config.addDefault("Abilities.Earth.EarthSmash.Cooldown", 3000); + config.addDefault("Abilities.Earth.EarthSmash.ShootRange", 25); + config.addDefault("Abilities.Earth.EarthSmash.Damage", 5); config.addDefault("Abilities.Earth.EarthSmash.Knockback", 3.5); config.addDefault("Abilities.Earth.EarthSmash.Knockup", 0.15); config.addDefault("Abilities.Earth.EarthSmash.FlightSpeed", 0.72); @@ -895,7 +897,7 @@ public class ConfigManager { config.addDefault("Abilities.Earth.MetalClips.ThrowEnabled", false); config.addDefault("Abilities.Earth.RaiseEarth.Enabled", true); - config.addDefault("Abilities.Earth.RaiseEarth.Speed", 8); + config.addDefault("Abilities.Earth.RaiseEarth.Speed", 10); config.addDefault("Abilities.Earth.RaiseEarth.Column.SelectRange", 20); config.addDefault("Abilities.Earth.RaiseEarth.Column.Height", 6); config.addDefault("Abilities.Earth.RaiseEarth.Column.Cooldown", 500); @@ -905,16 +907,16 @@ public class ConfigManager { config.addDefault("Abilities.Earth.RaiseEarth.Wall.Cooldown", 500); config.addDefault("Abilities.Earth.Shockwave.Enabled", true); - config.addDefault("Abilities.Earth.Shockwave.FallThreshold", 10); + config.addDefault("Abilities.Earth.Shockwave.FallThreshold", 12); config.addDefault("Abilities.Earth.Shockwave.ChargeTime", 2500); - config.addDefault("Abilities.Earth.Shockwave.Cooldown", 1500); + config.addDefault("Abilities.Earth.Shockwave.Cooldown", 6000); config.addDefault("Abilities.Earth.Shockwave.Damage", 4); config.addDefault("Abilities.Earth.Shockwave.Knockback", 1.1); config.addDefault("Abilities.Earth.Shockwave.Range", 15); config.addDefault("Abilities.Earth.Shockwave.Angle", 40); config.addDefault("Abilities.Earth.SandSpout.Enabled", true); - config.addDefault("Abilities.Earth.SandSpout.Height", 9); + config.addDefault("Abilities.Earth.SandSpout.Height", 10); config.addDefault("Abilities.Earth.SandSpout.BlindnessTime", 10); config.addDefault("Abilities.Earth.SandSpout.SpoutDamage", 1); config.addDefault("Abilities.Earth.SandSpout.Spiral", false); @@ -927,19 +929,19 @@ public class ConfigManager { config.addDefault("Abilities.Earth.Tremorsense.Cooldown", 1000); config.addDefault("Abilities.Fire.Blaze.Enabled", true); - config.addDefault("Abilities.Fire.Blaze.Arc", 16); + config.addDefault("Abilities.Fire.Blaze.Arc", 14); config.addDefault("Abilities.Fire.Blaze.Range", 7); config.addDefault("Abilities.Fire.Blaze.Speed", 15); config.addDefault("Abilities.Fire.Blaze.Cooldown", 500); config.addDefault("Abilities.Fire.Blaze.Ring.Range", 7); config.addDefault("Abilities.Fire.Blaze.Ring.Angle", 10); - config.addDefault("Abilities.Fire.Blaze.Ring.Cooldown", 500); + config.addDefault("Abilities.Fire.Blaze.Ring.Cooldown", 1000); config.addDefault("Abilities.Fire.Combustion.Enabled", true); config.addDefault("Abilities.Fire.Combustion.Cooldown", 10000); config.addDefault("Abilities.Fire.Combustion.BreakBlocks", false); config.addDefault("Abilities.Fire.Combustion.Power", 1.0); - config.addDefault("Abilities.Fire.Combustion.Damage", 5); + config.addDefault("Abilities.Fire.Combustion.Damage", 4); config.addDefault("Abilities.Fire.Combustion.Radius", 4); config.addDefault("Abilities.Fire.Combustion.Range", 35); config.addDefault("Abilities.Fire.Combustion.Speed", 25); @@ -952,7 +954,7 @@ public class ConfigManager { config.addDefault("Abilities.Fire.FireBlast.Damage", 3); config.addDefault("Abilities.Fire.FireBlast.Cooldown", 1500); config.addDefault("Abilities.Fire.FireBlast.Dissipate", false); - config.addDefault("Abilities.Fire.FireBlast.FireTicks", 2); + config.addDefault("Abilities.Fire.FireBlast.FireTicks", 0); config.addDefault("Abilities.Fire.FireBlast.SmokeParticleRadius", 0.3); config.addDefault("Abilities.Fire.FireBlast.FlameParticleRadius", 0.275); config.addDefault("Abilities.Fire.FireBlast.Charged.ChargeTime", 3000); @@ -962,13 +964,13 @@ public class ConfigManager { config.addDefault("Abilities.Fire.FireBlast.Charged.DamageBlocks", true); config.addDefault("Abilities.Fire.FireBlast.Charged.ExplosionRadius", 1); config.addDefault("Abilities.Fire.FireBlast.Charged.Range", 20); - config.addDefault("Abilities.Fire.FireBlast.Charged.FireTicks", 4); + config.addDefault("Abilities.Fire.FireBlast.Charged.FireTicks", 0); config.addDefault("Abilities.Fire.FireBurst.Enabled", true); config.addDefault("Abilities.Fire.FireBurst.Damage", 2); config.addDefault("Abilities.Fire.FireBurst.ChargeTime", 3500); config.addDefault("Abilities.Fire.FireBurst.Cooldown", 0); - config.addDefault("Abilities.Fire.FireBurst.Range", 15); + config.addDefault("Abilities.Fire.FireBurst.Range", 14); config.addDefault("Abilities.Fire.FireBurst.AnglePhi", 10); config.addDefault("Abilities.Fire.FireBurst.AngleTheta", 10); config.addDefault("Abilities.Fire.FireBurst.ParticlesPercentage", 5); @@ -985,7 +987,7 @@ public class ConfigManager { config.addDefault("Abilities.Fire.FireShield.Duration", 1000); config.addDefault("Abilities.Fire.FireShield.Cooldown", 500); config.addDefault("Abilities.Fire.FireShield.Interval", 100); - config.addDefault("Abilities.Fire.FireShield.FireTicks", 4); + config.addDefault("Abilities.Fire.FireShield.FireTicks", 2); config.addDefault("Abilities.Fire.HeatControl.Enabled", true); config.addDefault("Abilities.Fire.HeatControl.Extinguish.Range", 20); @@ -1003,7 +1005,7 @@ public class ConfigManager { config.addDefault("Abilities.Fire.Illumination.Cooldown", 500); config.addDefault("Abilities.Fire.Lightning.Enabled", true); - config.addDefault("Abilities.Fire.Lightning.Damage", 6.0); + config.addDefault("Abilities.Fire.Lightning.Damage", 4.0); config.addDefault("Abilities.Fire.Lightning.Range", 20.0); config.addDefault("Abilities.Fire.Lightning.ChargeTime", 2500); config.addDefault("Abilities.Fire.Lightning.Cooldown", 500); @@ -1021,7 +1023,7 @@ public class ConfigManager { config.addDefault("Abilities.Fire.Lightning.ArcOnIce", false); config.addDefault("Abilities.Fire.WallOfFire.Enabled", true); - config.addDefault("Abilities.Fire.WallOfFire.Range", 4); + config.addDefault("Abilities.Fire.WallOfFire.Range", 3); config.addDefault("Abilities.Fire.WallOfFire.Height", 4); config.addDefault("Abilities.Fire.WallOfFire.Width", 4); config.addDefault("Abilities.Fire.WallOfFire.Duration", 5000); @@ -1029,18 +1031,18 @@ public class ConfigManager { config.addDefault("Abilities.Fire.WallOfFire.Cooldown", 11000); config.addDefault("Abilities.Fire.WallOfFire.Interval", 250); config.addDefault("Abilities.Fire.WallOfFire.DamageInterval", 500); - config.addDefault("Abilities.Fire.WallOfFire.FireTicks", 2); + config.addDefault("Abilities.Fire.WallOfFire.FireTicks", 0); config.addDefault("Abilities.Fire.WallOfFire.MaxAngle", 50); config.addDefault("Abilities.Fire.FireCombo.FireKick.Enabled", true); config.addDefault("Abilities.Fire.FireCombo.FireKick.Range", 7.0); config.addDefault("Abilities.Fire.FireCombo.FireKick.Damage", 3.0); - config.addDefault("Abilities.Fire.FireCombo.FireKick.Cooldown", 5500); + config.addDefault("Abilities.Fire.FireCombo.FireKick.Cooldown", 6000); config.addDefault("Abilities.Fire.FireCombo.FireSpin.Enabled", true); config.addDefault("Abilities.Fire.FireCombo.FireSpin.Range", 7); config.addDefault("Abilities.Fire.FireCombo.FireSpin.Damage", 3.0); config.addDefault("Abilities.Fire.FireCombo.FireSpin.Knockback", 3.0); - config.addDefault("Abilities.Fire.FireCombo.FireSpin.Cooldown", 4500); + config.addDefault("Abilities.Fire.FireCombo.FireSpin.Cooldown", 5000); config.addDefault("Abilities.Fire.FireCombo.FireWheel.Enabled", true); config.addDefault("Abilities.Fire.FireCombo.FireWheel.Range", 20.0); config.addDefault("Abilities.Fire.FireCombo.FireWheel.Damage", 4.0); @@ -1060,25 +1062,25 @@ public class ConfigManager { config.addDefault("Abilities.Chi.Passive.FallReductionFactor", 0.5); config.addDefault("Abilities.Chi.Passive.Speed", 1); config.addDefault("Abilities.Chi.Passive.Jump", 1); - config.addDefault("Abilities.Chi.Passive.BlockChi.Chance", 35); + config.addDefault("Abilities.Chi.Passive.BlockChi.Chance", 25); config.addDefault("Abilities.Chi.Passive.BlockChi.Duration", 1000); config.addDefault("Abilities.Chi.ChiCombo.Immobilize.Enabled", true); - config.addDefault("Abilities.Chi.ChiCombo.Immobilize.ParalyzeDuration", 4000); + config.addDefault("Abilities.Chi.ChiCombo.Immobilize.ParalyzeDuration", 3500); config.addDefault("Abilities.Chi.ChiCombo.Immobilize.Cooldown", 15000); config.addDefault("Abilities.Chi.AcrobatStance.Enabled", true); - config.addDefault("Abilities.Chi.AcrobatStance.ChiBlockBoost", 5); + config.addDefault("Abilities.Chi.AcrobatStance.ChiBlockBoost", 3); config.addDefault("Abilities.Chi.AcrobatStance.Speed", 1); config.addDefault("Abilities.Chi.AcrobatStance.Jump", 1); config.addDefault("Abilities.Chi.HighJump.Enabled", true); - config.addDefault("Abilities.Chi.HighJump.Height", 1); + config.addDefault("Abilities.Chi.HighJump.Height", 1.3); config.addDefault("Abilities.Chi.HighJump.Cooldown", 3000); config.addDefault("Abilities.Chi.Paralyze.Enabled", true); config.addDefault("Abilities.Chi.Paralyze.Cooldown", 10000); - config.addDefault("Abilities.Chi.Paralyze.Duration", 2000); + config.addDefault("Abilities.Chi.Paralyze.Duration", 1500); config.addDefault("Abilities.Chi.RapidPunch.Enabled", true); config.addDefault("Abilities.Chi.RapidPunch.Damage", 1); @@ -1091,7 +1093,7 @@ public class ConfigManager { config.addDefault("Abilities.Chi.Smokescreen.Radius", 4); config.addDefault("Abilities.Chi.Smokescreen.Duration", 12); - config.addDefault("Abilities.Chi.WarriorStance.Enabled", true); + config.addDefault("Abilities.Chi.WarriorStance.Enabled", false); config.addDefault("Abilities.Chi.WarriorStance.Strength", 0); config.addDefault("Abilities.Chi.WarriorStance.Resistance", -1); diff --git a/src/com/projectkorra/projectkorra/earthbending/Catapult.java b/src/com/projectkorra/projectkorra/earthbending/Catapult.java index f04116e2..b6de9ed5 100644 --- a/src/com/projectkorra/projectkorra/earthbending/Catapult.java +++ b/src/com/projectkorra/projectkorra/earthbending/Catapult.java @@ -81,7 +81,7 @@ public class Catapult extends EarthAbility { this.push = getConfig().getDouble("Abilities.Earth.Catapult.Push"); this.shiftModifier = getConfig().getDouble("Abilities.Earth.Catapult.ShiftModifier"); this.distance = 0; - this.cooldown = 0; + this.cooldown = getConfig().getLong("Abilities.Earth.Catapult.Cooldown"); this.catapult = false; this.moving = false; this.flying = false; diff --git a/src/plugin.yml b/src/plugin.yml index 9f91d4ac..532f5794 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -173,7 +173,7 @@ permissions: bending.ability.AcrobatStance: true bending.ability.QuickStrike: true bending.ability.SwiftKick: true - bending.ability.ChiCombo: true + bending.ability.Immobilize.ChiCombo: true bending.chi.passive: true bending.avatar: default: false