This commit is contained in:
MistPhizzle 2014-06-26 23:18:27 -04:00
parent f22b683b2a
commit 959664c7b2
6 changed files with 72 additions and 8 deletions

View file

@ -2,7 +2,6 @@ package com.projectkorra.ProjectKorra;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;

View file

@ -3,7 +3,6 @@ package com.projectkorra.ProjectKorra;
import java.util.ArrayList; import java.util.ArrayList;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
public class ConfigManager { public class ConfigManager {
@ -370,6 +369,11 @@ public class ConfigManager {
plugin.getConfig().addDefault("Abilities.Chi.Passive.Speed", 1); plugin.getConfig().addDefault("Abilities.Chi.Passive.Speed", 1);
plugin.getConfig().addDefault("Abilities.Chi.Passive.Jump", 2); plugin.getConfig().addDefault("Abilities.Chi.Passive.Jump", 2);
config.addDefault("Abilities.Chi.HighJump.Enabled", true);
config.addDefault("Abilities.Chi.HighJump.Description", "To use this ability, simply click. You will jump quite high. This ability has a short cooldown.");
config.addDefault("Abilities.Chi.HighJump.Height", 1);
config.addDefault("Abilities.Chi.HighJump.Cooldown", 10000);
config.addDefault("Abilities.Chi.Paralyze.Enabled", true); config.addDefault("Abilities.Chi.Paralyze.Enabled", true);
config.addDefault("Abilities.Chi.Paralyze.Description", "Paralyzes the target, making them unable to do anything for a short " config.addDefault("Abilities.Chi.Paralyze.Description", "Paralyzes the target, making them unable to do anything for a short "
+ "period of time. This ability has a long cooldown."); + "period of time. This ability has a long cooldown.");

View file

@ -59,6 +59,7 @@ import com.projectkorra.ProjectKorra.airbending.AirSuction;
import com.projectkorra.ProjectKorra.airbending.AirSwipe; import com.projectkorra.ProjectKorra.airbending.AirSwipe;
import com.projectkorra.ProjectKorra.airbending.Tornado; import com.projectkorra.ProjectKorra.airbending.Tornado;
import com.projectkorra.ProjectKorra.chiblocking.ChiPassive; import com.projectkorra.ProjectKorra.chiblocking.ChiPassive;
import com.projectkorra.ProjectKorra.chiblocking.HighJump;
import com.projectkorra.ProjectKorra.chiblocking.Paralyze; import com.projectkorra.ProjectKorra.chiblocking.Paralyze;
import com.projectkorra.ProjectKorra.earthbending.Catapult; import com.projectkorra.ProjectKorra.earthbending.Catapult;
import com.projectkorra.ProjectKorra.earthbending.Collapse; import com.projectkorra.ProjectKorra.earthbending.Collapse;
@ -542,6 +543,15 @@ public class PKListener implements Listener {
new Illumination(player); new Illumination(player);
} }
} }
if (Methods.isChiAbility(abil)) {
if (Methods.isWeapon(player.getItemInHand().getType()) && !plugin.getConfig().getBoolean("Properties.Chi.CanBendWithWeapons")) {
return;
}
if (abil.equalsIgnoreCase("HighJump")) {
new HighJump(player);
}
}
} }
} }

View file

@ -7,7 +7,6 @@ import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Future; import java.util.concurrent.Future;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.bukkit.Chunk; import org.bukkit.Chunk;
import org.bukkit.Server; import org.bukkit.Server;
import org.bukkit.block.Block; import org.bukkit.block.Block;

View file

@ -0,0 +1,47 @@
package com.projectkorra.ProjectKorra.chiblocking;
import java.util.HashMap;
import java.util.Map;
import org.bukkit.block.BlockFace;
import org.bukkit.entity.Player;
import org.bukkit.util.Vector;
import com.projectkorra.ProjectKorra.Methods;
import com.projectkorra.ProjectKorra.ProjectKorra;
public class HighJump {
private int jumpheight = ProjectKorra.plugin.getConfig().getInt("Abilities.Chi.HighJump.Height");
private long cooldown = ProjectKorra.plugin.getConfig().getInt("Abilities.Chi.HighJump.Cooldown");
private Map<String, Long> cooldowns = new HashMap<String, Long>();
public HighJump(Player p) {
if (cooldowns.containsKey(p.getName())) {
if (cooldowns.get(p.getName()) + cooldown >= System.currentTimeMillis()) {
return;
} else {
cooldowns.remove(p.getName());
}
}
jump(p);
}
private void jump(Player p) {
if (!Methods.isSolid(p.getLocation().getBlock()
.getRelative(BlockFace.DOWN)))
return;
Vector vec = p.getVelocity();
vec.setY(jumpheight);
p.setVelocity(vec);
// cooldowns.put(p.getName(), System.currentTimeMillis());
cooldowns.put(p.getName(), System.currentTimeMillis());
return;
}
public static String getDescription() {
return "To use this ability, simply click. You will jump quite high. This ability has a short cooldown.";
}
}

View file

@ -256,6 +256,11 @@ Abilities:
BlockChi: BlockChi:
Duration: 2500 Duration: 2500
DodgeChance: 25 DodgeChance: 25
HighJump:
Enabled: true
Description: "To use this ability, simply click. You will jump quite high. This ability has a short cooldown."
Cooldown: 10000
Height: 1
Paralyze: Paralyze:
Enabled: true Enabled: true
Description: "Paralyzes the target, making them unable to do anything for a short period of time. This ability has a long cooldown." Description: "Paralyzes the target, making them unable to do anything for a short period of time. This ability has a long cooldown."