From 6512a53a3f7b5372f2cc14aa82e268c3a50d4fb5 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Sun, 26 May 2013 17:58:04 +0100 Subject: Reduce duplicated broadcast code. --- Essentials/src/com/earth2me/essentials/Essentials.java | 18 +++++++++++++++--- .../src/com/earth2me/essentials/IEssentials.java | 12 +++++++----- .../com/earth2me/essentials/commands/Commandban.java | 13 +++---------- .../com/earth2me/essentials/commands/Commandbanip.java | 11 ++--------- .../com/earth2me/essentials/commands/Commandkick.java | 10 +--------- .../com/earth2me/essentials/commands/Commandmute.java | 9 +-------- .../earth2me/essentials/commands/Commandtempban.java | 11 ++--------- .../com/earth2me/essentials/commands/Commandunban.java | 11 ++--------- .../earth2me/essentials/commands/Commandunbanip.java | 9 +-------- 9 files changed, 34 insertions(+), 70 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/Essentials.java b/Essentials/src/com/earth2me/essentials/Essentials.java index eca6089de..d48fdd951 100644 --- a/Essentials/src/com/earth2me/essentials/Essentials.java +++ b/Essentials/src/com/earth2me/essentials/Essentials.java @@ -615,11 +615,22 @@ public class Essentials extends JavaPlugin implements IEssentials @Override public int broadcastMessage(final IUser sender, final String message) { - if (sender == null) + return broadcastMessage(sender, null, message); + } + + @Override + public int broadcastMessage(final CommandSender sender, final String permission, final String message) + { + return broadcastMessage(null, permission, message); + } + + private int broadcastMessage(final IUser sender, final String permission, final String message) + { + if (sender == null && permission == null) { return getServer().broadcastMessage(message); } - if (sender.isHidden()) + if (sender != null && sender.isHidden()) { return 0; } @@ -628,7 +639,8 @@ public class Essentials extends JavaPlugin implements IEssentials for (Player player : players) { final User user = getUser(player); - if (!user.isIgnoredPlayer(sender)) + if ((permission == null && (sender == null || !user.isIgnoredPlayer(sender))) + || (permission != null && user.isAuthorized(permission))) { player.sendMessage(message); } diff --git a/Essentials/src/com/earth2me/essentials/IEssentials.java b/Essentials/src/com/earth2me/essentials/IEssentials.java index 35efd6193..f04c37803 100644 --- a/Essentials/src/com/earth2me/essentials/IEssentials.java +++ b/Essentials/src/com/earth2me/essentials/IEssentials.java @@ -31,6 +31,8 @@ public interface IEssentials extends Plugin int broadcastMessage(IUser sender, String message); + int broadcastMessage(CommandSender sender, String permission, String message); + ISettings getSettings(); BukkitScheduler getScheduler(); @@ -46,7 +48,7 @@ public interface IEssentials extends Plugin Methods getPaymentMethod(); BukkitTask runTaskAsynchronously(Runnable run); - + BukkitTask runTaskLaterAsynchronously(Runnable run, long delay); int scheduleSyncDelayedTask(Runnable run); @@ -66,12 +68,12 @@ public interface IEssentials extends Plugin ItemDb getItemDb(); UserMap getUserMap(); - + Metrics getMetrics(); - + void setMetrics(Metrics metrics); - + EssentialsTimer getTimer(); - + List getVanishedPlayers(); } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandban.java b/Essentials/src/com/earth2me/essentials/commands/Commandban.java index 707ff3e9b..d985cada1 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandban.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandban.java @@ -67,21 +67,14 @@ public class Commandban extends EssentialsCommand user.setBanned(true); user.setBanTimeout(0); user.kickPlayer(_("banFormat", banReason, senderName)); - + server.getLogger().log(Level.INFO, _("playerBanned", senderName, user.getName(), banReason)); - + if (nomatch) { sender.sendMessage(_("userUnknown", user.getName())); } - for (Player onlinePlayer : server.getOnlinePlayers()) - { - final User player = ess.getUser(onlinePlayer); - if (onlinePlayer == sender || player.isAuthorized("essentials.ban.notify")) - { - onlinePlayer.sendMessage(_("playerBanned", senderName, user.getName(), banReason)); - } - } + ess.broadcastMessage(sender, "essentials.ban.notify", _("playerBanned", senderName, user.getName(), banReason)); } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbanip.java b/Essentials/src/com/earth2me/essentials/commands/Commandbanip.java index ca0751a51..2d34175d1 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandbanip.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandbanip.java @@ -43,14 +43,7 @@ public class Commandbanip extends EssentialsCommand ess.getServer().banIP(ipAddress); server.getLogger().log(Level.INFO, _("playerBanIpAddress", senderName, ipAddress)); - - for (Player onlinePlayer : server.getOnlinePlayers()) - { - final User onlineUser = ess.getUser(onlinePlayer); - if (onlinePlayer == sender || onlineUser.isAuthorized("essentials.ban.notify")) - { - onlinePlayer.sendMessage(_("playerBanIpAddress", senderName, ipAddress)); - } - } + + ess.broadcastMessage(sender, "essentials.ban.notify", _("playerBanIpAddress", senderName, ipAddress)); } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandkick.java b/Essentials/src/com/earth2me/essentials/commands/Commandkick.java index 18884964b..9df21285d 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandkick.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandkick.java @@ -47,14 +47,6 @@ public class Commandkick extends EssentialsCommand final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME; server.getLogger().log(Level.INFO, _("playerKicked", senderName, target.getName(), kickReason)); - - for (Player onlinePlayer : server.getOnlinePlayers()) - { - User player = ess.getUser(onlinePlayer); - if (player.isAuthorized("essentials.kick.notify")) - { - onlinePlayer.sendMessage(_("playerKicked", senderName, target.getName(), kickReason)); - } - } + ess.broadcastMessage(sender, "essentials.kick.notify", _("playerKicked", senderName, target.getName(), kickReason)); } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandmute.java b/Essentials/src/com/earth2me/essentials/commands/Commandmute.java index 6e7f80b58..def5d95c3 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandmute.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandmute.java @@ -54,14 +54,7 @@ public class Commandmute extends EssentialsCommand sender.sendMessage(_("mutedPlayer", player.getDisplayName())); player.sendMessage(_("playerMuted")); } - for (Player onlinePlayer : server.getOnlinePlayers()) - { - final User user = ess.getUser(onlinePlayer); - if (onlinePlayer != sender && user.isAuthorized("essentials.mute.notify")) - { - onlinePlayer.sendMessage(_("muteNotify", sender.getName(), player.getName())); - } - } + ess.broadcastMessage(sender, "essentials.mute.notify", _("muteNotify", sender.getName(), player.getName())); } else { diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java b/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java index 5231f90c7..016f7f773 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandtempban.java @@ -59,14 +59,7 @@ public class Commandtempban extends EssentialsCommand user.setBanTimeout(banTimestamp); user.setBanned(true); user.kickPlayer(banReason); - - for (Player onlinePlayer : server.getOnlinePlayers()) - { - final User player = ess.getUser(onlinePlayer); - if (player.isAuthorized("essentials.ban.notify")) - { - onlinePlayer.sendMessage(_("playerBanned", senderName, user.getName(), banReason)); - } - } + + ess.broadcastMessage(sender, "essentials.ban.notify", _("playerBanned", senderName, user.getName(), banReason)); } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandunban.java b/Essentials/src/com/earth2me/essentials/commands/Commandunban.java index 718f7f2ed..e583b4b44 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandunban.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandunban.java @@ -45,14 +45,7 @@ public class Commandunban extends EssentialsCommand final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME; server.getLogger().log(Level.INFO, _("playerUnbanned", senderName, name)); - - for (Player onlinePlayer : server.getOnlinePlayers()) - { - final User onlineUser = ess.getUser(onlinePlayer); - if (onlinePlayer == sender || onlineUser.isAuthorized("essentials.ban.notify")) - { - onlinePlayer.sendMessage(_("playerUnbanned", senderName, name)); - } - } + + ess.broadcastMessage(sender, "essentials.ban.notify", _("playerUnbanned", senderName, name)); } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandunbanip.java b/Essentials/src/com/earth2me/essentials/commands/Commandunbanip.java index 15bb8f5c2..9b0cb2fe0 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandunbanip.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandunbanip.java @@ -43,13 +43,6 @@ public class Commandunbanip extends EssentialsCommand final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME; server.getLogger().log(Level.INFO, _("playerUnbanIpAddress", senderName, ipAddress)); - for (Player onlinePlayer : server.getOnlinePlayers()) - { - final User onlineUser = ess.getUser(onlinePlayer); - if (onlinePlayer == sender || onlineUser.isAuthorized("essentials.ban.notify")) - { - onlinePlayer.sendMessage(_("playerUnbanIpAddress", senderName, ipAddress)); - } - } + ess.broadcastMessage(sender, "essentials.ban.notify", _("playerUnbanIpAddress", senderName, ipAddress)); } } -- cgit v1.2.3