This commit is contained in:
StrangeOne101 2016-05-02 10:16:19 +12:00
commit d8dc5e2df6
8 changed files with 261 additions and 222 deletions

View file

@ -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

View file

@ -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 {

View file

@ -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);
}
/**

View file

@ -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);

View file

@ -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 <Player> [Element]", ConfigManager.languageConfig.get().getString("Commands.Remove.Description"), new String[] { "remove", "rm" });
super("remove", "/bending remove <Player> [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<String> getTabCompletion(CommandSender sender, List<String> args) {
if (args.size() >= 2 || !sender.hasPermission("bending.command.remove")) return new ArrayList<String>();
if (args.size() >= 2 || !sender.hasPermission("bending.command.remove"))
return new ArrayList<String>();
List<String> l = new ArrayList<String>();
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;
}
}
}

View file

@ -340,6 +340,7 @@ public class ConfigManager {
earthBlocks.add("DIAMOND_ORE");
earthBlocks.add("NETHERRACK");
earthBlocks.add("QUARTZ_ORE");
earthBlocks.add("COBBLESTONE");
ArrayList<String> metalBlocks = new ArrayList<String>();
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);

View file

@ -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;

View file

@ -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