mirror of
https://github.com/TotalFreedomMC/TF-ProjectKorra.git
synced 2024-12-22 16:05:01 +00:00
Fixed AirFlight Fix (#544)
ty chaos for pointing it out ty toby for being toby
This commit is contained in:
parent
2851a82ee4
commit
4cccc6e527
2 changed files with 17 additions and 11 deletions
|
@ -1,8 +1,7 @@
|
|||
package com.projectkorra.projectkorra.airbending;
|
||||
|
||||
import com.projectkorra.projectkorra.ability.FlightAbility;
|
||||
import com.projectkorra.projectkorra.object.PlayerFlyData;
|
||||
import com.projectkorra.projectkorra.util.Flight;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
|
@ -10,24 +9,28 @@ import org.bukkit.Material;
|
|||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import com.projectkorra.projectkorra.ability.FlightAbility;
|
||||
import com.projectkorra.projectkorra.ability.CoreAbility;
|
||||
import com.projectkorra.projectkorra.object.PlayerFlyData;
|
||||
import com.projectkorra.projectkorra.util.Flight;
|
||||
|
||||
public class AirFlight extends FlightAbility {
|
||||
|
||||
private static final ConcurrentHashMap<String, Integer> HITS = new ConcurrentHashMap<>();
|
||||
private static final ConcurrentHashMap<String, PlayerFlyData> HOVERING = new ConcurrentHashMap<>();
|
||||
private static final Map<String, Integer> HITS = new ConcurrentHashMap<>();
|
||||
private static final Map<String, PlayerFlyData> HOVERING = new ConcurrentHashMap<>();
|
||||
|
||||
private boolean firstProgressIteration;
|
||||
private int maxHitsBeforeRemoval;
|
||||
private double speed;
|
||||
private Flight flight;
|
||||
static int hoverY;
|
||||
private double hoverY;
|
||||
|
||||
public AirFlight(Player player) {
|
||||
super(player);
|
||||
this.maxHitsBeforeRemoval = getConfig().getInt("Abilities.Air.Flight.MaxHits");
|
||||
this.speed = getConfig().getDouble("Abilities.Air.Flight.Speed");
|
||||
this.firstProgressIteration = true;
|
||||
hoverY = player.getLocation().getBlockY();
|
||||
start();
|
||||
}
|
||||
|
||||
|
@ -65,6 +68,9 @@ public class AirFlight extends FlightAbility {
|
|||
}
|
||||
|
||||
public static void setHovering(Player player, boolean bool) {
|
||||
AirFlight flight = CoreAbility.getAbility(player, AirFlight.class);
|
||||
flight.hoverY = player.getLocation().getBlockY();
|
||||
|
||||
String playername = player.getName();
|
||||
|
||||
if (bool) {
|
||||
|
@ -72,7 +78,6 @@ public class AirFlight extends FlightAbility {
|
|||
HOVERING.put(playername, new PlayerFlyData(player.getAllowFlight(), player.isFlying()));
|
||||
player.setVelocity(new Vector(0, 0, 0));
|
||||
player.setFlying(true);
|
||||
hoverY = Integer.valueOf((int) player.getLocation().getY());
|
||||
}
|
||||
} else {
|
||||
if (HOVERING.containsKey(playername)) {
|
||||
|
@ -109,10 +114,10 @@ public class AirFlight extends FlightAbility {
|
|||
Vector vec = player.getVelocity().clone();
|
||||
vec.setY(0);
|
||||
player.setVelocity(vec);
|
||||
if (!Integer.valueOf((int) player.getLocation().getY()).equals(hoverY)) {
|
||||
if (player.getLocation().getBlockY() != hoverY) {
|
||||
Location loc = new Location(player.getWorld(),
|
||||
player.getLocation().getX(),
|
||||
hoverY + 0.5,
|
||||
hoverY + 0.5,
|
||||
player.getLocation().getZ(),
|
||||
player.getLocation().getYaw(),
|
||||
player.getLocation().getPitch());
|
||||
|
@ -161,4 +166,4 @@ public class AirFlight extends FlightAbility {
|
|||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -35,6 +35,7 @@ public class SwiftKick extends ChiAbility {
|
|||
return;
|
||||
}
|
||||
if (player.getLocation().subtract(0, 0.5, 0).getBlock().getType() != Material.AIR) {
|
||||
remove();
|
||||
return;
|
||||
}
|
||||
DamageHandler.damageEntity(target, damage, this);
|
||||
|
|
Loading…
Reference in a new issue