diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_blockcmd.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_blockcmd.java index f425c253..842d44df 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_blockcmd.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_blockcmd.java @@ -30,8 +30,8 @@ public class Command_blockcmd extends TFM_Command counter += 1; playerdata.setCommandsBlocked(false); } - playerMsg("Unblocked commands for " + counter + " players."); } + playerMsg("Unblocked commands for " + counter + " players."); return true; } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fr.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fr.java index 649d91dc..571c6624 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fr.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fr.java @@ -1,5 +1,6 @@ package me.StevenLawson.TotalFreedomMod.Commands; +import me.StevenLawson.TotalFreedomMod.TFM_Log; import me.StevenLawson.TotalFreedomMod.TFM_UserInfo; import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; @@ -20,14 +21,36 @@ public class Command_fr extends TFM_Command if (TotalFreedomMod.allPlayersFrozen) { - TotalFreedomMod.allPlayersFrozen = true; TFM_Util.adminAction(sender.getName(), "Freezing all players", false); + TotalFreedomMod.allPlayersFrozen = true; + TotalFreedomMod.freezePurgeEventId = server.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() + { + @Override + public void run() + { + if (TotalFreedomMod.freezePurgeEventId == 0) + { + TFM_Log.warning("Freeze autopurge task was improperly cancelled!"); + return; + } + + TFM_Util.adminAction("FreezeTimer", "Unfreezing all players", false); + + TotalFreedomMod.allPlayersFrozen = false; + TotalFreedomMod.freezePurgeEventId = 0; + } + }, 6000L); // five minutes in ticks: 20*60*5 playerMsg("Players are now frozen."); } else { - TotalFreedomMod.allPlayersFrozen = false; TFM_Util.adminAction(sender.getName(), "Unfreezing all players", false); + TotalFreedomMod.allPlayersFrozen = false; + if (TotalFreedomMod.freezePurgeEventId != 0) + { + server.getScheduler().cancelTask(TotalFreedomMod.freezePurgeEventId); + TotalFreedomMod.freezePurgeEventId = 0; + } playerMsg("Players are now free to move."); } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_potion.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_potion.java index f89b9819..69e59cb2 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_potion.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_potion.java @@ -3,6 +3,7 @@ package me.StevenLawson.TotalFreedomMod.Commands; import java.util.ArrayList; import java.util.List; import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; +import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.apache.commons.lang.StringUtils; import org.bukkit.ChatColor; @@ -39,6 +40,7 @@ public class Command_potion extends TFM_Command playerMsg(TotalFreedomMod.MSG_NO_PERMS); return true; } + TFM_Util.adminAction(sender.getName(), "Cleared all potion effects from all players", true); for (Player target : server.getOnlinePlayers()) { for (PotionEffect potion_effect : target.getActivePotionEffects()) diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stfu.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stfu.java index 2f49d152..fa134806 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stfu.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stfu.java @@ -1,8 +1,10 @@ package me.StevenLawson.TotalFreedomMod.Commands; +import me.StevenLawson.TotalFreedomMod.TFM_Log; import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_UserInfo; import me.StevenLawson.TotalFreedomMod.TFM_Util; +import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -51,6 +53,11 @@ public class Command_stfu extends TFM_Command count++; } } + if (TotalFreedomMod.mutePurgeEventId != 0) + { + server.getScheduler().cancelTask(TotalFreedomMod.mutePurgeEventId); + TotalFreedomMod.mutePurgeEventId = 0; + } playerMsg("Unmuted " + count + " players."); } else if (args[0].equalsIgnoreCase("all")) @@ -69,6 +76,26 @@ public class Command_stfu extends TFM_Command } } + TotalFreedomMod.mutePurgeEventId = server.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() + { + @Override + public void run() + { + if (TotalFreedomMod.mutePurgeEventId == 0) + { + TFM_Log.warning("Mute autopurge task was improperly cancelled!"); + return; + } + + TFM_Util.adminAction("MuteTimer", "Unfreezing all players", false); + for (Player p : server.getOnlinePlayers()) + { + TFM_UserInfo.getPlayerData(p).setMuted(false); + } + + TotalFreedomMod.mutePurgeEventId = 0; + } + }, 6000L); // five minutes in ticks: 20*60*5 playerMsg("Muted " + counter + " players."); } else diff --git a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java index f930342b..8736d771 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java +++ b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java @@ -46,6 +46,8 @@ public class TotalFreedomMod extends JavaPlugin public static final String NOT_FROM_CONSOLE = "This command may not be used from the console."; public static boolean allPlayersFrozen = false; + public static int freezePurgeEventId = 0; + public static int mutePurgeEventId = 0; public static Map fuckoffEnabledFor = new HashMap(); public static String pluginVersion = "";