Merge pull request #29 from zzbomb/patch-1

Improved to operate like.. "banip <IP|Username>" bans the specified IP or
This commit is contained in:
snowleo 2011-10-09 07:07:15 -07:00
commit 8fe0887141

View file

@ -3,24 +3,40 @@ package com.earth2me.essentials.commands;
import com.earth2me.essentials.Util; import com.earth2me.essentials.Util;
import org.bukkit.Server; import org.bukkit.Server;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Commandbanip extends EssentialsCommand public class Commandbanip extends EssentialsCommand
{ {
public Commandbanip() public Commandbanip()
{ {
super("banip"); super("banip");
} }
@Override @Override
public void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception public void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception
{ {
if (args.length < 1) if (args.length < 1)
{ {
throw new NotEnoughArgumentsException(); throw new NotEnoughArgumentsException();
} }
ess.getServer().banIP(args[0]); if ( isIPAddress(args[0]) {
sender.sendMessage(Util.i18n("banIpAddress")); ess.getServer().banIP(args[0]);
} sender.sendMessage(Util.i18n("banIpAddress"));
}
else {
User u = ess.getUser(p);
ess.getServer().banIP(u.getAddress().getAddress().toString());
sender.sendMessage(Util.i18n("banIpAddress"));
}
}
private boolean isIPAddress(String str) {
String expression = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$";
Pattern pattern = Pattern.compile(expression,Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}
} }