mirror of
https://github.com/TotalFreedomMC/TF-ProjectKorra.git
synced 2025-02-11 11:40:40 +00:00
HighJump
This commit is contained in:
parent
f22b683b2a
commit
959664c7b2
6 changed files with 72 additions and 8 deletions
|
@ -2,7 +2,6 @@ package com.projectkorra.ProjectKorra;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.projectkorra.ProjectKorra;
|
|||
import java.util.ArrayList;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class ConfigManager {
|
||||
|
||||
|
@ -370,6 +369,11 @@ public class ConfigManager {
|
|||
plugin.getConfig().addDefault("Abilities.Chi.Passive.Speed", 1);
|
||||
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.Description", "Paralyzes the target, making them unable to do anything for a short "
|
||||
+ "period of time. This ability has a long cooldown.");
|
||||
|
|
|
@ -59,6 +59,7 @@ import com.projectkorra.ProjectKorra.airbending.AirSuction;
|
|||
import com.projectkorra.ProjectKorra.airbending.AirSwipe;
|
||||
import com.projectkorra.ProjectKorra.airbending.Tornado;
|
||||
import com.projectkorra.ProjectKorra.chiblocking.ChiPassive;
|
||||
import com.projectkorra.ProjectKorra.chiblocking.HighJump;
|
||||
import com.projectkorra.ProjectKorra.chiblocking.Paralyze;
|
||||
import com.projectkorra.ProjectKorra.earthbending.Catapult;
|
||||
import com.projectkorra.ProjectKorra.earthbending.Collapse;
|
||||
|
@ -542,6 +543,15 @@ public class PKListener implements Listener {
|
|||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ import java.util.concurrent.Callable;
|
|||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
import org.apache.commons.lang.exception.ExceptionUtils;
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.block.Block;
|
||||
|
|
47
src/com/projectkorra/ProjectKorra/chiblocking/HighJump.java
Normal file
47
src/com/projectkorra/ProjectKorra/chiblocking/HighJump.java
Normal 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.";
|
||||
}
|
||||
}
|
|
@ -256,6 +256,11 @@ Abilities:
|
|||
BlockChi:
|
||||
Duration: 2500
|
||||
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:
|
||||
Enabled: true
|
||||
Description: "Paralyzes the target, making them unable to do anything for a short period of time. This ability has a long cooldown."
|
||||
|
|
Loading…
Reference in a new issue