summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzzbomb <knowhalo@gmail.com>2011-10-08 10:04:07 -0300
committerzzbomb <knowhalo@gmail.com>2011-10-08 10:04:07 -0300
commit16384159e7bde8fb895f1b6c26e7fbf8a3a3f259 (patch)
tree8ffa5fa238e15285f6ea9346b9040fa7d9f15299
parent06900e19f0bd774392f4f26fc6d0fd189eb1da4a (diff)
downloadEssentials-16384159e7bde8fb895f1b6c26e7fbf8a3a3f259.tar
Essentials-16384159e7bde8fb895f1b6c26e7fbf8a3a3f259.tar.gz
Essentials-16384159e7bde8fb895f1b6c26e7fbf8a3a3f259.tar.lz
Essentials-16384159e7bde8fb895f1b6c26e7fbf8a3a3f259.tar.xz
Essentials-16384159e7bde8fb895f1b6c26e7fbf8a3a3f259.zip
Improved to operate like.. "banip <IP|Username>" bans the specified IP or the IP of the user specified.
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandbanip.java48
1 files changed, 32 insertions, 16 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbanip.java b/Essentials/src/com/earth2me/essentials/commands/Commandbanip.java
index 3301afc87..dff0edcbd 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandbanip.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandbanip.java
@@ -3,24 +3,40 @@ package com.earth2me.essentials.commands;
import com.earth2me.essentials.Util;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
-
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
public class Commandbanip extends EssentialsCommand
{
- public Commandbanip()
- {
- super("banip");
- }
-
- @Override
- public void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception
- {
- if (args.length < 1)
- {
- throw new NotEnoughArgumentsException();
- }
+ public Commandbanip()
+ {
+ super("banip");
+ }
- ess.getServer().banIP(args[0]);
- sender.sendMessage(Util.i18n("banIpAddress"));
- }
+ @Override
+ public void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception
+ {
+ if (args.length < 1)
+ {
+ throw new NotEnoughArgumentsException();
+ }
+
+ if ( isIPAddress(args[0]) {
+ 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();
+ }
}