diff --git a/src/main/java/com/massivecraft/factions/FactionsPlugin.java b/src/main/java/com/massivecraft/factions/FactionsPlugin.java index 0ab82006..ed2e27c8 100755 --- a/src/main/java/com/massivecraft/factions/FactionsPlugin.java +++ b/src/main/java/com/massivecraft/factions/FactionsPlugin.java @@ -82,7 +82,6 @@ public class FactionsPlugin extends MPlugin { public boolean mc114 = false; public boolean mc115 = false; public boolean useNonPacketParticles = false; - public static boolean factionsFlight = false; public List itemList = getConfig().getStringList("fchest.Items-Not-Allowed"); SkriptAddon skriptAddon; private FactionsPlayerListener factionsPlayerListener; @@ -254,8 +253,6 @@ public class FactionsPlugin extends MPlugin { log("Minecraft Version 1.9 or higher found, using non packet based particle API"); } - if (getConfig().getBoolean("enable-faction-flight")) factionsFlight = true; - if (getServer().getPluginManager().getPlugin("Skript") != null) { log("Skript was found! Registering FactionsPlugin Addon..."); skriptAddon = Skript.registerAddon(this); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdDisband.java b/src/main/java/com/massivecraft/factions/cmd/CmdDisband.java index 71d487f5..0fc36239 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdDisband.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdDisband.java @@ -101,27 +101,15 @@ public class CmdDisband extends FCommand { String amountString = context.sender instanceof ConsoleCommandSender ? TL.GENERIC_SERVERADMIN.toString() : context.fPlayer.describeTo(follower); if (follower.getFaction() == faction) { follower.msg(TL.COMMAND_DISBAND_BROADCAST_YOURS, amountString); - if (!follower.canFlyAtLocation() && FactionsPlugin.factionsFlight) { - follower.setFFlying(false, false); - } } else { follower.msg(TL.COMMAND_DISBAND_BROADCAST_NOTYOURS, amountString, faction.getTag(follower)); } } - if (FactionsPlugin.factionsFlight) { - faction.disband(context.player, PlayerDisbandReason.COMMAND); - context.fPlayer.setFFlying(false, false); - Cooldown.setCooldown(context.fPlayer.getPlayer(), "disbandCooldown", FactionsPlugin.getInstance().getConfig().getInt("fcooldowns.f-disband")); - return; - } } else { context.player.sendMessage(String.valueOf(TL.COMMAND_DISBAND_PLAYER)); } faction.disband(context.player, PlayerDisbandReason.COMMAND); Cooldown.setCooldown(context.fPlayer.getPlayer(), "disbandCooldown", FactionsPlugin.getInstance().getConfig().getInt("fcooldowns.f-disband")); - if (!context.fPlayer.canFlyAtLocation() && FactionsPlugin.factionsFlight) { - context.fPlayer.setFFlying(false, false); - } } } diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFly.java b/src/main/java/com/massivecraft/factions/cmd/CmdFly.java index d4f01e99..9ccfde8d 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFly.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFly.java @@ -28,6 +28,7 @@ public class CmdFly extends FCommand { public static BukkitTask particleTask = null; public static BukkitTask flyTask = null; public static boolean autoenable = FactionsPlugin.instance.getConfig().getBoolean("ffly.AutoEnable"); + public static final boolean fly = FactionsPlugin.getInstance().getConfig().getBoolean("enable-faction-flight"); public CmdFly() { @@ -46,7 +47,7 @@ public class CmdFly extends FCommand { particleTask = Bukkit.getScheduler().runTaskTimerAsynchronously(FactionsPlugin.instance, () -> { for (FPlayer fPlayer : flyMap.keySet()) { Player player = fPlayer.getPlayer(); - if (!player.isOnline() || !player.isFlying()) continue; + if (player == null || !player.isOnline() || !fPlayer.isFlying()) continue; if (!FactionsPlugin.getInstance().mc17) { if (player.getGameMode() == GameMode.SPECTATOR) continue; } @@ -66,7 +67,7 @@ public class CmdFly extends FCommand { for (FPlayer fPlayer : flyMap.keySet()) { Player player = fPlayer.getPlayer(); if (player == null - || !player.isFlying() + || !fPlayer.isFlying() || player.getGameMode() == GameMode.CREATIVE || !FactionsPlugin.getInstance().mc17 && player.getGameMode() == GameMode.SPECTATOR) { continue; @@ -113,12 +114,10 @@ public class CmdFly extends FCommand { public static void disableFlight(final FPlayer fme) { fme.setFlying(false); - flyMap.remove(fme); } private static void disableFlightSync(FPlayer fme) { Bukkit.getScheduler().runTask(FactionsPlugin.instance, () -> fme.setFFlying(false, false)); - flyMap.remove(fme); } private static void checkEnemiesSync(FPlayer fp) { @@ -164,7 +163,6 @@ public class CmdFly extends FCommand { private void toggleFlight(final boolean toggle, final FPlayer fme, CommandContext context) { if (toggle) { fme.setFlying(false); - flyMap.remove(fme); return; } diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdReload.java b/src/main/java/com/massivecraft/factions/cmd/CmdReload.java index 4cdf3034..db6ffcb8 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdReload.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdReload.java @@ -30,10 +30,6 @@ public class CmdReload extends FCommand { FactionsPlugin.getInstance().loadLang(); - if (FactionsPlugin.getInstance().getConfig().getBoolean("enable-faction-flight", false)) { - FactionsPlugin.factionsFlight = true; - } - if (!FactionsPlugin.getInstance().mc17) { FactionsPlayerListener.loadCorners(); } diff --git a/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java b/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java index b7433b05..891c0cc4 100644 --- a/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java +++ b/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java @@ -577,7 +577,7 @@ public class FactionsPlayerListener implements Listener { } @Deprecated public void checkCanFly(FPlayer me) { - if (!FactionsPlugin.factionsFlight || !FactionsPlugin.instance.getConfig().getBoolean("ffly.AutoEnable")) + if (!CmdFly.fly || !CmdFly.autoenable) return; if (me.isFlying()) return; if (me.getPlayer().hasPermission(Permission.FLY_FLY.node)) { @@ -726,7 +726,6 @@ public class FactionsPlayerListener implements Listener { } if (FCmdRoot.instance.fFlyEnabled && CmdFly.autoenable && CmdFly.checkFly(me, me.getPlayer(), factionTo)) { me.setFFlying(true, false); - CmdFly.flyMap.put(me, true); if (CmdFly.particleTask == null) CmdFly.startParticles(); } diff --git a/src/main/java/com/massivecraft/factions/util/UtilFly.java b/src/main/java/com/massivecraft/factions/util/UtilFly.java index d5782526..e57c1297 100644 --- a/src/main/java/com/massivecraft/factions/util/UtilFly.java +++ b/src/main/java/com/massivecraft/factions/util/UtilFly.java @@ -15,8 +15,6 @@ public class UtilFly { */ @Deprecated public static void run() { - if (!FactionsPlugin.factionsFlight) - return; Bukkit.getScheduler().scheduleSyncRepeatingTask(FactionsPlugin.getInstance(), () -> { for (FPlayer fp : FPlayers.getInstance().getOnlinePlayers()) { @@ -28,8 +26,6 @@ public class UtilFly { @Deprecated public static void setFly(FPlayer fp, boolean fly, boolean silent, boolean damage) { - if (!FactionsPlugin.factionsFlight) - return; fp.getPlayer().setAllowFlight(fly); fp.getPlayer().setFlying(fly); diff --git a/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFPlayer.java b/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFPlayer.java index 73601f26..d33beadc 100644 --- a/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFPlayer.java +++ b/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFPlayer.java @@ -963,19 +963,19 @@ public abstract class MemoryFPlayer implements FPlayer { } public void setFFlying(boolean fly, boolean damage) { - if (!FactionsPlugin.factionsFlight) - return; - Player player = getPlayer(); - if (player == null) return; + assert player != null; player.setAllowFlight(fly); player.setFlying(fly); if (!damage) { msg(TL.COMMAND_FLY_CHANGE, fly ? "enabled" : "disabled"); - if (!fly) + if (!fly) { sendMessage(TL.COMMAND_FLY_COOLDOWN.toString().replace("{amount}", FactionsPlugin.getInstance().getConfig().getInt("fly-falldamage-cooldown", 3) + "")); + } else { + CmdFly.flyMap.put(this, true); + } } else { msg(TL.COMMAND_FLY_DAMAGE); } @@ -983,7 +983,7 @@ public abstract class MemoryFPlayer implements FPlayer { // If leaving fly mode, don't let them take fall damage for x seconds. if (!fly) { int cooldown = FactionsPlugin.getInstance().getConfig().getInt("fly-falldamage-cooldown", 3); - CmdFly.flyMap.remove(player.getName()); + CmdFly.flyMap.remove(this); // If the value is 0 or lower, make them take fall damage. // Otherwise, start a timer and have this cancel after a few seconds.