From bac25258b0a725cfaaaddcf19b771a4d0eb53002 Mon Sep 17 00:00:00 2001 From: JeromSar Date: Mon, 12 Aug 2013 20:47:36 +0200 Subject: [PATCH] Added /lockdown --- appinfo.properties | 6 ++-- buildnumber.properties | 4 +-- .../Commands/Command_lockdown.java | 34 +++++++++++++++++++ .../TotalFreedomMod/Commands/Command_tag.java | 31 ++++++----------- .../TotalFreedomMod/TFM_ServerInterface.java | 11 ++++++ .../TotalFreedomMod/TotalFreedomMod.java | 1 + 6 files changed, 62 insertions(+), 25 deletions(-) create mode 100644 src/me/StevenLawson/TotalFreedomMod/Commands/Command_lockdown.java diff --git a/appinfo.properties b/appinfo.properties index f5e4a316..bd5ab72f 100644 --- a/appinfo.properties +++ b/appinfo.properties @@ -1,5 +1,5 @@ -#Mon, 12 Aug 2013 17:57:31 +0200 +#Mon, 12 Aug 2013 20:45:53 +0200 program.VERSION=2.22 -program.BUILDNUM=406 -program.BUILDDATE=08/12/2013 05\:57 PM +program.BUILDNUM=409 +program.BUILDDATE=08/12/2013 08\:45 PM diff --git a/buildnumber.properties b/buildnumber.properties index 5034be93..bc9bba67 100644 --- a/buildnumber.properties +++ b/buildnumber.properties @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Mon Aug 12 17:57:31 CEST 2013 -build.number=407 +#Mon Aug 12 20:45:53 CEST 2013 +build.number=410 diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lockdown.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lockdown.java new file mode 100644 index 00000000..a0abcbc8 --- /dev/null +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lockdown.java @@ -0,0 +1,34 @@ +package me.StevenLawson.TotalFreedomMod.Commands; + +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; + +@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH) +@CommandParameters(description = "Prevents new players from joining the server", usage = "/ ") +public class Command_lockdown extends TFM_Command +{ + @Override + public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) + { + if (args.length != 1) + { + return false; + } + + if (TFM_Util.isStopCommand(args[0])) + { + TFM_Util.adminAction(sender.getName(), "De-activating server lockdown", true); + TotalFreedomMod.lockdownEnabled = false; + } + else + { + TFM_Util.adminAction(sender.getName(), "Activating server lockdown", true); + TotalFreedomMod.lockdownEnabled = true; + } + + return true; + } +} diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tag.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tag.java index 18252db7..8250b2a9 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tag.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tag.java @@ -16,12 +16,7 @@ public class Command_tag extends TFM_Command { public static final List FORBIDDEN_WORDS = Arrays.asList(new String[] { - "admin", "owner", "moderator", "developer" - }); - - public static final List FORBIDDEN_CODE = Arrays.asList(new String[] - { - "&k" + "admin", "owner", "moderator", "developer", "&k" }); @Override @@ -38,6 +33,7 @@ public class Command_tag extends TFM_Command return true; } + TFM_Util.adminAction(sender.getName(), "Removing all tags", false); int count = 0; for (Player p : server.getOnlinePlayers()) { @@ -79,24 +75,19 @@ public class Command_tag extends TFM_Command { if (args[0].toLowerCase().contains(word)) { - playerMsg("That tag contains a forbidden word."); + if (word.contains("&")) + { + playerMsg("That tag contains a forbidden color-code."); + } + else + { + playerMsg("That tag contains a forbidden word."); + } return true; } } - } - - if (!TFM_SuperadminList.isUserSuperadmin(sender)) - { - for (String word : FORBIDDEN_CODE) - { - if (args[0].toLowerCase().contains(word)) - { - playerMsg("You may not include the colour code you have attempted to use in your tag") - return true; - } - } - } + } TFM_PlayerData.getPlayerData(sender_p).setTag(args[0]); playerMsg("Tag set."); diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_ServerInterface.java b/src/me/StevenLawson/TotalFreedomMod/TFM_ServerInterface.java index b5539688..94a40c3c 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_ServerInterface.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_ServerInterface.java @@ -253,6 +253,12 @@ public class TFM_ServerInterface return; } + if (TotalFreedomMod.lockdownEnabled) + { + event.disallow(PlayerLoginEvent.Result.KICK_OTHER, "Server is currently in lockdown mode."); + return; + } + if (player_list.hasWhitelist) { if (!player_list.getWhitelisted().contains(player_name.toLowerCase())) @@ -295,6 +301,11 @@ public class TFM_ServerInterface } } } + + if (TotalFreedomMod.lockdownEnabled) + { + TFM_Util.playerMsg(p, "Warning: Server is currenty in lockdown-mode, new players will not be able to join!", ChatColor.RED); + } } } diff --git a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java index 38efa075..b71c47b9 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java +++ b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java @@ -49,6 +49,7 @@ public class TotalFreedomMod extends JavaPlugin public static boolean allPlayersFrozen = false; public static BukkitTask freezePurgeTask = null; public static BukkitTask mutePurgeTask = null; + public static boolean lockdownEnabled = false; public static Map fuckoffEnabledFor = new HashMap(); // public static String pluginVersion = "";