mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2024-11-27 01:05:38 +00:00
Blocked command aliases from being executed when that command is blocked, removed debug message
This commit is contained in:
parent
93914370a1
commit
4cbbf10871
@ -1,5 +1,5 @@
|
|||||||
#Thu, 04 Jul 2013 23:31:51 +0200
|
#Fri, 05 Jul 2013 13:49:09 +0200
|
||||||
|
|
||||||
program.VERSION=2.21
|
program.VERSION=2.21
|
||||||
program.BUILDNUM=266
|
program.BUILDNUM=286
|
||||||
program.BUILDDATE=07/04/2013 11\:31 PM
|
program.BUILDDATE=07/05/2013 01\:49 PM
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
#Build Number for ANT. Do not edit!
|
#Build Number for ANT. Do not edit!
|
||||||
#Thu Jul 04 23:31:51 CEST 2013
|
#Fri Jul 05 13:49:09 CEST 2013
|
||||||
build.number=267
|
build.number=287
|
||||||
|
@ -22,7 +22,8 @@ import org.bukkit.plugin.Plugin;
|
|||||||
|
|
||||||
public class TFM_CommandLoader
|
public class TFM_CommandLoader
|
||||||
{
|
{
|
||||||
public static Pattern COMMAND_CLASS_PATTERN = Pattern.compile(TotalFreedomMod.COMMAND_PATH.replace('.', '/') + "/(" + TotalFreedomMod.COMMAND_PREFIX + "[^\\$]+)\\.class");
|
public static final Pattern COMMAND_CLASS_PATTERN = Pattern.compile(TotalFreedomMod.COMMAND_PATH.replace('.', '/') + "/(" + TotalFreedomMod.COMMAND_PREFIX + "[^\\$]+)\\.class");
|
||||||
|
public static CommandMap commandMap;
|
||||||
private List<TFM_CommandInfo> commandList = null;
|
private List<TFM_CommandInfo> commandList = null;
|
||||||
|
|
||||||
private TFM_CommandLoader()
|
private TFM_CommandLoader()
|
||||||
@ -31,7 +32,7 @@ public class TFM_CommandLoader
|
|||||||
|
|
||||||
public void scan()
|
public void scan()
|
||||||
{
|
{
|
||||||
CommandMap commandMap = TFM_Util.getField(Bukkit.getServer().getPluginManager(), "commandMap");
|
commandMap = TFM_Util.getField(Bukkit.getServer().getPluginManager(), "commandMap");
|
||||||
if (commandMap == null)
|
if (commandMap == null)
|
||||||
{
|
{
|
||||||
TFM_Log.severe("Error loading command map.");
|
TFM_Log.severe("Error loading command map.");
|
||||||
|
@ -1,18 +1,20 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod;
|
package me.StevenLawson.TotalFreedomMod;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Commands.TFM_CommandLoader;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandMap;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.server.RemoteServerCommandEvent;
|
|
||||||
|
|
||||||
|
|
||||||
public class TFM_CommandBlocker
|
public class TFM_CommandBlocker
|
||||||
{
|
{
|
||||||
|
|
||||||
public static boolean isCommandBlocked(String command, CommandSender sender)
|
public static boolean isCommandBlocked(String usedcommand, CommandSender sender)
|
||||||
{
|
{
|
||||||
|
|
||||||
String name = sender.getName();
|
String name = sender.getName();
|
||||||
command = command.toLowerCase().trim();
|
usedcommand = usedcommand.toLowerCase().trim();
|
||||||
|
|
||||||
for (String blocked_command : TotalFreedomMod.blockedCommands)
|
for (String blocked_command : TotalFreedomMod.blockedCommands)
|
||||||
{
|
{
|
||||||
@ -22,11 +24,38 @@ public class TFM_CommandBlocker
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(command + " ").startsWith(parts[2] + " "))
|
if (!(usedcommand + " ").startsWith(parts[2] + " "))
|
||||||
|
{
|
||||||
|
|
||||||
|
CommandMap commandMap = TFM_CommandLoader.commandMap;
|
||||||
|
if (commandMap == null)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Command command = commandMap.getCommand(parts[2].replaceAll("/", ""));
|
||||||
|
if (command == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean block = false;
|
||||||
|
for (String alias : command.getAliases())
|
||||||
|
{
|
||||||
|
if (usedcommand.replaceAll("/", "").startsWith(alias))
|
||||||
|
{
|
||||||
|
block = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!block)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (SenderRank.hasPermissions(sender, parts[0]))
|
if (SenderRank.hasPermissions(sender, parts[0]))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@ -47,8 +76,6 @@ public class TFM_CommandBlocker
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_Log.info("Player Rank: " + SenderRank.getSenderRank(sender).rank);
|
|
||||||
|
|
||||||
// Action
|
// Action
|
||||||
if ("b".equals(parts[1]))
|
if ("b".equals(parts[1]))
|
||||||
{
|
{
|
||||||
@ -58,7 +85,7 @@ public class TFM_CommandBlocker
|
|||||||
{
|
{
|
||||||
if (SenderRank.getSenderRank(sender).rank < 2) // Only auto-eject Ops and non-ops
|
if (SenderRank.getSenderRank(sender).rank < 2) // Only auto-eject Ops and non-ops
|
||||||
{
|
{
|
||||||
TFM_Util.autoEject((Player) sender, "You used a prohibited command: " + command);
|
TFM_Util.autoEject((Player) sender, "You used a prohibited command: " + usedcommand);
|
||||||
TFM_Util.bcastMsg(name + " was automatically kicked for using harmful commands.", ChatColor.RED);
|
TFM_Util.bcastMsg(name + " was automatically kicked for using harmful commands.", ChatColor.RED);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -1049,6 +1049,7 @@ public class TFM_Util
|
|||||||
ChatColor.RED,
|
ChatColor.RED,
|
||||||
ChatColor.LIGHT_PURPLE,
|
ChatColor.LIGHT_PURPLE,
|
||||||
ChatColor.YELLOW);
|
ChatColor.YELLOW);
|
||||||
|
|
||||||
private static final Random RANDOM = new Random();
|
private static final Random RANDOM = new Random();
|
||||||
public static ChatColor randomChatColor()
|
public static ChatColor randomChatColor()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user