diff options
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commandban.java | 23 | ||||
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commandtempban.java | 20 |
2 files changed, 35 insertions, 8 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandban.java b/Essentials/src/com/earth2me/essentials/commands/Commandban.java index 1499b10ac..2bd09831d 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandban.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandban.java @@ -1,9 +1,11 @@ package com.earth2me.essentials.commands; +import com.earth2me.essentials.OfflinePlayer; import org.bukkit.Server; import org.bukkit.command.CommandSender; import com.earth2me.essentials.User; import com.earth2me.essentials.Util; +import org.bukkit.entity.Player; public class Commandban extends EssentialsCommand @@ -21,12 +23,24 @@ public class Commandban extends EssentialsCommand throw new NotEnoughArgumentsException(); } final User player = getPlayer(server, args, 0, true); - if (player.isAuthorized("essentials.ban.exempt")) + if (player.getBase() instanceof OfflinePlayer) { - sender.sendMessage(Util.i18n("banExempt")); - return; + if (sender instanceof Player + && !ess.getUser(sender).isAuthorized("essentials.ban.offline")) + { + sender.sendMessage(Util.i18n("banExempt")); + return; + } } - + else + { + if (player.isAuthorized("essentials.ban.exempt")) + { + sender.sendMessage(Util.i18n("banExempt")); + return; + } + } + String banReason; if (args.length > 1) { @@ -42,4 +56,3 @@ public class Commandban extends EssentialsCommand server.broadcastMessage(Util.format("playerBanned", player.getName(), banReason)); } } - diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java b/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java index 639c2bda0..c9495401e 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java @@ -1,9 +1,11 @@ package com.earth2me.essentials.commands; +import com.earth2me.essentials.OfflinePlayer; import org.bukkit.Server; import org.bukkit.command.CommandSender; import com.earth2me.essentials.User; import com.earth2me.essentials.Util; +import org.bukkit.entity.Player; public class Commandtempban extends EssentialsCommand @@ -21,10 +23,22 @@ public class Commandtempban extends EssentialsCommand throw new NotEnoughArgumentsException(); } final User player = getPlayer(server, args, 0, true); - if (player.isAuthorized("essentials.tempban.exempt")) + if (player.getBase() instanceof OfflinePlayer) { - sender.sendMessage(Util.i18n("tempbanExempt")); - return; + if (sender instanceof Player + && !ess.getUser(sender).isAuthorized("essentials.tempban.offline")) + { + sender.sendMessage(Util.i18n("tempbanExempt")); + return; + } + } + else + { + if (player.isAuthorized("essentials.tempban.exempt")) + { + sender.sendMessage(Util.i18n("tempbanExempt")); + return; + } } final String time = getFinalArg(args, 1); final long banTimestamp = Util.parseDateDiff(time, true); |