diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFly.java b/src/main/java/com/massivecraft/factions/cmd/CmdFly.java index bce3e2b7..1a35ad53 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFly.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFly.java @@ -20,8 +20,8 @@ import java.util.concurrent.ConcurrentHashMap; public class CmdFly extends FCommand { - public static ConcurrentHashMap flyMap = new ConcurrentHashMap(); - public static int id = -1; + public static ConcurrentHashMap flyMap = new ConcurrentHashMap<>(); + public static BukkitTask particleTask = null; public static BukkitTask flyTask = null; @@ -38,7 +38,7 @@ public class CmdFly extends FCommand { public static void startParticles() { - id = Bukkit.getScheduler().scheduleSyncRepeatingTask(FactionsPlugin.getInstance(), () -> { + particleTask = Bukkit.getScheduler().runTaskTimerAsynchronously(FactionsPlugin.instance, () -> { for (String name : flyMap.keySet()) { Player player = Bukkit.getPlayer(name); if (player == null) continue; @@ -49,11 +49,10 @@ public class CmdFly extends FCommand { FPlayer fplayer = FPlayers.getInstance().getByPlayer(player); fplayer.isVanished(); - } - if (flyMap.keySet().size() == 0) { - Bukkit.getScheduler().cancelTask(id); - id = -1; + if (flyMap.isEmpty()) { + particleTask.cancel(); + particleTask = null; } }, 10L, 3L); } @@ -192,6 +191,10 @@ public class CmdFly extends FCommand { context.doWarmUp(WarmUpUtil.Warmup.FLIGHT, TL.WARMUPS_NOTIFY_FLIGHT, "Fly", () -> { fme.setFlying(true); flyMap.put(fme.getPlayer().getName(), true); + if (particleTask == null) { + startParticles(); + } + if (flyTask == null) { startFlyCheck(); } diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdHome.java b/src/main/java/com/massivecraft/factions/cmd/CmdHome.java index 6b1992a8..7b153c09 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdHome.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdHome.java @@ -23,7 +23,7 @@ public class CmdHome extends FCommand { public CmdHome() { super(); this.aliases.add("home"); - this.optionalArgs.put("home", "faction-name"); + this.optionalArgs.put("faction", "yours"); this.requirements = new CommandRequirements.Builder(Permission.HOME) .playerOnly() diff --git a/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java b/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java index 0526e0f3..b5fa34f7 100644 --- a/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java +++ b/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java @@ -581,15 +581,12 @@ public class FactionsPlayerListener implements Listener { if (FactionsPlugin.getInstance().getConfig().getBoolean("ffly.AutoEnable")) { me.setFlying(true); CmdFly.flyMap.put(me.getName(), true); - if (CmdFly.id == -1) { - if (FactionsPlugin.getInstance().getConfig().getBoolean("ffly.Particles.Enabled")) { + if (CmdFly.particleTask == null) + if (FactionsPlugin.getInstance().getConfig().getBoolean("ffly.Particles.Enabled")) CmdFly.startParticles(); - } } if (CmdFly.flyTask == null) CmdFly.startFlyCheck(); - CmdFly.startFlyCheck(); } - } //inspect